干货 | 如何复活已经被遗忘的状态?过期状态复活方法比较_CBD:BITPAY币

原标题:《干货|过期状态复活方法比较》

感谢?@adietrichs?对本文的审阅。

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

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

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

清空

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

Binance Pay与拉美Credencial Payments达成合作,允许用户实时使用加密货币付款:6月8日消息,Binance首席执行官CZ在社交媒体援引ambito新闻表示,Binance Pay与拉丁美洲Credencial Payments达成合作,后者将为商家提供Binance Pay的新的支付方式,客户将能够通过Credencial Payments实时使用加密货币付款。[2023/6/8 21:24:07]

非常简单弊

除外证明的大小会随时段数量呈线性增长,让初始化状态数据的成本变得异常高逃避了地址冲突问题

KZG仪式将再次开放公众贡献,暂时允许1月13日前至少发送128笔交易的用户参与:4月17日消息,据KZG仪式协调员、以太坊研究员Carl Beek发推称,KZG仪式将再次开放公众贡献,由于lobby变得很大,此次将设置一定限制:从非常高的nonce要求开始,将继续减少它们。目前,在2023年1月13日之前至少发送128笔交易的14%的用户可以参与,当lobby不拥挤时,会降低要求,以便新用户参与。[2023/4/17 14:08:09]

带周期标记的地址

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

Babylon推出“Open Gallery” 开放图库服务:金色财经报道 Babylon宣布推出“Open Gallery” 开放图库服务,世界各地的任何艺术家都可以在以前仅策划的平台上展示和销售他们的作品,不过用户先创建一个Babylon账号并通过验证,一旦通过验证,他们就可以根据自己的条件自由创建、设置和安排空投。需要注意的是,在Babylon上架作品会被收取5%的上市费用,艺术家也可以支付超过最低5%的费用以更加突出地展示作品,从而提高其知名度和销售潜力。[2023/4/5 13:45:42]

地址空间扩展

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

BitMEX创始人:更多流动性不足公司将出售未锁定资产,山寨币可能还会下跌 50% 以上:6月17日消息,BitMEX 创始人 Arthur Hayes 在最新文章中指出,如今许多加密公司以高利率从零售持有者那里借入短期资金,并将其长期锁定在 DeFi 收益农业策略中。当零售用户最近要求返还资金时,期限错配摧毁了这些公司的商业模式。这些公司被迫吐出任何未锁定在某些长期收益策略中的资产,将发生更多不加选择地出售其贷款账簿上所有流动资产的情况,以会将资产返还给他们的零售储户。

在接下来的 6 到 12 个月内,法定流动性状况将是残酷的,很多对冲基金和其他加密货币企业在清盘或严重缩减其活动的情况下清算头寸,这些代币可能会再下跌 50% 或更多。[2022/6/17 4:33:31]

新的状态无需证明即可初始化。可扩展以保存其它元数据。解决地址冲突问题。弊

需要对EVM进行大量修改。需要创建两种不同的EVM环境,分为传统模式和扩展模式。转换映射将无限增长,而且无法用过期机制来抛弃似乎是可以有过期机制的,只不过要承担一些地址冲突的风险。用户体验不佳,因为用户可以将资产存储在三种类型的地址上。并非所有Solidity编译的合约的掩码地址都有160位,因此一些合约的地址可能会存在高阶脏位。

免扩展的PWA

Vitalik?的文章太长不看:找到一个未使用过的4个字节的前缀,并禁止在旧规则下使用该前缀创建新的合约/地址。旧合约在传统模式下执行,只可根据旧规则创建新的地址。新类型的合约在PWA模式下执行,只可创建新的合约

新的状态无需证明即可初始化。对EVM的修改相对较少。不需要转换表,用户只需要考虑一种地址。不会破坏现有工具而非原像?)弊

发生地址冲突的概率较高,不再有反事实合约。不是一个很有吸引力的解决方案,可能会让地址扩展变得越来越难。

周期元数据

状态树元数据

这个想法应该还没有被正式定义,但它的大体思路是在状态树中的账户对象处增加一个新的字段来表示创建时间。这样可以解决因除外证明而导致新的存储项初始化成本过高的问题,但是不会改善为创建新账户而创建新账户的问题。

如果是新合约,无需证明即可初始化新的存储项。非常简单。可扩展以保存其它元数据。不会因为外部映射而导致状态无限增长。不会破环现有工具。弊

逃避了地址冲突问题。创建新账户的成本很高,需要除外证明来表明该账户自周期0以来就不存在。

外部时段注册表

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

新的状态无需证明即可初始化。可扩展以保存其它元数据。不需要转换表,用户只需要考虑一种地址。不会破坏现有工具。弊

新的状态树结构。无限增长。逃避了地址冲突问题。

原文链接:

https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607

作者:matt

翻译&校对:?闵敏&阿剑

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

金宝趣谈

[0:15ms0-7:378ms