区块链与新经济:数字货币2.0时代
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

PART 1 比特币

第一章 数字货币概况

第一节 数字货币起源

一、早期尝试

1952年,美国加利福尼亚州富兰克林国民银行率先发行银行信用卡,标志着一种新型商品交换中介的出现。美洲银行从1958年开始发行“美洲银行信用卡”。1974年,罗兰德·莫诺(Roland Moreno)发明了IC卡作为电子货币的存储介质。1982年,美国组建了电子资金传输系统,随后英国、德国也相继研发了类似的系统。以银行信用卡为代表的电子货币迅速流行,成为当今主流的货币形式。

电子货币实现了货币彻底的去实体化,虽然我们仍然会使用卡片作为电子货币的载体,但是卡片本身并不是货币,真正的货币是卡片中所存储的数字。如同早期纸币对应于金库中相应价值的黄金,早期电子货币也对应于银行中相应数额的纸币。但是随着各国货币的发行转向电子化,电子货币也日益与纸币脱离,成为纯粹数字形态的货币。

电子货币是法定货币(以下简称“法币”)的电子化形式,它的发行机制与传统法币相同,资金的传输由金融机构承担和维护。许多人认为这种电子货币存在一些弊端,如无法匿名使用、无法全球流通、交易成本较高等,于是他们开始尝试设计一些新型的电子货币方案(为了与金融系统发行的电子货币相区分,我们称之为数字货币),例如20世纪90年代的DigiCash、b-money、Beez、Flooz和稍后的BitGold、ecash。这些尝试有的只限于纸面设计,并未实际实施,而有些实际实施了的也均以失败告终,要么根本没有流通,要么流通的范围极其有限。

失败的原因大多可归结为中心化的组织结构。这些货币由特定组织发行,他们对货币的安全使用与流通进行仲裁、监督和维护,并采用中央服务器记录货币的流通情况。在缺乏国家信用支撑的情况下,一旦发行和维护组织破产或遭受法律、道德指责,或保管总账的中央服务器被黑客攻破,该货币即面临信用破产与内部崩溃的风险。

二、技术挑战

如果不使用中心化的组织结构,那么如何对数字货币的流通进行监管就成为一个棘手的问题。数字货币只是一串字符,复制和篡改几乎不需要成本;电子货币在网络中流通,其交易数据最终必然记录于某个“账本”之中,使用黑客技术篡改这些记录也不是难事。因此,无人维护的电子货币系统,其安全性几乎是不可能保障的,这里主要涉及两个问题:

1.货币伪造

在中心化管理的系统中,所有用户的账户余额都会记录在中央服务器中,除非入侵中央服务器,用户是无法修改自己账户余额的。如果没有这一中心化管理系统,用户的电子货币存储在自己的钱包里,那么修改余额将非常容易。

2.双重支付

中心化管理系统通过实时修改用户的账户余额,可以有效地防止双重支付(用户利用网络延迟等漏洞,把同一笔钱支付给两个人),然而无人监管的系统很难防止这一情况的发生。

早期的数字货币也曾在这两个问题上进行了尝试。例如,B-money方案提出了一种协议,使用工作量证明机制进行货币发行。每笔货币的传输会广播给所有用户,每个用户都知道别人的账户,因而可以证明交易的真实性和正确性。在网络出错的情况下,用户可以申请赔偿,由第三方进行仲裁,如果仲裁无法达成一致,则每个用户自行确定自己的赔偿或惩罚额。

BitGold方案描述了一个使用去中心化方法创建永久工作量证明链的系统,该链记录使用者的公钥、时间戳和签名。该方案认为工作量证明的价值在于稀缺、难以产生、可安全存储与传输。通过点对点的拜占庭回弹(Byzantine-resilient)方法,BitGold可在传输时防止双重支付。遗憾的是,拜占庭回弹方法依赖于网络地址投票而不是计算力投票,因而容易遭受女巫攻击(SybilAttack)。

而致力于创造匿名数字货币的DigiCash方案则使用了盲签名Blind Signature算法来切断货币提现与支付之间的联系,首次在数字货币设计中引入了密码学算法。

三、比特币的诞生

2008年11月,一个化名中本聪(Satoshi Nakamoto)的人(或者组织)在某个隐秘密码学讨论小组中发表了一篇研究报告《比特币:一个点对点的电子现金系统》(Bitcoin:A Peer-to-Peer Electronic Cash System),提出了比特币的概念。中本聪认为:“借助金融机构作为可资信赖的第三方来处理电子支付信息,内生性地受制于‘基于信用的模式’(Trustbased Model)的弱点。”因此,他希望能创建一套“基于密码学原理而不是基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与”的电子支付系统。对应于现实生活中的现金交易,这个系统需要起到两个作用:一是杜绝伪造货币,二是杜绝重复支付。

发表研究报告之后,中本聪开始着手开发比特币的发行、交易和账户管理系统。2009年1月3日,该系统开始运行,中本聪随之构造出第一个区块链,它被称为“上帝区块”,最初的50个比特币宣告问世。比特币创新性的设计赢得了很多电子货币行业资深人士的赞许。B-money发明人戴伟(Wei Dai)认为比特币的发明“意义重大”; BitGold发明人尼克·萨博(Nick Szabo)称赞比特币是“对世界的伟大贡献”;著名密码破译专家哈尔·芬尼(Hal Finney)称它“具有改变世界的潜力”;来自创业公司OnlyOneTV的布鲁斯·瓦格纳(Bruce Wagner)称其为“自互联网问世以来最令人激动的一项技术”。

比特币的诞生,意味着一种新型的、去中心化的、无固定发行方的数字货币的诞生。本书所述数字货币,均指类似比特币的新型数字货币,并在第一卷中以比特币为例介绍数字货币的基本原理和技术特点。

第二节 数字货币原理

一、防止货币伪造

对于杜绝伪造货币,比特币的解决方案是保留所有货币的所有流通信息(全网总账本),从而确保了可对每一个货币的来源进行追溯,一直到创造出该货币的那个时刻;每进行一次交易,全网总账本上就多记录一次流通信息,并在点对点网络上进行广播,使得所有节点(参与流通渠道维护的所有计算机)都保存有全部货币的全部流通信息。这样任意一个节点在交易之前就可以轻松发现凭空出现的伪造货币,从而杜绝伪造货币的流通。

二、防止重复支付

为了防止同一个货币被同一个人重复花费,中本聪采用了工作量证明法。如前所述,每个交易都要向网络进行广播,重复花费多次就意味着多次广播关于同一个比特币的交易。其他网络节点将把其接收到的其中某一次交易放到一个区块A内(一个区块包含了多个近期的交易单)进行验证,验证方法是进行一次耗时的计算,如果计算成功,则向全网进行广播。如果另一个节点在区块A的基础上完成了下一个区块B的验证,那么它就会把B的区块挂在A区块之后,依此类推,形成一个区块链。

对于同一比特币的多次交易会形成多个区块链,最终的结果就是哪个链条最长,哪个交易就被确认为有效,其他交易则被废弃。这样就确保了一个比特币只能被一个人支付一次。

三、无须第三方监管

通过工作量证明法,比特币还基本杜绝了非法篡改历史交易记录的可能性,因为历史记录一旦被篡改,就意味着某个比特币的交易记录出现了一个新分支,篡改者需要自行对新分支进行验证;与此同时,其他所有网络节点仍在老分支上进行验证,持续构造验证链,除非篡改者拥有超越其他所有网络节点之和的计算能力,否则它的分支增长速度永远无法追上老分支,结果是他的篡改行为必将被宣告无效。

在所有节点上保存全部交易记录,通过耗时的计算对交易进行验证,二者结合起来,就构成了一个安全、可靠的去中心化的支付系统。其本质是把集中监管的工作量交付给一个人人参与的庞大网络,网络中的所有节点都承担监管职责。如欲伪造货币或欺骗其他用户,就是与整个网络作对,因而无法得逞。

四、比特币的发行

比特币的发行源于货币流通渠道自身。由于每个比特币的每笔交易都需要进行验证,为了鼓励节点全身心投入验证以维护系统的正常运作,中本聪提出了相应的激励机制:“对每个区块的第一笔交易进行特殊化处理,该交易产生一枚由该区块创造者(也就是第一个对交易进行成功验证的人)拥有的新的电子货币。这样就增加了促使节点支持该网络的激励,并在没有中央集权机构发行货币的情况下,提供了一种将电子货币分配到流通领域的方法。”“如果某笔交易的输出值小于输入值,那么差额就是交易费,该交易费将被增加到该区块的激励中。”也就是说,第一批比特币可被视为“创世纪”比特币,在被“创造”出来之后进行流通,后续比特币通过验证“创世纪”比特币参与的交易产生,再加入流通渠道,产生滚雪球效应,从而使得比特币越来越多。

但是比特币无法永远增加,由于算法本身的设计,每4年产生的比特币数值会减半,因而最终比特币的数量会趋近于2100万个。

因为对比特币系统进行维护的人可以通过复杂的计算获得比特币奖励,过程类似于矿工挖矿,因此维护者被称为“矿工”,其维护行为被称为“挖矿”。值得注意的是,“矿工”自带设备(一般为定制化的计算机,又称矿机)、自发参与维护,因而人数很多且时刻变化,不会形成固定的“第三方监管者”。而在特定的时间间隔内,只有一个矿工能够得到奖励,挖矿的争夺非常激烈,从而保证了系统的安全性和稳固性。

五、挖矿

比特币的本质是一个互相验证的公开记账系统,而挖矿的本质则是在争夺记账权。从工作内容来看,“挖矿”是将过去一段时间内发生的、尚未经过网络公认的交易信息收集、检验、确认,最后打包加密成为一个无法被篡改的交易记录信息块,从而成为这个比特币网络上公认已经完成的交易记录,永久保存。

在比特币的世界里,大约每10分钟会向公开账本上记录一个数据块,这个数据块里包含了这10分钟内全网已被验证的交易。因为所有的挖矿计算机都在尝试打包这个数据块提交,于是最后以谁提交的为最终结果,是需要争夺的。最终成功生成那个“交易记录块”(区块)的人,可以获得伴随这些交易而生成的交易费用,外加一笔额外的报酬。交易费用一般都是转出资金方自愿提供给挖矿者的,因此不是系统新增的货币;额外的报酬是新生成的比特币——前面所说的“比特币的发行”。

比特币的有限性就由“额外的报酬”数量来控制。依据比特币系统的设计,大约每10分钟可以生产一个“交易记录块”,最初每生产一个“交易记录块”可以获得50个比特币的额外报酬,这意味着比特币网络每天增加7200个比特币,但是该报酬每4年就会减半,因此最终整个系统中最多只能有2100万个比特币。

六、区块链

矿工们为争夺记账权所运行的计算,实际上是根据哈希值反向求解随机数。大家比赛的是在10分钟内看谁找到一个随机数,这个随机数与上一个数据块的哈希以及10分钟内验证过的新交易记录合起来可以得到满足某个条件的最小哈希值。这个值越小,对应的比特币网络的难度系数越高。由于哈希值的结果相当随机,无法预知结果大小,所以只能采取穷举法比拼算力。如果某个矿工10分钟内没抢到记账权,就只能等待下一轮的竞争。

之所以在求解随机数时要加上一个区块的哈希,是因为这样所有的数据块就被组成了一条可以从前到后不断验证的数据链条。修改中间任何一个数据块的任何交易记录,都会导致从此之后的所有数据块的哈希无法验证成功,而如果企图修改记录后重新找一个合理值计算出符合条件的哈希重新打包,那就意味着之后所有的数据块都需要重新计算哈希,即使都找到了还必须比整个比特币网络计算得更快,才能让网络接受你的结果,这意味着攻击者要拥有超过整个比特币网络其他部分的计算力,换句话说,要使用超过整个网络50%以上的计算力才能保证攻击有效。

这个数据链条就是狭义上的区块链,或者叫做比特币区块链,又称全网总账本,它永久保存在每个用户的计算机上。只有拥有50%以上全网算力才可能篡改这个全网总账本,比特币系统就是通过“区块链+”“挖矿”的机制实现了货币无法被伪造、交易无法被篡改和双重支付无法得逞的目标。而广义上的区块链则是融合了支撑数字货币所具有的各项技术特点的集成技术架构,我们也将会在第二卷集中讨论。

七、计算难度与确认次数

矿工找到一个有效的哈希值后,就会迅速把生成的数据块转发出去,别的矿工收到并认可这个数据块后,就会以它为基础进行下一轮的计算。如果期间收到具有更小哈希值的块,则首先以数据链长度为优先,其次以哈希值更小为优先,抛弃之前的结果,在新的基础上继续进行下一轮计算。

为了自动协调比特币的发行速度,系统根据之前若干数据块生成的平均速度自动调整挖矿难度。如果之前数据块的生成时间低于10分钟,就把难度提高,如果高于10分钟就自动把难度降低。难度提升很简单,就是降低哈希值的下限,由于哈希算法的特性,这会造成计算量的指数级上升,因而会增加矿工计算的时间。

对于某笔特定的比特币交易(主要指转账,即把比特币由一个地址转到另外一个地址),正常情况下,这笔交易的交易单会被打包到当前的数据块中。当某个矿工计算出了满足当前数据块要求的哈希值并广播出去,这笔交易得到第1次确认。其他矿工过10分钟后把新的数据块挂接在当前数据块之后,区块链延长,每延长一个块就意味着得到的确认加1。当一笔交易获得了6次确认,就可以认为这笔交易已经得到了全网的认同,合法、有效,而且不可撤销。

八、客户端钱包软件

在比特币体系里,用户的账户(地址)由本地客户端自动生成,是类似1Gz9XmfTK4aH89MVXky1QxtyMcG44NqDRv的一串字符。用户告诉别人这一地址后,对方就可以向该地址转账了。

