区块链计算演进蓝图及“可组合性”的宝贵价值

如果说,比特币相当于计算器时代、以太坊相当于大型机时代的话,如今区块链技术正在快速走入服务器时代、云时代,定于本月底发布的 ABT 节点、ABT Network 是 ArcBlock 区块基石为区块链服务器时代、云时代贡献的代表技术。
作者:Jesse Walden,现任 a16z crypto 合伙人,之前为 Mediachain Labs 联合创始人
编译:Perry Wang

在 a16z 旗下加密投资基金 a16z crypto 内部,我们讨论了很多加密货币背后的区块链技术与城市的类比,譬如,区块链和城市都会从在基础设施共享为前提的自下而上成长中获益。
对一个传统商家打算开辟新店而进行选址时,成熟居民区还有那些基础设施、法律、安全性和充满活力的市场经济都比较健全的地点是比较理想的选择。与此类同,开发人员也会从共享的资源中获益,譬如已经趋于成熟的用户群、数据、安全性和已经在运行的代码等。
我们称之为「可组合性 composability」。如果一个平台的现有资源可以被用于打造区块,可以被编码成更高阶的应用,这个平台被称为拥有「可组合性」的平台。可组合性是非常重要的,因为它可以让开发者以更少的资源进行更多开发,相应的,又会带动更为迅速、更全面的创新。
区块链电脑网络拥有无需信任 trustless 的本质,这极大的释放了可组合性的潜力,因为开发者可以在共享的基础设施上进行开发工作,无需担心他们下一层级的依附之物会被挖墙脚。这是千真万确,因为区块链既有无需许可的特性 这对于开源软件开发重要性不言而喻,又具有状态持续性 对于 Twilio 和 Stripe 等公司的 API 而言非常重要。
审视区块链计算的演变史,我个人简单总结出四个迥然不同的时代,每个时代有着不同的基础设施架构,在「可组合性」这个问题上有着不同的优先选项:
· 计算器时代 – 特定问题计算,可组合性有限
· 大型机时代 – 图灵完备,可组合性高
· 服务器时代 – 特定问题计算, 重磅押注可组合性
· 云时代 – 图灵完备,具备可扩展性的组合性
我会在下文中对上述的每个时代的利弊、正面反面逐一剖析。但我有言在先,在这一领域有很多结果尚不确定的研究,对于划时代变革的具体成因还有很多悬而未解的问题。对每个时代的剖析,都只是一个值得尝试的试验。

区块链计算演进蓝图及“可组合性”的宝贵价值

本文作者 Jesse Walden,现任 a16z crypto 合伙人,前 Mediachain Labs 联合创始人

