区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > FTT > 正文

VIT:Vitalik Buterin:对以太坊旧状态失活方案的改进——另一个状态友好的界地址方案_ITA

作者:

时间:

原文标题:《另一个状态友好的界地址方案》

来源|?ethresear.ch

作者|?VitalikButerin

译者按:本文需要读者对状态管理和stateexpiry机制作一定了解,以下为推荐阅读:(感谢?EthFans的翻译)

以太坊状态管理诸提议状态膨胀和无状态性一份新的无状态以太坊路线图弱无状态性以及/或者状态保质期机制:即将到来

回顾:状态大小管理技术

为了防止以太坊的状态容量无止境地膨胀,我们需要用一些方法使旧状态「失活」,这样加入网络的节点就不再需要存储旧状态了。即使大多数的客户端都变成无状态,似乎也可以合理预见,最终这个系统会扩容到网络无法一直保证所有状态都可用的地步。有两个方法可以使旧状态失活:

Vitalik KBW2023演讲:相比无状态存储解决方案,状态过期是低优先级选择:9月5日消息,在韩国区块链周KBW2023上,Vitalik Buterin发表主旨演讲称,客户端不得不去存储越来越多的东西,第一个解决方案是停止存储历史数据,即采用EIP-444(执行客户端中的绑定历史数据),第二个解决方案是将状态存储责任转移到专用节点,第三个解决方案是将旧object移出状态之外。EIP-444是指客户端必须停止在p2p层上提供超过一年的历史headers、bodies以及receipts,客户端可以在本地删除(prune)这些历史数据。[2023/9/5 13:18:15]

直接删掉,然后可以把它移到另外的默克尔树,这样关心该状态对象的人可以获取相应的默克尔分支,在未来某个时候用它来激活该状态。不把对象移出树结构;相反,只在树的该位置标记「失活」,这样节点就不会存储它(且协议也不会要求它们这样做)。通过发送一个提供默克尔证明(即见证数据)的事务来访问该状态,失活的对象就可以重新被访问了。方法(1)对应于「经典的存储租金方案」,方法(2)对应于传统「无状态客户端」的最简单延伸——旧状态可以被遗忘的模型。这两种方法都允许关心特定状态对象的个人追踪默克尔分支,这样随后如果那些状态对象失活了它们可以用来激活这些对象。然而,这两种方法都是有明显问题的。

Vitalik于5小时前向Coinbase转入600枚ETH:8月21日消息,以太坊联合创始人Vitalik Buterin于5小时前通过vitalik.eth地址向Coinbase转入600枚ETH。[2023/8/21 18:13:31]

当要在某个已失效合约的同一个地址上再创建合约时,方法(1)会出现一些极端情况。那就是,如果一个合约在地址A上创建了,然后已经失效了,那么在地址A上创建这个合约的事务会被重新执行,这样会在地址A上创建一个新对象,这会影响原始对象的激活。另一种情况是当在地址A上创建了一个对象,然后经历失活、被激活、被修改(例如,发送合约上的资金到另一个账户)、再失活、再用第一次失活所在的默克尔分支激活。这违背了保留规则,且可能被用于铸币;需要增加额外的默克尔证明来证明一个合约还没有被另一个特定状态激活,而该状态也尝试被激活。

Vitalik Buterin批评比特币S2F模型给人带来错误的确定感:6月21日消息,以太坊创始人Vitalik Buterin在推特上批评比特币S2F模型(Stock-to-flow)给人带来一种错误的确定感,预定的数字会给人增加有害的感觉,盲从者应该受到嘲笑。PlanB回应了Vitalik的批评,称“人们正在为他们失败的项目或错误的投资寻找替罪羊。”

据悉,荷兰匿名机构投资者PlanB一直在推广比特币S2F模型,该模型因成功预测了几次比特币价格而获得大量关注。许多批评者指出的S2F模型的关键问题是片面估计,它只考虑BTC的供应方,而没有假设需求将继续增长。(Cointelegraph)[2022/6/21 4:43:16]

方法(2)遇到的是不同的问题。假设两个相邻的地址(也就是两者间没有对象)A1和A2都已失活。这样,不仅A1和A2都不再可以访问(除非有人存储了默克尔分支),而且A1和A2之间的所有地址都不可以访问了。也就是说,如果总共有N个地址,那么大约1/N的可用地址空间都不再可访问了。当一半的地址都失活了,大约1/4的地址空间不再可访问。随着时间推移,会越来越难找到空间生成新的地址。而且由于新地址越来越集中在剩下的「可访问」空间上,每N年可访问空间减半的这种影响会呈指数增长。

Waves生态项目Gravity测试框架正在添加币安智能链:10月20日消息,Waves生态项目Gravity测试框架正在添加币安智能链。币安智能链是币安链的平行公链,可以通过Ankr创建智能合约和BNB staking。除了以太坊和Waves,币安智能链将成为Gravity网络新的主要目标公链。

在准备这次集成时,Waves生态项目Gravity团队使用了Waves合作伙伴Ankr提供的一键式BSC节点部署解决方案。[2020/10/20]

提议

我提议对方法(2)进行修改,可以解决以上的问题。正如很多方法(2)的提议实现方案所呈现的,账户有「活跃」与「失活」两种状态,失活账户是那些超过一年未被访问过的账户。要访问失活账户,你需要提供见证数据;当失活账户被访问了,该账户会自动解除失活状态(触及任何账户都会重置它的一年失活期计算)。修改内容如下:

我们给每个地址添加一个32个字节的「epoch前缀」。例如,epoch前缀是9的地址是这样:0x00000009de0b295669a9fd93d5f28d9ec85e40f4cb697bae,以00000009作为前缀。

默克尔路径会直接依赖epoch的前缀而不是它的哈希值(因此merkle_path_key=address+hash(address)而不是现在在用的merkle_path_key=hash(address)。这确保了「没用过的」地址空间是连续的。

除非地址的epoch前缀是小于或等于区块链已运行的年数,否则地址不能被使用

会增加一个CREATE3操作码,它会把epoch前缀作为一个参数,并在具有该epoch前缀的一个地址上创建一个合约。

推荐用户和合约总是使用具有尽可能新的epoch前缀来创建账户,甚至设为默认设置,因为肯定会有具有最新epoch前缀的全状态仍然是可以访问的。为了还能保有「反事实地址(counterfactualaddresses)」,用旧epoch前缀来创建合约还是可能的。但是,对于想要创建反事实地址的用户,如果长期不创建,他们就要负责为该账户存储旧状态的分支。

经过多年的运行,预计活跃状态会由两部分构成:(i)有最新epoch前缀的全部地址空间,(ii)与最近被活跃使用过的账户相对应的特定旧状态

请注意,这个方案正常情况下扩展到合约上;事实上,主动遵循这个方案是符合合约自身运作的。因为在这个方案里,地址中代表存储的部分以几个字节为前缀,它们所代表的数字N指的是这些数据是在N年与这些地址产生关联。这很适合用于存储像代币余额这样的数据。

原文链接:https://ethresear.ch/t/alternative-bounded-state-friendly-address-scheme/8602

标签:VITPOCTALITAvite币价格APOCSocial CapitalismDigital Files

FTT热门资讯
DAO:分析 | 全面综述:女巫攻击和防御方法_RAN

本文,主要梳理了女巫攻击及其防御进展。从现有的方法中,我们确定了三种主要抵御攻击的方式:可信认证、资源测试和社交网络。

比特币:罗斯柴尔德投资公司再次增持 103,059 股GBTC及13,817 股ETHE_加密货币

根据最近向美国证券交易委员会提交的文件,罗斯柴尔德投资公司已增持103,059股灰度比特币信托,以及13,817股灰度以太坊信托,这使其GBTC总持有价值达到420万美元.

OLA:一文了解Solana代币经济学_Solana

Solana是一种无需许可的高性能区块链,为加密世界提供可扩展、快速且去中心化的市场和应用程序。Solana的原生代币名为SOL,总供给为4.886亿个.

ALI:印度央行称将分阶段引入数字货币,重申其在支付系统中的领导地位_Realis Network

来源:21财经 作者:胡天姣 “也许数字货币的时代已经来临。”当地时间7月22日,在介绍印度央行近期规划时,其副行长桑卡尔(T.RabiSankar)如是说,“印度央行正考虑分阶段引入由中央支持.

RChain:去中心化跨链交易协议THORChain遭受恶意攻击损失14万美元,目前漏洞已修复_rchain币最新价格行情

巴比特讯,6月29日,去中心化跨链交易协议THORChain发推称发现一个针对THORChain的恶意攻击,THORChain节点已作出反应并隔离防御,该次攻击造成的资金损失为14万美元.

HASH:NFT艺术品涉及三方面的法律问题:作品的法律性质、存证的法律效力和铸造权益_MELOS币

原标题:《NFT艺术品相关法律问题》当前创作NFT艺术品一般有两种方法,一种是直接在线创造并形成NFT艺术品,另一种是将线下实物艺术品铸造成为NFT艺术品.