2020区块链漫游指南

978-7-115-54261-8
作者: 冒志鸿陈俊等
译者:
编辑: 陈聪聪

图书目录:

详情

本书是一本区块链技术的学习指南。本书各章命名为“星系”,共分为6个星系,围绕区块链概念及其技术、去中心化身份、去中心化应用、区块链开发实战等方面由宏观到微观、从非技术到技术层层推进,介绍了区块链的理念和知识,努力为读者勾勒区块链认知全景图。 本书的“星系①”介绍区块链的起源和趋势,建议读者从这部分开始看起。对区块链技术行业发展趋势有了整体把握之后,可以根据自己的兴趣,选取后面几章的主题和内容重点阅读。“星系②”和“星系③”解释区块链和数据/数据库的关系,以及比特币数据、以太坊虚拟机的基础知识;“星系④介绍由区块链支持的去中心化身份;“星系⑤”和“星系⑥”全面阐述去中心化应用的定义内涵、制胜关键,介绍去中心化应用的开发实战框架以及入门使用方法。 本书适合对区块链有浓厚兴趣的非技术读者和开发人员阅读。

图书摘要

版权信息

书名:2020区块链漫游指南

ISBN:978-7-115-54261-8

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

著    冒志鸿 陈 俊 等

责任编辑 陈聪聪

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315


本书是一本区块链技术的学习指南。本书各章命名为“星系”,共分为6个星系,围绕区块链概念及其技术、去中心化身份、去中心化应用、区块链开发实战等方面由宏观到微观、从非技术到技术层层推进,介绍了区块链的理念和知识,努力为读者勾勒区块链认知全景图。

本书的“星系①”介绍区块链的起源和趋势,建议读者从这部分开始看起。对区块链技术行业发展趋势有了整体把握之后,可以根据自己的兴趣,选取后面几章的主题和内容重点阅读。“星系②”和“星系③”解释区块链和数据/数据库的关系,以及比特币数据、以太坊虚拟机的基础知识;“星系④”介绍由区块链支持的去中心化身份;“星系⑤”和“星系⑥”全面阐述去中心化应用的定义内涵、制胜关键,介绍去中心化应用的开发实战框架以及入门使用方法。

本书适合对区块链有浓厚兴趣的非技术读者和开发人员阅读。


2017年10月30日,在南京百家湖边的一家酒店里“闭关”几天后,我给准备了近一年的区块链项目起了一个听起来不那么过于技术化的名字:ArcBlock(区块基石)。

遵循互联网精益创业的命名原则,新名字都必须能注册到域名才行,因此我在第一时间注册了相关的.com域名。同时,我发现一位乌克兰设计师有一套图标和ArcBlock这个名字的理念相符,于是果断买下来作为ArcBlock最初的标识。当时,我并没有注意到这样一个时间点:中本聪正是在2008年11月1日发布了Bitcoin: A Peer-to-Peer Electronic Cash System(《比特币:一种点对点的电子现金系统》)。

2009年1月3日,中本聪“挖出”比特币创世区块(Genesis Block),并获得首批50个比特币“挖矿”奖励。我在2009年7月第一次听说比特币,出于对新技术一贯的好奇心,我下载了相关代码进行尝试。当时,我的办公室里闲置了一台拥有八核处理器的服务器,很快就轻松地挖出了几个区块。在我进行了尝试之后,除了觉得有些“酷”,发现其设计也很“大胆”。当时,我并没有完全理解这加密的代码和“货币”有什么关系,也没发现实际应用场景,于是很快将它抛之脑后。2009年年底,我从Microsoft欧洲所在的爱尔兰都柏林来到Microsoft美国西雅图总部,我格式化了所有“没有价值”的计算机硬盘,包括那台拿来实验比特币的计算机。

作为一名自认为还算合格的“极客”,从20世纪末开始,我几乎从未错过互联网一波又一波的技术创新浪潮。但是在10年前成为最早的比特币“矿工”时,我只是触碰到了比特币以及隐藏在它背后的区块链技术的“未来”,并没有与中本聪一起进入这个“已经到来的未来”之中——至少在认知上。

