CCCF专栏 | 万赟:区块链的极限
区块链前景如何?是否仍有可能像有些媒体宣传的那样会取代互联网?还是最终会随着比特币泡沫的破裂而消失?
2018年12月11日,比特币从一年前的每枚2万美元降为3300美元,结束了几个世纪以来最大的金融泡沫。2017年一路疯涨的比特币泡沫受到全世界的关注,支撑它的区块链技术也随之声名鹊起,不少科技大咖将其和万维网技术相提并论,使其在短时间内成为投资领域的新宠。2018年随着比特币泡沫的破裂,区块链前景如何?是否仍有可能像有些媒体宣传的那样会取代互联网?还是最终会随着比特币泡沫的破裂而消失?
时间戳
比特币所依托的区块链技术在20年前就已出现。1991年商业互联网未出现时,民用互联网仅仅存在于研究机构、大学和少数科技公司之中,但互联网上的各种信息交换活动却相当活跃,尤其是电子文档的传阅。
1991年Journal of Cryptology上发表了一篇题为“如何给数字文档盖时间戳(How to Time-Stamp a Digital Document)”的论文[1]。这篇论文探讨如何通过去中心化的方式给电子文档加盖有公信度的时间戳,使得任何人都可以准确分辨出一个电子文档的生成和修改时间。显然这一技术适用于很多法律方面的应用,比如为发明和专利的纠纷提供谁先提出想法的依据。
该论文的两位作者哈伯(Stuart Haber)和斯托内塔(Scott Stornetta)都是科班出身。20世纪70年代哈伯毕业于哈佛大学数学专业,随后游学巴黎高等师范学院和斯坦福大学,最终在哥伦比亚大学读完密码学博士学位,成为这一领域的专家。斯托内塔比哈伯小10岁左右,20世纪80年代就读于斯坦福大学,直到获得物理学博士。两人一起写这篇论文的机缘是他们毕业后都去到当时热门的高科技公司Bellcore做研发工作1。显然两人深厚的数理背景为区块链的发明提供了基础,成就了这篇区块链技术的开创性论文。
在这篇论文里,他们想通过盖时间戳的方式来准确区分电子文档的时间先后顺序。他们意识到单单通过一个具有权威性的时间戳服务器给文档加盖时间戳是不够的,因为服务器有很多潜在风险,比如被黑客攻击,发生计时故障,或者服务器的时间被拥有服务器控制权的人所更改等等,这些都可能导致时间戳的不准确,从而无法区分文档提交的顺序。他们认识到要想真正做到区分先后顺序,更可靠的方法是服务器把电子文档到达的先后顺序信息以不可更改的方式嵌入到每一个文档中。这样当用户收到盖上时间戳的文档后就多了一层验证机制。
针对这一想法,他们提出了两个解决方案,这两个方案的核心机制都是让后来提交的文档包含前面已经提交的文档的信息。这样一来,所有电子文档会根据生成的先后顺序逐渐形成一条文档链,后面的文档可以通过追溯的方式验证前面所有文档的时间顺序。即便有人想在时间戳上做手脚,也必须修改前面产生的文档的所有时间戳才行。所以对用户来说,要防止恶意篡改行为,只要保证修改所有文档的成本足够大,以至于几乎不可能实现就可以了,这就是区块链“链接”部分思想的缘起。而实现上述想法需要数字签名和哈希算法技术。
基于公钥加密技术的数字签名在20世纪70年代被提出,经过不断优化,到了90年代从实施效率来看已经非常完善。配备了公钥加密系统的时间戳服务器可以通过数字签名的方式给用户提交的文档加盖时间戳,在加盖时间戳之前的用户文档后面加上前面用户的文档信息就实现了文档链接。但是这里面还有一个效率问题。因为不同大小的电子文档会导致文件的上载和回传时间不同。如果前面用户的文档太长,一旦添加到后面用户的文档中,会导致后面用户文档存储空间的不必要浪费等问题。于是哈希算法被引入。
哈希算法的特点是可以把不同长度的电子文档映射成标准长度的数文摘要,而且稍微变动文档的任何部分,都会导致哈希摘要的显著变化,尽管不能完全杜绝两个不同电子文档的摘要碰巧完全一样的情况,但产生这种冲突的概率还是很小的。每一个文档的哈希摘要都是固定长度的,服务器就可以把前面文档哈希摘要的已签名信息嵌入到后面文档中,然后给后面文档加盖时间戳并签名,再返回给用户。于是用户通过这一方式把自己的文档添加到了该服务器所创建的文档链中,可以通过后者回溯验证或者向第三方证明时间戳的准确性。
哈希树
哈伯和斯托内塔的论文虽然提出了文件链的思想和实现方式,但是在回溯验证方面仍然存在效率问题。这是因为当用户对某一个文档的时间戳有怀疑时,他可以向前回溯相关文件,验证时间戳的可信性,但是回溯的效率会随着需要回溯文档链的增长而逐步下降。与此同时,当大量的平庸交易(banal transaction)也希望获得时间戳时,这种对每个交易进行单独链接方式的计算成本就变得非常高。于是他们与哥伦比亚大学的数学教授戴夫•拜耳(Dave Bayer)2合作,在1993年通过哈希树方式对文档链接技术的效率进行了完善[2],解决了批量处理电子文档或者电子交易的时间戳问题。
哈希树(又称Merkle树)是美国计算机专家默克(Ralph Merkle)在1979年提出并获得专利的一种计算机数据结构。它的基本概念是以二叉树的形式把需要加密的电子文档的哈希摘要存放到树的叶节点,然后将叶节点以上的每一层节点均以其子节点的哈希摘要进行重复哈希,直到根部。这样形成的一棵哈希树,无论有多少叶结点(对应电子文档的数量),只要任何一个结点被改动,那么哈希树的根节点也会发生变化,所以要验证该哈希树所包含的任何电子文档是否被篡改,我们只要验证包含该文档的哈希树的根节点,这就提高了验证效率。
利用哈希树的这一特点,他们把原来单个文档的直接链接方式转变为由一组文档形成哈希树的链接方式。这里的哈希树就是所谓的“区块”,并且在这种新的链接方式里,每个新文档需要记录的不再是前面文档的哈希摘要,而是所有与其相关,直到根节点的它所在哈希树的所有侧枝节点的哈希摘要。
更具有创新意义的是他们还提出了一种竞争机制,就是鼓励每个用户尽快计算出他们文档所在哈希树的根节点,最先算出根节点的用户通过向全网通告根节点来形成公共历史记录。后来的比特币显然受到这一思路的影响,用竞争计算方式(工作量证明)来产生新比特币区块,并且用奖励比特币的方式来鼓励竞争的比特币生成机制。后者则衍生出了一批专门从事创建区块的“挖矿”公司和与此相关的软硬件技术。
比特币
1994年哈伯和斯托内塔离开Bellcore开始创业,成立了Surety公司,继续推广区块链技术。但是他们的推广并没有引起产业界和主流媒体的关注。到了2008年,神秘人物中本聪(Satoshi Nakamoto)声称开发了一款真正意义上的分布式加密虚拟货币。他为该虚拟币注册了网站(bitcoin.org),上载了虚拟币钱包和挖币软件,并用该软件在2009年1月3日挖掘创立了第一个比特币区块。于是比特币悄悄出现在互联网上。
虚拟货币做为网络支付的一种手段在互联网电子商务出现之前就已经被关注。推动这一领域发展的最初动力是小额支付问题。信用卡有最低交易成本,所以用信用卡来在线购买价值几美分的商品,交易成本就变得非常高,商家或者信用卡公司都倾向于拒绝这类交易。理想的解决方案显然是使用一种交易成本接近零的虚拟货币。针对这一需求,90年代末互联网上曾经出现过多种虚拟货币尝试,并由此产生了研究和讨论虚拟货币的网上社群,俗称“币圈”。
但是虚拟货币的流通存在一个棘手的重复支付问题,也称“双花(double spending)”问题。为了避免虚拟币持有人用同一币值进行多次支付,任何虚拟币系统都需要花费成本跟踪和标记每一个用户持有的币值。对跟踪成本的要求与接近零成本的交易显然有一定的内在矛盾。除了技术层面,虚拟货币还有一个设计层面的挑战。早期电子商务的创业者几乎全部崇尚哈耶克式的自由主义3,认为虚拟货币的发行不应受包括政府在内的任何组织或者个人的控制,而应该像黄金一样具有稀缺性,需要通过一定的成本才能被生产出来,这样才能从根本上杜绝滥发贬值问题。这一成本需求恰好与前面提到的跟踪和标记功能在成本需求上有着一致性。所以虚拟货币的推崇者一直期盼能够有一种技术,以去中心化的方式花费一定成本跟踪和标记虚拟货币的使用,既解决了双花问题,又提供了对稀缺性的要求。
中本聪发现区块链恰好能够同时满足这几种需求。简单来看,区块链的时间戳可以准确地标记交易时间和先后顺序,避免同一币值被多次重复使用;用哈希树打包解决平庸交易的优化方案,可以直接应用到打包比特币交易为比特币区块;而用户通过竞争方式打包比特币交易进入新区块所产生的成本,也就是创建新区块的“挖矿”过程4,为比特币提供了稀缺性的特征。于是比特币借助区块链技术成为最能满足虚拟货币支持者的币种。
比特币在创立之初并没有引起币圈外媒体和投资界的关注5,这一事实从早期币值就可以看出。由于没有比较稳定的早期比特币和传统货币的兑换率,我们只能从一些有限的交易中推算出当时每枚比特币的币值不到1美分6。尽管如此,由于比特币所使用的区块链技术使它较为成功地解决了前面提到的虚拟货币在发行和流通层面的两大挑战,逐渐吸引了越来越多的用户和炒家。最终通过马太效应从众多虚拟币中脱颖而出,并在2017年由于炒家的过渡投机,造成金融史上出现超过“荷兰郁金香泡沫”7的最大金融泡沫。不过区块链技术却借此契机引起世人的瞩目。
公信与应用
区块链技术最重要的特点是它能够给所有参与者提供一种公信力。比如比特币的使用者相信他们嵌入到区块链中的比特币币值只有他们可以使用,而且是可以得到准确验证的。是这种对比特币区块链的信任使得不断有人愿意购买比特币和接受比特币。
公信力的传统来源是权威机构,譬如政府或者是RSA8这样的专职网络信用授权公司。这种公信形式的特点是每一个参与者将对公信对象的信任,委托或者转移给提供公信力的权威机构。譬如国民因为信任主权政府而信任政府所发行纸币的购买能力,网民因为信任RSA而信任该公司所发放的对各种网络公司和个人的身份认证。
传统公信形式的特点是效率高,成本低。无论是直接发行货币还是直接发布数字证书,都要比区块链的解决方案来的直接。但是这种公信形式的缺点也很明显,就是风险性大。这里的风险性包括系统风险和道德风险。系统风险是指在公信委托或者转移体系的设计中存在可以被不法分子有机可乘的漏洞,比如若黑客攻入RSA认证服务器获得根认证密钥,就有可能导致整个互联网电子商务系统的认证系统紊乱和崩溃,使得正常的电子交易无法进行。道德风险是指被委托的权威机构因为集中掌握了公信权而利用该权利,做出有利于自身但是损害参与者的行为所带来的风险,比如政府滥发货币引发通货膨胀,损害普通居民的经济利益。
尽管传统公信形式的风险时刻存在而且不容忽视,但在信息技术普及之前,人类社会并没有找到一个很好的替代形式。纸币是世界各国普遍采用的公信形式,唯一例外是雅浦岛的石币[3],但是其因为物理介质的局限性只能在很小的社会范围内使用。
信息技术尤其是互联网技术的普及为突破传统公信形式提供了重要的契机。哈伯等学者发明时间戳和用哈希树打包交易的初衷是解决传统公信形式的系统风险,而中本聪则试图用比特币和区块链解决政府所发行的法定纸币所带来的道德风险,这也是哈耶克的初衷。
区块链所提供的新的公信形式可以应用到很多方面。如果把区块链的核心技术进行分解分析,可以进一步发现,比特币利用的主要是时间戳功能,并以此来杜绝“双花”企图。如果我们保留链接加密理念,同时提供参与者的地理位置信息,区块链就可以应用到流通领域的供应链管理中。比如受很多消费者崇尚的有机食品和农产品存在不同程度的造假现象,尽管推出这些产品的公司提供了所谓的认证,但越来越多的权威认证机构的信任缺失事件,使得越来越多的人对货架上商品的产地真实性持怀疑态度。 针对这种现象,学术界和企业界提出了用包含地理位置信息的区块链来链接一件商品的整个供应链参与者的策略,使消费者可以通过使用智能设备扫描商品上二维码等手段,验证一件商品从产地到批发到零售所经过的所有地区和参与者信息。因为这一信息是每个经过身份验证的参与者自愿提供的,其可信度要比仅由商家或者权威组织提供的供应链信息要更加可信[4]。
区块链公信的另一个重要的应用领域是法律合同。前面提到时间戳是为了解决网络文档的首发时间辨别。显然在法律领域除了专利申请外,还有很多分支需要时间先后顺序的辨别。其中最普遍也是需求量最大的是遗嘱建立和修改。西方国家的遗嘱管理通常通过律师进行,中国的遗嘱则是通过公证部门办理。区块链技术则为遗嘱的创建和管理提供了新的途径,因为它不但可以通过公密和数字签名保障遗嘱文字的完整和准确,而且通过时间戳和链接顺序保障了遗嘱修改和重立后的最终版本的有效性。
除了替代传统法律合同的公信,区块链还可以在这一领域通过加强应用提供智能合约[5]。建立在区块链技术上的智能合约,可以在保护和甄别合同完整性和有效性的同时,提供一定的自动执行功能,当然前提是合约的执行条件和执行通道能够预先编写到区块链和镶嵌到系统中。
平台的限制
尽管区块链技术有着非常广泛的应用场景,但它是否有可能突破公信应用成为一个可以容纳其他应用的平台技术?答案是否定的。
信息领域里平台型技术的代表是互联网和万维网。互联网是各种不同传输协议的计算机网络之间联网的统称。在万维网出现之前,这些使用不同协议的网络通过路由和网关实现相互之间的通讯,从而为计算机上的各种应用提供一个可以交流的平台。万维网则是更进一步,将互联网各种网络协议的内容和应用通过万维网协议进行整合,方便了用户。当万维网成为主流后,其他类似功能的网络协议逐渐被废弃,而更多的应用开始搭建到万维网上,从而进一步确定了万维网的平台技术地位。
万维网之后,出现了多个与万维网互补或者是搭建于其上的围墙花园式平台,比如基于无线应用协议(WAP)的移动平台和以脸书与微信为代表的社交商用平台。这些后来出现的平台技术与万维网都有一个共同特点,平台本身是技术中性(techno-neutral)和数据结构盲视(data structure blind)的。比如无论是万维网还是移动网络,任何应用中的数据在这两个平台上的流动无需加密,但是企业可以根据需要在传输时将数据加密。同时平台可以完全根据应用的需要,接纳任何数据结构。脸书和微信虽然依托于万维网或者是移动网络之上,但它们依然能够提供一个具备以上特点的专门平台环境,使开发人员可以不但在其之上开发出各种应用,而且可以充分利用它们各自拥有的用户信息。
区块链则不具备上述的包容性。首先区块链的参与者必须将所有入链的数据加密和签名才能保证真实性,不具备技术中性要求;其次,区块链的数据组织方式是固定的链表(Linked List)数据结构,这使得需要使用其他数据结构的应用程序无法利用区块链做为平台。所以至少从目前的区块链架构和数据组织方式来看,它无法成为一种普遍意义上的平台技术。
未来与局限
显然区块链在取代传统公信方面有现实意义。比如法律文档,合同,财务交易记录等等,我们可以通过区块链技术来降低风险和提高透明度。但是我们也需要认识到区块链技术的局限,尤其是目前的几个重要应用领域都存在难以克服的障碍。
智能合约是区块链的重要应用领域。比特币的Script和以太坊的Solidity都是可以提供智能合约的专门语言,而且以太坊的Solidity是图灵完备语言,可以用来编写复杂的合约。但是合约越复杂,执行条件就越难分析,计算机可以理解的方式就有可能出现偏差,所以到目前为止,我们仍然难以在区块链主导的智能合约领域有实质性突破[6]。
目前已经降到4000美元以内的比特币存在能源消耗所带来的造币成本挑战。从2015年开始最近一轮的比特币升值,导致大批公司和个人将计算资源投入到创建区块的工作量证明竞争计算中。但是无论多少个竞争者参与,每一个新的区块只能有一个创造者,这就意味着每一个新区块潜在成本的不断增加和海量计算资源的浪费。根据美国知名华尔街调研机构Fundstrat的估计,目前新比特币的区块链计算成本已经达到4500美元,超过了比特币市场价格。针对这一问题,有专家提出用股权证明方式来替代工作量证明,创建新区块,这种方式虽然减轻了能源消耗,却增加了“双花”风险,其应用前景有待观察。
除了应用层面的挑战,区块链还有一个根本的局限性。它所提供的公信的维护成本要高于传统公信的维护成本。我们从比特币的应用中可以看出,区块链不是一种能够完全去中心化的技术,而是一种分布中心化(distributed centralization)技术。虽然它不依赖于唯一中心服务器存在,却要通过多个服务器的不断竞争与合作,来为参与到链里的成员提供相应的区块产生和维系服务,这种高成本合作关系的维系是区块链存在的必要条件,所以维护区块链所需要的最低经济成本门槛,限制了更多传统公信领域转化到区块链应用的可能性。
作者介绍
万赟 CCCF特邀专栏作家,美国休斯敦大学维多利亚校区教授。主要研究方向为电子商务和互联网应用。著有《电商进化史》一书(机械工业出版社2015年出版)。wany@uhv.edu |
脚注
1 1983成立的Bellcore是贝尔电话公司被美国政府分拆后,众多的贝尔地区性公司共同投资成立的类似于贝尔实验室的研发机构。
2 数学家拜耳的主要研究领域是纯数学,尤其是代数。他曾经受邀为描述数学家纳什的电影《美丽心灵》做学术指导。
3 耶克式的自由主义指的是一个人不受制于另一个人或另一些人因专断意志而产生强制的状态,重视个人自由和自由的价值,反对国家对个人的强制,对当今世界各国政治及法治建设起到了十分重要的借鉴作用。
4 “挖矿”又称“工作量证明”,是通过让参与区块链的服务器不断猜测符合规定条件的新区块头的固定字段来实现。具体来讲,就是不停地变更区块头中的随机数,并对每次变更后的区块头做双重SHA256运算,然后将结果值与当前网络的目标值做对比,如果小于目标值,则解题成功,工作量证明完成。
5 中本聪在挖掘了一百万枚比特币后销声匿迹,把比特币网站和管理任务留给了比特币程序开发员Gavin Andresen,后者同时接管了比特币协议的维护工作。
6 最早的比特币购物记录发生在2010年5月22日,一个佛罗里达州的程序员在币圈论坛里表示愿意用1万比特币换取两块比萨饼。于是一个英国圈友花了25美元从网上订了两个比萨饼送到了他家里,获得了这1万枚比特币。按照这一价值估算,当时的一枚比特币大约可以兑换0.0025美元。
7 荷兰郁金香泡沫是人类史上第一次有记载的金融泡沫经济,此事间接导致了作为当时欧洲金融中心——荷兰的衰落。
8 世界级信息安全解决方案的主要提供商,帮助世界领先企业成功解决最复杂敏感的安全问题。
参考文献
[1] Haber S, Stornetta W S. How to time-stamp a digital document[J]. Journal of Cryptol. 1991:3(2): 99-111.
[2] Bayer D, Haber S, Stornetta W S. Improving the efficiency and reliability of digital time-stamping[J]. Sequences II: Methods in Communication, Security, and Computer Science, 1993:329-334.
[3] Furness W H. Yap of the Carolines. JB Lippincott Company, 1910.
[4] Yu-Pin L, Joy P , Johnathen A , et al. Blockchain: The evolutionary next step for ICT e-agriculture[J]. Environments, 2017,4(3):50.
[5] Buterin V. A next-generation smart contract and decentralized application platform[J]. white Pap., 2014.
[6] Song J. The truth about smart contracts[OL]. https://medium.com/@jimmysong/the-truth-about-smart-contracts-ae825271811f, 2018.
中国计算机学会
微信号:ccfvoice
长按识别二维码关注我们
CCF推荐
【精品文章】
点击“阅读原文”,加入CCF。