火星链 火星链
Ctrl+D收藏火星链
首页 > ADA > 正文

ETH:“无状态性”的重要性

作者:

时间:1900/1/1 0:00:00

来源|dankradfeist.de

作者|DankredFeist

大家在阅读本译文前,可以先了解一下状态膨胀以及无状态性的背景知识。

推荐一篇文章:《观点|状态膨胀和无状态性》?作者:阿剑

当前的以太坊1.0链最大的问题在于其状态大小。约为10-100GB(具体取决于其存储方式),对于许多节点来说,将其保存在工作内存中是不切实际的,因此会选择慢速固定存储。然而,硬盘速度过慢难以与以太坊区块保持同步(或是从创世区块开始同步),因此必须使用更加昂贵的SSD。这么说吧,当前的状态大小还不是最大的问题,而是状态的增长成本相对较低,并且会一直增长,即时我们提高状态增长的成本,也无法使状态占用者为网络实际受到的影响付费,而该影响是永恒存在的。

目前出现的解决方案主要围绕两个方向:

??状态租金:为了使状态保持在活动内存中,持续进行付费

??无状态性:区块保留所有的证明(witness),例如默克尔证明,因此在验证区块有效性的时候不再需要状态

在“无状态性”方向中,又有不同的概念值得探索:

??部分无状态性:只需要对某些(陈旧)状态提供见证,减少验证区块所需的状态数量

??弱无状态性:验证区块无需状态,但是提议区块需要完整状态

Vitalik在这篇文章中提出了如何将这些概念梳理成一个通用的框架,并且表示了部分无状态性和状态租金非常相似,因为两者在对活跃状态进行修改时都需要进行某种形式的支付,以及一份重新激活陈旧状态的证明。

“无聊猿”BAYC发布DooKey Dash官方技巧教程:金色财经报道,“无聊猿” BAYC 在社交媒体发布了其铸造游戏 DooKey Dash 的官方技巧教程视频,其中首次公开需要四个技巧才能在 Dookey Dash 游戏中更好驾驭“下水道”,分别是:1、早点冲刺并空出时间做出更好的反应来判断墙后是否有障碍;2、利用冷却时间重置冲刺;3、每次冲刺后都要记得赚取积分;4、使用Powershart Pack加速冷却时间。[2023/1/27 11:32:16]

如果你是Eth1的用户,那么你可能觉得只保留1GB或者甚至是100MB的活跃状态的部分无状态性是一项巨大成就,那为什么还要这么费劲地实现完全的无状态性?我认为完整(弱)无状态性释放了巨大的潜能,而这是部分无状态性无法做到的,因此我们要竭尽全力实现完全无状态性。

理解Eth2验证者

Eth1在过去一直被诟病其对硬件的要求非常高,虽然这些斥责并不都是公平的(经过挑选后的中等消费级硬件也可以运行Eth1节点),但我们需要重视这些事实,尤其是希望在不损害去中心化的前提下对以太坊进行扩容。对于Eth2来说,我们树立了非常宏大的目标:能够在低成本的硬件上运行Eth2节点和验证者,甚至是树莓派或智能手机。

这条通向扩容性的路径并不轻松。其他项目(例如EOS和Solana)则需要更高性能的硬件和网络连接。但我认为要保障去中心化,降低共识节点以及P2P节点的门槛是必要的。

在Eth2中,共识节点是验证者。Eth1和Eth2的共识节点存在非常重要的区别:

“无聊猿”BAYC交易额突破17亿美元:金色财经报道,最新数据显示“无聊猿”BoredApeYachtClub(BAYC)交易总额已突破17 亿美元,创下历史新高,本文撰写时为1,718,932,887美元,交易量达到27,651笔。BAYC开发公司YugaLabs推出ApeCoin后BAYC交易额近期出现大幅增长,此外 BAYC 当前地板价已反弹至109.99 ETH,24小时增幅达到5.78%。[2022/4/2 14:00:24]

??Eth1的共识节点是矿工。要为区块链“投票”,你必须要生产区块。也就是说,共识节点和区块生产者是不可分割的。

