对比以太坊1.0,以太坊2.0最显著的变化就是权益证明共识和分片架构,但实际上,还有很多方面的创新,启发自改进以太坊的过程。
自比特币和以太坊创生以来,我们看到的事情
比特币区块链已经运行了11年了,其创生启发了无数有志之士学习乃至研究区块链的设计和密码经济学,以发现还有哪些可以改进的地方。
从PoW上,我们已经知道,对于密码学货币来说协议的安全性永远是最重要的。用昂贵的硬件来激励人们更深入地与链绑定,效果出奇地好。虽然仍不免有钻空子的空间,在保护比特币的网络安全上,PoW的表现已是超凡绝伦。
以太坊区块链则是在2015年启动的,它的诞生标志着“通用型”区块链的出现:每个人都能在网络上建立可以与ETH和其它token互动的应用了。这些应用为去中心化金融打开了大门,如今,人们为去中心化金融操作而存入的质押品价值已超过10亿美元。我有另一篇文章讲述了?DeFi如何一步步成长为以太坊上真实可用服务的过程。
限制Eth1.X拓展吞吐量的因素
现在以太坊已经野蛮生长5年了,其所经历的现象级成长也为整个行业指明了瓶颈在哪、能够改进的地方又在哪。
在2017年,以太坊的发展陷入困境的时候,多个“以太坊终结者”起来号称要“打败”以太坊。但这些“终结者”主要是牺牲安全性来换取更高的吞吐量,还在完全误导性地宣传说交易不需要支付手续费。实际上,没有一种是以太坊所面临问题的“解决方案”。
观点:PayPal支持加密货币或为用户带来税收负担:CoinDesk发文称,PayPal上周决定支持加密货币可能有助于主流采用,但也可能意味着给不熟悉加密的用户带来额外的税收负担。根据美国国税局的规则,比特币等加密货币被视为财产;因此,每当有人购买、出售或交换数字资产时,都应被视为应课税的事件。根据PayPal的计划,加密货币将成为其商户的消费者进行购买的“资金来源”,这也将适用于诸如通过BTC支付一杯咖啡的交易,在这种情况下交易可能会产生几美分的资本收益或损失。由于PayPal表示与商家的交易将按法币方式进行结算,因此每次平台将用户的加密货币转换为现金时,都会产生税收义务。[2020/10/27]
要想真正升级以太坊,所有人都必须跳脱出现有的系统、重新开始。我们可以取以太坊之精华、弃其许多糟粕。
注意:在下文中,我用“状态”来指称以太坊区块链上保存上的全局永久数据,例如账户信息、交易数据和智能合约状态。
以太坊2.0
以太坊2.0?是密码货币领域迄今为止最大的开源项目,旨在开发出一个能实现以太坊初始目标乃至更高远追求的新系统。你可能听过?Casper和分片,但以太坊2.0的目标还不止于此。
因为很多改进对现有的以太坊区块链来说过于激进,所以这些改进可能会做到以太坊2.0链上,然后现有的以太坊链会“接入”新系统。这样的话以太坊2.0就不会因为要升级现有的网络而变得过于复杂,而以太坊网络能照常运行,然后收获新系统带来的所有好处。
观点:区块链能让支付服务更加高效 需要行业竞争以改变数字货币角色:加密行业专家表示,随着在线支付公司Wirecard本月进入破产程序,主流金融服务商,如VISA、PayPal和Mastercard都在争先恐后地填补数字支付的空白,并成为第一家提供加密支付卡的公司。区块链服务提供商TAAL首席执行官Jerry Chan和虚拟货币平台Coincurve总裁兼联合创始人Rod Hsu都认为,要改变数字货币被用作支付或技术手段的方式,这个行业所需要的正是竞争。Jerry Chan指出,除了主流加密意识需要之外,区块链还能让支付服务更加高效。Rod Hsu表示,在Wirecard事件之后,加密部门应该学习“透明度”。他补充说,区块链是一种不可改变的开放技术,可以在“任何时候”对资金流动进行全面审计。(Cointelegraph)[2020/9/6]
本文想谈谈人们不甚了解的以太坊2.0变更,以及这些变更是如何从帮助以太坊朝向去中心化美丽世界的过程中取得灵感的。
货币政策
密码学货币的货币政策不容小视。因为密码学货币要用增发的货币吸引矿工和算力,在保证安全性的前提下,增发量越少越好。在市值排名前20的币种,我们看到比特币的区块链是最安全的,同时其货币增发率也是最低的。现在的比特币年增发率为3.8%,比起ETH的约4.5%低了不少。
观点:2020年亚马逊股价表现胜过过比特币但不如以太坊:据crowdfundinsider分析,2020年迄今为止,亚马逊股票表现优于比特币但不如以太坊。根据价格数据显示,如果投资者在2020年1月1日对亚马逊股票和比特币分别进行1000美元的投资,那么现在从亚马逊股票中获得的收益将高于比特币。不过,如果投资者在2020年1月1日将1000美元投资以太坊,现在获得的收益将比亚马逊股票高出57%。就市场价格而言,今年比特币与传统股票的走势似乎“更紧密”。具体而言,1000美元投资比特币的话将会获得约660美元收益、投资亚马逊股票将获得约667美元收益,而投资以太坊则会为投资者带来约1041美元收益。[2020/8/17]
虽然很多以太坊的囤币党都觉得,以太坊区块链为安全付出的费用太高了;但是,如果这就降低增发率,可能会导致挖矿算力和安全性的大跌,因为矿工赚不到那么多钱了。因此,PoW下的增发率是难以降低的,因为降低了会对链的安全性有意料之外的副作用。比特币没有这个问题是因为其挖矿奖励的变化在长期中基本上是可以预测的。
那么,以太坊2.0的最大目标之一就是转换成权益证明共识机制,也就是要移除昂贵的挖矿硬件的作用,密集的计算和电力消耗,将被取而代之为便宜的普通电脑,仅处理Eth2节点的进程如区块传输和同步便足矣。这样保护网络安全的成本就低了很多!不过用户要锁定32ETH才能加入。
观点:尽管贝佐斯拥有足够的资产,但永远无法买下所有流通比特币:亚马逊创始人兼总裁杰夫·贝佐斯(Jeff Bezos)的资产接近1720亿美元。贝佐斯的净资产大致相当于整个比特币流通供应量的价值。但密码朋克、Casa联合创始人兼首席技术官Jameson Lopp表示,贝佐斯永远无法买下所有的比特币,因为不是每个人都愿意出售。(Zycrypto)[2020/7/6]
降低了整体的安全成本,增发率就能降低到1%一下,具体来说还取决于有多少用户参与网络成为验证者。如此一来,增发率就能随其到底要为安全性支付多少费用而伸缩。
-增发数量随实际需要为安全支付的费用而伸缩-
除了增发率上的缩减,以太坊2.0还旨在替换掉现在支付Gas费时用到的拍卖市场模式,换成稍有区别的模式,即“EIP1559”。你不需要知道它的工作原理,只需要知道,在此模式下,用户所支付的手续费的大部分都会被销毁掉。虽然说在该模式下,用户会支付更少的手续费,但因为以太坊2.0有很多个分片,所以总的手续费规模会比现在的以太坊更大,因此销毁掉的数量也会更多。
一方面是很低的增发率,另一方面是销毁部分手续费,以太坊2.0的净增发率可能为负,也就是烧掉的数量会比增发的数量还多!然后ETH就会变得更为稀缺,让攻击PoS系统的成本更为高昂。
分析师观点:比特币S2F模型核心要素是“人类心理”:比特币分析师,BTConometrics公司S2F(存量-流量比率)模型研究员Nick Emblow强调了S2F模型中容易被遗忘的一个方面。根据Emblow的观点,人们普遍认为S2F对比特币价格的影响。这种看法变成了市场情绪,导致比特币的价格波动。话虽如此,这一流行的模型更多的是“社会学”而不是“计量经济学”。为了进一步解释他的观点,Emblow说,人们主要是着迷于BTC日益增加的稀缺性。这反过来又增加了个人购买比特币(BTC)的可能性。即使没有计量经济学背景,“S2F”模型作为长期预测也是正确的。然而,正如这位分析师所说,它的核心要素是“人类心理”。(U.Today)[2020/5/10]
共识算法的目标是保证区块链的安全性和去中心化,保护网络的激励机制才是真正让密码学货币活起来而不仅是账本数字的因素。激励机制保证了矿工/质押者会给网络提供安全性。而以太坊2.0在安全费用上所追求的是?最低必要增发率。最低必要增发率意味着链持续增发为保证安全性而必须发放的最低数量。低增发率及销毁策略会逐渐让攻击者的攻击成本变高,从而降低大规模攻击的概率。
无状态性
你可能听说过“状态爆炸”这个词,人们在论及以太坊及其状态数据规模的时候常常提到。这个问题的实质是,一次性支付Gas费就可以让你的数据永远留在以太坊区块链上,这就导致了状态数据不受限制地日渐增长,而很多数据可能再也没有被使用过。状态数据在存储规模上的“爆炸”,意味着以太坊的节点的存储空间和硬件条件必须随着网络的持续存活而线性增加。长期来看,这限制了能够运行以太坊节点的人群规模,而状态数据增长问题在每次区块Gas上限提高时都会变得更为严重。
那么,以太坊2.0解决这个问题的办法就是无状态性,就是让节点不保存任何状态也能验证所有交易和状态的所有部分。实现了无状态性之后,节点的模式就可以形成一条从有状态到无状态的光谱,每一种模式都有不同的规范。如果你硬件比较好,运行无状态节点绰绰有余,但还是不能运行完全保存状态的节点,那么你可以取其折中,运行一个“准-带状态”节点。想了解更多,请看?ETHDenver活动上的这个演讲!
-无状态范式下的网络拓扑-
这对于分片来说至关重要!因为每个分片都有自己独有的状态,而Eth2验证者需要在他们所验证的分片上依据状态来执行状态变更。无状态式的协议使得验证者无需下载一个分片的完整状态,只需下载表示数据的二进制默克尔树即可。
分片越多,状态数据的增长越是没有止境,虽然到时候肯定会有比如交易所或者区块浏览器这样的服务,有动力保存所有的分片状态数据/历史数据,并不计成本地准确交付。然后就有可能出现?“状态提供者”?软件,为验证者提供一笔交易所要改变的状态部分,让后者能够执行状态变更。状态提供者可以彻底地消除验证过程中的硬盘读写需要和密集存储需要。这不仅为新的、针对状态的激励机制开启了可能性,还能极大地帮助验证者,因为后者不再需要保存完整的分片状态了。当然,他们仍可以验证从状态中继者处收到的状态的正确性,因为可以拿这些数据与已完成同步的状态树相比较。
账户抽象
在当前的以太坊协议中,有两种类型的账户,外部控制型账户和智能合约型账户。只有外部控制型账户能发起交易,而且只有控制私钥的用户自己发起的交易才能改变自己账户的状态。现在虽然有了元交易,但它需要依赖一个中继者网络来支付Gas费。
对于以太坊2.0来说,目标是把这两种账户抽象化成一种账户,让网络中的用户账户和合约账户毫无区别。合约当然会继续存在,但那时以太坊网络自己就能充当元交易的中继者了,自己签名发起一笔交易并广播出去将不再是你与网络交互的唯一办法。
到时候,你可以让你的账户像一个智能合约,比如别人发给你ETH,你的主账户会自动将其转发到你的冷钱包里,又或者,把所有发给你的ETH都自动卖成DAI来持有。
能把功能模块直接做到账户里面,会产生很多很多有意思的dApp设计和功能!用户管理账户的操作会变得五花八门,而不是像现在的以太坊协议一样,允许的操作都是被定死的。
账户抽象化的一个有趣可能性就是合约能够自己支付Gas费,能自己发起交易。但这是个很复杂的问题,迄今仍在开发中,不过一旦开发成功,带来的可能性就极为丰茂了。
执行环境
做以太坊应用开发的开发者,首选的编程语言都是?Solidity?或者?Vyper,它们都各有奇怪的特性,但在实用性上,其开发生态还是很好的。在当前的用法中,用这些语言写成的代码都要编译成更通用、更底层的操作,来方便以太坊虚拟机解读。如果你想更深入地理解EVM,可以阅读这篇文章。虽然也不是太必要啦。
EVM所用的操作码让以太坊节点能产生出同样的计算结果,而不论运行节点的计算机是什么样的。它也让定制化的复杂操作比如验证签名和获取账户余额变得更简单,只需一行代码就搞定。如果没有EVM准确地读取出状态并执行状态变更,各种功能都是不可能实现的。
虽然EVM作为整个智能合约生态的基础表现得很好,如果以太坊上的应用可以使用任意的运行时语言,那会更好。链不应该把自己的状态转换规则强加在他人身上,执行本身应该要更加开放才对。这就是为什么大家想出了“执行环境”。
执行环境机制使得所有的状态转换规则都可以直接做进协议层,让交易的处理方式能与系统的其它部分完全独立开来。比如,可以有一个执行环境是专门用来处理?ZKrollup?和隐蔽交易的,而另有一个EE是用来处理UTXO模式交易的。甚至可以有一个?token专用型EE,专门用来承载所有token,而不用为每一种token都上传相同的代码。当然,现有的EVM也会被替换成一个叫做?eWASM?的EE,以保证对现有生态系统的支持。
Eth1上的每个dApp都必须在设计式充分考虑EVM的行为,因此以太坊状态转换函数的局限性就成了整个生态系统的瓶颈。有了EE机制,这个瓶颈就不复存在,利用对协议的开放式依赖的全新?dApp?也能出现。如果你想了解更多,EthHub这里有一个跟?WillVillanueva?一起做的绝佳播客。这里还有一篇叙述最新进展的文章。
原文链接:?https://medium.com/coinmonks/what-eth2-has-learned-from-eth1-d1f7e0830a98作者:?IvanMartinez翻译:?阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。