广告

以太坊新思路“reGenesis”

Eth1.x:无状态以太坊新思路“reGenesis”

这周我们将对技术树 (tech tree) 进行更新,为以太坊1.x研发添加一些新的主要里程碑,这些里程碑并不算是无状态以太坊的完整实现,而是我们在中期能够合理实现的目标。

其中最重要的更新是Alexey的reGenesis提案。虽然这是远未规范化的更新,但是从研发的角度来看,reGenesis为“完全无状态”的终极目标提供了一种更保守更切实可行的路径。在其他方面与reGenesis互补的技术是静态状态网络,能够帮助在比特流 (bittorrent) 式的基于DHT的网络中传播状态快照和历史链数据。

同时,一些距离我们比较近的目标已经在为EIP化做准备,例如代码分块 (code merkleization) 和状态二进制树。在本文中,我会为大家阐明已经实现的进展,并且附上链接,以便读者深入了解感兴趣的领域。

二进制树

目前以太坊使用十六叉Patricia默克尔树来编码状态,但如果转变为二进制式会带来显著的效率提升,尤其是在见证大小这个方面。对以太坊状态进行完全重新编码需要制定新范式,以及清晰的过渡策略。最后,还需要决定是否将智能合约代码分块,并且将该过程合并到二进制树过渡中还是作为独立更新。

二进制树范式

与当前的十六叉树结构相比,二进制树的概念要简单一些。十六叉树从树根遍历到子节点有十六条可能路径,二进制树只有两条。随着状态树的重新规范,我们有机会解决以太坊运行五年以来显著的低效问题。此外,我们也有机会使状态更适应现实世界中数据库编码的性能挑战 (在上一篇有关状态增长的文章中有提到)。

有关正式二进制树规范和分块规则的讨论可以参见ethresearch.

过渡到二进制树

重要的不仅仅是二进制树范式这个目的地,旅途本身也非常有价值!在理想的过渡过程中,不会对网络的交易处理产生干扰,也就是说客户端将需要在处理每十五秒出现的新区块的同时构建新的二进制树。

目前看起来最有希望的过渡策略被称为“覆盖”法,该方法部分基于geth的新快照同步协议。总的来说,新的状态改变会以二进制范式被添加到现有的十六叉树中,也就是说在过渡过程中会存在二进制和十六进制混合体。不受影响的状态会被转换为后台处理。一旦完成转换,这两层会被合并到一个二进制树中。

请务必注意,客户端多样性在二进制转换过程中也起到了非常重要的作用。每个客户端将需要实现自己的过渡版本,或是依靠其他客户端进行转换,然后在另一端等待新的树。

这需要我们“三思而后行”,所有客户端需要协同工作来进行测试并协调转换。出于安全性的考量,在过渡过程中网络有可能需要短暂停止服务 (例如挖出一些空块),但是目前就任何具体计划达成共识还为时尚早。

代码分块

以太坊状态树的很大一部分由智能合约代码组成,约占50GB状态的1GB左右。所有用于智能合约交互的见证 (witness) 都必须提供其交互的代码,以计算codeHash, 而这可能产生大量额外数据。

代码分块 (Code Merkleization) 旨在将合约代码切分为较小的块,然后将codeHash替换为另一个默克尔树根。这种方式使得我们可以使用参考哈希来替代见证中潜在的大部分智能合约代码,从而省去数千字节的见证数据。

进行代码分块有多种方式,按复杂度来看,比较简单的就是通用分块 (例如每块大小64字节),而较为复杂的方式就是基于Solidity functionId或JUMPDEST指令的静态分析。最优的代码分块策略最终还是取决于是否适用于从主网收集到的真实数据。

reGenesis

要了解reGenesis提案的最佳去处是@mandrigin给出的解释,以及@realLedgerwatch提交的完整提案,概括来说reGenesis基本可以说是“区块链的大扫除”。完整的状态将从概念上分为“活跃”和“非活跃”状态。整体“活跃”状态会按一定周期被停用,然后新的交易会再次几乎从零开始建立新的活跃状态 (因此被称作“reGenesis”)。

如果交易需要之前的状态,将会提供一个见证,这非常类似于无状态以太坊所需的证明:证明状态更改与某个非活跃状态相一致的默克尔证明。如果一笔交易需要状态的“非活跃”部分,它将自动将其转变为为“活跃”状态 (无论交易是否成功),这该部分将会留至下一次reGenesis发生。

这样做的一个好处在于,在使用状态时创建一些经济限制,而实际上不会删除任何状态。其次,如果交易发送方盲目地反复试图交易,则无法生成见证。

关于reGenesis的意义,它使得以太坊朝着终极的无状态目标跨进了一大步,并且避开了要实现无状态面临的最大挑战,即EVM执行时如何计算见证的gas。同时它还使得某个版本的交易见证能够在网络中传播,让更轻量级的客户端和dapp开发者能够有更多机会熟悉无状态范式和见证生成。

reGenesis之后“真正的”无状态性就只是程度上的问题了:无状态以太坊其实只是每个区块之后的reGenesis。

状态网络

从一开始,网络协议的优化只是技术树中的一个“支线任务”,但随着reGenesis进入无状态以太坊的版图,为分享以太坊链数据 (包括状态) 探索替代的网络原语也成为了主线任务。以太坊当前的网络协议是一个整体,但事实上有多种类型的数据能够通过不同的“子网络”来进行共享,而这些“子网络”能够满足不同的需求。

之前在无状态会议中讨论到这个话题时,我们称其为“三个网络”,基于DHT的网络能够更高效地服务于不常改变的数据类型。随着reGenesis的引入,“非活跃”状态能够被纳入这类不常变化的数据,从理论上来说也就能够适用于比特流式的swarm网络,而不是当前由全节点进行逐条广播。

自上一次reGenesis之后,在网络中传播不变状态的网络就是静态状态网络 (static state network),可以基于devp2p库 (以太坊网络协议) 中新的Discovery v5.1规范进行延展。

之前类似Merry-go-Round sync和更为成熟的SNAP protocol,可用于同步活跃状态,是迈向完全分布式动态状态网络的重要步骤,使得客户端能够快速同步完整状态。

24小时热点

BIBOX交易所无耻收割,限制提币

全球排名第6的Bibox虚拟币交易所违法运营,无耻收割,限制 ...

77938

CCFOX

满币交易所彻底崩盘

满币交易所彻底崩盘 「实锤」“满币网”高 ...

29651

T网

十大传销盘之:MASK币

MASK币 女装大佬开的项目,价格已经惨不忍睹 ...

108035

中国虚拟币排名

icp币怎么样?icp币的未来前景怎么样?

ICP币是近年来备受瞩目的数字货币之一,它是互联网计算机协议 ...

39877

Dune Analytics

元宇宙深度剖析报告:揭秘虚拟世界的投资机会与风险

近期,"元宇宙"概念爆火,成为科技圈和资本市场的热门话题。众 ...

8622

CollinStar

全面解析以太坊挖矿视频教程

以太坊挖矿需要准备硬件平台、挑选挖矿显卡、准备系统驱动及软件 ...

6624

波场区块链浏览器

Dogwifhat (WIF)大幅飙升52%突破2美元 应该购买3个Solana生态迷因币

Meme币作为高风险、高波动又高回报的代币,其价格常常受市场 ...

26429

Business2Community

WBTC币(Wrapped Bitcoin)在那里下载?

WBTC(Wrapped Bitcoin)是一种基于以太坊网 ...

6421

Curve

元宇宙原力币未来潜力惊人,拉多先生:Forcecoin并不是作为一种替代币而诞生的

现如今加密货币的世界当中,每一个币种都会有着独自的价值,其中 ...

61771

波场区块链浏览器

Dogecoin狗狗币再次市值超越Cardano 迷因币季节到来要买哪些币可以是千倍币?

Dogecoin市值再次超越Cardano一事引发业内关注。 ...

7671

Business2Community
广告

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2302429

Opera House

最全的NFT发展史

当我们理解一个新生事物,必须要首先了解其起源,通过对其源头以 ...

1741884

iBox

“华英会”诈骗圈钱5000亿!崩盘后将会凄惨无比

“华英会”崩盘的预警已多次发出,尽管尚未正式宣布崩盘,但大家 ...

1267346

Magic Eden

什么是IDO?这种模式会带来怎样的影响?

要理解IDO(Initial DeFi Offering)初 ...

1142184

Bitstamp交易所

有黑客采取新型 USDT 假充值手法

根据慢雾区情报,有黑客采取新型 USDT 假充值手法,黑客采 ...

996155

区块链博客

4种利用永续合约资金费率套利的策略

下文将介绍在保持市场中立的条件下,如何从永续掉期资金费率中套 ...

902904

DCG区块链孵化器

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

817844

BitKeep钱包

国内NFT平台是怎么赚钱的?

2021年被称为NFT的“元年”,互联网巨头、各大企业、艺术 ...

797900

CoinBene满币网

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

747742

T网

宝二爷郭宏才的乘风破浪之旅

10年后的比特币会涨到10万美元吗?宝二爷说过:“先吹吹牛B ...

705946

QuillAudits