计算器时代
比特币是区块链计算的先驱。它对「坚挺的货币还是数字黄金」这个具体的应用问题,提供了全栈式解决方案。除了追踪账户余额和货币流动轨迹的简单功能外,比特币区块链还提供了可以用于建设更为复杂功能的编码语言。
有多个项目采用了比特币脚本来编写更高阶的应用:
譬如, 在线服务 Proof of Existence 利用了 OP_RETURN 数据库来创建证据,让某位特定用户在特定时间享有相应的数字文档;像 Colored Coins 和 Counterparty 这样的项目,使开发者在比特币区块链的合并安全性基础上定制代币成为可能。
但也有其它一些项目试图更进一步延展比特币区块链的性能,或者代币的功能,但因为比特币脚本语言的故意约束,而被捆绑住手脚。
很多人辩称:去中心化货币系统最为弥足珍贵的资产是安全性,而不是可编程性,自缚手脚的脚本语言也是去中心化货币系统的特性之一,并不是个漏洞。
我们把这个问题放大看,可以发现比特币区块链更像计算器,而不是更像电脑 必须申明,我这句话是褒义!!比特币区块链是被有意设计成这样的,而且它很好的完成了任务,但对于迫切希望对其进行修补、开发新的应用的开发者而言,迫切需要演变出来新的区块链架构。
大型机时代
在比特币的先锋理念基础上,以太坊随之诞生,包括了图灵完备的虚拟机,而将区块链计算机普及化。这意味着开发者可以在去中心化的区块链计算机网络上部署和运行任何程序。
在今天的区块链网络中,为了确保准确性,区块链网络中的每个节点必须运行每个程序功能,这导致区块链网络运行缓慢、使用成本极为昂贵。但以太坊在一个维度是无可匹敌的:它的计算是无需信任的。每个程序都能被按照指令运行,其产出成果,或者称「状态」,对其它所有节点而言都是可见的。以太坊的一个程序可以作为可依靠的、中立的积木模块,供开发者组合成更高阶的应用。
今天我们已经见证了这种发展:
Marble 这个项目让用户可以极快借款,用于在交易所进行套利交易:「交易者可以通过仅仅一单交易就实现:从 Marble 智能合约银行借款,在去中心化交易所上买币、在另一家交易所以更高价格卖出代币,然后还款给智能合约银行,将保证金交易的利润收入囊中。」为实现这一功能,Marble 充分利用了以太坊的单例虚拟机,通过不同的独立项目间按顺序执行一系列动作,结果就是实现了一键式傻瓜功能,人人都可以轻松使用。
Primotif 是一个金融衍生品项目,可以追踪现实世界的金融指数,譬如标普 500 指数。它利用以太坊预测市场平台 Augur 上的股票交易来追踪相关指数的价格, dYdX 做空代币来对冲以太坊代币 ETH 的波动性,背后普通人看不到的是,dYdX 利用的是 Maker 推出的 Dai 稳定币。仅仅一个周末就打造出的 Primotif 项目,是可组合性会带来更复杂的创新和强大的开发者网络效应的绝佳例证。
可组合性带来的网络效应不是什么新鲜事了。下面是 Twitter 创始人 Biz Stone 2007 年就他们的 API 可带来的网络效应的说法:
API 是最为至关重要的,甚至可以说我们对 Twitter 做出的最重要的事情。最关键的是,它让我们在保持设备非常简单的情形下,仅仅创建一个 API 接口,开发者就可以在 Twitter 的基础设施上进行开发,推出一些比我们自己更出色的创意理念,推出像 Twitterrific 那样的产品。Twitterrific 是一种非常优雅漂亮的 Twitter 使用方式,是我们在最初团队人数寥寥情况下没能推出的出色产品。所以 API 能轻松吸引到比网站高出 10 倍的流量,而这对我们而言非常重要。
不幸的是,可组合性在 Web 2.0 时代没能得到延续。一个问题是「没有办法通过 API 完成金钱交易」,也没有公平有效的办法对平台的治理规则予以监督,广告展示领域就是一个例证。这造成了开发者和平台利益的错配,导致数据重新中心化,造成第三方创新的衰落缺失。
我的投资合作伙伴、 a16z crypto 管理合伙人 Chris Dixon 曾专门撰文指出了,加密货币如何能更好得围绕可持续的、公开的网络实现激励配置。现在的问题是,能实现激励配置、具有可组合性的网络不具备可扩展性。
Chris Dixon 文章的链接:https://medium.com/@cdixon/crypto-tokens-a-breakthrough-in-open-network-design-e600975be2ef
这就是区块链的「大型机时代」。
毫无疑问,由于区块链的可组合性:安全性、用户基数、数据和在运行的代码,带来一定的早期网络效应,不过随着用户的增多逼近大型机的吞吐量限制,边际回报不断下滑。这同时也不断推高争取每个新、用户和开发者的成本。通过图表体现出来,大体像是这样:

区块链计算演进蓝图及“可组合性”的宝贵价值

鉴于资源有限,新用户的边际成本不断增加,最终超过了可组合性的边际价值,即共享资源和开发者网络效应

进入「服务器时代」
在可扩展性问题的探索中,部分开发者彻底撅弃可组合性和共享网络效应,转而追求「为应用定制区块链」的架构。
像 Polkadot 和 Cosmos 这些项目的理念,就是打造多条混合区块链,每条区块链对应一个应用。Polkadot 的 Substrate 和 Cosmos 的 SDK 都是模块化的区块链搭建工具包,帮助你推出自己的全栈式「应用链」 。
进行全栈式开发比起在现有网络资源基础上进行开发,工作量要大很多。对开发者而言,意味着要打造下至状态机、上到应用交互,要为网络部署最小化可行安全措施,估算出与生态中其他成员的协同工作能力。
但在历史上,全栈式开发策略已经被证明大获成功:将初期技术推到市场上、让用户更早拥抱未来。
在个人计算机 PC 大规模普及应用之前,王安科技 Wang Technologies 就提供了功能非常强大的文字处理服务,作为软硬件捆绑式解决方案。后来美国在线 AOL 同时捆绑了互联网接入服务商 ISP、内容提供商、电子邮件服务商和即时通讯服务商等多重角色,为早期的互联网用户提供了不俗的用户体验。黑莓手机制造商 RIM 也同时捆绑了移动设备、操作系统、BBM 等早期应用和邮件推送等功能,以推动智能手机的普及。

