这个目标是通过挖矿(Mining)来实现的。上面就是一个挖矿过程的示意图,图中每个横线代表一笔交易,矩形方框代表包含着许多交易的区块,连在一起就是总账。挖矿过程是通过一个叫做SHA-256的函数实现的,它的功能是输入任意一个文件,返回一个毫无规律的64位16进制数,虚线部分就是每次挖矿时矿工(Miner)需要输入的内容,它由三部分组成:上一个区块的信息,新产生的交易和一个随机数。输入之后SHA-256会返回一个结果,最先得到足够小的64位数的节点会将自己的随机数和SHA-256的结果向全网广播以供其他人验证 。目前这个“足够小”的要求是前17位数全是0, 难度会随着全网算力动态调整以保证约每10分钟产生一个新矿(我的理解,增加0的个数可以直接调整难度和时间)。验证过程就是其他矿工将收到的随机数输入到SHA-256中看能否得到相同的结果,若结果不同,说明发出广播的矿工的账本和大家不一样,有私自伪造和篡改交易的嫌疑,从而导致验证失败,这就保证了只有诚实节点才能挖到新矿。通过验证的节点成为新矿的矿主,它会将作为SHA-256输入内容的新交易打包成新的区块记录到总账中,其他节点也会照做。与此同时新矿主获得两笔奖励,一笔是新区块中所有交易的手续费,目前普遍为每笔0.0001比特币,无论交易金额大小;另外一笔是新发行的比特币,目前是每个新矿发行25枚,该数额每四年减半。每次挖矿结束之后,所有矿工一起投入到下一轮的挖矿比拼之中,每个人挖到矿的概率和自己为比特币系统贡献的算力成正比,总账就是依靠这样一个精巧而公平的挖矿机制不断延续下去的。
以上就是比特币的运行方式,即使有些地方看不太懂也没有关系,只要你知道它能在没有建立信任的去中心化网络中,让所有节点保存一本相同的总账就可以了。比特币从诞生至今整整七年,尽管宣布比特币已经失败的声音不绝于耳,根据一个叫“比特币讣告”的栏目统计,目前比特币已经被宣告死亡90次了[10],但整个系统依然运行良好,比特币和它底层的区块链技术都经受住了时间的考验。
再看下《区块链与银行家(下篇:区块链技术在银行业证券业的应用)》付款人——>付款人的银行——>清算机构——>收款人的银行——>收款人
所以在一个有志气的银行家眼里,理想的支付流程当然是下面这样:
付款人——>付款人的银行——>收款人的银行——>收款人
在一个有志气的储户眼里,理想的支付流程当然是下面这样:
付款人——>收款人
应用前景事实上证券交易也存在着跟支付流程类似的结构:
买方——>买方的经纪人——>证券交易所——>卖方的经纪人——>卖方
区块链将在哪些方面提高交易所的效率?在有志气的经纪人和有志气的买卖方眼中理想的交易流程分别是怎样的?对照我们之前的分析,大家应该对这些问题已经心中有数了。
当然,共识问题中的信息也并不仅限于所有权转移,所有可以数字化的内容理论上都可以被区块链处理,而且目前已经有许多有趣的区块链应用被开发出来了,比如去中心化的微博Twister,去中心化的聊天软件Bitmessage,去中心化的云储存Storj,去中心化的域名系统Dot-Bit等等。它们大都拥有着比特币的鲜明印记:更低的成本,更好的安全性,无法篡改的信息,和海星一般顽强的生命力……
That will fly, flies at last.