比特币地址其实是一套非对称密钥对中的公钥,这对密钥通过椭圆曲线算法生成,其独特之处在于:使用公钥加密一段信息后,使用公钥解不开,必须使用私钥才可以解开;同样,使用私钥加密一段信息后,使用私钥解不开,必须使用公钥才可以解开。更加独特的是,根据私钥可以很容易地算出公钥,但是根据公钥几乎无法算出私钥。

因此,用户可以把自己的地址(公钥)告诉别人,与其进行加密通信。例如,用户A把自己的公钥告诉B,然后以自己的私钥加密信息,用户B用A的公钥解开这份加密信息,并可确认该信息由A发出(因为只有用A的公钥才可以解开);用户B用A的公钥加密信息,用户A用自己的私钥解开这份加密信息,并可确认该信息是发给自己的(因为只有用自己的私钥才能解开)。但是用户绝不能把私钥告诉别人,因为私钥唯一确定了地址(公钥)的所有权,而且无法通过公钥计算出来。一旦告诉了别人自己的私钥,就等于把该地址里所存的比特币拱手让给了对方,对方可根据私钥计算出公钥(地址),然后从区块链(全网总账本)中查找该地址关联的比特币信息,并动用这些比特币。

用户账户的地址和私钥都保存在比特币钱包文件里,一般情况下私钥是看不见的,由比特币客户端软件自动进行加密、解密运算。因此,钱包文件必须妥善保管,一旦丢失,钱包里所有地址保存的所有比特币就不安全了,有可能被别人盗走。由于整套比特币体系的去中心化和匿名性特性,比特币一旦被盗,没有任何人有权力或能力找回。

用户账户的地址及对应的私钥均由客户端软件自动生成。由于可使用的地址数目足够多,理论上超过2160个,而全世界的沙粒仅有约263个,每粒沙子都可以分配297个地址,仍然是一个巨大的天文数字。因此,不同用户账户地址重合的可能性基本上不存在。由于账户地址输入错误,导致这一地址恰好是别人账户地址的概率,比飞入你眼中的一粒沙,恰好是去年你在海滩踩到的一粒沙的概率还小得多。

九、比特币转账

因为比特币不存在现金交易的概念,一切交易都依靠账户间的数字转移,所以比特币的支付概念类似于银行转账。假设A有100个比特币,他要转账给B。那么A写一条信息“从A的地址转账100个比特币到B的地址”,然后用自己钱包里的私钥加密并传播到整个比特币网络上,网络上的人都用A的地址(公钥)解密验证这条信息确实是由A发出的,而通过历史交易数据计算出A的地址确实拥有100个比特币,于是整个网络公认此次转账操作,抢得记账权的矿工把当前时间区间内的所有交易记录(当然包括A给B的转账)打包挂在区块链上,A钱包中存款减少100个比特币,B钱包中存款增加100个比特币,并显示该笔转账被确认了一次。大约一小时后,6次确认完成,B获得了这100个比特币的支配权,这次转账彻底完成。

非对称加密技术使这个转账过程得以顺利实现,矿工的挖矿则保证了交易的合法性、有效性和不可撤回性。

十、匿名与公开

由于没有传统银行开户和身份认证的过程,比特币系统是纯匿名的,即无法把用户账户的地址与用户本人相关联,拥有某个地址私钥的人就拥有对该地址的唯一所有权。虽然我们可以根据本地完整的交易记录查询每个账号的流水信息,但却几乎没有办法知道这个账号的主人是谁。只要愿意,每个人都可以拥有几乎无限个地址。同样也没有任何人有能力操作他人账号上的比特币。这是人类历史上第一次从技术上保障了“货币”不可追踪、不可冻结、不可未经许可而占有。

反之,账户所有人可以轻易证明自己拥有某个地址上的财富。只需要使用私钥加密一条信息发布出来,大家就可以确认他对该账户的拥有权,而不必把私钥公开,这同样适用于证明某笔匿名支付确实由某人发出。

当然,虽然比特币系统是匿名的,但若一个组织愿意公开自己的比特币账号,那么整个网络可以随时追踪到该账号的所有流水信息。每一笔转账的到账时间、数额和支出都可以被清晰地看到,相当于直接查询银行内部原始账单。对于NGO (非政府组织)或公益组织来说,可以大幅降低账目维护成本,做到100%的透明度。2013年的芦山地震,壹基金就曾接受比特币捐赠,其比特币账目在网络上清晰可查。

十一、不可撤销与不可找回

前面已经提到,如果一笔交易被确认了足够多次,该交易即不可撤销、不可逆转。这意味着,如果一个人错误地把比特币打到另外一个人的合法地址中,除非对方愿意把比特币再打回来,否则这个人的比特币将永远无法追回。因为比特币世界不存在仲裁者,无法强制用户进行操作,因此错误的交易能否被挽回,只取决于对方的自觉性。

基于同样的原因,如果用户的钱包文件(私钥)损坏,就意味着钱包包含的所有地址上的所有比特币都彻底丢失了,彻底躺在了交易记录的历史中,任何人都可以看到它,但却得不到。因为这里可没有拿身份证找回这一码事。而如果想通过破解私钥的办法拿回丢失的比特币,只能等到量子计算机出现了。依据当前的加密理论,只有量子计算机才有可能在较短时间内破解椭圆曲线加密算法。

第三节 数字货币技术特点

一、去中心化

比特币之父中本聪在设计比特币模型时,就将其设定成去中心化的,在结构上使用P2P(Peer-To-Peer,点对点)网络模型。这种网络的特点是,不需要中央服务器,每一台联网计算机都是一个独立的个体,通过协议连接到其他成百上千台计算机,最后全球的计算机能够连接成一个密密麻麻的网络。在这个P2P网络上的所有计算机都直接或者间接连通,某一个节点上发出的信息,最终可以扩散到全球所有节点。举例而言,A在中国,B在美国,A和B的连通方式可以是直接连接,也可以是通过位于欧洲的C计算机搭桥间接连接起来。因此,即使其中一部分节点发生故障,整个网络的通信也不会受到显著影响。

所有节点均可直接或间接连通的特点意味着P2P网络一旦启动,就无法关闭,除非所有联网的计算机全部关机,或者全部关闭了比特币客户端。

与此同时,对比特币网络的维护也是去中心化的,不存在独立的第三方对网络进行集中监管。比特币的安全支付与流通由矿工维护,而矿工分布于全球各地,彼此通过竞争监管交易、获得奖励,这一互相协作同时又互相竞争的群体很难被外部力量掌控。通过对矿工的奖励,比特币实现了发行的去中心化,没有任何一个机构或个人可以集中发行比特币,比特币在矿工成功抢到记账权时自动发行。

这些去中心化的措施,使得比特币网络异常稳固,由算法发行决定的发行机制、竞争性的维护机制使人们不用担心比特币被个别人或组织控制、利用,也不用担心网络被关闭、比特币被没收,因此,比特币的信心支撑非常稳固。

二、基于密码学的安全通信

