当今的互联网平台,譬如谷歌、Facebook 和推特对其用户及第三方开发者掌控「生杀」大权。
它们是聚合者,通过牢牢掌控所有用户数据及应用数据,控制着各种权力。
具体来说,他们掌握的各种权利包括:用户在平台上的每一次使用和彼此互动、用户顺利离开该平台转投其它平台、用户发现应用、发布应用、应用的全部现金流,以及第三方应用和其用户的关系等等。它们还掌控游戏规则,任何时间都可以在无需警告而改变其平台上允许的行为和内容,依据标准几乎完全是一家之言,结果会导致很多公司的合法权益被剥夺。
当任何中心化网络平台的利益及其用户/开发者的利益背道而驰时,上述问题尤为突出。这些中心化的平台的目的是从用户身上提取利益,与第三方应用开发者的竞争关系则随着时间的推移只会愈演愈烈。
在过去 20 年间,这一趋势带来了不可避免的后果,这一直是阻碍创新的黑手,因为企业家们不再相信他们所依赖平台的规则依然是中立公平的。
这里的根本问题是,人们之间共同的信任不具备「扩展性」。在全球互联网维度,如果没有可信媒介的帮助,陌生人之间根本无法建立有意义的合作。像网络平台这样的中心化机构,如今入局扮演了中间媒介的角色,由于与数据所有权和人际互信所相关的网络效应,这些平台集聚了无节制的权力,外界拿它们几乎没办法。
加密货币网络将推动新一批数字平台崛起,但与当前的中心化巨擘平台不同,新平台将由各自的用户群体和开发者们自己掌管和治理。
去信任且去中心化的计算
上述平台建立的关键是,所有这一切都依赖于去中心化计算,后者能推动应用在「无需信任」的状态下运转。这是指:程序的正确运行无需依赖任何主体的信任,甚至不需要控制主机的那些人的信任。
这类程序通过加密方式运转,规则是通过潜伏的去中心化协议来保障的。这类程序被称之为智能合约,也许应该更准确得称为「自主程序」。
请不要把它们和人工智能世界中的自主体搞混。这些所谓「智能合约」的程序之所以以「智能」得名,只是因其独立而具有自主性。
自主程序是强大的区块链。无信任认证特性是它们能被用于瓦解今天的中心化组织的核心原因。
譬如,想象一下,打造一个像推特那样的社交网络,而其运行逻辑及数据不是由一家公司掌控,而是通过一个自主运行、代码可验证的程序所控制。其所有权和控制权甚至可以代币化,分发给用户和开发者。亦或者想象一下,在金融机构内能采用这样的一个程序,将当前容易导致错误和效率低下的人脑逻辑编制成计算机语言,把有资金筹集、交易、信贷、衍生品、支付和保险的合约用代码表达出来,可能这样会更为出色,优于用法律语言的表述。
加密货币网络的好处在于,通过无需信任的基元构建而成,而无需通过中间媒介,通过这种方式去运行大幅减少合作中的信任认证。
那我们还等什么呢?
要这一切成功运转,我们需要一台去中心化的世界计算机,其扩展性保障其足够强大。
扩展性是个大问题
现有的加密货币网络在通过去中心化计算将智能合约推向全世界方面,已经取得不小的进展,其中最引人瞩目的是,以太坊普及了比特币背后的理念,率先推出真正全球化的、去中心化的计算机。
自 Vitalik 在 2014 年初步提出这一概念后,以太坊无疑成为区块链领域最为重要的项目之一。全球的技术开发者竞相在以太坊生态中进行开发工作,使其成为当前正在运行中的加密货币网络中规模最大、最为活跃的一个。以太坊开发社区也成为各类技术讨论的重要集散地,成为当前区块链技术创新的重要源泉。
像以太坊这样的区块链是将想加入其中成为矿工的个人的计算资源连接到一起,组成一个计算结构。运行生态中的任何一个程序,都不需要对任何一个矿工给予信任,只要多数矿工是诚实的,这个平台的计算就是可以信赖的。
而像以太坊等区块链面临的一大挑战是:它们可以被认为是去中心化的,但是不具备扩展性而无法扩容。
以太坊开发者社区一直努力想解决这一问题,推出譬如 Plasma、分片和状态通道等切实可行的解决方案,不过,具体效果还需要大量的实验验证。
目前全球性能最佳的加密货币区块链每秒能在全球范围内处理数十次的交易指令,用户需要等上几十分钟,运算才算最终完成,而每个指令的单价也很昂贵。这种技术局限性导致,只要几十万用户,就足以让区块链拥堵不堪。
区块链网络想要支持功能极为丰富、用户可能多达数十亿人的应用,其性能和效率必须得扩容数个数量级。
区块链扩容问题为什么这么难?
分布式计算最大的挑战在于认证。
客户,即将程序提交给这台世界计算机的主体,怎样能知道一群没有任何信任基础的矿工能正确运行这一程序?他/她如何信任结果?因为任何人可以参与网络,协议中默认存在一些恶意分子试图用尽办法从程序中牟利。譬如,如何阻止一名矿工逃避实际运行一个程序中的艰苦工作,而只是返回一些垃圾数据?协议需要假设网络中的任何人都是不可信的。对系统的信任唯一的来源,是协议自身通过加密学执行规则,依据对相关各方平衡的原则,通过激励机制让规则得以执行。
当下应对这一问题的一种主流解决方案,是让网络中的每一名矿工执行每一次计算,其中,由多数矿工产生的结果被视为该区块链的共识,由协议认可为正确的。如果网络中过半数的矿工是诚实的、按照规则操作的,则保障恶意矿工返回的随机数据或试图破坏结果的行为被诚实的大多数矿工否决,这些人的工作将不会得到报酬。
这一策略当然有其局限性。可想而知,由于它要求成千上万矿工执行每次计算的每个指令,导致其成本极其高昂。因此当前在分散式加密货币网络中运行所有计算指令,比起在手机上运行应用的效率要低了很多数量级。
为了解决这种问题,还有其它很多种策略。一种很自然的想法是,让网络中的矿工选举出一组代表,比方说从 25000 名矿工中选出 25 个代表,然后依赖他们争取执行计算。如果他们诚实执行,回报很高,因为他们一旦被抓住作弊,就会被剥夺在社区中的这一尊贵地位,永远再也无法当选。
对这种机制常见的批评是,它可能遇到现实世界中困扰民主机制的同样问题:投票率低、出现买票贿选情况,以及当选代表可能收受贿赂及腐败等问题。而且至少在理论上,没有任何博弈在理论上是稳定的:通过贿赂当选代表而攻击这一区块链网络的收益可能大于成本。至于这种策略能否有良好表现,目前尚无定论。尽管它理论上存在缺陷,但它可能是一种好办法,能取得不俗的实践效果。
DFINITY 闪亮登场
DFINITY 是在加州 Palo Alto 和瑞士苏黎世都设有办公室的一个项目。其创始人是 Dominic Williams,他富有远见,矢志打造一个下一代、去中心化的世界计算机,能扩展至数十亿的用户。
Dominic 过去几年间组建的这一团队,是我们在区块链和加密货币领域迄今见过的最出色的团队之一。
他招募了分布式系统、加密学、博弈论和编程语言领域最为出色的部分专家,该团队最顶尖的研究人员及工程师包括 Andreas Rossberg 他是 WebAssembly 的联合设计者之一,并成功为谷歌打造 Chrome 浏览器的 V8 JavaScript 引擎、Ben Lynn 他是「BLS 签名」三位发明者中的「L」、刘海博士 英特尔 Haskell Compiler 架构师、Timo Hanke 比特币挖矿算法优化 AsicBoost 的发明人,以及其他精英。似乎我们每次会晤 Dominic 和 DFINITY 团队,他们总是又挖到了一位行业精英。
加密基金 a16z 很荣幸参与投资了 DFINITY,我们很开心看到拥有如此豪华阵容的团队打造一个去信任的、开放的、去中心化的计算平台。很罕见,这支创业团队同时具有:
- 对未来清晰的洞见和驱动;
- 有着卓越的能力吸引全球最出色的人才加盟 这个说法豪不夸张;
- 很清楚如何打造一个项目运转流畅的团队、在创意和执行方面达成平衡,并建立起行之有效的长期激励机制。最后这点在加密行业中尤其重要。
我们坚信这支团队将在去中心化计算方向上取得巨大进展。在撰写此文时,他们已经在解决去中心化计算的崎岖道路上取得了一些不俗的成绩,成功建造了连接数以千计测试节点的功能性模型制作,对该系统很多组件进行了压力测试。其中一个重要创新、也是 DFINITY 网络的设计核心:在扩展性领域的独特技术。
DFINITY 随机信标机制 Random Beacon
DFINITY 对扩容问题采取的策略旨在解决一个两难困局:一方面,可靠的完全去中心化策略效率低下,另一方面,更具效率但投票机制理论上可靠性不强。
DFINITY 寻求在两个极端之间达成平衡,尽数吸取两种机制中的精华。
其理念很简单:吸取代表投票的出色效率,执行任何去中心化程序的矿工群体被压缩到一小部分人群中,但又不是通过社群投票选出一个委员会,因为其过程可能被政治操纵,取而代之的做法是,对区块链新增加的每一个区块随机选择一个新的委员会。
这种策略确实同时吸取了前面两种机制的精华:
- DFINITY 的效率表现确实远远优于现有的所有加密货币的网络,因为共识只需要在一个小群体矿工内达成即可。这带来了双重改善:首先,每个指令的完成成本大幅降低,因为其执行只需要复制少数几次即可。整个网络的总工作量和能源消耗也大幅降低,网络运行费用也大幅降低。
其次,因为信息在小群体内传播速度远远快于人数极多的大群体,客户把程序上传至网络到得到可靠反馈的等候时间 被称为该网络的延迟 大幅缩减。DFINITY 的终结性可以达到零点几秒的数量级,而不是像其它区块链那样需要几十分钟。
- 这中间不涉及人类投票过程,所以操纵投票和投票率低问题也就不存在了。矿工被选中生产下一个区块的几率与他/她在该网络的权益比例挂钩,所以他/她对该网络的投资可以看作一种担保。如果有人想通过贿赂或者其它手段破坏区块生产委员会的共识,可能极为困难,因为无法提前预测哪些矿工会当选,而当选矿工履行职责过程不过几秒而已。
这一理念非常浅显,为什么其它区块链没有采取这种方式?魔鬼存在于细节当中。如何搭建安全、去中心化的随机信标,长期以来都是大家公开讨论的难题,这个协议假设多数参与者是诚实的,然后通过随机号码选出一组参与者,该机制有以下特征:
- 即使知道之前所有的结果,每组随机序列的结果依然是完全不可预料的。特别地,在该随机信标的结果向所有人公开之前,没有任何人能提前预测其结果。
- 每次随机序列的结果都不会被不诚实的参与者影响到或者干扰到。
DFINITY 取得的诸多突破性成果中,其中之一是利用可验证随机函数搭建一个安全的随机信标。它依赖于「BLS 签名」, 该算法于 2001 年通过论文推出,之后成为日益重要的加密基本元素。
你当然很清楚,打造一个世界计算机不仅限于发现一种突破性共识算法那么简单。DFINITY 是一个端对端计算平台,每层堆栈都嵌入了去中心化范式。
在与应用及开发者最接近的层栈,DFINITY 提供了一种很好匹配分布式、异步计算的原生编程语言 ActorScript,该语言由团队中的 Andreas Rossberg 开发。它的一大功能是简化了程序员对应用状态的管理。DFINITY 平台未来还将提供其它很多编程语言。
ActorScript 的下一层栈是 DFINITY 的虚拟机,后者是每个节点在网络中运行应用逻辑的核心引擎,它被特殊设计为通过 WebAssembly 指令运行。
WebAssembly 是字节码一种公开标准,可在不同平台切换和通用。因此它可以用接近原生机器码的速度运行。Andreas Rossberg 在谷歌工作时,与他人合作联合创造了 WebAssembly,之后,WebAssembly 迅速得到广泛应用。现在所有的主流浏览器都支持 WebAssembly。考虑到它的通用性和出色效率,对于一个去中心化的、规模庞大的世界计算机而言,采用 WebAssembly 是一个合理的选择。
最终,将节点金字塔 每个节点都是上述堆栈运行的一个用例 最终集合成一个统一的计算结构是 DFINITY 的随机信标机制和公式算法,在将所有人互联起来的 P2P 网络协议上运行。
像 DFINITY 这样的去中心化计算网络让全球用户的关联更紧密,数字平台可以在无需信任、匿名和开源软件上搭建起来,由用户和开发者社群完全拥有并进行治理,而不是由公司运营。这种新范例的开发性和排他性有可能组成人类史无前例规模的协作。
我们很兴奋与 DFINITY 团队牵手,很高兴能尽一切力量帮助他们前行。我们期待不久的将来,生活在一个有他们的新技术支持的崭新的世界。
作者:Ali Yahya 和 Chris Dixon
编译:Perry Wang