10多年后的今天,尽管能为大众直接使用的区块链技术应用还很少,但区块链已成为大众密切关注、热烈谈论的话题。什么是区块链?以下是美国商务部国家标准技术研究院(National Institute of Standards and Technology,NIST)在2018年1月发布的Blockchain Technology Overriew(《区块链技术概述》)里给出的定义。

“区块链是以无中心节点的分布式方式实现的、防篡改的数字化账本,并且通常无须如银行、企业等权威机构提供担保。基本来说,区块链使用户能够在自己社区内的共享账本中记录交易,一般在正常的区块链网络下操作,交易一旦发布就不得更改。2008年,区块链理念与其他几种技术和计算机概念相结合,创造了现代加密‘货币’:通过加密机制而不是受中心节点或权威机构保护的电子现金。比特币是第一个基于区块链技术的加密‘货币’。”

然而,在10多年前比特币诞生之际,“区块链”这一名词尚未产生。2013年,我离开Microsoft,重新踏上技术创业征程。在硅谷参加各种区块链主题的研讨会时,我第一次听说了区块链,这才知道区块链得名于比特币代码里的一种数据结构。随着了解的深入,我慢慢发现区块链作为一种更底层的网络协议,其承载的不仅是以比特币为代表的加密“货币”,而且可能是更多的应用。在相关的研讨会上,大家探讨了许多关于区块链的想法,当时这些想法非常令人激动,但会后我常常想:我能够立刻跳进区块链领域进行创业吗?当时我认为区块链这一技术还遥不可及,自己可能什么也做不了。

真正触动我的是我在Microsoft欧洲工作时的同事弗拉维安·查隆(Flavien Charlon)。他是一名天才程序员,在加入Microsoft之前,就已经在Microsoft举办的黑客马拉松上获得了一次冠军和一次季军。2014年,我听说他也离开了Microsoft,于是立刻与他取得了联系。弗拉维安告诉我他决定投身区块链领域创业,项目是染色币(Colored Coin)。

2013年,比特币价格大跌,整个市场陷入悲观迷茫之中,但技术极客却开始探索除加密“货币”以外,这种技术还有没有其他方面的应用,于是染色币等项目应运而生。染色币是把比特币这样的加密“货币”切分成很多很细的部分,然后在此之上加载一些结构化的数据信息,就像有人会在一张钞票上写下一段爱的誓言,这段文字就拥有难以复制的特性,而这张钞票就有了“新用途”。

弗拉维安的区块链创业想法第一次真正触动了我,并让我开始反省:为什么很多比我聪明能干的人投身到区块链领域?难道他们没我聪明,掌握的信息没我全面?如果像弗拉维安这样的专家也加入这一行列,那么说明他们看到了我没有看到的未来。如果我想和他们一起进入这个“已经到来的未来”,就需要冲破自己思维的禁锢,摒弃自满的心态,诚实地面对还不太懂的新技术或新事物。即使一时不理解也不要紧,可以在进入新世界、拥抱未来、着手去做的过程中学习和理解。

与人工智能的直观和易理解不同,区块链抽象且不容易理解,后者融合了计算机科学、密码学、经济学等多种学科的相关知识和技术,产生的是一种从未出现过的、全新的技术和理念。从诞生之日起,区块链就在不断挑战和改变人类固有的思维和习惯,但同时也面临着极大的质疑和挑战。即使人们接受并认可区块链的理念和价值,但区块链蕴含的技术和知识也并非一般人容易理解和掌握的。想要真正理解区块链,就需要足够的时间和勇气去学习,甚至可能需要颠覆以往的认知。

在此,我想要与大家分享如何运用“第一性原理”和“类比”相结合的方法来观察并思考区块链这一新生事物。

