过期状态复活方法比较
状态保质期是目前解决状态增长问题的推荐方案。
在本文中,我们将状态保质期视为一种会定期让完整状态树失效的机制。本文将讨论如何存储之前的周期(period),因为我们的关注点就是如何复活已经被遗忘的状态 —— 无论 n=0
还是 n=1
。
以下总结了一些机制提案:
清空
顾名思义,“清空” 就是什么都不剩:过了保质期的状态会立马失效,如果用户需要使用已失效状态中的部分数据,必须提供对应的见证数据(witness)。请注意,若要读取或写入还未在有效状态中初始化的部分,用户 必须 提供证明:要么是一个除外证明(exclusion proof)来表明这部分数据在之前任意时刻都没有初始化,要么是一个具体时间点的证明,然后再提供一个除外证明来表明这部分数据在这个时间点之后没有改变过。
利
-
非常简单
弊
-
除外证明的大小会随时段数量呈线性增长,让初始化状态数据的成本变得异常高
-
逃避了地址冲突问题
带周期标记的地址(PWA)
清空元数据的主要问题在于,初始化新的状态元素会产生很高的成本。通过让地址带上周期标记,以太坊协议可以创建一种机制来避免在初始化新的状态数据时产生地址冲突。鉴别器会设定账户最少能够存活到哪个时段。目前有两种方法可以实现 PWA:
地址空间扩展(ASE)
太长不看:同时允许传统的 20 个字节的地址和 32 个字节的 ASE 前缀地址存在。在以太坊虚拟机中创建一个环境变量来修改涉及地址的操作码的行为,具体视相关地址是传统地址还是 ASE 地址而定。
利
-
新的状态无需证明即可初始化。
-
可扩展以保存其它元数据。
-
解决地址冲突问题。
弊
-
需要对 EVM 进行大量修改。
-
需要创建两种不同的 EVM 环境,分为传统模式和扩展模式。
-
转换映射将无限增长(与传统环境中使用的长地址数量呈线性关系),而且无法用过期机制来抛弃似乎是可以有过期机制的,只不过(抛弃数据后)要承担一些地址冲突的风险。
-
用户体验不佳,因为用户可以将资产存储在三种类型的地址上(短地址、长地址、压缩地址)。
-
并非所有 Solidity 编译的合约的掩码地址都有 160 位,因此一些合约的地址可能会存在高阶脏位(dirty upper bit)。
免扩展的 PWA
太长不看:找到一个未使用过的 4 个字节的前缀,并禁止在旧规则下使用该前缀创建新的合约/地址。旧合约在传统模式下执行,只可根据旧规则创建新的地址。新类型的合约在 PWA 模式下执行,只可创建新的合约(其中,开头 4 个字节是预先选好的前缀,第 5 – 6 个字节代表当前时段,第 7- 20 个字节照例代表地址。)
利
-
新的状态无需证明即可初始化。
-
对 EVM 的修改相对较少。
-
不需要转换表,用户只需要考虑一种地址。
-
不会破坏现有工具(不过它们显示的可能是异或地址(xor'd address)而非原像?)
弊
-
发生地址冲突的概率较高,不再有反事实合约。
-
不是一个很有吸引力的解决方案,可能会让地址扩展变得越来越难。
周期元数据
状态树元数据
这个想法应该还没有被正式定义(就算有也只是在 @adietrichs 的脑中),但它的大体思路是在状态树中的账户对象处增加一个新的字段来表示创建时间。这样可以解决因除外证明而导致新的存储项初始化成本过高的问题(尤其是在假设合约是为了在每个周期部署新的子合约而编写的情况下),但是不会改善为创建新账户而创建新账户的问题。
利
-
如果是新合约,无需证明即可初始化新的存储项。
-
非常简单。
-
可扩展以保存其它元数据。
-
不会因为外部映射而导致状态无限增长。
-
不会破环现有工具。
弊
-
逃避了地址冲突问题。
-
创建新账户的成本很高,需要除外证明来表明该账户自周期 0 以来就不存在。
外部时段注册表
这个想法也没有被正式定义,大体思路是引入一个新的注册表树来存储状态保质期的元数据。这个注册表不会过期,并且会存储合约的创建时段。另外,它还可以存储其它信息,如存储项的总数量。只要有效存储量等于合约的总存储量,合约时段就可以升级成当前时段。类似方案也可以应用于 EWA 提案,但是需要修改状态树。
利
-
新的状态无需证明即可初始化。
-
可扩展以保存其它元数据。
-
不需要转换表,用户只需要考虑一种地址。
-
不会破坏现有工具。
弊
-
新的状态树结构。
-
无限增长(与使用中的地址数量呈线性关系)。
-
逃避了地址冲突问题。
比推快讯
更多 >>- 俄勒冈州成为美国第六个撤销、暂停或拒绝续签 Binance.US 运营许可证的州
- 消息人士:美联邦当局正在审查 Jack Dorsey 旗下公司 Block 不合规的加密业务
- VanEck:目前各ETF、国家、上市和私营公司持有价值约 1750 亿美元的比特币
- Web3游戏公司Games for a Living完成330万美元融资
- Coinbase Prime 现已开放 Akash Network (AKT) 质押
- Solana生态DEX衍生品平台Drift开放空投查询,总量12%用于空投
- 区块链开发公司 Movement Labs 获 Binance Labs 未公开投资
- 比特币跌破57,000美元,24 小时跌幅 6.51%
- 渣打银行称比特币可能进一步跌至 5 万美元
- 代币化公司Securitize完成4700万美元战略融资,贝莱德领投
- 美国9只现货比特币ETF今日净减持1950枚BTC,约合1.1亿美元
- Stacks 推迟其 Nakamoto 升级激活至 8 月 28 日
- 某巨鲸地址20分钟前向Kraken存入1225枚BTC,价值约合 7026 万美元
比推专栏
更多 >>- 每月动态 | Web3 安全事件总损失约 9081 万美元
- 脱水大字报:牛市行情或延迟类似2016年
- 矿工日收入突破亿创纪录,比特币符文能否接力铭文?
- 获比特大陆投资且被币安首个接入的BTC L2项目BEVM有何亮点?
- 为什么这轮牛市无法复制 2021 年的山寨季?
- 独家!种子轮融资200万美金+AI叙事的项目
- IOSG Weekly Brief|MKR的涅槃重生:新公链和RWA稳定币与Spark借贷独角兽 #223
- Kusama 上的 Coretime 交易已开始,平行链时代谢幕
- 100亿美元开发投资,红杉资本入局,特斯拉要搞波大的…
- Chainlink Q1产品更新;CCIP正式进入全面可用阶段;Consensus2024来啦|Chainlink 周报
观点
项目
比推热门文章
- 俄勒冈州成为美国第六个撤销、暂停或拒绝续签 Binance.US 运营许可证的州
- 【比推每日新闻精选】美联储维持利率不变,称通胀进展已陷入停滞;VanEck:目前各ETF、国家、上市和私营公司持有价值约 1750 亿美元的比特币;消息人士:美联邦当局正在审查 Jack Dorsey 旗下公司 Block 不合规的加密业务
- 消息人士:美联邦当局正在审查 Jack Dorsey 旗下公司 Block 不合规的加密业务
- VanEck:目前各ETF、国家、上市和私营公司持有价值约 1750 亿美元的比特币
- 降息举措“停摆”,渣打“扎心”预测:BTC恐跌至5万美元
- Web3游戏公司Games for a Living完成330万美元融资
- Coinbase Prime 现已开放 Akash Network (AKT) 质押
- Solana生态DEX衍生品平台Drift开放空投查询,总量12%用于空投
- 区块链开发公司 Movement Labs 获 Binance Labs 未公开投资
- 比特币跌破57,000美元,24 小时跌幅 6.51%