P2P网络的连通性几乎无懈可击,但是信任问题无法只通过P2P网络解决。例如,A发出一条信息给B, B通过P2P网络最终接收到此信息。这条信息可以直接从A计算机传递过来,也可能通过多台计算机转手传递过来。于是B会有两个问题:第一,这条信息到底是不是由A发送的?第二,这条信息是否可能被人窥探乃至篡改过?

这就回到了我们上节提到的公钥、私钥和非对称加密技术。A要发送一条信息给B,确保这个信息只有B才能解密。那么A就用B的公钥(公钥是公开的,整个P2P网络都知道B的公钥)加密原始信息,这条信息在整个P2P网络上传播,虽然所有人都有B的公钥,但是用公钥无法解密这条信息,只有B的私钥才能解开。最后B收到这条信息,用自己的私钥解密,读到A发来的消息。

那么A怎么证明自己是这条信息的发出者呢?在网络上,每个人都可以把自己伪装成任何人,B收到信息时,可能传递信息给B的那台计算机会声称它就是A, B当然不能轻信,那么有什么办法可以使B确认这条消息是由A发出的呢?

很简单,A只要把消息分两步加密就可以了:第一步,用A自己的私钥对原始信息做第一层加密;第二步,在上一步获得的数据基础上再用B的公钥做第二层加密。B收到这个加密的信息后,以相反的次序做两次解密操作:第一步,用B自己的私钥解密收到的信息,得到被A的私钥加密过的信息;第二步,在第一步获得的数据基础上用A的公钥再解密一次即得到未加密信息。

第一层加密的目的是证明这个信息是由A加密并发出的,因为只有A的私钥才能完成这样的加密,这一步也叫做数字签名,它排除了消息是别人伪造或者别人冒充A的可能性。第二层加密的目的是确保信息只有B能够解密、看到未加密信息,因为只有B有解密私钥,即使别人看到了加密后的信息,也无法解密,更无法篡改。

有了这一密码学技术保障,即使在匿名的P2P环境中,也无须担心比特币网络通信的安全性,更不用担心有人“冒领”比特币。

三、公开透明

比特币的本质是一个互相验证的公开记账系统。这个系统所做的事情,就是记录所有账户发生的所有交易。每个账号的每笔数额变化都会记录在全网总账本(区块链)中。而且每个人手上都有一份完整的账本,每个人都可以独立统计出比特币有史以来每个账号的所有账目,也能计算出任意账号的当前余额。

这里最关键的一点在于每个人手上都有完整的账本,因此系统里任何人都没有唯一决定权。任何想隐藏或修改交易数据的行为都会被整个网络否决掉,除非有人有能力修改50%以上用户的账本,这就是比特币系统里所谓的51%攻击。

比特币客户端在使用时会进行大量的数据同步,它同步的就是全网总账本,这些数据保障了整个体系的去中心化和每个客户端的一切知情权。正是因为所有数据公开透明,而整个比特币软件也是开源的,任何人都可以去查看它的源代码,人们才会信任这套去中心化的系统,而不必担心里面是否隐藏着什么阴谋。

四、算力民主

矿工们对篡改全网总账本及双重支付问题的监督,实际上依靠的是计算力投票机制。以双重支付为例,由于同一笔比特币被支付两次,必然形成不一致的区块数据,导致区块链分叉,承认哪次支付、拒绝哪次支付,由矿工投票决定。

投票规则如下:假如双重支付形成两个不一致的区块A和B,此时矿工甲抢到了A的记账权,把A挂接在当前的区块链末尾,矿工乙抢到了B的记账权,同样把B挂接在当前的区块链末尾,此时的区块链分叉为A链和B链。在下一个记账周期里,矿工们会决定把新生成的区块挂在A链还是B链上。依此类推,随着时间的推移,A链和B链会不断延长,直到某个链的长度显著超过了另外一个,然后短链被舍弃掉,长链中包含的交易被确认。

同样,篡改网络总账本也意味着区块链的分叉,一个链是被篡改的假账本,另一个链是绝大部分人持有的真账本。由于大部分矿工看不到篡改过的假账本,因而他们只会在正确的链上挂接新数据块,也就是正确的区块链会被绝大部分的矿工维护,而被篡改的区块链只有篡改者自己维护,竞争的结果自然是篡改者的假账本被抛弃。

比特币系统任何规则的更改几乎总会引起区块链的分叉,矿工们通过向不同的链挂接新数据块的方式表达自己对新、旧规则的态度。显然,私自更改的规则将无法获得绝大多数矿工的支持,因为规则内嵌于挖矿软件之中,矿工们不更新软件(拒绝私自更改规则的软件),就不可能在新规则的区块链之后挂接新数据块。

因此,在比特币的世界里,几乎一切都依赖于计算力投票。比特币的发行靠计算力投票获得,比特币的安全传输靠计算力投票保障,比特币交易的不可欺骗、不可撤销也靠计算力投票达成,甚至比特币规则的更改、客户端的完善都靠计算力投票选择。计算力投票保障了比特币网络的发展壮大。其中的关键在于,计算力背后是一个个矿工,他们用矿机直接为对自己最有利的行为投票,因而比特币网络实质上完成了一场大范围直接民主的实践,每个人依靠自己的直接投票权建立起了一种新型的P2P契约。这种契约在零信任的前提下达成,理论上极其不稳定,实践上却极其有效。

第四节 比特币协议与发展

一、比特币协议概述

比特币的本质是一种协议,在中本聪的论文中提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何金融机构。虽然数字签名部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付(Double Spending),那么这种系统也就失去了存在的价值。

中本聪提出一种解决方案,使现金系统在点对点的环境下运行,并防止双重支付问题。该网络通过随机散列(Hashing)对全部交易加上时间戳(Timestamp),将它们合并入一个不断延伸的基于随机散列的工作量证明(Proof-of-Work)的链条作为交易记录,除非重新完成全部的工作量证明,形成的交易记录将不可更改。最长的链条不仅将作为被观察到的事件序列(Sequence)的证明,而且被看作是来自CPU(或者当前流行的ASIC比特币挖矿专用芯片)计算能力最大的池(Pool)。只要大多数的CPU或者说各种芯片的计算能力都没有打算合作起来对全网进行攻击,那么诚实的节点将会生成最长的、超过攻击者的链条。这个系统本身需要的基础设施非常少。信息尽最大努力在全网传播即可,节点(Node)可以随时离开和重新加入网络,并将最长的工作量证明链条作为在该节点离线期间发生交易的证明。

二、比特币协议特点

通过比特币协议,我们可以发现比特币的价值远不止货币本身,因为它构建的是货币的互联网协议。大部分人只知道作为数字货币的比特币,而真正有着深远意义的是作为潜藏协议的比特币,它还有着封装并分发合约的功能。比特币封装了以下四项基本技术。

电子签名:无法伪造,允许一方安全地核实同另一方的交易。

点对点网络:如同BitTorrent和TCP/IP一样,几乎无法被摧毁,无须强大中央机构的维护。

