客观日本

日本产业界开展应用技术实证,源于金融机构对区块链的恐惧----比特币与日本的渊缘(2)

2017年08月25日 信息通信

所有比较比特币与主权货币支付的资料,都谈到比特币支付的三个优点。即,快速、廉价、安全。

快速,是真的。因为比特币没有中央集权式的管理者,不需要审核,没有银行间的转帐,是一个点对点的分布处理系统。支付双方只要上网,一瞬间即可完成支付;廉价,指支付手续费便宜。因为是借助于互联网,所以,没有国界,没有国内与国外的区分,支付(或者汇款)的手续费也就比通过银行的支付与汇款便宜。那么,安全是真的吗?没有中央集权式的管理者,没有监督机构的数字币怎么会是安全的呢?

比特币所谓的安全,是指不怕黑客攻击,即使遇到大规模的网络攻击,系统也不会和传统的银行系统那样瘫痪,交易信息也不会丢失,不会被篡改。因为,比特币的账本分散保存在世界各地的(由一台或多台电脑构成的)节点,即使其中的一部分节点遭到攻击,只要有一个节点幸存,其它节点就可以迅速复制这个节点保存的账本,支付信息便完好无损。而让分散在世界各地的节点同时瘫痪,理论上是不可能的。

那么,如何防止对交易信息的恶意篡改呢?这就需要对区块链(Blockchain)作一点介绍,因为区块链是支撑比特币的核心技术。
(笔者不想把此文写成一篇技术资料,如果您对区块链的来龙去脉感兴趣,可以先阅读下页对密码理论和哈希函数的介绍,再回到正文。)

(二) 区块链(Blockchain)

我们可以把银行抽象成一个“账本”。这个账本记录了我们在银行里的存款、转账、支付等统称为“交易”的信息。比特币虽然没有银行但也不例外,只不过比特币的账本是分散的。

S・中本(即上篇《比特币与日本的渊缘》提到的叫Satoshi Nakamoto的“日本人”)把比特币设计成一个分布式账本。通常的账本是由一页一页的账单装订起来的。而S・中本的账本,每一页叫一个“区块block”,“区块”跟“区块”链接起来。如下图所示。

Document

* 资料来源:中兴通讯

图中每一个区块里记录了交易信息,输入与输出分别表示交易的双方。比如张三支付李四一笔比特币。支付对象用对方比特币钱包的地址表示,这是一长串字符,比如 “34DnTuoPbT54dFdnAGmm8kwuYtkP1pix8K”。支付对象的这个地址就相当于对方的公钥,然后用支付方的私钥签名加密,接受方用自己的私钥解密就可以了(关于公钥和私钥的解释,请参阅下页的说明)。尽管这些交易都公开在区块链上,但只有私钥持有者可以解密自己的比特币,从而实现了匿名性。

一个区块里收集了一定的交易信息,验证交易的真伪,将其打包起来,作哈希变换,再将该区块的哈希值(也称哈希散列)记入下一个区块。如此,一个区块链接一个区块就形成了长长的一条区块链。这条长链就是比特币的分布式账本。

验证、打包区块者,俗称“矿工”(miner),作为报酬,每验证、记帐、打包一个区块,系统自动奖励该“矿工”一笔费用,现阶段的奖励是12.5BTC,1BTC约为4000美元,所以打包一个区块可获得5万美元的高额报酬,折合人民币大约34万元。

上一章提到比特币没有中央集权的管理与发行者,其发行就是通过对打包交易的奖励而自动产生。分散在世界各地的这些“矿工”围绕着对奖励的争夺展开竞争,验证、记录,打包交易,就形成一个自律的管理机制。

由于S・中本给比特币设定了上限(2100万BTC),并且把打包区块链的奖励每四年减半,这给人一种联想,即打包区块链跟挖金矿很像。一座金矿埋藏量有限,越挖难度越大。由于这个原因,人们称比特币记帐者为“矿工”。

因为挖币是对任何人开放,所以,有很多人会加入到“矿工”队伍,去争夺奖励。为了公平竞争,比特币引进了一个竞争机制,即上图中的挖矿机制,通过设定计算难易度来平衡挖币的速度。要想获得报酬,必须比别的矿工算得快,所以,就必须投资计算设备,加大算力,这样消耗的电力也会增加。矿工增多了,难易程度自动提高,矿工减少了,难易程度自动降低,使得打包一个区块刚好用10分钟左右的时间。这些机制,也是取得共识的机制,都是写进程序里,自动执行的。