“第一性原理”源自古希腊哲学家亚里士多德。他说:“在每个系统探索中存在第一性原理。第一性原理是基本的命题和假设,不能被省略和删除,也不能被违反。”在现代,第一性原理就是数学公理、物理学定律,可推导出万物运行规律。埃隆 • 马斯克(Elon Musk)就是一位充分应用第一性原理的创业者,他先后创办或接手SpaceX、SolarCity、Tesla等企业,对航天、新能源和汽车行业进行了颠覆性创新。他曾说:“我们运用第一性原理,而不是比较思维去思考问题是非常重要的。第一性原理的思想方式是从物理学的角度看待世界,也就是一层层拨开事物表象,看到里面的本质,再从本质一层层往上走。”

利用第一性原理观察区块链,可以发现它巧妙利用计算机代码、加密算法和亚当 • 斯密(Adam Smith)的经济学激励机制打造了一台信任和协作的计算机,运用基于机器算法形成的信任替代人类社会千百年来用习俗、道德、法律等昂贵的制度成本建构的中心化信用担保机构,大大降低了信任的成本(Trustless,直译为“无须信任”,意为不需要人类社会机构打造的信任机制),提高了协作的效率和质量,又避免了中心化机构的垄断和“单点故障”。

因此,我认为区块链创造了以下三大核心价值。

因此区块链的应用非常广泛,不仅限于货币、金融领域。由于这三大核心价值,作为未来发展趋势,区块链创造的价值将非常大,甚至可能影响并改变人和人、人和计算机、计算机和计算机的协作关系。而人类之所以能发展到今天,靠的不是身强体壮,而是社会协作。

不过,凡事都用第一性原理思考会失于抽象,结合人们熟悉的类比,则能把区块链的价值和机会看得更为具体真切。从互联网时代创业一路走来的我,感觉今天区块链技术的发展状况与1993年前后的互联网极其相像。

1993年是互联网发展史上一个非常重要的分水岭。在此之前,虽然TCP/IP协议簇经历了很多次迭代方趋于成熟,但互联网始终局限在少数技术人员手中,大多数用户不了解如何访问互联网。虽然有新闻组(Newsgroup)、文件传输协议(File Transfer Protocol,FTP)、Gopher、电子邮件(Email)等极客应用,但内容仍然较少。

但就在1993年,网景(Netscape)公司成立,推出了基于超文本传输协议(HyperText Transfer Protocol,HTTP)的浏览器,让普通用户不需要高深的技术和互联网知识,只要使用浏览器,就可以通过网络获取想要的信息,如同过去翻阅杂志图书。这一创举意义重大,铺平了普通用户和互联网之间的道路。

更重要的是,在那一年,美国在线(AOL)推出电话拨号接入互联网,直接把互联网大门的钥匙递到了普通用户的手中。因为在此之前,想要访问互联网需要有专线,而普通家庭无法拥有这个专线。至此,互联网迅速普及,走入普罗大众的日常生活,改变了人们的生活形态和习惯。

今天的区块链跟1993年的互联网有着异曲同工的发展路线:与当年的互联网技术一样,区块链技术已经发展了很长一段时间,并且区块链协议趋于成熟,也已经有了诸如比特币、莱特币、以太坊、Steemit等极客应用。

那么,为何在比特币诞生10多年之后的今天,区块链还不能走入普通人的生活呢?和1993年的互联网一样,大多数用户并不知道如何使用区块链,甚至对其概念也不甚理解。区块链要被大众接受,还需要各种应用业务能够接入和使用区块链,让普通用户能够在现有设备上使用区块链服务。这正是如今区块链技术最缺乏的部分。底层的缺失,使大众哪怕了解它的好处,也不得不望而却步,将其束之高阁。

当我受弗拉维安启发,以“空杯”心态认真考察区块链时,发现区块链是可以与20世纪90年代互联网商业化媲美、推动互联网由信息互联网向价值互联网跃迁质变的机会。正是区块链处于目前这样一个混沌初开的时代,才有可能是最好的时代。因为这意味着所有的个人、新创小企业和行业巨头都站在同一条起跑线上,意味着也许你就可以改变这个世界。图1所示为区块链技术演进的3个阶段。