Proof-of-Work(工作量证明):可以防止用户同一份钱花两次,同时还无须中央机构来验证交易是否有效。比特币为矿工设立了奖励机制,他们利用算力强大的计算机,来完成验证交易是否有效的工作。矿工可以从这种活动中获得新的比特币作为奖励,任何有足够算力的人都可以参与挖矿,并获得奖励。

分布式总账:在每一个比特币钱包中,你都能查到整个比特币系统的每一笔交易记录。区块链意味着任何人都可以去检验某项交易是否发生过。

通过这四项基础技术,比特币具有了很多特点,它是稀缺的(中央银行没法滥发货币)、持久的(不会像金子一样降解)、便携的(可以以电子的或者只是你大脑记忆中的一串数字的形式存储、传播)、可分的(一个比特币可以分成一亿份或更多)、可证实的(每个人的区块链里都能查到)、可替代的(每个比特币本身都是可匿名且一样的)、难以伪造的(几乎不可能被破解或篡改),可被广泛使用,许多互联网技术人才正在花时间不断改善比特币。

对于比特币的未来,人们还有各种各样的担心,比如加密算法的安全性、交易速度、区块链的大小、交易的不可逆性、被盗或者被黑的可能性。所有这些都是可以被第三方服务和协议升级解决掉的。不妨把现在的比特币协议看作数字货币1.0,就像曾经的HTTP1.0一样,它会从最初只有简单文字和图片的浏览器演化成现在的互联网,以后也会有更丰富的数字货币世界。

相较于现在的英镑或者美元,比特币有很多明显的优势,上文已经提到不少。但更重要的是,比特币这套协议可以支持当下不可能实现或者实现昂贵且需要强力第三方的金融交易服务。

比特币自带有脚本语言,不单支持“把钱从X汇给Y”这种简单交易,还支持类似于“要求N方中的M方同意,才算完成交易”这样的条件交易。举个例子,设定一项遗嘱,只有当大部分继承人同意他们的父母已经过世时,该遗嘱才会生效,完全不需要任何律师;或者只有当三方受信签名中有两方同意才能批准某项支出;或者一项Kickstarter上的众筹计划,只有多数支持者同意达到某项指标时,钱才会支付给发起人。所有这些案例中,参与仲裁的人自己都是不能单方面拿走钱的,他们只能代表自己做出同意和反对的决定,但最终结果完全取决于整体结果是否达到预设条件。

当然,脚本语言也能支持基于其他参数的交易,比如基于时间的交易,可以衍生出自动抵押贷款、信托和津贴支出,或者是由全网络节点共同审计的基于随机数字的的彩票抽奖。你还可以设计出智能财产,比如一种汽车电子钥匙,只要买方向卖方支付一笔钱,卖方的汽车钥匙就失灵,买方的钥匙开始工作,可以用来开车。在不久的未来,当你的无人驾驶汽车在其他地方被堵住了,给邻居一点比特币,就可以借他的车一用。

只要每个人都有整个比特币的区块链的备份,也就都能够核实你的交易。你可以将任意一份文件加密,给个时间戳,放到区块链中,任何人都可以随时核准这份文件。如果你用自己的私钥给文件签名,其他方也用他们的私钥签名,这份文件就成了不可否认的共同署名的合同,可以彻底无须拜托公证员。基于比特币思想的还有域名币(Namecoin)计划,解决了域名分配问题,或者博彩交易所(SatoshiDice),杜绝了出老千的可能,P2P股票(BitShares)则能够在没有传统意义上的证券交易所的前提下实现股票的买卖和分红。

最重要的是,比特币提供了开放的API接口,可以用于创造安全的、可编写脚本的电子现金交易。如同Web将出版平民化一样,比特币可以让构建新的金融服务更平民化。你可以用任意第三方或者代码本身来订立、修改或者执行电子合同,完全免费、快捷,不用担心伪造或者撤回。传统银行或者信用卡公司只会把自己的支付基础设施开放给几家公司,而比特币则向所有人开放。

比特币从最初的0.1版本后,由比特币开发团队不断进行维护和升级,根据市场的需求逐渐增加了一些新的功能,使得比特币协议更加完善。我们就最近的比特币协议升级情况,来说明比特币的最新发展情况。比特币核心开发团队曾在2013年的第三季度中发布了两次协议升级,其中一次是计划升级,还有一次则是为了响应一个关键性错误,这个错误会阻止多个节点索引最新的比特币交易。

三、Bitcoin0.8.4

Bitcoin-Qt0.8.4版本于2013年9月4日发布,包括了一些安全方面的改进。第一次更新解决了Bloom过滤器问题,紧凑了数据结构,并允许使用截断的数据块以节省磁盘空间。这些原本是Bitcoin-Qt0.8.0版本中首次紧凑了区块链的数据结构,允许使用截断的数据区块以节省磁盘空间发布的。但它们的实现,却在不经意间创造了一个拒绝服务漏洞,以及针对这一漏洞发生的两起攻击事件:使得有能力压倒、压制比特币网络其他的节点的读/写能力成为可能,使它们落后于最新的块,并有能力压制压倒节点的消息广播导致比特币软件崩溃。虽然所观察到的攻击是一些孤立的事件,但却需要立即引起协议维护团队的注意。

0.8.4版本解决的第二个问题是一个漏洞,该漏洞是一个允许攻击者通过内存过载来让节点崩溃的漏洞。该问题也与0.8.0版本提出的与存储交易的截断方式有关。当反序列化时,描述参数可能会和序列化(截断)版本出现冲突。如果攻击者针对特定的节点,他们可以发送给该节点无效序列化的交易数据,而将当一个不同的、有效的版本发送到网络的其余部分时,无效的将被变得有效。该节点与网络的其余部分保持一致时,交易将被拒绝。当然极端这种情况很难被黑客实际应用,因为它需要针对特定的节点攻击,并且该节点必须是愿意接受零确认交易的。另外,黑客攻击者如果试图通过网络发送恶意交易,也将导致试图截断交易的客户端从网络上断开。但0.8.4更新从理论上也断绝了这类攻击的可能。

0.8.4版本的第三个更新是Bitcoin-Qt的RPC(远程过程调用)中密码尝试所用的固定时间算法。更新之前,当攻击者通过精确衡量连接到受害者的计算机(通常是指在同一本地网络)时,可以通过使用一个不正确的密码尝试测量的响应延迟来知道他们有多接近。这使攻击者在尝试猜解一个私钥时,能够减少猜测时间和尝试的次数。

四、Bitcoin0.8.5

Bitcoin-Qt的这一版本是通过紧急发布以解决严重bug的。运行Bitcoin0.8.0或更高版本后,从2013年9月9日开始,有软件用户遇到数据库损坏错误,被要求花费数小时来重新建立区块链索引,但重新建立后也并不能解决问题。

产生这个问题是因为单一的交易块256818,使用负的版本号进入本来应该只有0或者1的字段中,从而导致运行数据库一致性检查时出现错误。该问题并未对比特币网络有任何重大影响,有问题的交易发生后,大多数节点和交易所在不重新启动的情况下可以保持软件继续运行。允许非标准情况下的负版本号分配解决,以防止同类问题复发。

