火星链 火星链
Ctrl+D收藏火星链
首页 > 加密货币 > 正文

RES:V神:另一个状态友好的界地址方案

作者:

时间:1900/1/1 0:00:00

来源|?ethresear.ch

作者|?VitalikButerin

译者按:本文需要读者对状态管理和stateexpiry机制作一定了解。

回顾:状态大小管理技术

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

1、直接删掉,然后可以把它移到另外的默克尔树,这样关心该状态对象的人可以获取相应的默克尔分支,在未来某个时候用它来激活该状态。

V神:未来10年zk-SNARKs将与区块链一样重要:5月21日消息,在黑山举办的 EDCON 2023 大会上,以太坊联合创始人 Vitalik Buterin 表示,未来 10 年,zk-SNARKs 将与区块链一样重要。

以太坊社区大会(EDCON)于 2023 年 5 月 19 日至 23 日在黑山波德戈里察举行,本次会议演讲嘉宾包括了以太坊联合创始人 Vitalik Buterin、以太坊核心开发者 Tim Beiko、以太坊基金会 Devcon 团队负责人 Skylar Weaver 与以太坊基金会研究员 Vlad Zamfir、Piper Merriam、Andy Guzman 等。EDCON 是一个非营利性的年度全球以太坊会议,每年在不同国家 / 地区举办,致力于通过促进全球以太坊社区的交流和互动来服务于以太坊生态系统。[2023/5/21 15:17:04]

2、不把对象移出树结构;相反,只在树的该位置标记“失活”,这样节点就不会存储它(且协议也不会要求它们这样做)。通过发送一个提供默克尔证明(即见证数据)的事务来访问该状态,失活的对象就可以重新被访问了。

V神:以太坊不需要为Layer 1使用单一的ZK-EVM实现进行标准化:金色财经报道,以太坊创始人Vitalik Buterin发文解释了“不同类型的ZK-EVM和类似ZK-EVM的项目,以及它们之间的权衡”。V神例举了描述了多个EVM等价的不同“类型”的分类,以及尝试实现每种类型的好处和成本。

V神总结称,就我个人而言,我希望随着时间的推移,通过ZK-EVM的改进和以太坊本身的改进相结合,使其对ZK-SNARK更加友好,一切都将成为Type1。在这样的未来,我们将有多个ZK-EVM实现,它们既可以用于ZK汇总,也可以用于验证以太坊链本身。

从理论上讲,以太坊不需要为Layer1使用单一的ZK-EVM实现进行标准化;不同的客户可以使用不同的证明,因此我们继续从代码冗余中受益。但是,要实现这样的未来,还需要相当长的时间。与此同时,我们将在扩展以太坊和基于以太坊的ZK-rollup的不同路径中看到许多创新。[2022/8/4 12:02:16]

方法(1)对应于“经典的存储租金方案”,方法(2)对应于传统“无状态客户端”的最简单延伸——旧状态可以被遗忘的模型。这两种方法都允许关心特定状态对象的个人追踪默克尔分支,这样随后如果那些状态对象失活了它们可以用来激活这些对象。然而,这两种方法都是有明显问题的。

V神:从1.0到2.0是从一个共识引擎系统到另一个的状态转换:基于以太坊的去中心化社交应用Status官方在推特称,像“从以太坊1.0迁移到以太坊2.0”这样的说法是行不通的。以太坊创始人V神则评论称,也许关键在于“迁移”是一个不好的词,因为它意味着它们是两个独立的系统。然而在现实中,它是一种从一个共识引擎系统转移到另一个的状态转换。[2020/11/14 20:48:01]

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

声音 | V神:将BCH区块大小扩展到128MB是一个灾难:针对近期网络上建议将BCH区块容量上限由现在的32MB扩展到128MB的言论,有网友评论称,虽然目前的容量上限为32MB,但迄今为止最大的区块容量才为8MB。现在完全没有必要扩展到128MB容量上限,这种改变十分危险。V神也评论称,将BCH区块容量上限扩展到128MB是一个灾难。[2018/8/22]

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

提议

我提议对方法(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年与这些地址产生关联。这很适合用于存储像代币余额这样的数据。

标签:以太坊POCRESTER怎么得到以太坊币呢poc币彻底没了吗CoreStarterMasternode Hype Coin Exchange

加密货币热门资讯
SWAP:一文了解Uniswap v3 LP 自动化管理器

注:原文作者是ビビドット(@vividot)。在这篇文章中,我将介绍称为Uniswapv3LP自动化管理器的服务.

1900/1/1 0:00:00
USD:比特币经历史上最大难度调整 S2F指标一度爆表

注:原文作者是glassnode数据分析师CHECKMATE。上周比特币市场价小幅走高,但总体仍在32775美元-36460美元的价格区间内波动.

1900/1/1 0:00:00
EFI:Defi之交易所(一):CEX与DEX之安全性

交易所是什么:交易所是一个固定的“地点”,用来交易某种信息、物品等。交易所是提供信息、物品价格价值的一个渠道,会有多个交易所存在,那么如何抹平交易所之间的价格差,避免市场用差价赚钱,扰乱市场呢?.

1900/1/1 0:00:00
GON:为什么我们需要区块链?它给我们带来了什么?

区块链的诞生可谓符合“天时地利人和”,当前互联网正处于过度中心化的阶段。我们回顾一下互联网的历史.

1900/1/1 0:00:00
STAK:邹传伟:以 PoS 矿池质押收益为例解析 DeFi 的利息理论

DeFi不是连续时间金融,而是离散时间金融,DeFi的频率由公链的内在节奏——出块时间决定。尽管出块时间从事前看是一个随机变量,但以出块时间为时间单位,可以把主流金融领域的利息理论引入DeFi.

1900/1/1 0:00:00
DEFI:金色DeFi日报 | 市值排名前百NFT代币总市值跌破150亿美元

DeFi数据1.DeFi总市值:717.44亿美元 市值前十币种排名数据来源DeFiboxDeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:25.

1900/1/1 0:00:00