图1

正是抱持这一全新的认知,我毅然投身区块链领域创业。一开始,我们想先做区块链应用,从示范性的落地应用做起。真正开始开发的时候,我们的团队才发现区块链的理想虽然如此美好,但现实却很“骨感”——开发一个区块链的应用,要面对的底层架构、基础设施还相当不完善,各种各样的概念技术、工具语言让人眼花缭乱、无所适从。既然基础匮乏,那么为何不先做底层开发平台,以便服务于更多的应用,推动区块链技术落地普及。在2017年,我们先做了一个基础框架,这个底层部分也就是ArcBlock今天的雏形。

从最早参与比特币又“不幸”全部将其丢弃,到如今投身区块链领域创业、创建ArcBlock这一专注于区块链应用开发部署的云计算平台,正是我不断颠覆更新对区块链的认知后做出的一系列选择。图2所示为Gartner技术成熟度曲线(The Hype Cycle)揭示了每一波技术浪潮都是从萌芽到泡沫,再到泡沫崩溃,然后从低谷慢慢地起来,最后再成长。

图2

近年来,有大量的报道和文章鼓吹区块链技术的“神奇”,正如科幻作家亚瑟· 查尔斯· 克拉克(Arthur Charles Clarke)曾写道:任何足够先进的技术,都与魔法无异。但人们对区块链尚未深入理解。区块链不是包治百病的灵丹妙药,它不会解决所有问题。与所有新技术一样,人们倾向于以各种可想象的方式将区块链应用于每个领域。

因此,我和团队从ArcBlock成立第一天起就写博客、编撰本书,为广大对区块链感兴趣又不甚了解的读者提供对区块链的历史和未来的概览、分享如何用第一性原理和类比相结合的方法来分析把握新技术趋势,从而避免焦虑,实现见机而作。我们介绍区块链技术的原理及其原因和细节,努力消除区块链技术的所谓“神秘感”,帮助大家对当下日新月异的区块链建立宏观正确的认知,掌握准确的方法来切实考虑区块链在自己的工作和行业中应如何应用。

我们有理由相信,未来10年,区块链连同数字“货币”技术将带来天翻地覆的改变,造福全人类。

未来势不可挡,因为未来已来。

冒志鸿     

ArcBlock创始人兼首席执行官


区块链是什么?区块链和比特币、数据库、互联网是什么关系?去中心化是区块链的本质吗?什么是共识算法、智能合约?区块链到底有什么用?为什么现在的区块链这么难用?为大众轻松易用的应用何时出现……

不管你对区块链一无所知还是接触入行有一段时间,是不是对区块链层出不穷的新概念、新名词犹如仰望星空,心生迷茫?

不要惊慌!请记住以下3点。

然而,对照互联网30多年来波澜壮阔的发展变化,区块链开辟的星辰大海将更为辽阔深远、激动人心……本书介绍了区块链技术及其应用,希望帮助读者找到自己的区块链认知路径。

作为横跨中美两地的区块链初创团队,ArcBlock自成立第一天起,从创始人、工程师,到市场团队,甚至实习生,人人动笔,在公司技术博客不时写下对区块链技术的理解与介绍,以及分享开发实践案例,集腋成裘、聚沙成塔。

出于向备受极客推崇的科幻小说《银河系漫游指南》致敬,也是因为区块链知识信息犹如浩瀚星系爆发,这本内容选自ArcBlock技术博客的书取名为《2020区块链漫游指南》。本书由冒志鸿、陈俊领衔,陈天、丁沛灵、舒适、王仕军、孙博山、徐咏忻共同创作,围绕区块链概念及其技术、去中心化身份、去中心化应用、区块链开发实战等方面展开一场星系漫游。

全书分为6部分。建议读者从“星系①”开始阅读。

希望本书能为读者观察并探索浩渺的区块链星空带来一些启发。

现在请启程漫游吧!


本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”,输入勘误信息,单击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号


撬动互联网重归去中心化的支点

公链为王,还是织链为网

