区块链网站|NFTS Zcash(ZEC) V沈:我们能从以太坊的叉子中学到什么?

V沈:我们能从以太坊的叉子中学到什么?

广告位

V神长文:我们能从以太坊的岔路口中学到什么?

声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。

边肖:记得要集中注意力。

来源:鸵鸟区块链

维塔利克布特林

编译:玉米

制作人:鸵鸟区块链

盘点加密圈最值得期待的事情,以太坊的合并肯定会有一席之地。根据谷歌的趋势数据,“以太坊合并”的搜索量创历史新高。此外,谷歌还透露,最近“股权证明”(PoS)、“以太坊2.0发布日期”等关键词的搜索量也大幅增加。这些数据足以说明密码学家对以太坊的这条改造之路非常重视。当然,这种热度并不奇怪。毕竟以太坊的每一次道路决策都会在加密圈掀起一股浪潮,这次自然也是如此。

以太坊发展至今依然屹立不倒,离不开每一个岔路口的合理决策。但是,有支持就有质疑。就以太坊的这次合并,有人直接问:以太坊之前就出现了PoS机制。为什么以太坊一开始不选择PoS,现在却不遗余力地转型?

为了更好的解释这个问题,神V带来了一个关于以太坊道路选择的回答。今天就让我们跟随神V,看看以太坊选择不同的道路会是什么样子,有什么值得我们借鉴的地方。

以太坊的开发社区在以太坊的前期做了很多决策,对项目的发展轨迹影响很大。在某些情况下,以太坊开发者会有意识地改进我们认为比特币可能出错的地方。此外,我们正在创造一些全新的东西,我们需要拿出一些东西来填补空白。当然,有很多东西可以选择。此外,我们需要在更复杂的东西和更简单的东西之间进行权衡。有时候,我们会选择简单一些的,但有时候,我们也会选择复杂一些的。

本文将重点介绍以太坊经历过的一些分叉。以太坊的很多特性已经在核心开发圈认真讨论过了,当然也有一些几乎没有考虑过但应该考虑的特性。即便如此,我们还是有必要去看看一个不一样的以太坊会是什么样子,以及我们能从中学到什么。

我们应该使用更简单的PoS机制吗?

将在以太坊合并的Gasper PoS是一个复杂的系统,但也是一个非常强大的系统。它的一些属性包括:

非常强大的单块确认3354一旦一个事务被包含在一个块中,该块通常会在几秒钟内被最终确认。除非大部分节点不诚实或者存在极端的网络延迟,否则无法逆转。经济确定性——一个区块一旦定型,除非攻击者能成熟数百万ETH损失,否则无法恢复。非常可预测的奖励——验证者可以在每个历元(6.4分钟)获得奖励。支持非常大量的验证器——与其他大多数具有上述功能的链不同,以太坊信标链支持数十万个验证器(例如Tendermint提供比以太坊更快的最终确定性,但它只支持几百个验证器)。但是很难创建一个具有这些特征的系统。需要多年的研究,多年的失败实验,通常还要付出很多努力,最后的输出也相当复杂。

如果我们的研究人员不用花那么多精力在研究共识上,我们的大脑可以有更多的空闲时间,那么也许,仅仅是也许,2016年就可以发明Rollup。这就给我们带来了一个问题:我们真的要对PoS有这么高的标准吗?我们的PoS,甚至是更简单更弱的PoS版本,对PoW的现状会是一个很大的改善,不是吗?

许多人有一个误解,认为PoS本身是复杂的,但事实上,许多PoS算法几乎像中本聪PoW共识一样简单。我们可以从2017年开始,甚至从一开始就有一个运行良好的PoS。Gasper比这些算法更复杂的原因很简单,因为它试图完成比这些算法更多的工作,但如果我们一开始很谦虚,我们可以先专注于实现一组更有限的目标。

在我看来,一开始就进行PoS是一个错误的决定。PoW有助于扩大最初发布的范围,使以太坊变得可访问,并鼓励粉丝社区。但如果在2017年甚至2020年换成更简单的PoS,对环境的破坏(以及环境破坏带来的反加密心态)可能会大大降低,更多的研究人员可以自由扩展。我们需要花费大量的资源来达成更好的PoS共识吗?是的,越来越多的迹象表明,我们最终会选择一个更好的PoS共识。

碎片化的简化

自2014年开始研究以来,以太坊一直在朝着越来越简单的方向发展。首先,我们有内置执行和跨碎片事务的复杂碎片。然后,我们通过将更多的责任转移给用户来简化协议(例如,在跨切片交易中,用户需要分别为两个切片支付燃气费)。然后,我们切换到以汇总为中心的路线图。从协议的角度来看,碎片只是一个数据块。最后通过Danksharding把碎片化收费市场合二为一。最终的设计看起来像一个非碎片链,但在这里,一些数据可用性采样发生在幕后,以实现碎片验证。

但是如果我们走相反的路呢?其实以太坊也有一些研究人员深入探索了一个更复杂的碎片系统:碎片会是一个链,根据母链的fork选择规则会有子链,跨碎片的消息会通过协议路由,碎片之间会转换验证器,甚至dapp会自动实现碎片之间的负载均衡!