??Eth2或是当前的第一个阶段(信标链)中,提议区块和形成共识是两种不同的机制:每12秒由一个随机择出的验证者来提议区块,而共识是通过证明(attestation)形成的,每个验证者在每个epoch(每6.4分钟)对区块链进行投票。现在每几分钟都有超过十万的验证者在投票形成共识。区块生产者对共识(几乎)没有影响,他们只能对区块内包含的内容进行选择。

解除区块提议者与共识的关联开启了一个重要的设计空间。信标链从验证者集中随机选择区块提议者,而对于分片链,则不必如此:

??对于分片(尤其是Eth1执行分片)来说一种有趣的可能性在于,验证者能够进入生产区块的列表。这类验证者可能需要更高性能的硬件,可能也需要具有“完整”状态。

??另一个可能性也是我们目前正在为数据分片加以实现的,任何人都可以被选中提议区块,但是区块的具体内容不由提议者决定,不同的参与者可以通过竞价使其打包的区块被提议。

RealT首席运营官:DeFi的“无需信任”特性来自于抵押品:RealT首席运营官David Hoffman在最新一期播客节目中谈到了以太坊上的比特币(TBTC)的作用和反馈回路(feedback loop)现象。在谈到DeFi和抵押品的无需信任特性时,他表示:“无需信任来自于抵押品,为了让tBTC来到以太坊,以太坊合约上需要有ETH抵押品。因此,对于以太坊上每一个价值一枚比特币的tBTC,都有150%相当于一枚比特币价值的ETH作为抵押品。”Hoffman接着强调,这导致了以太坊被比特币用作抵押品,而不是反过来。(AMBCrypto)[2020/3/25]

在这两种情况中,弱状态验证意味着所有其他的验证者(不生产区块或决定区块内容的验证者)并不需要状态。这一点与Eth1截然不同:在Eth1中,对形成共识的节点(即矿工)的要求非常高,因此使他们保留完整状态似乎没有问题。但是在Eth2中,我们可能会大幅降低参与门槛,并且我们应该利用这一点来保障去中心化和安全性。

提议者成本较高可以理解

还有一点重要的反对观点可能是,如果区块提议的成本过高,那么去中心化也会受到损害,即使我们降低了验证者和P2P节点的门槛。但事情并非如此,“提议者”和“验证者”之间存在重要的差异:

??对于验证者,我们需要绝大多数是诚实的,即所质押的ETH中需要超过2/3。P2P节点的情况可能类似,但是就我所知并不需要一定比例的P2P节点必须是诚实的,但是为了确保总是能收到有效的链,每个人都需要连接至少一个诚实的P2P节点,这个比例大概是5%,在实践中可能更高。

V神:“无币区块链”只能用在私有链上:V神今晚在王峰十问表达了其对于关于“无币区块链”的看法。V神称:“对于无币区块链我并不乐观,首先,‘无币区块链’只能用在私有链上,只要你是一个公有链,就肯定需要激励。不管是在中国还是其他地方,我都看到了一些私有链项目,有些私有链项目声称已经投产了。实际上,这些私有链往往只有7个节点左右,而且所有这些节点都由同一家公司控制,所以基本上根本不是多中心化(分权)。”[2018/6/22]

??对于提议者,我们对于其是否诚实的要求低得多,与Eth1不同,Eth2的提议者不审查过往的区块(因为他们不投票),只能决定他们所提议的区块的内容。假设你的交易不是特别紧迫,如果95%的提议者尝试对其进行审查,那么第20个提议者仍然可以将其安全打包(但是低延迟的抗审查制度是另一回事,在实践中更难实现)。

这也是为什么相较验证者,我并不那么担心提高提议者的硬件要求。如果我们保持正常验证者的要求较低,那么提议者需要128GBRAM的PC来存储大型状态也没有问题。我担心的是,如果一台能够满足这些要求的PC价格为10万美元,但如果我们将其控制在5千美元以下,一旦发现审查,如果社区没有迅速引入更多提议者来做出反应是不合理的。

最后,还有一些其他的原因导致区块提议者可能需要更好的硬件设备,并且在获取MEV时也更有优势。

此处我使用“提议者”来指代打包区块的角色,这与正式签名并验证的角色并不一定是一致的,在rollups中他们可能是“序列器”(sequencer)。简单起见,我在此处将其称作提议者,因为如果仅向系统中引入一个只负责提议区块的新角色,我认为系统不会因此受到根本上的破坏。