5张图看清区块链网络发展趋势

跨链交易技术:原子互换

1989年3月,一位年轻的英国软件工程师蒂姆·伯纳斯-李(Tim Berners-Lee)在位于瑞士日内瓦西北郊的欧洲核子研究中心(CERN)写下了一份关于信息化管理的建议。这份建议提出了一个由众多互相链接的超文本组成、可通过互联网访问的信息系统的设想,来满足全球数以万计与CERN合作的科学家更容易分享彼此的研究资料和成果的需求,该设想最终孕育产生了如今我们日常生活须臾不可离的万维网(World Wide Web)。

30多年后的今天互联网的发展却陷入了信任危机。是什么原因,让因“去中心化”理念而生的互联网在30多年后变成中心化的信息旋涡?

如同绝大多数的数字通信系统,互联网是基于层叠而上的层级(Layer)设计发展起来的。互联网最底层是基础设施和信息交换协议,让我们连上路由器或输入Wi-Fi密码就可以“上网”,这一层还称得上“去中心化”。尽管现实可供选择的网络运营商不超过5家,但没有一家公司可以控制信息交换协议。

互联网的第一层如同大地支撑着地面上所有的活动,在地面上的我们身处第二层,使用着搜索、社交、数据传递等这些变得非常中心化的互联网服务。而基于第二层延伸的第三层就是“大气层”,其包括覆盖率超过98.2%(2017年底NetMarketShare的统计数据)的两大手机操作系统——Apple的iOS和Google的Android,以及Amazon、Google、Microsoft“三驾马车”的云计算平台。Facebook、Google、Amazon不仅抢占各自的核心市场,而且正在大量集聚、睥睨同行的海量数据,用于展开越来越精准的广告营销、为自家越来越强大的人工智能产品投喂“饲料”……

为什么互联网的3个层级越往上越中心化?因为互联网是在没有“记忆”的情形下建立起来的。其基础设计是用来移动数据和发布信息的,所以它的协议不记录之前由谁传输、传输什么内容等信息。开发其原始协议的互联网工程工作组(Internet Engineering Task Force)和万维网联盟(World Wide Web Consortium,W3C)本可以添加这一规则,但却没有这样做。

还有一个原因是,这些互联网的早期设计者过于理想主义,没有在底层协议中写入完善的治理机制。他们认为当时制定的协议足以防止中心化倾向,但这些协议实际上并没有发挥作用,而被人有意无意钻了空子。比如,早期互联网电商无法获悉顾客之前的购买记录,网景公司则发明了缓存在浏览器里的Cookie,让互联网开始有了“记忆”。这些数据不只“缓存”在浏览器里,而且永久保存于服务器上,于是让互联网赢家通吃的网络效应(Network Effect)和连锁效应(Knock-on Effect)开始发挥作用。

以Google为例,它在20世纪末超越了曾经最知名的搜索引擎Alta Vista,靠的是简洁的界面和快速且准确的搜索对用户形成的足够吸引力,一旦优势建立起来,服务就能吸引用户,用户流量吸引网站入驻,网站多了用户搜索体验就更好……网络效应和连锁效应的双重加速度,使Google迅速脱颖而出,竞争对手在反应过来时,早已望尘莫及……

Google、Facebook这些凭借网络效应和连锁效应发展壮大的互联网平台,都依赖广告生存赢利—— 据eMarketer统计,两者目前总共获得了美国近60%的在线广告收入。这一选择意味着它们必须收集更多用户的数据:拥有的数据越多,就能更好地定位发布广告,也就能收取更多的费用。而在线广告作为商业模式存在两大缺陷:迫使企业更加密切地跟踪用户;进一步加强中心化倾向,因为广告客户往往会涌向最大的广告网络,以获得最高的曝光率。