区块链计算演进蓝图及“可组合性”的宝贵价值

区块链计算演进蓝图及“可组合性”的宝贵价值

全栈式平台,让用户更早拥抱未来

在互联网发展的初期,每家网站都有服务器在运行。为了拥有端对端的体验,开发者也需要在硬件设施中有自己的一小块天地。而在未来的区块链新时代中,也同样是这种情况。这就是我所谓的区块链「服务器时代」。
「服务器时代」的区块链明确地用可组合性换取控制权。这会通过两个维度呈现:对用户端体验的控制,以及对网络供给侧资源的经济状况进行更为精密的控制。
一个假设是,「服务器时代」的区块链基础设施,譬如安全、存储和运算,是需求受到抑制的状态。那就是说,随着应用的普及,它们可以被按需扩容。这与「大型机时代」的基础设施是截然相反的,「大型机时代」资源成本随网络上所有其他流量的变化而变化。具体理论依据是:全栈式「服务器时代」区块链架构可以减轻优化「大型机」区块链的风险。
「服务器时代」区块链与之前的全栈式平台是不同的:它首先是区块链!
王安的文字处理系统、美国在线和 RIM 都是封闭式平台,而「服务器时代」区块链依然是能证实的、数据开放的架构,配置有可编程的激励机制。这种特性让「服务器时代」区块链能被打造成数据集散中心,比如 Cosmos 和 Polkadot 两个项目都是在争取实现这一目标。一条区块链可以成为另一条区块链的「轻客户端」,开发者可以打造自动交换,藉此延展其性能。
这意味着,即使「服务器时代」的区块链依然具有可组合性,但是在与「大型机时代」区块链不同的维度上。
与「大型机时代」区块链运行单一的虚拟机不同,「服务器时代」的区块链计算机需要新的可以彼此通讯的标准,以实现跨应用的组合。这种通讯界面是当前正在进行的研究和实现标准化的主题,毫无疑问,这在可组合性方面会让开发人员的体验更加复杂。

但是尽管有这个缺点,捆绑的好处可能会成为新一波区块链架构的催化剂,我预期在短期内会看到更多的项目采用全栈式的方式。

「云时代」
「云时代」意味着实现可扩展、可以普遍应用的无需信任运算。这是区块链发展的理想目的地,届时组合工作只受创造力的限制,而不是受制于扩展性或通讯复杂性的限制,届时创新不会遇到边际收益不断下滑的尴尬,而会大量涌现。
「云时代」究竟是怎样的具体场景?这正是当前很多研究所探索的问题,目前尚未有清晰的答案。
「服务器时代」架构的支持者认为,通过区块链跨链通信的标准化和抽象化,将催生出「云时代」的体验。其他人,譬如以太坊 2.0 的开发者和 Dfinity 团队,则正在融合分片版的图灵完整的区块链。你可以将此视为一个拥有许多「大型机」的世界,这些「大型机」共享一个安全池,但在同构虚拟机之间分离状态和计算。还有很多人正在研究将运算转至链下的全新架构。
考虑到研究社区的规模之大,以及这种解决方案的潜在回报巨大,如果有人说「服务器时代」接近尾声,「云时代」区块链计算正紧随而来,我不会感到惊讶。
我们已经铺设好光缆,打造好数据中心,「云时代」区块链计算主要关乎软件创新。
无论我们何时迎来这个时代,可以清楚的一点是:无需信任的可组合性将成为开发者的新型超级武器,当开发者能以较少资源提供较大产出时,我们就能成为更强的协同性、更多的创造性、更多选择性的互联网的受益者。