中国电子认证服务产业联盟秘书长刘权:区块链的发展会带来未来“无项目可做”:金色财经现场报道,在中国人民大学法学院证据学研究所与e签宝主办的2018电子证据与电子签名研讨会暨区块链技术电子签名行业应用发展论坛上,区块链与数字货币就像互联网和互联网金融,对数字货币的管控和区块链没有任何关系。现在的区块链相当于94、95年的互联网,区块链技术的发展速度会两倍于互联网,最多三五年会看到真正落地的应用场景。未来区块链的大规模应用会消除信息不对称性,这会导致现阶段很多中介性质的项目的消失,大家要做好适应这种巨大变化的准备。[2018/5/30]

实现无状态的裨益

本文至此我还没有论证过为什么无状态性如此有力,在可执行信标链提案中,将状态从10GB缩减到1GB或100MB似乎能为验证者节省许多开销,那我们为什么还需要无状态性?

如果我们顺势走下去,可执行的Eth1区块可以成为一个分片。而在可执行信标链的提案中,所有的验证者都必须保持运行完整的Eth1执行(否则会面临签署无效区块的风险)。而分片不应具备这一属性,分片中签署一个区块只需要一个委员会(因此是验证者中的1/1024),并且其他人不需要信任该委员会的绝大部分验证者是诚实的,只要有一个诚实验证者在委员会尝试作恶时吹哨。而这只有在Eth1具备无状态性时才有可能:

??我们希望所有验证者的负载大致相等,并且没有极端的峰值。因此长时间(例如一个小时或一天)派遣某个验证者成为Eth1委员会成员,实际上是很糟糕的:这意味着就带宽要求而言,验证者的规模仍然必须能够与完整的Eth1链保持一致。此外,如果长时间使用同样的委员会(例如通过贿赂攻击),委员会变得更具攻击性

??我们希望能够简单地对Eth1区块给出欺诈证明,因为其他验证者将无法确定委员会是否正确完成了其工作。最简单的方式是区块成为其自身的欺诈证明:如果一个区块是无效的,广播区块本身就能证明发生欺诈。

因此在Eth1具备完整无状态性的前提下,Eth1可以成为一个分片(花费更少的资源来维护,例如1/100)。同时,只有这样我们才能在数据分片之外引入更多的执行分片。

缓存不总是挺好的吗?

那么如果我们进入完全无状态却引入了10MB的缓存呢?或是1MB?即使只想检查一个区块,也可以轻松下载,因为你已被分配到一个委员会,或者作为欺诈证明收到了该缓存?

你可以执行此操作,但是我们可以明显看到,如果大多数验证者仅验证单个区块,则不太可能是最佳的。假设我们的目标是1MB的区块,此外我们还有1MB的缓存,这意味着每当验证者想要验证一个区块时,他们都必须下载2MB的数据(包括区块和缓存)。他们必须每次都下载缓存,除非他们下载所有区块以保持最新的缓存,这正是我们要避免的事情。

这意味着,以1MB大小的区块和1MB的缓存相同的代价,我们可以将缓存设置为0并允许区块大小增加到2MB。

很明显2MB的区块至少与1MB的区块1MB的缓存一样有效。原因是,如果这是我们认为的最佳选择,那么2MB的区块可能只包含1MB的缓存,我们只需在每个区块上提交缓存,然后在下一个区块中重新引入完整的缓存即可。这可能不是区块中那1MB的最佳用途,但是你可以这样做。额外的1MB可以被更好地利用,以允许引入更多的见证(witness)。

二进制树还是verkletrie?

我认为总的来说,力争完整(弱)无状态性的声音压倒了部分无状态性或状态租金方案。这对用户的影响会更小:他们根本不必考虑状态。他们唯一要做的就是添加见证(以便P2P网络能够验证有效交易)。创建见证的成本非常低,以至于可以想象到会有许多相关服务。实际上大多数钱包已经依赖外部服务,不需要用户运行自己的节点。获取见证也只是一个微小的功能。

