状态保质期是目前解决状态增长问题的推荐方案。
在本文中,我们将状态保质期视为一种会定期让完整状态树失效的机制。本文将讨论如何存储之前的周期,因为我们的关注点就是如何复活已经被遗忘的状态——无论?n=0?还是?n=1。
以下总结了一些机制提案:
清空
顾名思义,“清空”就是什么都不剩:过了保质期的状态会立马失效,如果用户需要使用已失效状态中的部分数据,必须提供对应的见证数据。请注意,若要读取或写入还未在有效状态中初始化的部分,用户?必须?提供证明:要么是一个除外证明来表明这部分数据在之前任意时刻都没有初始化,要么是一个具体时间点的证明,然后再提供一个除外证明来表明这部分数据在这个时间点之后没有改变过。
加拿大央行:加拿大人使用CBDC的“动力较弱”:金色财经报道,加拿大央行的一份新论文称,典型的加拿大人没有理由采用央行发行的数字货币,这可能会导致其采用出现问题。在8月10日发布的这份员工讨论文件中,该行发现大多数消费者使用数字货币的 \"动力不足\",因为加拿大人在使用银行账户或借记卡和信用卡等金融服务方面并不面临重大障碍。该文件称,98%的加拿大成年人拥有银行账户,87%的人拥有信用卡,90%的农村和城市家庭能够使用高质量的互联网。[2023/8/11 16:20:11]
利
非常简单
弊
除外证明的大小会随时段数量呈线性增长,让初始化状态数据的成本变得异常高
央行:加强对虚拟货币等新型领域风险防范:4月14日消息,中国人民银行支付结算司司长温信祥4月14日在国新办新闻发布会上表示,要加强对虚拟货币等新型领域风险防范,全方位堵截犯罪资金。展望下一步,温信祥表示,人民银行将组织金融行业以更严的要求、更高的标准贯彻落实党中央、国务院决策部署,指导商业银行、支付机构、清算机构全面落实金融行业打防管控“资金链”治理各项措施。(中证报)[2022/4/14 14:24:02]
逃避了地址冲突问题
带周期标记的地址
清空元数据的主要问题在于,初始化新的状态元素会产生很高的成本。通过让地址带上周期标记,以太坊协议可以创建一种机制来避免在初始化新的状态数据时产生地址冲突。鉴别器会设定账户最少能够存活到哪个时段。目前有两种方法可以实现PWA:
加拿大央行:基准利率维持在0.25%不变,2022年通胀预期上调至4.2%:1月26日消息,加拿大央行宣布将基准利率维持在 0.25% 不变,2022 年通胀预期上调至 4.2%。同时表示,至少在开始提高政策利率之前,将保持其资产负债表上持有的加拿大政府债券大致不变。(金十)[2022/1/27 9:15:29]
地址空间扩展
Vitalik的文章
Ipsilon的文章
太长不看:同时允许传统的20个字节的地址和32个字节的ASE前缀地址存在。在以太坊虚拟机中创建一个环境变量来修改涉及地址的操作码的行为,具体视相关地址是传统地址还是ASE地址而定。
Cronos Labs推出NFT市场Minted并与Crypto.com达成合作:金色财经报道,由Cronos Labs推出的NFT市场Minted于周四推出,并表示已与交易所巨头Crypto.com建立合作关系。作为其合作伙伴关系的一部分,Minted将促进最初在Crypto.com上出售的基于Cronos的NFT的所有二级交易。该市场允许用户以平台的原生代币$MTD的形式列出他们基于以太坊的NFT以获得奖励。然后可以将$MTD质押一段时间以赚取收益。(theblock)[2022/8/12 12:19:39]
利
新的状态无需证明即可初始化。
可扩展以保存其它元数据。
解决地址冲突问题。
弊
需要对EVM进行大量修改。
需要创建两种不同的EVM环境,分为传统模式和扩展模式。
转换映射将无限增长,而且无法用过期机制来抛弃似乎是可以有过期机制的,只不过要承担一些地址冲突的风险。
用户体验不佳,因为用户可以将资产存储在三种类型的地址上。
并非所有Solidity编译的合约的掩码地址都有160位,因此一些合约的地址可能会存在高阶脏位。
免扩展的PWA
Vitalik?的文章
太长不看:找到一个未使用过的4个字节的前缀,并禁止在旧规则下使用该前缀创建新的合约/地址。旧合约在传统模式下执行,只可根据旧规则创建新的地址。新类型的合约在PWA模式下执行,只可创建新的合约
利
新的状态无需证明即可初始化。
对EVM的修改相对较少。
不需要转换表,用户只需要考虑一种地址。
不会破坏现有工具而非原像?)
弊
发生地址冲突的概率较高,不再有反事实合约。
不是一个很有吸引力的解决方案,可能会让地址扩展变得越来越难。
周期元数据
状态树元数据
这个想法应该还没有被正式定义,但它的大体思路是在状态树中的账户对象处增加一个新的字段来表示创建时间。这样可以解决因除外证明而导致新的存储项初始化成本过高的问题,但是不会改善为创建新账户而创建新账户的问题。
利
如果是新合约,无需证明即可初始化新的存储项。
非常简单。
可扩展以保存其它元数据。
不会因为外部映射而导致状态无限增长。
不会破环现有工具。
弊
逃避了地址冲突问题。
创建新账户的成本很高,需要除外证明来表明该账户自周期0以来就不存在。
外部时段注册表
这个想法也没有被正式定义,大体思路是引入一个新的注册表树来存储状态保质期的元数据。这个注册表不会过期,并且会存储合约的创建时段。另外,它还可以存储其它信息,如存储项的总数量。只要有效存储量等于合约的总存储量,合约时段就可以升级成当前时段。类似方案也可以应用于EWA提案,但是需要修改状态树。
利
新的状态无需证明即可初始化。
可扩展以保存其它元数据。
不需要转换表,用户只需要考虑一种地址。
不会破坏现有工具。
弊
新的状态树结构。
无限增长。
逃避了地址冲突问题。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。