五、Bitcoin Core 0.9

比特币基金会从0.9版本开始将比特币核心协议更新正式分离出来,删除了一些旧版本中的附加功能,并将核心协议命名为比特币核心(Bitcoin Core)。长期以来,人们没有很好地把比特币钱包(Bitcoin-Qt中本聪客户端)和比特币网络区分开,比特币核心开发团队命名Bitcoin Core 0.9,目的是强调Core的存在,即Bitcoin Core 0.9是为比特币网络而设计的。而在其后的非核心(Non-Core)版本开发中,比特币核心团队则会负责为比特币玩家设计客户端钱包。

1.支付便捷性

比特币基金会首席科学家Gavin曾经在BIP70中提出了比特币的全新付款功能,即用户可以使用网址或者E-mail进行比特币付款,0.9版本开始实行了这些提议。这样的改动大幅增加了比特币使用的便利性,并为以后更广阔的商业化拓展打下了基础。为了方便高级用户使用,Bitcoin Core 0.9中引入了收付款控制功能,我们可以自己选择找零的地址了。在旧版本中,找零的方式是系统自动完成的,现在你可以人工设置找零。用户在付款中还可以控制哪些地址被使用。这个功能既方便了收款方在Blockchain上面的查询,又保护了付款人的隐私。

2.交易延展性

比特币核心从这个版本开始关注交易延展性问题,比特币核心开发者Mike Hearn曾表示,比特币核心 0.9已经可以大幅地识别并删除重复发送交易请求并试图予以确认的问题节点了,做到阻止如双重支付或者路径改变的比特币交易的传递和挖掘。

从0.9版本开始,协议取消了通过全网传递比特币所需的固定费用,尽管这仍然不能保证交易中的矿工收到他们的比特币,但是也从此打开了交易费用浮动制度的入口,体现了矿工作为独立的角色群体,在比特币网络发展中凸显出的越来越重要的地位。

3.OP_RETURN

从比特币核心0.9开始,比特币的区块链(Blockchain)网络引入了OP_RETURN功能,即用户可以通过在交易中写入类似交易附言的信息来进行区块链传递及储存数据。虽然在0.9版本更新文件中,基金会指出OP_RETURN功能并不代表官方对将比特币区块链作为分布式数据储存的认可,但基于区块链分布式的特点,各种各样的尝试就此拉开了序幕。本书第二卷将会提到各种基于比特币公有区块链架构而开发出的各种出离于比特币本身的应用,基于的都是OP_RETURN这个0.9时代开始的新功能。

六、Bitcoin Core 0.11.2

0.11版本的比特币核心软件增添了一项重要的功能,即区块文件“瘦身”选项。用户可以将过去的那些区块所包含的老数据删除掉,不需要去运行整个节点。这样一来,用户就不再需要在本地存储整个区块链,而是将区块数目限制在最新的550个区块。这一功能对于那些硬盘空间不足的用户来说非常有利。目前整个区块链的存储只需要40GB,而最新的550个区块最多只需要550MB。

最新版的比特币核心软件还包括一种费用预测机制。这意味着用户可以更准确快速地预测出需要支付的交易费用。新版本是如何做到这一点呢?它会浏览整个内存池,内存池里是所有未验证的交易,区块链的最新区块会估算出下一个区块需要多少交易费才能接纳一笔交易。

比特币核心软件0.11版本也包括改善后的隐私功能,尤其是该软件能够更有效地与匿名的TOR网络连接。如果TOR能够启用,那么新版的比特币软件就能够使用不同的TOR线路连接到不同的节点,而不是同一个TOR线路。这样一来,将比特币核心软件的连接到分散化之后,就能够降低用户连接到一个恶意的节点或者被禁止连接到P2P网络的风险。

比特币核心 0.11.2还介绍了一种新的脚本操作:OP_CHECKLOCKTIMEVERIFY,简称CLTV。新的支付方式允许交易输出在未来的某个时间点之前不可使用。虽然使用简单的交易设置,交易锁定时间就可以实现类似的功能,但是CLTV可以与其他的脚本指令结合,比如多重签名和算法操作,进而可以创造复杂的交易合约。比如,你可以创造一个2~3重签名输出,设置当达到某个日期之后,获得一个签名。CLTV指令是通向比特币更加复杂的应用的一步。

另一个重要的正在成型的进展是支付通道。支付通道允许一方与另一方进行重复的微支付,但是只公开第一个和最后一个交易,这样就能避免避免给区块链带来太大负担。这种理念的一些变形,比如闪电网络,扩展到允许用户通过支付通道的网络进行安全的比特币交易,而不用将每一笔交易公布在区块链上。

七、Bitcoin Core 0.12

2016年2月23日,最新的比特币核心0.12开放更新,官方表示此次可能是有史以来最大规模的一次升级,共包含了22项改进内容,其中有以下9项重要升级:

1.7倍签名认证速度

在原本的比特币核心中使用OpenSSL对比特币交易进行ECDSA签名验证。OpenSSL具有很好的完整性,能够完成远远多于验证ECDSA签名的能力,但也因其广泛的功能,造成了更大的被打击面。由于这类打击将威胁到比特币的安全,将OpenSSL从比特币核心剥离并替换一种更为简单精准的密码库成为了优先事项。

为了解决这一问题,一种叫做libsecp256k1的ECDSA签名验证密码库由比特币核心团队开发出来,并植入核心协议用于取代OpenSSL。比特币核心开发团队表示他们经历了将近3年的复杂开发过程,终于通过libsecp256k1的嵌入实现了比特币安全验证方面被打击面的减小。

此外,libsecp256k1的签名验证过程将大大快于OpenSSL。在64位架构上,新的验证速度将比原来快7倍,原始重索引与区块验证现在只需要原本一半的时间即可完成,这将是比特币交易验证向前发展的重要一步。

2.限制上传流量的功能

对一些用户来说,节点的上传是一大负担,因此针对上传流量的限制成为了亟须提升的事项。节点用户限制能够设置软性的限制来控制它们上传数据给其他节点的流量。用户可以通过设置一个参数,来制定用户每天计划服务的其他目标节点的数量,然后系统将会尽量将服务节点控制在这个参数以下,若超出了限制数量则会选择仅服务最近一周产生的区块。

3.通过内存池设限防崩溃功能

老版本的比特币软件并没有针对内存池设置上限。尽管节点只会选择接受那些高于特定最低传递费用的交易,然而仍然会不时出现符合条件的交易量过大后导致低内存节点崩溃。特别是攻击者会选择针对这个弱点,通过大量交易来造成节点的崩溃。

通过这次0.12的版本升级,节点能够默认根据自身内存池容量设置上限,同时用户也能够自行对用于验证比特币网络的内存池容量上限进行设置。当上限被触及,虽然新的交易仍然能够被接受,但同时其中最低传递费的交易会被自动顶出内存池。这项新的内存限制保证了因交易加载过度而造成的节点意外崩溃将不再会发生。

4.交易验证费用增加选项