当今天全球有近2/3的人口使用网络,越来越多的数据、资产在互联网中生产流通,在数字化生存成为每个人生活越来越重要的部分时,互联网中心化的弊病与害处正在赶上并抵消这些平台带给用户的便利和好处:因为依靠出售用户注意力赢利,平台就尽可能锁定用户、延长用户停留时间、增加用户平台切换迁移的难度,并挖掘收集尽可能多的用户数据;中心化降低了侵犯个人隐私和利用个人信息的难度,用户对此根本无计可施;因为一家独大,平台丧失了向用户让利、提供良好客户服务的动力,而用户也丧失了选择权和控制权;中心化系统获得了不受限制的权力,对用户及在其平台上的第三方开发者掌控着“生杀予夺”的大权,除了舆论批评、法律规制,外界其实拿它们几乎没什么办法。

为此,痛心疾首的蒂姆·伯纳斯-李从2015年开始动手改造万维网,专注于研究开发一个旨在“将数据合法所有权归还给每个网络用户”的全新网络架构Solid,并在2018年9月宣布成立Inrupt公司来推进这一开源项目的普及应用。Solid的主要设计思想是,用户的个人数据不存储在企业的服务器里,而是保存在用户自己的“个人数据夹”里,而个人数据夹放在一个可靠的服务器上。用户可以运行自己的服务器,或者像当年建个人网站一样将其托管给供应商。用户可以授予单个应用读写“个人数据夹”的权限;停止使用应用时,用户只需要撤销它的访问。提供应用的企业永远不必担心存储的压力和删除的风险。

然而在林林总总、越来越多的个人数据中,身份最为重要。如同拥有独立的身份人格才有可能拥有财产和名誉权,在反思互联网中心化弊病的思潮中,自主身份(Self-Sovereign Identity,SSI)正在成为数码世界启蒙运动的最强音,为奉去中心化为圭臬的W3C专家和区块链创业者所追求:让我们重新掌控自己的数字身份。换句话说,每个人都可以选择和控制数字自我,就像我们可以控制物理自我一样。这与我们都拥有与生俱来的尊严这一事实是一致的,这种尊严不来自出生地,也不来自人类之外的某种属性。

自主身份是一种由用户个人拥有完全控制权的自我主权身份,与用户身份相关的数据能够通过密码学、分布式账本技术被安全存储、私密验证。所有人将不必完全依赖如Facebook这样的第三方为他们颁发身份标识。人们可以创建、拥有和控制自己的身份标识,以及决定在什么情况下与谁共享什么信息。现状是,用户在网上并不拥有控制自己身份标识的权利,而是受制于相关机构或Google、Facebook、Twitter、LinkedIn等公司的规定条款。这些角色在身份信息系统的生态中仍能发挥作用,但新的自主身份工具将打破权力平衡:大型组织将服务于个人,并与之建立关系,而不是个人受其支配。

所幸的是,互联网过去30多年的发展让自主身份在今天有了得以实现的可能:智能手机的普及让绝大多数人随身携有一台计算能力强大的计算机,无处不在的移动网络服务能够让人们一直保持在线状态,近两年O2O的成熟让扫描二维码成为常见易行的用户行为,而异军突起的区块链技术则为数据提供了散列加密、不易篡改的特性……

30多年后的今天,撬动互联网重新回归其去中心化初心的,将是自主身份这一神奇的支点。

2019年,虽然加密“货币”市场仍处于熊市寒冬,但区块链行业却不断传出令人振奋的消息:以太坊完成旨在将工作量证明(Proof of Work,PoW)共识机制切换为与权益证明(Proof of Stake,PoS)共识机制混合的君士坦丁堡硬分叉、Cosmos的主网Cosmos Hub正式上线、ArcBlock的ABT链网3月底发布、Polkadot也计划在2020年上线。这些事件不约而同为加速区块链技术落地开辟了一条颇具前瞻性的道路:提供给开发者友好便利的开发框架,人人都能按需开发自己的区块链;打破隔阂,让所有区块链能够连通起来,促进价值无缝流通。

