一文纵览以太坊 1.x 与 2.0 协议改进,以及 DeFi 等应用进展 - 链闻 ChainNews

回顾了协议层的改进,如以太坊1. x和2.0

Rollup,以及 DeFi和智能钱包等应用程序的开发情况。原题:“观点|以太坊的许多进步?”撰写:阿剑, EthFans以太坊爱好者主创者,本文原为参与火星财经分享活动的一篇文章,原题为《以太坊发生了什么》,由于时间关系,分享难免会被简化。在收到一些朋友的反馈后,我决定补充一些内容,并把题目改为“以太坊上的许多进步”,以示区别。本论文的目的,就是重点介绍以太坊网络在各个方面的研究与实践进展,展示以太坊生态参与者此刻的想象投射。所以这里的“进步”不仅仅局限于协议层的改进,还包括应用程序的改进,当以太坊2.0路线图刚刚发布时,很多关注以太坊的人都有一个疑问,如果大家的注意力都集中在以太坊2.0上,那么这个 PoW链会怎样?由谁来维护?从2018年的Devcon4开始,开发者们就开始意识到这一问题。在那时,有两个选择:1)只对 PoW链进行基本维护,放弃大规模更新;2)坚持推动 PoW链的重大变革,将2.0的研发工作交给其他团队去做。后一个方向被称为“以太坊1. x”。这一方向是有意义的,因为以太坊2.0的发布时间还不确定,而且在发布之前, PoW的链条还必须保证长期的可持续性。之后,更多的人接受了1. x的方向,这条路线也被确立下来。从根本上说,以太坊1. x希望解决以太坊 PoW链所面临的基本问题,一种就是大家都知道的“状态爆炸问题”。运行以太坊协议时,每个账户有多少资金,合约内存储的数据会不断更新,也会不断有新的合约产生。这类内容(账户余额、合约代码、合约存储内容)是我们称之为“状态”的东西,它们是以太坊区块链处理某些块后的结果,表明在处理完块之后,此时以太坊网络的全局状态也会随着新块的产生而不断更新。为了实现快速的区块验证(也就是区块执行,因为验证的方法就是将所有的交易都重新执行一次),在节点内部将有关状态的数据(或称为“状态数据”)特别地保存起来,并随着区块的产生而不断更新。从理论上讲,这部分数据的规模将随着帐户数量的增加而不断扩大,并且,每一次访问的状态和输出的状态的存储位置也不确定,由于无法确定存取状态的存储位置,状态数据的突然增加会导致对硬盘的随机读写需求增加(这就是为什么以太坊客户端需要使用固态硬盘),并且这部分需求也会增加,并且持续地增加参与验证以太坊网络的硬件成本,导致网络节点数量的减少和集中;以及由于新节点在刚加入网络时需要向其他节点请求的状态数据越来越多,使得加入网络变得越来越困难。在1. x的解决思路中,“无状态以太坊”允许验证交易所要求的状态证明(称为“witness”)随区块一起传播。接收交易和 witness的节点可以通过本地存储的状态根(以太坊状态用Mercel-Patricia Christian表示)来验证 witness的有效性,也就是所谓的Mercel-Christian的根值,并进一步检验交易的有效性。这样,节点就不需要大量的本地访问和写入状态数据(这就是为什么它被称为“无状态”的原因)。无态模式有许多优点,首先是因为交易本身整合了验证交易所需要的数据,验证交易会变得更快,从而提高了节点的处理速度;第二是由于无状态模式下,数据本身被分解,一些客户可以根据自己的数据需求进行定向优化,例如,可能存在只提供 DeFi应用的交易和 witness节点。尽管这听起来有很多好处,但实际上它面临的一个大问题是它需要更多的带宽。目前,以太坊区块的平均数据量大小为20 KB以上。但目前的研究表明,即使我们对状态树的实现做了一些改进,对于无状态客户机来说,需要的 witness大小仍在0.5 MB左右。目前以太坊网络所承受的负担太大了。目视数据大小是无状态模式要克服的最主要的调整,如果大小不能下降,几乎不可能实现,但好消息是,无状态以太坊(算是)的研究已经产生了一个结果,即 Beam同步方式。beam借鉴了 Fast同步方法和无状态模式的优点,下载到最新的区块后,它会一边请求验证交易所需要的状态数据,一边尝试本地恢复完整的状态。该方法对硬件要求较高,目前实现的效果并不稳定。但在正常工作的情况下,能够在下载区块头数据后几分钟内转到完整的验证模式,也是一个突破。“无国界以太坊”的思考是深远的,所要解决的问题也是根本的,牵涉到 PoW链的长期稳定。尽管目前还不可行,但这方面的研究将会给以太坊协议的改进带来很多启示。引用:Layer-2扩展方案的提法也很早就有了。这一概念可能会在2017年被提出。所谓Layer-2,就是将交易的执行放在一个链下,也就是说,它不是由运行以太坊客户机的节点执行,而是由其他计算机执行。BlueMoney网络,即著名的Layer-2计划,利用Layer-2方案的目的是增加吞吐量:如果交易的执行没有被放在区块链上,那么自然可以组织多组计算机对无关联的交易进行并行执行(支付就是这种多数情况下都可以并行进行的情况),只有当资金需要用于与Layer-1的合同和用户交互时,才允许底层区块链解决Layer-2上资金的状态并执行交易。所以,作为一个大家都曾提到过的概念,是什么让Layer-2在去年年底突然爆发并引起新的关注?由于提出了一种比以前更实际的架构,Layer-2概念本身只是提到计算(执行)应在链下进行,而没有提到Layer-2交易的原始数据应放在何处,用户应如何维护和获得其账户的最新状态;这也正是Layer-2方案的设计空间。为减少Layer-1的存储负担,先前的方案没有在链上存储Layer-2交易数据,一些只定期在链上存储Layer-2状态的状态根(如某些 Plasma方案),一些则什么也没有保存(如大多数状态通道方案),但问题来了在Layer-2退出Layer-1后,用户的资金可能会出现争议,例如,我认为我的账户上应该还有10块钱,但是怎么才能取出5块钱,那么我要如何证明我的账户上确实有10块钱。要让用户保存相关数据并在此时提交,第一是用户体验很差,第二是不一定能取得好的证明效果。开发人员在这一点上采取了大胆的步骤:将交易数据直接发布到Layer-1。由于数据已被编码,因此体积不会太大。这样就改变了Layer-2的范式:如果交易数据有问题,或者交易数据没有问题,那么根据某种状态转换规则得到的结果自然不会引起争议。它是 Rollup方案的核心,基于这种观点,我们所听到的各种 Rollup方案,其区别在于它们保证状态转换正确性(correctness)的方法不同,例如所谓的ZK-Rollup (ZK-Rollup),是一种使用密码证明系统(主要是零知识证明技术)来实现计算完整性(computational integrity)的方法,简而言之,如果能够通过验证,则证明计算是按照相关的过程进行的。例如Optimistic-Rollup,它采用了经济刺激和挑战阶段的方法,以确保链上数据的有效性:如果你认为其他经营者提出的 rollup区块包含无效交易,那么就要求存保证金。总之, Rollup的概念为Layer-2的开发增添了新柴,并有望为以太坊网络解决扩展性问题提供强有力的帮助。尽管新概念不能解决所有问题,但工程问题远比概念推导更复杂(这是我们都应该具备的基本知识),例如, Rollup方案还面临着用户提款时的到帐时间延迟问题,因此需要流动性供应商。但是, Rollup方案的确吸取了前人的经验,并显示了良好的前景。已经出现了使用Loopringzk-Rollup方案的 WeDEX去中心化交易所的上市案例;此外, Starkware也在该领域进行探索。“Optimistic Rollup”的代表是 Fuel,这是一个侧链项目,致力于稳定货币支付。罗勒普概念的作者 John Adler也在该项目中。引用: DeFi应用程序正在变得越来越复杂,在我看来这是件好事。最初使用 DeFi的主要目的是借贷,在这里我主要提到的是 Compound (MakerDAO和 DAI实际上要更加复杂一些,而不是借贷这个词可以被简单地概括为借贷,尽管它以借贷的形式出现)。随后,保证金交易即杠杆交易也被推广,先行者应该属于 dYdX。目前许多去中心化交易所都有保证金交易的功能,包括 DDEX。合成资产交易功能,也就是非实物结算的衍生产品交易,现已出现。就像 Synthetix平台一样,衍生产品可以合成比特币价格。如今,有一个有趣的操作,你可以把自己 ETH的一部分换成 DAI,存入 Uniswap,以获取 Uniswap的手续费收入,而另一部分则通过保证金交易平台以双倍的价格买入 ETH,这样既不会错过 ETH的上涨收益(当然也会面临 ETH的下跌损失),又能获得一些手续费收入。DeFiZap提供了这种组合操作方式,免除了用户自行操作的麻烦。这类新兴产品,有些是独来独往的,比如 Synthetix,在它的系统中,所有合成资产的使用者都是其他使用者的对手;也有些反复验证“可组合性”,如 DeFiZap。不管怎么说,他们展示了 DeFi的活力,并且丝毫没有减弱的势头。3月12日 ETH价格大幅下跌,链上清算的压力很大,也出现了一些不尽如人意的情况,有一些朋友觉得有点幻灭,但我却丝毫没有这样感觉。挫败是不可避免的,因为无论产品的设计还是工程,都不会是完美的。总有些事情要经过真实生活的压力测试才能发现。如今, DeFi并没有揭示哪些问题是无法解决的,相反,它揭示了 DeFi的发展, DeFi在过去没有那么多清算需求,而现在已经有了。引用:以太坊生态很早就开始关注用户对区块链的体验。“用户体验”,总结起来就是入门用户在以太坊中的第一次上手时会问出的问题: Gas是什么?失掉了记忆条,钱就回不来了,是那么糟糕吗?在第一个问题上,现在有一种名为「元交易」(meta-transaction)的技术:用户首先签署一份有效的交易数据,然后把它发送给接受方,接受方确认数据的正确性后,作为真实的交易发送方发送交易,接受方通过一系列的合同操作来完成用户的交易目的,并向接受方付款。这一过程中, Gas的实际支付者是继任者,因此,只要用户和继任者达成协议,用户可以不使用 ETH支付费用,甚至无需支付费用(即继任者或 dApp自己补贴用户),对于第二个问题,一个解决方法是,这个问题本质上是由以太坊协议引起的,而协议层的账户体系并不支持用户比使用助记词和私钥更复杂的方式来管理其地址和资金。然而,智能合约的出现却不受这些限制。所以,用户可以使用一个他们自己能够控制的智能合约来管理资金,该智能合约可以支持一些预先定义的计划来取代智能合约的控制权,这样,就可以支持社交恢复计划(允许多个你信任的人使用地址集体帮助你替换合约的控制权,这样,即使你丢失了手机或私钥,仍然可以恢复对该合约和资金的控制,只要换地址即可),另外,另一个为人所知的用户体验改善方案是 ENS,它可以帮助用户用可读的. eth地址来表示他们的地址。因此在转帐时不必盯着不断比较收款地址,输入那个. eth地址即可(ENS还有其他的后缀)。最近,这些方法都集中在一种应用上:智能合约钱包。通过智能合约,用户可以拥有 ENS地址,还可以直接集成元交易功能,甚至支持社交恢复、每日转账限额等高级功能。目前,智能合约钱包领域正在蓬勃发展的两个项目: Argent和 Authereum。引用:以太坊2.0可能是大家最关心的领域,但也可能是信息最不受欢迎的话题。原因之一是以太坊2.0本身比较复杂。

提示:如果您觉得本文不错,请点击分享给您的好友!谢谢
相关推荐
新闻聚焦
猜你喜欢
热门推荐
 
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。