以 “状态” 视角理解以太坊及其未来
自2015年创建以来,区块链艺术博物馆经历了五年的寒暑。五年不仅将以太网协议1作为一个概念变成了现实,使该协议更加成熟和具体,而且暴露了这样一套设计的特点和权衡。这些权衡,作为设计挑战,自然吸引并继续吸引无数人才,试图提高Ethereum的可用性;其中,为提高“可扩展性”而提出的一系列方案,凝聚了最多的心血和想象力。
本文想指出的是,正如以太网范式面临着设计权衡,所有这些可伸缩性方案也是如此。为了评估这些权衡是否值得,我们需要回到以太网本身,以太网节点和以太网用户的真实问题和真实需求。“国家”视角作为理解以太场本身的视角,可以帮助我们理清这些方案的设计,揭示我们的得失。
本文将从解释“状态”的含义开始,揭示以太琴的终极矛和致命弱点,然后讨论各种改进方向。“富态”是以太网智能合约,“可组合性”的来源,但也是以太网最大的弱点。由此可以看出,哪些经常提到的方案会影响“可组合性”,哪些“可扩展性”的意义更明显。
2.作为范例的以太场
(a)丰富的状态和可组合性
什么是“地位”?状态是系统在某一时刻的具体情况。以密码学货币的区块链为例,某个时刻某个区块链的状态就是那个时刻,区块链所有地址的资产分布(地址A有10个硬币,地址B有100个硬币,等等。)(其实我们拥有的只是一些状态,是我们的心智和社会共识,这些状态被解读为“资产”)。
从这个角度来看,每个区块链协议大致可以分为两部分,一部分是共识机制,另一部分是状态转移规则(有时称为“共识规则”);前者定义了一个阻塞规则,表示当所有参与区块链的节点都需要在本地更新区块链数据库的状态时(例如,作为区块链以太网的一个节点,它每接收到一个具有满足难度要求的工作量证明的块,该节点就更新本地区块链数据库的最新状态);状态转移规则定义了哪些交易是有效的(“一个账户花的钱不能超过自己的余额”),还定义了节点在处理交易时应该如何更新状态(“这个交易是指账户A向账户B转账了5种货币,所以账户A的余额为负5,账户B的余额为正5”)。
对于比特币来说,其共识机制是“PoW中本聪共识”,而其状态转换规则是基于UTXO的。对于Ethereum,其阻塞机制是“PoW Ghost Rule”,其状态转移规则是基于account的。
那么,是什么让以太博物馆成为突破性的创新呢?
我们经常听到以太网之所以特别,是因为它“引入了图灵的完整编程语言,支持可编程性”等等。其实这个说法并不准确。因为允许更复杂的编程语言并不代表什么,其实比特币也可以编程;允许比特币使用实体编程语言并不能获得以太网。以太网的真正特别之处在于“富裕国家的充实度”3:它允许一个合约呼叫另一个合约,并且除了块容量本身之外,它对这种呼叫的级别数没有任何限制。
B合约可以根据A合约;呼叫B合约的C合约透露的代码呼叫A合约改变A合约的状态也可以间接呼叫A合约改变A合约的状态.因此,一个状态虽然保存在A合约,但其控制逻辑可以不断叠加和累加;如果把国家理解为一种资产,就相当于使资产使用权(使用条件)受到更严格、更复杂的持续控制;这意味着,理论上,一个国家的更新逻辑可以无限接近现实生活中的金融合约(因为所有的金融合约都可以通过简单的逻辑叠加组合)。这种允许任意多层控制积累的属性是最关键的,但是如何对这种控制进行编程是次要的。
此外,以太网还允许用户向区块链写入状态,使这些状态成为全局状态的一部分,并要求节点根据合约定义的逻辑更新状态。结果,合约可以向以太网中的所有其他帐户公开自己的状态,前面提到的丰富性真正发挥作用。
是的,现在我们已经收集了三个类似龙珠的属性:
(1)链上计算范式:合约可以要求节点按照自己定义的逻辑进行计算;
(2)全球地位:合约的地位可以成为全球地位的一部分,并向所有其他账户披露;
(3)富态:合约可以互相调用,堆叠层数不限,控制逻辑可以层层累加;
现在我们可以召唤最强的以太之矛:“可组合性”(乐高)!
链式计算方法使我们能够拥有各种各样的合约;全球地位,允许这些合约人相互访问对方的地位;富裕的国家使得合约的组合无限多样。因此,我们不仅可以有一个稳定的货币DAI,还可以有一个借贷市场、一个彩票应用程序、一个自动向收益捐赠彩票的应用程序,以及一个自动在不同借贷市场之间重新平衡储蓄率的应用程序.
(二)状态数据爆炸问题