2018年,众多公链项目沿着以太坊开辟的“世界计算机”方向,聚焦于单条区块链的交易吞吐量和性能的提升进行各种探索设计。一时之间,各种“公链”层出不穷,人人试图为全世界修建一条大而全的“公路”来解决各种“交通运输”问题,即使是各种链上分片、链下用侧链/子链/状态通道等扩容技术的方案,也仍然按照这一思维做文章。结果区块链的性能并未得到实质性提升,却诞生越来越多技术架构各异、互不连通的公链,让开发者疲于奔命。

作为专注于去中心化应用(Decentralized Application,DApp)开发部署的区块链时代的“云”平台,ArcBlock的设计初衷是从应用开发角度出发,帮助开发者不但摆脱访问调用不同区块链的麻烦和负担,而且尽可能降低应用被底层公链锁定的风险。 2018年7月上线的开放链访问协议(Open Chain Access Protocol,OCAP)即为DApp访问比特币、以太坊等底层公链提供了统一易用的中间抽象层,使其在加强区块链互操作性的道路上“吾道不孤”:终结越来越多的公链/许可链之间呈现的割据局面,在一座座价值孤岛之间搭建起价值互通的桥梁,使链与链之间可以互相传递信息、发送交易,从而形成整个区块链的价值互联网。

如果说以太坊公链设计好比全世界只修一条公路,那么ArcBlock等提出的“织链为网”的全新思路则是编织区块链的交通网络,让各种车辆各行其道,既需要免费的公路,也需要收费的高速公路和私家车道。最重要的是,交通网络必须有一个综合平台来协调指挥,才能有效利用路网资源发挥最好的综合性能。

除ArcBlock之外,Polkadot以及在企业联盟链领域耕耘已久的Hyperledger Farbric,都是在这个方向上探索前行。可以说,关于区块链的未来方向,最终可能形成分道扬镳的两大阵营。

回顾互联网技术发展史,可以发现历史有着惊人的相似之处:早期的计算机网络是一个个独立的局域网,然后逐渐互联成为更大的通信网络。计算机网络并没有孕育出几个超级通信网络服务,相反,去中心化的互联网协议取得了巨大的成功。我们有理由相信,区块链也会朝着类似的趋势发展。

在如何实现跨链互联互通方面,目前各家的技术解决方案也是八仙过海、各显神通,但基本的设计和目的是类似的。有趣的是,这些不同的跨链技术本身都体现出对其他技术的互联互通性,理论上它们是互相兼容、可以连接起来的—— 这与传统的“公链”们各自为政形成了鲜明对比。

以Tendermint团队为核心团队开发的跨链项目Cosmos定义了链间通信协议(Inter-Blockchain Communication,IBC),该协议允许使用Cosmos SDK开发的具有相同结构的区块链以及代理链(遵守原链和IBC通信标准)以Zone的形式与Hub这一中间枢纽连接通信,实现链与链的互联互通,最终形成宇宙星云式链网结构。Polkadot在Cosmos之后出现,可能受Cosmos启发,其设计有类似之处。

由于Hyperledger Fabric的主要定位是企业联盟链的场景,因此常常被人忽视。但是Fabric的设计思路相当超前,当各家公链还在喧嚣之时,Hyperledger Fabric就从其“Fabric”这个名字上体现了其多链交错设计的特色。不过由于Fabric的设计目标是联盟链环境,多链主要体现在其一个应用中采用Channel的方式来切分多条链的设计,因此并没有重视跨链通信问题的解决。

ArcBlock的ABT链网(见图1)与前述设计不同,采用的是独创的三维稀疏矩阵的组网思路,所有的链都是平行空间,用去中心化身份和可编程通证(Programmable Token)来巧妙地实现链与链的互联和通信。在ABT链网中,链和链之间的通信不需要通过任何中间人的中继(Relay)或Hub进行,更为去中心化,组网更为自由。

图1

多链互联设计的另一个显著优势是不再需要区分“私链”“联盟链”“公链”,不必陷入许可链(Permissioned Chain)和无许可链(Permissionless Chain)这些名词之争。当各条链可以有效互联时,必然有一部分是公共的而有一部分是私有或者联盟的,必然有需要许可的和无须许可的,恰如今天的互联网一般。

无论上述哪一种技术,其基本思路都和现在的“一条公链搞定一切”的单链设计思路有着截然不同的世界观。

当应用被去中心化的区块链拆分成很多部分之后,是什么把这些去中心化的应用部件组织成一个完整的应用来呈现给用户?答案就是去中心化的数字用户身份。

DID是W3C于2019年1月制定的用户自主身份的数字身份技术标准,业界刚刚开始研究并开发其在区块链技术架构和应用中的价值与功能。DID在技术上支持用户自主身份在互联网中的实现,奠定了更好的保护用户隐私、用户资产安全、保障用户数据主权等一系列重要基础,也是实现去中心化应用的关键技术。

ArcBlock把去中心化身份设计为关键部件。ArcBlock的DID设计从底层开始贯彻始终。未来可能会有越来越多的区块链采用侧链或者智能合约的方法来实现DID,但是ArcBlock的DID是从最底层支持的,属于彻底支持DID的方案。Hyperledger可能是出于其企业联盟链的场景,继承了传统的企业认证机制,这在企业内部可能是可行的,但限制了其跨越组织的应用场景。

值得一提的是,ArcBlock平台把支持DID的钱包作为一个重要基础部件,加密钱包将不只是一个数字资产的管理工具,更是用户去中心化身份的管理利器。

授人以鱼,不如授人以渔。ArcBlock和Cosmos都将一条区块链的开发由下而上分离出3层:网络层(底层数据结构和通信协议设计)、共识层(共识机制设计)和应用层(具体业务逻辑设计)。将网络层和共识层设计封装为内核,应用层的通用功能分离成可插拔的模块,组成软件开发工具包(Software Development Kit,SDK),让开发者能够一键发链:他们不再需要设计整条区块链,而只需要实现核心的业务功能。

ArcBlock提供的开发者发链框架是ArcBlock Blockchain Framework(以下简称“ArcBlock框架”)。如图2所示,其在系统架构位置上和Cosmos SDK是一致的,能更好地帮助开发者发布根据自己需求定制的区块链,并与自己的DApp无缝连接;其内核以远程调用(Remote Process Call,RPC)的方式调用共识引擎、状态引擎和存储引擎,帮助开发者定制的区块链实现共识达成、状态同步和分布式存储,而这3个引擎均可插拔(如目前ArcBlock框架共识引擎调用的是Tendermint,未来可插拔切换为其他共识算法);框架应用区块链接口连接内核与更为丰富的应用层,DID API、区块链API和OCAP API帮助安全连接其他用ArcBlock框架打造的链以及比特币、以太坊等为OCAP支持访问的公链。在这之上支撑DApp的还有更多开发者可以直接使用的工具——管理控制台、命令行工具、区块浏览器等,而不只是框架。

对开发者而言,ArcBlock框架更为简单实用,属于“开箱即用”的设计,其目标是让开发区块链如同用Ruby on Rails来开发Web应用般新颖和易用。两者相比,Cosmos在理论上可以更加灵活,而ABT链网的ArcBlock框架更加简单易用。ArcBlock框架牺牲了一定的灵活性来换取简单和高性能,Cosmos追求充分的灵活性而牺牲简单性。这种区别属于设计理念的区别,无所谓高下优劣。ArcBlock框架的目标就是要构建对开发者极其友好的区块链应用平台,因此追求良好的开发者和用户体验是其最高原则。

图2

织链为网的区块链设计,更有可能搭建对开发者友好的应用开发平台,能让区块链更贴近实际应用场景,让去中心化应用在这样的基础土壤中得以生长。

相关图书

物联网全栈开发原理与实战
物联网全栈开发原理与实战
区块链技术本质与应用
区块链技术本质与应用
网络调研技术与实战
网络调研技术与实战
区块链架构与实现:Cosmos详解
区块链架构与实现:Cosmos详解
TongWeb中间件实用教程
TongWeb中间件实用教程
区块链原理与技术应用
区块链原理与技术应用

相关文章

相关课程