火星链 火星链
Ctrl+D收藏火星链
首页 > AVAX > 正文

以太坊:Vitalik Buterin:以太坊无状态客户端方案能如何改进?

作者:

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

给每个地址添加一个32个字节的「epoch前缀」,或可解决地址空间随时间被指数级压缩的问题。

原文标题:《另一个状态友好的界地址方案》撰文:VitalikButerin,以太坊联合创始人翻译:ETH中文站

回顾:状态大小管理技术

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

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

AI+Web3医疗科技公司Lavita AI完成500万美元种子轮融资:5月11日消息,AI+Web3医疗科技公司Lavita AI宣布完成500万美元种子轮融资,Camford Capital领投,一批来自区块链和人工智能领域的天使投资人参投。

据悉,Lavita AI是一个基于Theta Network的去中心化健康数据点对点市场平台,旨在患者能够在人工智能、区块链和隐私保护技术的支持下控制自己的健康。(Crypto Reporter)[2023/5/11 14:56:18]

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

Vitalik解释以太坊从PoW转向PoS的三大关键原因:以太坊创始人Vitalik Buterin日前撰文解释了以太坊从PoW转向PoS的三大关键原因:1、在相同成本条件下,PoS提供了更好的安全性;2、权益证明(PoS)系统遭受攻击后更容易恢复;3、权益证明(PoS)比ASIC挖矿更去中心化。他认为,PoW有两个主要的优势:1、PoS系统更像是一个“封闭”系统,这导致长期来看,系统的财富集中度会更高;2、PoS需要“弱主观性”,而PoW则不需要。但是,这些优势也比较有限。[2020/11/7 11:56:20]

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

Vitalik:提高首次读取存储和账户访问的gas可以极大降低处理攻击的时间:以太坊创始人Vitalik发推表示:EIP-2929提案提到:提高首次读取存储和账户访问的gas。这可以将出现DoS攻击时的最坏情况处理时间减少到之前的1/3,从而更加安全地维持高gas的限制。[2020/9/2]

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

动态 | 区块链医疗公司SimplyVital Health获得美国国家科学基金会22.5万美元的经费:总部位于新英格兰的区块链公司SimplyVital Health获得来自美国国家科学基金会(NSF)的225,000美元的经费。SimplyVital将用该笔资金进行研究和开发,以将石墨烯协议集成到其区块链协议Nexus中。(cointelegraph)[2019/10/11]

方法(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=addresshash(address)而不是现在在用的merkle_path_key=hash(address)。这确保了「没用过的」地址空间是连续的。

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

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

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

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

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

来源链接:ethresear.ch

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

以太坊

以太坊

开放的分布式区块链应用平台,通过其专属加密货币Ether以太币提供去中心化的虚拟机,处理点对点合约。允许任何人建立和使用通过区块链技术运行的去中心化应用,没有任何欺诈、审查、第三方监管。以太坊的概念首次在2013至2014年由维塔利克·布特林VitalikButerin受比特币启发后提出,旨在共同构建一个更全球化、更自由、更可靠的互联网。以太坊EthereumETHERC20ERC-20ERC20ERC721ERC-721以太坊2.0以太坊2.0查看更多

标签:ITA以太坊VITVITAItaloilv币未来会超过以太坊吗VITYvita币官网

AVAX热门资讯
RUM:Arbitrum 主网的开发部署体验,看这七个开发者怎么说

采访:潘致雄受访团队:DeGate、DODO、EthSign、imToken、麦子钱包、MCDEX、WePiggy作为最早上线的EVM兼容Rollup?扩容方案之一.

1900/1/1 0:00:00
COI:币虎BSPAY空投活动奖励发放公告

尊敬的用户:币虎交易平台的“币虎支持BSPAY1:1空投活动”已结束,活动奖励已发放至用户账户,请符合条件的用户前往--中查询分发结果.

1900/1/1 0:00:00
HTT:XT关于上线BABYDOGE 的公告

尊敬的XT用户:XT即将上线BABYDOGE,并于创新区开放BABYDOGE/USDT交易对,详情如下:充值时间:已开通交易时间:2021年7月1日19:00提现时间:已开通BabyDoge从他.

1900/1/1 0:00:00
Gate.io 将进行BTC结算永续合约升级公告(22:00)

Gate.io将于2021年7月3日22:00~22:05进行BTC结算的永续合约引擎升级,时间约为5分钟.

1900/1/1 0:00:00
TPS:XT关于暂停 FIL 充提的公告

尊敬的XT用户:FIL主网升级,XT.COM现已暂停FIL充值与提现业务。感谢您对XT.COM的支持与信任.

1900/1/1 0:00:00
比特币:七月和第三季度,能否形成反转?

今天除了100周年,也是7月的第一天,第三季度的开始,简单聊一下市场。从64800算,到现在已经过去78天时间,从次高点59500算,现在已经52天,从5.19算,现在也已经43天,整个第二季度.

1900/1/1 0:00:00