整个比特币区块链的第一个区块,也就是原始区块,是S・中本创造的,他把原始区块叫做“创世区块”(Genesis Block),从创世区块到现在,将产生的区块数乘以每个时期的奖励便可以计算出已发行的比特币总量。

因此,抽象地看,比特币的账本,就是如下图所示的一条长长的链条。

Document

那么,如果有人恶意地对交易篡改怎么办?比方说,将一笔钱作两次交易。因为在一个分布式不同步的网络世界里,这种情况是完全有可能发生的。通过上述介绍,可以看出这样的篡改是很困难的。下图所示的是篡改区块链的难度。

是篡改区块链的难度。

如果篡改一个区块中的某一笔交易,必然会使其哈希值发生变化。这样,必须将后续的所有区块的哈希值都重新计算(篡改)才行。

如果同一个时间生成两个区块,区块链就出现分叉。比特币的程序规定,当区块链发生分叉时,新产生的区块要链接到较长的链条上。也就是说,区块链的长度越长越被信任。那么,当恶意者对某一区块里的交易进行了篡改时,他必须比其他节点更快速地生成并链接新哈希值的区块。如下图所示,上边那条灰色链是正常生成的,经过篡改产生了分叉,篡改想要成功,必须将下边的红框链条快速加长,让其长度超过上边的灰色链条,才能得到所有矿工的承认。所以,篡改者必须比其他节点更快速、更拼命地工作。

Document

因为比特币是对所有参与挖币的节点公开,所以,善意的矿工越多,篡改者要超过全部善意矿工能力的总和去达到篡改的目的,困难程度越大。事实上,自比特币诞生至今,并没有出现账本被篡改的事,证明这一机制行之有效。

虽然,打包区块链的奖励每四年减半,但是因为比特币的市值飙升,矿工们的利益可观。于是不断有新的矿工加入挖币,竞争越来越激烈,计算的难度也越来越难。这样致使处理速度下降,同时也制约了矿工的收入。所以,矿工们希望对比特币区块链作技术改进,形成了两种方案。一种是软分叉(soft-folk),是由欧美开发比特币区块链的核心成员们提出来的。另一种是硬分叉(hard-folk),主要是由中国的矿工们建议的。这就是2017年8月1日比特币分叉的原因,经过投票表决,采用了硬分叉方案,在比特币之外,又诞生了一个比特现金(Bitcoin Cash)。

通过以上的介绍,我们知道了区块链是比特币得以实现的关键核心技术。比特币以外,利用区块链技术发行的数字币已经有数百甚至上千种。很多并没有多少成交量,没有被市场所接受。在这个数字币的世界里,领跑者比特币好比是基轴币,而其它的则是备选币。日本在2013年12月诞生了一个叫做Monacoin 的数字币,但是至今依然交易闲散,无人问津。

比特币带动的数字币的蓬勃发展,让全球产业界注意到了区块链在构筑分布处理系统时的优势。所以,产业界开始研究区块链的应用。日本在该领域的研究与欧美难分伯仲。

三菱东京UFJ银行在2017年5月1日开始MUFG币实证试验,准备在明年春天对民众开放。东京海上日动火灾保险公司,开始着手把区块链技术运用于对外航货物海上保险业务。金融机构对区块链研究的一个主要的动机是对区块链的一种恐惧,担心其发展会取代自身的业务。目前看来,经过一系列的概念验证,日本的金融业暂时舒缓了一口气,大致认为区块链技术对固有的银行业务尚不能构成威胁。

反而在金融业以外,利用区块链技术创造了很多崭新的应用。比如美国纽约将区块链技术应用到社区可再生能源发电的交易上,安装了太阳能发电等可再生能源发电设备的居民之间,可以实时交换发电与用电信息,将剩余的电卖给需要者,实现了电力的供给平衡。这样的系统如果用传统技术搭建的话,需要得到电力公司的首肯,要建立中央控制系统,需要巨大的投资。但利用区块链技术,较小的投资即可实现电力交易平台。

日本产业界对区块链的前景很重视,很多公司投入研究。NTT Data公司在今年8月9日专门成立了一个推动区块链应用的部门,集结其全球研发与营销资源,展开将区块链应用于各个行业的实证开发,并且开设了培训班。

日立Solutions 公司用区块链构建的PointInfinity 系统,管理着1亿5000万人的奖励点数。此外,日本在不动产管理、履历书管理、食品管理、农产品供给链管理等方面,开展应用区块链技术的实证研究。

文・图 / 戴维

下页有《对密码理论和哈希函数的介绍》和参考文献