交易经常会由于过低的验证费用而被卡住。由于未被完全验证的未消费交易很难被再次消费,因此潜在地造成了金额的冻结。合适的交易验证费用又难以被计算,因为交易费用很大程度上依赖于特定时间的交易量及其他交易所给出的交易费用。因此造成了不是给出的验证费用太低导致交易被卡,就是给出的费用太高形成资金浪费。

新的交易验证费用替换功能使得交易的发起方能够设定他们的交易,从而实现一段时间后更高费用的同一笔交易能够被自动再发起。交易发起人因此就能够先从较低的交易费用开始发起交易,随后逐渐增加费用直到他们的交易被接受。这个功能同时帮助支付发起人控制交易成本,同时也最大化了交易被包括入区块的机会。

5.交易传递规则提升

以前,特定的传递带宽被保留以用于零费用交易的传递(或被称为免费交易)。这种设定的问题在于所有其他的交易(非零费用的交易)将会被迫争夺剩余的传递带宽空间。

为了更好地为交易发起者服务,节点们将不再需要保证一定数量的免费交易传递,而是更为自由地选择传递任何交易。

6.自动选择Tor网络运行

节点会首先检测自己是否在Tor匿名网络上运行,若已处于Tor匿名网络上,比特币核心会驱使软件自动创建Tor的隐藏服务器,并通过Tor连接其他节点,而无须手动操作。

7.ZeroMQ消息提醒接口开放

新区块高度的到达的消息及新交易接收的通知原本并不对外开放,0.12版本通过整合ZeroMQ,将这类消息的提醒接口对外开放。

8.钱包所需硬盘空间骤减

比特币核心钱包用户经常会为运行全节点时大量被占用的硬盘存储空间而感到头疼(当前已达到60GB,并仍在增长)。对于那些只有有限存储空间但却仍然希望运行全节点的比特币钱包的用户来说,他们现在开始能够在修身模式下运行。这意味着节点只需要对未花费的结果进行跟踪,而删除其他已认证处理的区块及已花费的结果。结果就是用户能够仅通过储存2GB左右的数据而不是原本的60GB来运行全节点。

9.为矿工提供更快的区块组合能力

老版本中,区块模组的创建对于矿工来说是昂贵的,他们需要花费很多的计算时间与储存空间来完成。大量计算时间的花费是由于矿工们以前需要在通过严谨共识算法进行区块验证的同时组合区块。而大储存量的消耗则是因为以前组合区块的过程中,每一个位于内存池的交易数据都需要被预加载到缓存中用作各种计算。

从0.12版本开始,严谨共识算法不再需要在进行区块组合的同时被处理,而是在所有交易到达内存池的时候就被提前计算好并预加载。这意味着当组合区块的时候大多数计算已经完成,因此区块模组能够相当快地被创建。具体上看,这将使得区块组合速度从秒级时间区间向毫秒级时间区间加速。

八、Bitcoin Core 0.12.1

0.12版本发布不到一个月,2016年4月15日比特币核心协议0.12.1版本发布。该版本改进了比特币网络的延展性。最突出的升级特点在于实现了对软分叉的兼容,从而进一步保证了侧链和闪电网络在比特币网络中的技术实现。侧链和闪电网络作为能够打通比特币生态圈的发展方向,将在第四章中进行具体探讨。

0.12.1版本还实现了相对锁定时间(locktime)的序列锁(sequence locks)的功能。这一功能可让用户在特定的时间周期内,认为一个签名交易是无效的。这可以作为一个链上(on chain)第三方保管功能,其中资金可停留在区块链中,而不是存放在第三方账户当中。这也为基于比特币区块链的智能合约提供了扩展空间。

第五节 数字货币家族成员

自从比特币出现之后,数字货币家族风起云涌,几乎每个月都有新的数字货币诞生。据不完全统计,目前至少已经产生过上百种数字货币,其中绝大多数通过修改比特币的代码得来,可能尚未引起人们的关注便已消失。另外一部分借鉴了比特币的思想,并对其算法和机制有所改进。我们将比特币之外的数字货币统称为竞争币,本节将简单介绍除了比特币外几种著名的衍生币,并重点突出传销币的危害以及传销币与正规数字货币之间的区别。

一、莱特币(Litecoin)

莱特币诞生于2011年10月7日,是比特币最紧密的追随者。用其自己的话来说,如果比特币是货币世界的黄金,我们就是白银。与比特币相比,莱特币的特点如下:

(1)发行速度更快。莱特币的发行速度是平均2.5分钟一个块,是比特币的4倍,15分钟就可以完成6次确认,方便商户交易。

(2)预计发行总量是比特币的4倍,即最终莱特币的数目是8400万枚。

(3)在工作量证明方面采用scrypt算法而不是SHA256算法。

采用scrypt算法是莱特币与其他纯模仿比特币的数字货币之间最大的不同之处,scrypt算法的特点是在运算过程中不能单靠CPU的算力,而需要大量的内存支持。目前,市面上的专业比特币矿机在莱特币挖矿方面不如显卡有优势,也因此,目前的莱特币矿工大部分仍依靠显卡挖矿。

莱特币的发明者认为,这种设定可以让莱特币的挖矿权分散在大量散户矿工手上,而不是像比特币一样,逐渐集中、垄断在大型矿机的拥有者手中。但需要指出的是,这种设置是一把双刃剑,在避免挖矿成为少数人参与的资本密集型产业的同时,显卡挖矿导致总算力偏低的问题,也令莱特币相较于比特币,更易遭受51%攻击。

目前,莱特币的全网总算力约为1152GHash/s,共计发行了近4503万枚,平均每枚价格为3美元左右,市值约1.45亿美元。

二、Ripple币(XRP)

Ripple是一个开放支付网络,起源于2004年,早于比特币。而Ripple币XRP则是OpenCoin于2012年在受到比特币的启发后所创造的应用于Ripple网络中的基础货币。从严格意义上讲,XRP不能算是“正宗”的数字货币,因为它不由算法发行,而由Ripple的运行公司OpenCoin集中发行。XRP的总量是1000亿枚, OpenCoin会将这些XRP赠送给投资人和普通用户,通过赠送的速率来控制XRP的价格。

由于XRP没有采用比特币的挖矿机制进行发行,因而受到了许多比特币爱好者的抨击。但事实上XRP的作用与比特币完全不同,它主要用作不同货币之间换算的基础货币。目前XRP共有近17万个账号,每月交易量大约为20亿枚。

三、Mastercoin(MSC)

MSC协议首次发布于2012年1月6日,其首席研发者J. R. Willett称之为比特币2.0。Willett的观点是,比特币协议可以“像一种协议层一样利用起来,在不需要更改比特币基础协议的前提下,在其区块链之上可以建立具有其自身规则的新货币的协议层”。此项目在2013年7月31日正式启动。首先进行了为期一个月的众筹活动,期间任何人都可以用比特币换取MSC,1个比特币换购100个MSC,而且在众筹期结束前,每周还可获得额外的10%奖励,以鼓励投资者尽快发送比特币。最后共筹得5120个比特币,这些资金被用于研发以MSC为中心的项目。2015年3月,MSC正式改名为Omni。