这种方法的问题是,这些形式的碎片化很大程度上只是想法和数学模型,而Danksharding是一个完整的规范,几乎可以在任何时候实现。所以考虑到以太坊的环境和局限性,在我看来,切分的简化和消歧绝对是正确之举。也就是说,雄心勃勃的研究也起着非常重要的作用:它决定了一个有前途的研究方向。即使非常复杂的想法通常也有“相当简单”的版本,这仍然可以提供许多好处。而且很可能对以太坊未来几年的协议发展(甚至是第二层协议)产生重大影响。

EVM特色精选

实际上,除了安全审计之外,EVM的规范基本上可以在2014年年中出台。然而,在接下来的几个月里,我们继续积极探索我们认为对区块链去中心化应用非常重要的新特性。有的没考虑,有的考虑了。

我们考虑过添加POST操作码,但最终决定不这么做。POST操作码将进行异步调用,该调用将在事务的其余部分完成后执行。我们考虑过添加一个报警操作码,但最终决定不这么做。ALARM的功能类似于POST,只不过它在一个future块中进行异步调用,允许契约安排操作。我们添加了日志,允许契约输出不涉及状态,但可以被dapp接口和wallet解释的记录。值得注意的是,我们也考虑过让ETH transfer生成日志,但最终决定反对——,理由是“人们很快就会转向智能合约钱包”。我们考虑过扩展SSTORE来支持字节数组,但由于复杂性和安全性的考虑,我们最终决定放弃。我们添加了预编译,这是一个使用本地实现来执行特殊加密操作的契约。天然气的价格比EVM低得多。现在看来,大多数不增加更多功能的决定都被证明是非常好的决定。没有明显的理由添加POST操作码。ALARM操作码实际上很难安全实现:如果块1中的每个人都.99999在报警中设置一个,在块10万中执行很多代码?这个区块需要几个小时处理吗?一些预定的操作会被推迟到后面的区块吗?但如果出现这种情况,有什么保证可以保持报警?对于字节数组来说,SSTORE很难安全地完成,并且在最坏的情况下会大大扩展见证的大小。

状态租金的问题更具挑战性:如果我们从第一天开始就实际实施某种状态租金,我们不会让智能契约生态系统围绕持久状态的标准化假设发展。以太坊将更难建造,但它可能有更好的可扩展性和可持续性。同时,我们当时的身份到期方案确实比现在的差很多。有时候,好的想法需要数年才能形成,没有更好的解决方案。

日志的可选路径

日志记录有两种不同的方式:

1.我们可以让ETH transfer自动发布日志。这将为交易和许多其他用户节省大量的精力和软件漏洞,并将加快每个人对日志的依赖,这将有助于智能合约钱包的采用。

2.不使用LOG操作码,我们可以把它变成一个ERC:会有一个带有submitLog函数的标准契约,使用以太坊存款契约的技术计算这个块中所有日志的Merkle根。无论是EIP-2929还是块范围存储(相当于TSTORE,但在块之后清除)都可以使它变得便宜。

我们认真考虑了第一种,但最终决定反对。主要原因是简单:只从LOG操作码记录更容易。我们预测大部分用户可以快速迁移到智能合约钱包也是非常错误的,这个过程可以直接用操作码记录转账。

第二个以前没考虑过,但现在回想起来,一直是一个选项。第二种方法的主要缺点是缺少快速扫描日志的Bloom filter机制。但事实证明,Bloom filtering机制太慢,对dapp不太友好,所以现在越来越多的人使用Graph来查询。

总的来说,这两种方法中的任何一种都可能优于目前的情况。在协议之外保存日志会使事情更简单,但是如果它在协议之内,自动记录所有ETH传输会使它更有用。

如今,我可能倾向于同意最终取消EVM的LOG操作码。

如果EVM选择了一条完全不同的道路呢?

EVM可以走两条完全不同的自然道路:

1.让EVM成为高级语言,使用内置变量、if语句、循环等结构。

2.使EVM成为一些现有虚拟机(LLVM、WASM等)的副本。)

人们从未真正考虑过第一条道路。这条道路的吸引力在于,它可以使编译器更简单,并允许更多的开发人员直接在EVM编码。它还可以简化ZK-EVM的建设。这种路径的缺点是会使EVM码的结构更加复杂:它不是一行操作码的简单列表,而是需要以某种方式存储的更加复杂的数据结构。也就是说,我们错过了一个两全其美的机会:在保持EVM基本架构基本不变的情况下,EVM的一些改变可以给我们带来很多好处。

第二种方法已被提出并被多次否决。一般来说,它允许程序从现有语言(C,Rust等)编译成EVM。).反对意见一直是,考虑到以太坊的独特局限性,它实际上不会提供任何好处:

来自高级语言的现有编译器通常不关心总的代码大小,而区块链代码必须进行优化以减少每个字节的代码大小。我们需要VM的多个实现,并且有一个硬性要求,即两个实现决不能以不同的方式处理相同的代码。对不是我们写的代码进行安全审计和验证会更加困难。如果VM规范改变,以太坊要么一直更新,要么越来越不同步。因此,对EVM来说,可能永远不会有与我们今天的道路完全不同的可行道路。虽然有很多小细节(跳转,64位vs 256位等。),如果采用不同的方法,可能会产生更好的效果。

ETH是否应该有不同的分配?

当前的ETH供应大致可由下图表示:

目前ETH约有一半在以太坊公募销售。任何人都可以将BTC发送到一个标准化的比特币地址,初始的ETH供应分配是通过一个开源脚本计算的,该脚本扫描比特币区块链的交易地址。其余大部分是通过采矿获得的。黑色部分的1200万ETH标为“其他”,实际上是“premine”(预挖部分)。3354是以太坊基金会和以太坊协议约100个早期贡献者之间分配的配额。

对这一过程有两种主要的批评:

预掘和以太坊基金会对公款的控制不具备可信的中立性。一些受款人地址是通过关闭的流程手工选择的。必须相信以太坊基金会不会通过贷款的方式用公募得来的资金去获取更多的ETH(我们没有,也没有人声称我们有,但是连完全信任的要求都会得罪一些人)。过度挖掘奖励了早期贡献者,而留给后期贡献者的奖励太少。预挖的75%用于奖励发布前贡献者的工作,而发布后以太坊基金会只剩下300万ETH。在6个月内,为经济生存而出售的需求减少到大约100万ETH。在某种程度上,这些问题是相关的:最小化中心化导致更小的预挖掘,更小的预挖掘更快地耗尽。

这不是唯一的解决方案。Zcash采用了一种不同的方法:将块奖励的20%分配给协议中一组硬编码的接收者,这组接收者每四年重新协商一次。这本来可以继续下去,但会因为过于集中而受到更严厉的批评(Zcash社区似乎比以太坊社区对更多的技术专家更开放)。

一个可能的替代路径类似于目前在一些DeFi项目中流行的“从第一天开始使用DAO”的路径。这里有一个可能的稻草人提议:

我们同意在2年内,每个区块的2 ETH区块奖将进入发展基金。任何在以太坊销售中购买ETH的人都可以投票选择自己喜欢的发展基金分配方式(比如“每块给邰方基金会ETH,给Consensys研究团队0.4 ETH,给Vlad Zam fir 0.2 ETH……”)。投票接受者从发展基金中获得的份额等于每个人投票的中位数。按比例,每块的总数等于2 ETH(中位数是为了防止自我交易:如果你投给自己,你将一无所获,除非你能让至少一半的人提到你)。交易可以由法人实体操作,法人实体承诺将交易过程中收到的比特币按照与ETH发展基金相同的比例进行分配(或者如果我们真的想让比特币用户开心就烧掉)。这可能导致以太坊基金会和非以太坊基金会团体的大量资金(导致生态系统更加分散),所有这些都不会破坏可信的中立性。当然,主要缺点是代币投票确实不好,但其实我们可以意识到,2014年还是一个早期的、理想化的时期。象征性投票最严重的缺点是,它直到公开发行结束后很久才开始发挥作用。

会不会是一个更好的想法,开一个更好的先例?有可能!虽然事实上,即使发展基金是完全可信和中立的,但如今,为以太坊预掘呐喊的人,很可能已经开始为道岔呐喊两倍的声音了。

我们能从这一切中学到什么?

总的来说,有时候我觉得以太坊最大的挑战来自于两个愿景——一个是纯粹简单的区块链,看重安全性和简单性,另一个是构建高级应用的高性能、功能性平台。上面的例子很多只是一个方面:我们是功能更少,更像比特币,还是功能更多,更适合开发者?我们是担心让开发资金变得更中性,更像比特币,还是首先担心确保开发者获得足够的奖励,让以太坊变得更好?

我个人的梦想是尝试同时实现这两个愿景。——一个规范一年比一年小的基础层,一个以第二层协议为中心的强大且开发者友好的高级应用生态系统。也就是说,要实现这样一个理想的世界,还需要很长的时间,需要我们一步一步去思考路线图,或许对我们有很大的帮助。

现在,有许多事情我们不能改变,但也有许多事情我们仍然可以改变,仍然有一种可靠的方法来提高功能性和简洁性。有时,这条路是曲折的:我们需要首先添加一些复杂性来实现碎片化,这反过来又在其上实现了大量的第2层可伸缩性。也就是说,降低复杂度是可能的,以太坊的历史已经证明了这一点:

EIP-150使得调用栈深度限制变得无关紧要,这减少了合同开发者的安全顾虑。EIP-161将“空账户”的概念与具有零字段的账户分开。EIP-3529删除了部分退款机制,使汽油代币不再可行。此外,正在酝酿的想法,如Verkle树,可以进一步降低复杂性。但未来如何更好地平衡这两种愿景,是我们应该积极思考的问题。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/zec/1453.html

作者: 八仙渡海口

上一篇
下一篇

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部