基于比特币开创的先进理念,以太坊通过包含一个图灵完备的虚拟机,泛化了区块链计算机。使开发者可以透过一个去中心化的机器网络,部署和运行任何程序。
其中,为了确定性,网络中的每个节点都必须执行每个程序的函数。这使得整个网络缓慢且成本高,但以太坊在一个方面是无与伦比的:它的计算是无需信任的。可以期望每个程序能被确定的执行(可验证)和输出,甚至状态都是所有人可见的。以太坊平台为开发者提供了与应用与关的,中立的构建块,用以组合为更高层级的应用。我们看到了下面这一切的发生:
Marble [5] 支持闪贷,实现去中心化交易所间的对冲:“交易者可以从Marble的智能合约银行借款,从一个DEX上购买代币,再在另一个DEX以更高的价钱卖掉代币,还款给智能合约银行,获得其中的对冲收益。所有的上述一切,可以在一个原子交易中完成。”Marble通过以太坊的全局唯一的虚拟机执行不同项目中的一系列功能,并最终得到了一个大家都可以使用的简单功能。
Primotif [6] 是一个金融的衍生品,跟踪指数,就像标准普尔指数一样。它使用 Augur 来跟踪指数价格,使用 dYdX 做空代币来对冲 ETH 的波动,而 dYdX 的底层使用Maker的Dai这种稳定币。
通过组合而产生的网络效应(Network effects)不是一个新出现的现象。下面是 Biz Stone,Twitter 的创始人,在2007年关于他们的API的可组合性的说明:
“API是最重要的,或者无可争议的,是我们做Twitter时最最重要的一件事。它允许我们,首先,让服务非常简单,而简单的API能让开发者基于我们为基础设施进行开发,并随之带来更好的创意,构建了类似 Twitterrific,这样一种美妙优雅的使用的 Twitter 的方式,一种我们在如此小的团队的情况下,所不要能达到的。API 非常容易达到比网站大10倍的流量,这些对我们来说真的非常重要。”
遗憾的是,组合性并没有持续的出现在Web2.0的场景中。其中一个问题是我们没有办法通过API传输价值,而且没有有效且公平的方式来管理平台规则,比如,广告展示。这导致了平台与开发者之间的激励错位,最终回到数据的中心化上,从而也丧失了第三方所带来的创新。
我的合作伙伴Chris已经写了一篇关于加密代币可以如何可持续的,构建开放的网络更好的引导激励的文章[7]。
这就是区块链的大型机时代。存在着由于组合所带来的无可争议的早期的网络效应-安全性,用户基础,数据,运行环境-但随着更多的应用,开始达到大型机的资源限制,最终让边际效应递减。反过来,增加了每个用户和开发人员的成本。通过下图大家可以看一下: