过期状态复活方法比较

状态保质期是目前解决状态增长问题的推荐方案。

在本文中,我们将状态保质期视为一种会定期让完整状态树失效的机制。本文将讨论如何存储之前的周期(period),因为我们的关注点就是如何复活已经被遗忘的状态 —— 无论 n=0 还是 n=1。

以下总结了一些机制提案:

顾名思义,“清空” 就是什么都不剩:过了保质期的状态会立马失效,如果用户需要使用已失效状态中的部分数据,必须提供对应的见证数据(witness)。请注意,若要读取或写入还未在有效状态中初始化的部分,用户 必须 提供证明:要么是一个除外证明(exclusion proof)来表明这部分数据在之前任意时刻都没有初始化,要么是一个具体时间点的证明,然后再提供一个除外证明来表明这部分数据在这个时间点之后没有改变过。

香港特区行政长官李家超、中联办将出席Web3.0协会成立典礼:4月11日消息,香港特区行政长官李家超、北京中央驻港联络办公室领导将出席今日在香港交易所举行的Web3.0协会成立典礼,以显示北京中央及特区政府的支持。

此前消息,多个行业领导人和立法会议员组成的香港Web 3.0 协会将于本月11日正式成立,组成者包括金融界和科技界重量级人物,并计划设立Web3Hub基金。(香港中通社)[2023/4/11 13:56:06]

非常简单

除外证明的大小会随时段数量呈线性增长,让初始化状态数据的成本变得异常高

上周以太坊Layer 2网络消耗超320亿gas,创历史最高单周记录:1月17日消息,Dune Analytics 数据显示,以太坊 Layer 2 网络在 1 月 9 日至 1 月 15 日的一周内消耗超 320 亿 gas 来验证和激活桥接交易,同比增长 22.8%,并创下迄今为止历史最高单周 gas 消耗记录。 其中 Arbitrum 和 Optimism 链上活动明显增加,截至 1 月 15 日,两个 Layer 2 链上总交易量达到 120 万笔,而以太坊链上交易量则约为 100 万笔,在 gas 消耗占比方面,Optimism 贡献了大约 50% 的 gas 消耗,其次是 Arbitrum,占比约为 30%。[2023/1/17 11:17:22]

逃避了地址冲突问题

数字资产管理器Kunji完成种子轮融资:8月2日消息,数字资产管理器Kunji宣布完成种子轮融资,但融资金额和投资方信息均未公开,仅透露一批私人投资者和天使投资人参投。Kunji 为投资者创建加密货币投资池(DAP-Digital Asset Pool),其仪表板功能可以查看投资池列表,其中会展示投资策略、风险和池收益历史表现等信息,投资者通过判断分析后选择一个或多个池进行投资。(Yourstory)[2022/8/2 2:53:13]

清空元数据的主要问题在于,初始化新的状态元素会产生很高的成本。通过让地址带上周期标记,以太坊协议可以创建一种机制来避免在初始化新的状态数据时产生地址冲突。鉴别器会设定账户最少能够存活到哪个时段。目前有两种方法可以实现 PWA:

Optimism治理代币OP或于今日推出并上线多个中心化交易所:5月31日消息,根据第三方的多个公告,Optimism即将推出的治理代币OP可能会在今天推出,并将上线中心化交易所。

包括OKX、LBank、MEXC和AAX在内的几家交易所已经发布了官方公告,宣布计划在今天晚些时候在不同时间上线OP代币。截至目前Optimism还没有发表官方声明。(The Block)[2022/6/1 3:53:59]

Vitalik 的文章

Ipsilon 的文章

太长不看:同时允许传统的 20 个字节的地址和 32 个字节的 ASE 前缀地址存在。在以太坊虚拟机中创建一个环境变量来修改涉及地址的操作码的行为,具体视相关地址是传统地址还是 ASE 地址而定。

新的状态无需证明即可初始化。

可扩展以保存其它元数据。

解决地址冲突问题。

需要对 EVM 进行大量修改。

需要创建两种不同的 EVM 环境,分为传统模式和扩展模式。

转换映射将无限增长(与传统环境中使用的长地址数量呈线性关系),而且无法用过期机制来抛弃似乎是可以有过期机制的,只不过(抛弃数据后)要承担一些地址冲突的风险。

用户体验不佳,因为用户可以将资产存储在三种类型的地址上(短地址、长地址、压缩地址)。

并非所有 Solidity 编译的合约的掩码地址都有 160 位,因此一些合约的地址可能会存在高阶脏位(dirty upper bit)。

(点击此处,查看 Ipsilon 的完整分析。)

Vitalik 的文章

太长不看:找到一个未使用过的 4 个字节的前缀,并禁止在旧规则下使用该前缀创建新的合约/地址。旧合约在传统模式下执行,只可根据旧规则创建新的地址。新类型的合约在 PWA 模式下执行,只可创建新的合约(其中,开头 4 个字节是预先选好的前缀,第 5 - 6 个字节代表当前时段,第 7- 20 个字节照例代表地址。)

对 EVM 的修改相对较少。

不需要转换表,用户只需要考虑一种地址。

不会破坏现有工具(不过它们显示的可能是异或地址(xor'd address)而非原像?)

发生地址冲突的概率较高,不再有反事实合约。

不是一个很有吸引力的解决方案,可能会让地址扩展变得越来越难。

这个想法应该还没有被正式定义(就算有也只是在 @adietrichs 的脑中),但它的大体思路是在状态树中的账户对象处增加一个新的字段来表示创建时间。这样可以解决因除外证明而导致新的存储项初始化成本过高的问题(尤其是在假设合约是为了在每个周期部署新的子合约而编写的情况下),但是不会改善为创建新账户而创建新账户的问题。

如果是新合约,无需证明即可初始化新的存储项。

非常简单。

不会因为外部映射而导致状态无限增长。

不会破环现有工具。

逃避了地址冲突问题。

创建新账户的成本很高,需要除外证明来表明该账户自周期 0 以来就不存在。

这个想法也没有被正式定义,大体思路是引入一个新的注册表树来存储状态保质期的元数据。这个注册表不会过期,并且会存储合约的创建时段。另外,它还可以存储其它信息,如存储项的总数量。只要有效存储量等于合约的总存储量,合约时段就可以升级成当前时段。类似方案也可以应用于 EWA 提案,但是需要修改状态树。

不会破坏现有工具。

新的状态树结构。

无限增长(与使用中的地址数量呈线性关系)。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:0ms0-1:505ms