四、BitShares(BTS)

BitShares是由InvictusInnovations创建的项目,从大的概念上来看和Ripple非常相似,都是为了解决交易和流动问题而提出的。BitShares出现较晚,借鉴了Ripple许多优秀的思想,同时还发展了比特币的去中心化思想。BitShares将内置交易功能,每个用户都是一个交易所,实现了交易所的去中心化。BitShares系统内置的货币单位同样称为BitShares(BTS),通过挖矿发行,总发行量约2000万个。在BitShares中,不仅可以交易比特币、莱特币,包括美元、人民币、黄金等一切有价值的证券和实物也都可以进行交易。当前总发行量约25亿枚BTS,单价为0.5美分。

五、Peercoin(PPC)

PPC发布于2012年8月,它以权益证明(PoS)取代比特币的工作量证明(PoW)来维护网络安全。PPC方案的提出人SunnyKing认为,PoW是中本聪在技术上的主要突破,但PoW的本质意味着BTC需要消耗能源来维护运行,维护这样一个网络的运转需要消耗大量的成本。随着比特币网络采矿产出下降,最终其可能提高交易费用来维持整个网络的安全性。

PPC采用了PoS+PoW的混合设计,系统中的区块包括两种类型:PoS区块和PoW区块。PoS区块是一种特殊的交易,称为币权(coinstake,与比特币中的coinbase[币基]相对应)。在币权交易中,区块持有人可以消耗他的币龄获得利息,同时获得一个PoS记账(造币)权。这样除了类似比特币的PoW造币外, PoS也可以用来造币,后者基于币权交易中消耗的币龄,每消耗1年币龄可以造1分钱的币,这样只会带来轻微的通货膨胀。PoW主要在最初的造币阶段起作用,其重要性逐渐降低。

通过PoS进行造币和网络维护,PPC不需要消耗大量能量,而且能维持系统安全,因此它自称为“节能且具成本优势的P2P电子密码货币”。这一理念也得到了支持者的认可,截至目前,PPC共发行约2306万枚,每枚价格约为0.47美元,总市值约1100万美元。

六、Namecoin(NMC)

NMC首次发布于2011年4月,是一个基于比特币技术的分布式域名系统。该项目由bitdns提出,主要用于弥补当前DNS(域名解析系统)的缺陷。NMC拥有顶级域名,bit,用户可使用NMC购买bit下的二级域名。

NMC当前的发行量约为1389万枚,每枚价格约0.48美元,总市值约679万美元。

七、以太(ETH)

以太作为一种数字货币实际上是以太坊(Ethereum)开发平台的衍生品,以太坊是典型的数字货币2.0产物,其运用区块链分布式的特征构建了新型的去中心化开发平台。以太则是用于支付分布式算力服务的一种数字货币。本书第三卷将详细介绍以太坊所带来的数字货币2.0架构以及其智能合约的特性。

截止到目前,以太的单价约合11.44美元,总发行量7835万ETH,市值约为8.96亿美元。

八、其他竞争币

表1 部分数字货币发行量、价格及总市值一览

九、传销币的危害与区别

“下一代比特币”、“未来世界主流货币之一”、“只需几百元就能让你在几年内身价上百万”,打着未来货币和快速致富的旗号,传销币大行其道,上演着一幕幕赤裸裸的财富诱惑。

在数字货币刚开始萌芽的时候,只小范围在极客圈流行,它带有极强的科技属性。数字货币是一项技术,技术本无原罪。但其被不法分子利用,如今数字货币传销横行,俨然已经变成一个贪婪无知的虚拟货币传销盛宴。

传销币如MMM国际盘、维卡币、BBTCoin、LEO币、马克币、克拉币、摩根币、石油币,等等,它们的作案手段都大同小异。据维卡币网站2015年8月中旬公开的数据,当时会员数已超48万,无数参与者受骗,已造成极其严重的后果。

在此引用“MMM金融互助社区”和“维卡币”为例来介绍。

2015年11月11日,银监会官网公告显示,银监会对以“金融互助”名义拉拢投资人投资的行为进行了风险预警提示。2015年5月,MMM进入中国并迅速扩张。MMM社区具有典型的金融传销特征,从MMM宣传资料宣称,30%的月息来源是新入局投资者的本金。同时,MMM为会员设置“管理奖”,鼓励成员发展会员,并以发展会员的投资额度为“领导人”计酬的模式,并且发展下线已经超过4层,或涉嫌违反《禁止传销条例》。银监会表示:“此类运作模式违背价值规律,资金运转难以长期维系,一旦资金链断裂,投资者将面临严重损失。”

维卡币传销在运作之初,就以“只要975元,就可以让你在几年内身价上百万元!”“维卡币,有加密,天下顶级虚拟币!”等诱惑性宣传以拉人入伙。据维卡币公开资料显示,维卡币创始人鲁娅·伊格纳托娃(Ruja Ignatova)为“境外名人”,曾主导过众多重大项目,并于2016年5月份荣登《福布斯》杂志封面人物封面。维卡币宣称自己是全球货币,其总部设立在迪拜,业务遍及全球,注册地在英国直布罗陀市,亚洲运营中心位于泰国曼谷,核心市场在东南亚国家、亚洲、欧洲、印度和非洲。

根据维卡币公司加入规则,共有5个级别会员,入门级、进阶级、专业级、高管级和大亨级,根据各个等级分配不同的代币数(网币),发展层级也以超过4层。其中入门级会费为130欧元,即975元人民币,同时赠送代币1000个。大亨级会费为5030欧元,即37725元人民币,赠送代币60000个。

维卡币的公开宣布其奖金分为静态收入和动态收入两块。直接销售奖金是指每发展一个会员,无论在什么级别,都能收到(自己所处级别金额-30欧元)×10%的直推奖金。而如果要拿代数奖金,则需要在进阶级以上。而静态收入是指入会后按照级别会分配相应数量的代币,这些代币经过一次或两次的拆分之后,其中的60%可以拿来直接出售,兑换成现金,剩下的40%可以用来挖维卡币,等待维卡币升值。

据维卡币网站2015年8月中旬公开的数据,当时会员数已超48万,无数参与者受骗,已造成极其严重的后果。维卡币等背后的传销组织以“全球性数字货币”为名,行“传销”之实。

大多数传销币组织打着“境外名人”旗号,并冠以“世界主流货币”、“取代传统货币”等宣传,同时妄称“在多个国家成熟运作拥有全球数亿名会员”等,通过“拉人头、收会费”的方式发展下线,开展非法活动。

传销币对社会造成严重不良影响,央行及银监会都曾表态禁止。央行曾在关于《防范比特币风险的通知》明确指出,“明确要求加强对社会公众货币知识的教育及投资风险提示”,并在后期出台的对通知解读的文件中强调比特币和其他各种所谓“加密电子货币”,不能冠以“网络货币”、“未来货币”、“取代传统货币”等进行推广、营销和炒作。