最近一枚比特币币值已经突破2000美元,比特币火得无边,但普通人经常被比特币的各种信息搞得一头雾水,到底什么是比特币,它是谁开发的,它跟Q币有什么区别,它是不是一个庞氏骗局,它是不是一个击鼓传花的游戏,它会不会很容易就收到控制,等等。在这里,我试图从各个层面进行探讨,用一些通俗易懂的表达,来还原一个真实的比特币。我将以类似答疑的方式,将详细阐述比特币的各种细节,下面是主要内容:
1、什么是比特币?
2、比特币软件是谁开发的?
3、什么是开源?
4、比特币软件会不会被人控制?
5、比特币发展到现在有多少年了?
6、什么是P2P?
7、什么是双重支付?
8、什么是工作量证明?
9、什么是挖矿?
10、什么是挖矿机?
11、比特币总量多少,目前挖了多少比特币?
12、为什么挖矿需要消耗大量资源,这些算法是谁预先制定的,是否有人提前知道所有算法?
13、比特币算法可信吗?是否存在被破解的风险?
14、比特币如何控制币的总数,会不会被人暗中控制?
15、为什么每一笔比特币交易,都产生少量交易费,这钱给谁收了?
1、什么是比特币?
比特币(BitCoin)其实就是一种P2P形式的数字代码。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。
比特币是由中本聪(Satoshi Nakamoto,化名)2009 年1月设计的一种数字货币。比特币能够让用户在一个去中心化的、点对点的网络中完成支付,其独特的地方在于不需要一个中央的清算中心或者金融机构对交易进行清算。用户只需要互联网连接以及比特币软件就可以向另外一个公开的账户或地址进行支付操作。
2、比特币软件是谁开发的?
这个事情分两步来看,第一步是理论,中本聪在2008年写了一篇论文,设计了一种数字货币,这个文章讲述了这种数字货币的原理和算法。
2009年,有人根据中本聪的文章,组织了一个开源项目,由全球的程序员免费参与,完成了比特币核心算法和软件的开发。中本聪参与的该项目,并通过挖矿挖到第一个数据块,得到50个比特币。
3、什么是开源?
开源软件意味着这个软件的所有源代码都是公开的,一个懂代码的程序员,可以拿到这个软件的所有源代码,并读懂它的逻辑,也可以拿到这些源代码,编译出可以运行的软件,也可以对这些源代码进行修改后,编译出新的软件。
比特币的核心软件是开源的,这就意味着这个软件没有任何秘密,这个软件的内部实现逻辑大家都清清楚楚,这个软件是否有漏洞,是否藏有木马,或者后门,大家也都清清楚楚。
比特币的一些外围软件(叫第三方应用),特别是一些商业企业开发的软件,就不是开源的了。比如说,一个比特币的交易网站,只不过是根据比特币的特点,跟比特币软件对接,那么它就不是一个开发的软件。
4、比特币软件会不会被人控制?
正如前面讲到的,因为比特币软件是一个开源的软件,大家都知道它的源代码和实现,从目前反馈来看,没有发现这个软件源代码里面有任何木马和后门,说明这个软件目前是没有被人控制的。
那么,后续会不会有人发布一个新的软件,然后在里面做坏事呢?因为这个软件是开源的,所以后续软件的演进和升级,它的源代码对大家来说,也都是清清楚楚的,从软件本身来说,这种开源软件,不太可能被植入木马和后门。
从另外一个方面来说,正因为软件本身是开源的,很容易被人拿到后,稍加修改,就变成一个新的软件,而这个新的软件可能被植入木马和后门,所以我们要从正规渠道,去获取比特币软件。
5、比特币发展到现在有多少年了?
2008年,比特币的理论文章发表,比特币软件在2009年1月被开发出来,至今大概8年时间。
6、什么是P2P?
P2P就是点对点,这个概念最近几年比较火,P2P软件最早的应用大概就是文件共享、电影下载等应用,后来逐渐有了其他创新和应用,比如P2P网贷等。
这里先来讲一讲传统的模式,传统的模式,是一种中心式的,它有一个大型的数据库(或文件系统),里面存放着各种各样的数据,而对普通用户来说,就是跟这个中心连接和互动,获取和上传所需要的信息。
比如说,一个视频网站,如果是普通的中心模式,那么这个网站就存放着各种各样的视频,对于普通用户来说,就是到网站上下载和上传各种视频了。而在P2P模式下,已经不再是用户从网站下载视频了,而是用户从其他用户那边下载视频。
我们讲一个盗版电影的例子,在中心模式下,其实很容易控制,只要对这些中心进行控制就可以了。而在P2P模式下,事情就变得复杂得多了,只要有一个人曾经获取过这个盗版电影,那么其他人都可以从这个用户获取到这个软件的拷贝,要把所有个人上面的盗版电影都消灭掉,就变成极其困难的事情了。
再讲一下P2P网贷,在普通的模式下,就是银行充当一个中心,既吸收存款,又提供贷款;而在P2P模式下,其实就是点对点的贷款,P2P网贷的网站,主要是实现中介的作用。
最后讲一下比特币的P2P模式,普通的网上贸易,都是借助金融机构作为信任方进行交易的。比如说,支付宝或者是中国银行的网银服务,这都是基于我们对这些机构或企业的信任,它们的共同特点就是中心化,它们都有一个超大型的数据库,来存放每一笔交易,如果这个中心受到黑客攻击或者内部篡改,交易数据将产生异常。再比如一国发行的货币,也是基于民众对这国货币的信任,如果国家不受信任了,或者国家超发货币了,货币就会贬值。
而比特币是基于密码学的,它的所有交易,都是保持的每一个使用比特币软件的电脑上,它是没有一个中心数据库的。单独一台电脑的交易数据被篡改,不会生效,不影响整个交易数据。它从算法上面保证交易的可靠性,我将在后门详细讲解比特币的算法。
另外,因为P2P的特点,一开弓就没有回头路,只要有一台电脑上面安装了比特币软件,它的数据就是永远存在的,所以,即使有一个大灾难,或者大停电,消灭了99.99%的电脑,只有还有一台电脑安装了比特币软件,它的数据将永远存在。而中心式的特点就是,如果中心数据受损,或者因为政府压力关闭,它的数据将丢失。
7、什么是双重支付?
在正常的货币中,是有一个造币厂的,每一个货币,都是由造币厂发行的,而且要设置一个防伪技术,如果有人制造了假币,就要用武力来制止这些行为。
而对于电子货币,则需要进入一个类似造币厂的权威中心,对于每一笔交易,都有经过中心的权威确认。
对于两笔同时发起的支付行为,比如说,转账两笔金额,那么,要有权威中心,按照时间顺序来处理两笔交付,这样就不会存在重复支付的问题了。
而对于去中心化的软件,比特币的处理就要复杂很多了,为了确保不存在双重支付,需要对比特币做如下要求:
1、 所有的交易全网公开
2、 需要有时间戳,所有交易有先后顺序
3、 需要对额外的资源对交易进行确认
历史交易全网公开,那么每个账号里面有多少比特币,并不是由一个数据来表示的,而是根据历史交易得出来的。而这个历史交易链是经过全网公认的,才能保证不被造假。
所有交易,要按照先后顺序,给其加上时间戳,前面一笔交易成功后,整个交易链被公认后,下一笔交易是基于上一笔交易来生成的,整个交易就是一个交易链,这样才能保证不被双重支付。
交易的确认,需要有一些强有力的资源来支持,这个就引入了一个工作量证明,全网50%以上的算力证明了某次交易的有效性,如果有人想篡改之前达成的交易,就变得困难重重,这些就是以后要讲到的挖矿,而全网的这些算力,其实就类似一个权威中心,由这些算力对交易进行确认,只不过它不是一个中心,而是由很多机器,通过竞争,对这些交易进行确认。
8、什么是工作量证明?
我们知道,我普通的网上交易中,是由一个权威中心来决定交易的有效性,比如说,银行的网银,银行就充当的这个角色,由银行来证明一个交易的有效性。
而比特币没有权威中心,那么由谁来决定交易的有效性呢?那么,就有点类似于我们选举一样,由大家来投票表决,得票最多的交易,就会被认定为一个合法的交易。没有了权威中心,好像缺乏信用,然而由投票产生的交易,却是最值得信任的。所以,比特币也被一些人称为是“民主货币”。
在比特币的算法中,投票并不是一个人一票,而是一个CPU一票。那么,如果一个人想控制比特币,TA必须有足够的CPU,那么当比特币的规模越庞大,控制就越难。就好比一个人可以很容易的控制几百、几千的选票,而当选票规模越大,控制就越难。
另外,当我们在做这种投票工作,假设工作量很小的话,那么确认交易仅需要少量的运算能力,就可以完成了,这会导致伪造这种交易,也很简单,所以比特币就引入了工作量证明(Proof-of-Work)机制。在这个机制里面,对一个交易进行证明,需要耗费一定的运算能力和时间,一旦运算成功,那么就确定了一笔交易。而反过来,普通的客户端,只要进行一个很简单的运算,就可以知道这个交易是真实的,还是假冒了。这种机制,就好比在现实生活中,政府花费大量人力,对钞票进行防伪处理,而普通的民众,只需要对钞票进行简单的辨认,就可以识别真假。
在比特币中,这种工作量证明机制的算法叫做哈希现金,这种算法其实早就有了,它的原理,就是在交易的数据块中,要找到一个随机数,这种随机数包含了多个0,在计算机只能用穷举的办法,来找到这个随机数。如果我们要求的随机数中,随着0的数目增多,计算工作量呈现指数级增长。一旦我们找到了这个随机数,也就确定了一个数据块,除非对数据块进行一定的工作量运算,否则,数据块是无法更改的。
由于这种哈希算法,它是一种穷举法,如果网络上的诚实节点超过50%,基本上伪造者想伪造一个交易成功,它必将成功几率很低,但还是有概率的。
这种情况下,比特币就引入了另外一种机制,叫交易链,所有的交易,都是按时间戳,串联在一起的一个链条。就好比一条绳子上面打了很多绳结,每个绳结表示一个交易,每个绳结在时间上是有先后顺序的。而链条最长的,就被公认为为真实的交易。一个运算能力低于50%的伪造者,想伪造一个交易,那么有一定的概率,如果想伪造两个交易,并且比运算能力更强的诚实者还快,那么概率更低,而且这种概率,随着时间的推移,成功的几率呈现指数级下降。
我举个例子,假如历史已经产生了100个数据块,那么一个伪造者想推翻这些交易,TA必须运算出101个数据块,这个交易链条才可能比原先的链条长。而因为诚实者的运算能力比伪造者大,所以当伪造者运算出101个数据块,其实诚实者产生的新的数据块,已经远远超过100个,原先链条的长度,已经延长至远远超过201块的长度了,伪造者还是没法超过诚实者的链条。
这种工作量证明,它有一个特点,就是交易不能是实时的。首先,当前交易的数据块被运算出来后,系统特意在这个交易之后,有N个交易被计算出来后,当前交易才被确认。那么,伪造者想推翻某个交易,就需要一样生成后面N个交易数据块,这种成功概率,对伪造者趋近于0。
目前每笔比特币交易,大概需要耗时10分钟才能被确认,伪造者由于运算力更低,在10分钟内产生的数据块,对于诚实节点来说,新产生的数据块将远大于伪造者,从而导致伪造者无法成功伪造。
而比特币还引入了一种奖励机制,当诚实节点计算出一个数据块,它能得到一定数量的比特币奖励,诚实挖矿得到的比特币奖励,往往比伪造交易得到的奖励更多。
最后再说一下,由于之前的交易已经确认,所以伪造者所攻击的,不过是把自己某次交易进行篡改。由于每个用户,对自己的比特币钱包,都拥有自己的秘钥和密码,每个人只要妥善保管好自己的密码,那么伪造者也无法制造出该用户的公钥,也就无法伪造该用户的交易。伪造者能攻击的,就是自己的交易,先发起一个交易,让接受到货币的对方,以为交易成功了,从而把货物发出去,然后伪造者再发起攻击,试图把这个交易取消。不过这种攻击的可能性,前面已经论证过了,可能性极低。
9、什么是挖矿?
比特币的总量是有限制的,而且是不断上升的,到2040年左右,其总量将达到极限值2100万枚。比特币之间的交易,是通过“挖矿人”对其进行验证的,而对于挖矿人来说,TA是可以得到酬劳的,这个酬劳就是比特币。软件程序预置了一个算法,刚开始的时候,每个数据块有50个比特币,另外,每一笔比特币的交易,会产生少量的交易费,这个交易费也是比特币,每个数据块包括若干笔交易,“挖矿人”每挖到一个数据块,就可以得到50个比特币,以及交易产生的交易费。
每隔4年,挖矿被挖出一个每块数据块,得到的酬劳就会减半,最开始5年,每个数据块包含50个比特币;之后4年,每个数据块包含25个比特币。而随着交易量的增加,交易费也会跟着增加,由于挖到数据块的酬劳,包含两部分,一个是数据块包含的奖励,另外一个是交易产生的交易费。所以“挖矿人”每挖到一个数据块,虽然每个4年,奖励减半,但总得到的酬劳不一定会减少。
到了2040年,比特币的总量被定格到2100万个,到那时候,“挖矿人”挖到数据块,不会再产生额外的比特币,而纯粹靠这个数据块里面包含的交易费来获得酬劳。
按照中本聪本人的设计,到最后,“挖矿人”纯粹靠交易费得到的酬劳也是可观的,足以维持挖矿行为的继续。
10、什么是挖矿机?
比特币是靠工作量证明来保证交易的,虽然说普通的PC机也可以进行挖矿,但目前采用显卡进行挖矿,运算力更大,成功几率更大,由此而产生了各种挖矿机。
11、比特币总量多少,目前挖了多少比特币?
比特币总量是2100万个,目前已经挖了大概5年,挖的比特币超过1200万个,比特币将在2040年左右挖完。
12、为什么挖矿需要消耗大量资源,这些算法是谁预先制定的,是否有人提前知道所有算法?
其实这个我已经在“什么是工作量证明”这一章节中论证过了,为什么要挖矿呢,其实就是为交易的确认制造一定的难度,使其产生一定的工作量,从而使得伪造变得困难。就好比钞票,要花费大量精力进行防伪一样。而这个挖矿所预置的算法,其实并不像有些人想象中那样,以为是在2100万个比特币里面放了2100道谜语,挖矿者每解开一道谜语,就可以得到一笔奖励,然后开发团队其实早就知道的谜语的答案了。
前面这种想法,其实是一些完全没有IT知识的人的想法,挖矿所需要消耗的资源,其实就是一种哈希现金(SHA-256)的算法。这个算法,需要进行穷举,所以需要很多算力才能成功计算出答案。
在比特币的交易中,其实的需要一些相对恒定的时间来计算出一个数据块,所以当挖矿机越多的时候,系统自动调整哈希现金算法的难度,使得计算保证在一定的时间内计算出数据块,不会太快,也不会太慢。
对于这种算法,其实没有人提前知道答案,它都是机器,用穷举法,一个一个数字进行穷举,最后产生符合的随机数。
13、比特币算法可信吗?是否存在被破解的风险?
其实很多人都在怀疑,比特币用算法来保证比特币被稳定的发现在2100万枚,那么这个算法可信吗?是否有一天会被破解呢?
我们在“什么是工作量证明”这一章节中,已经了解到,中本聪发布的论文中,采用一种叫“哈希现金”的算法,这种算法是亚当.柏克在2002提出来的哈希算法,离现在已经有11年了。这种算法,是给出一个随机数,然后根据哈希算法,要计算出包含多个0的数值,随着0的数目增长,计算量呈指数增长。而反过来,要验证给出的结果是否正确,却非常快速,只需要一个运算就可以了。
从现在看,这种算法基本上非常正确,不存在任何问题,并且这个算法提出来也很久了,并非中本聪本人的创造。
这只是比特币的原理,再来看看比特币软件的真实实现。
比特币软件实际采用的算法是“SHA-256”算法,它是SHA算法的一种。1993年,由美国国家安全局设计、美国国家标准和技术研究院(NIST)发布了第一个SHA的密码散列函数,这个算法被称为“SHA-0”。2001年,NIST发布“SHA-256”算法草稿,2002年被作为官方标准发布。
目前还不知道为什么最终比特币软件选择了“SHA-256”算法,而不是论文里面提到的哈希现金算法,但可以肯定的说,“SHA-256”也不是由比特币自己创造的算法,而是经过长期验证了算法,两种运算的目的其实是相同的,就是为了提高工作量证明(见“什么是工作量证明”章节)。
对于“SHA-256”算法的攻击问题,目前可以肯定是,对该算法的攻击肯定是存在的,曾经有人公布了对“SHA-0”算法的攻击。但这种攻击成本巨大,这种攻击用于获取被“SHA-0”算法加密的信息也许有用,但对于破解比特币的挖矿程序根本没用。因为挖矿是靠交易链来保证的,交易一旦确定,要靠伪造的交易链来实现,必须保证能快速的运算出结果。而正常的算法计算时间,比该类攻击所用的时间少得多,所以基本不可能伪造成功。
目前“SHA-256”算法已经发布了11年,暂时没有发现该算法的问题。假设真的有一天攻击者发现一种新算法,能够假冒“SHA-256”,快速计算出结果,而且验证结果也是正确的,我们假设这种算法,计算速度比“SHA-256”快一万倍,然而它要破坏当前的挖矿体系也是极其困难的。它可能能够更快的挖到矿,但要伪造交易,却必须拥有当前50%以上的算力,即使它的算力提到了一万倍,但鉴于当前算力非常庞大,仍然是难以伪造的。而且伪造得到的报酬,远不如诚实挖矿得到的报酬多。
一旦这种新算法被公布,其他的挖矿者也可以采用该算法来挖矿,这时大家的算力也迅速提升。对比特币来说,这是一个算力的竞争,刚开始有人占优,能挖到更多的矿,但随着新算法迅速使用,整个挖矿马上又平衡了。就好比在现实社会中,有人发明了一台更加高效的挖矿机,大家可能都采用这种新挖矿机进行挖矿了。但这些都属于诚实挖矿,不影响比特币整个的运转。
最后说明一点,比特币软件已经走到了第八个年头,相信他的算法还是经得住考验的。
14、比特币如何控制币的总数,会不会被人暗中控制?
确切的说,比特币的数量,和产生的速度,都是以参数设定在程序里面的。在软件发布以前,这些参数都是可以变更的,但是一旦软件发布,比特币的节点越来越多,这个参数的变更就变得没那么简单了。
首先,由于比特币软件是一个去中心化的软件,全网都是公平的,单独修改一个机器的参数根本没用,它肯定是不会被全网所公认的,它的交易也会被认为是非法交易。
如果全网50%以上的机器都采用了新的参数呢?这个时候,其实是有可能改变比特币的总数的。但如果真有一个暗中控制人,TA想让全网50%以上的机器,都安装了经过TA暗中控制的软件,这个难度极大。另外,比特币软件是一个开源软件,它的所有源代码都是公开的,现网的所有改动,都是公开的,这种属性决定了比特币的总数不可能被人控制,导致总数超出原先设置的2100万的数量。
15、为什么每一笔比特币交易,都产生少量交易费,这钱给谁收了?
这个话题,其实我已经在“什么是挖矿”这一章节中有所涉及。比特币是一个去中心化的货币,它的每一笔交易,都是由“挖矿人”来对其进行证明的,所以需要对“挖矿人”进行激励,使其对交易进行证明这种工作有积极性。所以每一笔交易,都会收取少量的交易费(目前是0.00001比特币),这笔费用,其实就到了挖矿人手里。就好比我们现实社会中,需要对某种交易进行公证,需要给公证处少量费用,让其做一个公证一样。
在比特币产生的前期,由于交易比较少,为了鼓励“挖矿人”的行为,所以会额外产生比特币来分配给“挖矿人”。这种行为在2040年就不再有效,到时候比特币数量被永远固定为2100万枚,“挖矿人”的酬劳纯粹由交易人的交易费获得。
掌上工资条选取和转载理财精品文章,欢迎参阅。
相关文摘:深入解析比特币的来龙去脉(下)
相关文摘:宝类产品收益率强势回4
相关文摘:理财产品的基本类型简介
相关文摘:学会理财等于给自己加薪
相关文摘:2017工资免税项目有哪些?
相关文摘:比特币投资的可行性报告
相关文摘:P2P理财如何才能规避风险
相关文摘:容易升职加薪的六种员工类型
相关文摘:个人工资理财八种优质方法
相关文摘:工资升值支付宝财付通比较
相关文摘:个税改革起航二胎房奴受益
相关文摘:电子工资条可否做收入证明
相关文摘:购买商业健康保险可以抵税
相关文摘:理财师教你理财记账四部曲
相关文摘:如何用工资理财,跳出月光族?