部分无状态性或状态租金,在完全弱无状态性的道路中增加了极大的用户体验障碍。但考虑到仅使用二进制默克尔树尝试实现无状态是非常困难的,并且要允许默克尔树证明需要对gas进行改动,而这会损害用户体验。

因此在我看来,我们现在应该往verkletries的方向努力。这使得我们可以具有小于1MB的可管理的证明,并且只有由EIP-2929提出的适度gas费用以及针对代码块收费。其缺点很容易得到控制,对用户几乎没有实际影响:

??开发者需要学习新的密码学原语

??添加更多非抗后量子密码学。第二点听起来很可怕,但是我们已经在Eth2中引入了KZG承诺以进行数据可用性采样,并且无论如何我们都在使用基于椭圆曲线的签名。需要对合并的Eth1和Eth2链进行一些后量子升级,目前没有可实践的后量子替代方案,因此我们不能停止前进。就采用而言,未来5年极为重要。摆在前面的道路就是竭尽所能,并在5-10年内,当STARK足够强大时,我们将对所有原语进行完全的后量子升级。

总的来说,verkletries可以解决接下来五年的状态问题。现在我们将能够实现完全(弱)无状态性,而对用户和智能合约开发者几乎没有影响。我们将能够提升gas上限(因为验证变得更快)和更多的执行分片,所有这些几乎都不会对安全性和去中心化产生影响。

最难啃的硬骨头是让每个人都理解KZG承诺和verkletries的工作方式。由于Eth2将使用KZG承诺来保证数据的可用性,大多数以太坊开发者都需要进行相关工作。

几乎没有影响,因为现在进行了细微优化以提高对某些平衡攻击(balanceattack)的抵御能力,平衡攻击确实使提议者能对分叉选择产生短期影响。

确切地说,如果区块生产者开始勾结并审查大量证明,可能会产生影响,但是单个区块的生产者对共识造成的影响完全可以忽略不计。

不诚实的委员会作恶可能会影响整个网络,并导致严重的延迟,但是引入无法无效/不可用的区块

想要自己运行节点的用户仍让能够借助外部服务来获取见证。这种操作是免信任的,因为在知道最近的状态根的前提下,见证就是它们自身的证明

点击“阅读原文”获取文章内部链接!

原文链接:https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html

ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ETH中文站。若需长期转载,请联系进行授权。

公众号:ETH中文站

网站:ethereum.cm

标签:ETH区块链ETH2以太坊ETHBN以下哪个不是区块链区块的结构ETH2币比特币最新价格行情以太坊实时行情

ADA热门资讯
ALCH:玩币少帅:比特币窄幅震荡多头上行无力,期权交割能否反转走势

币圈的投资朋友下午好,我们又开始见面了。回顾一下昨天的布局,利润虽然有但是空间不够可观,比特币700美金.以太坊50美金,整体上算是小胜怡情.

1900/1/1 0:00:00
EFI:波卡 DeFi 生态 7 大赛道一览

加入PolkaWorld社区,共建Web3.0!随着Rococo的发展,波卡的平行链功能上线在即。在波卡本身的功能逐渐完善的同时,波卡生态的发展也日新月异.

1900/1/1 0:00:00
COI:首发 | Filecoin生态项目投资指南(初章)

本文由火币DeFiLabs原创,授权金色财经首发。开篇概要本系列主要针对投资人,Filecoin生态参与者或者寻找新的方向的创业者,旨在提供投资方向和创业方向的思路,帮助大家充分理解Fileco.

1900/1/1 0:00:00
ORB:库币上线Orbs (ORBS)!

亲爱的库币用户:我们很高兴的宣布,库币将上线Orbs(ORBS)项目并支持交易对ORBS/USDT和ORBS/BTC.

1900/1/1 0:00:00
COIN:关于NFT的一些胡说八道

如果我想在公众号文章里贴一首歌,那么我会直接在后台曲库里进行搜索。麻烦在于,后台曲库属于QQ音乐,由QQ音乐去和各大音乐公司购买版权,那么就肯定有些歌根本找不到.

1900/1/1 0:00:00
BAL:BKEX Global 关于完成XYM空投发放的公告

尊敬的用户:BKEXGlobal现已完成XYM空投的发放。关于XYM上线时间以及开放充提的时间将以公告另行通知.

1900/1/1 0:00:00