来源 | ethresear.ch
作者 | Vitalik Buterin
译者按:本文需要读者对状态管理和 state expiry 机制作一定了解。
为了防止以太坊的状态容量无止境地膨胀,我们需要用一些方法使旧状态“失活”,这样加入网络的节点就不再需要存储旧状态了。即使大多数的客户端都变成无状态,似乎也可以合理预见,最终这个系统会扩容到网络无法一直保证所有状态都可用的地步。有两个方法可以使旧状态失活:
1、直接删掉,然后可以把它移到另外的默克尔树,这样关心该状态对象的人可以获取相应的默克尔分支,在未来某个时候用它来激活该状态。
2、不把对象移出树结构;相反,只在树的该位置标记“失活”,这样节点就不会存储它 (且协议也不会要求它们这样做)。通过发送一个提供默克尔证明 (即见证数据) 的事务来访问该状态,失活的对象就可以重新被访问了。
现场丨V神:以太坊在2.0前死了很多次:金色财经现场报道,10月27日,第六届区块链全球峰会于上海开幕,峰会上以太坊创始人Vitalik Buterin演讲表示,我认为以太坊生态发展情况和趋势,有一些趋势在过去3年就展现出来了,但在过去一年有一个高速发展。
Vitalik回忆到,2014年7月成立了基金会,开始以太坊预售,但2014年10月以太坊就“死”了,2015年主网上线,但随后以太坊又“死”了,2016年5月份发布了The DAO ,2016年,在The DAO 攻击后,以太坊又“死”了,随后成功硬分叉,但马上,以太坊又“死”了,在上海devcon活动时,遭遇攻击,以太坊又“死”了,2017年以太坊企业联盟建立,以太坊开始逐渐有活力,但2018年因为以太坊价格下跌又死了2次,2018年开始以太坊2.0的研究,但2019年又死了一次。
我们现在还活着,以太坊正在Medalla测试网阶段,测试网已经运行接近三个月时间。[2020/10/27]
方法 (1) 对应于“经典的存储租金方案”,方法 (2) 对应于传统“无状态客户端”的最简单延伸——旧状态可以被遗忘的模型。这两种方法都允许关心特定状态对象的个人追踪默克尔分支,这样随后如果那些状态对象失活了它们可以用来激活这些对象。然而,这两种方法都是有明显问题的。
V神:已经通过多种方式与Zcash基金会合作:金色财经报道,V神(Vitalik Buterin)在推特表示,Zcash基金会在隐私保护方面做得更好,我们实际上已经通过多种方式与他们合作。[2020/3/18]
当要在某个已失效合约的同一个地址上再创建合约时,方法 (1) 会出现一些极端情况。那就是,如果一个合约在地址 A 上创建了,然后已经失效了,那么在地址 A 上创建这个合约的事务会被重新执行,这样会在地址 A 上创建一个新对象,这会影响原始对象的激活。另一种情况是当在地址 A 上创建了一个对象,然后经历失活、被激活、被修改 (例如,发送合约上的资金到另一个账户)、再失活、再用第一次失活所在的默克尔分支激活。这违背了保留规则,且可能被用于铸币;需要增加额外的默克尔证明来证明一个合约还没有被另一个特定状态激活,而该状态也尝试被激活。
V神:要成功攻击Hybrid Casper至少要花费167万ETH:据TrustNodes消息, V神在Edcon上公开表示,在Hybrid Casper网络中,年利率可高达5%,而惩罚比例可从1%到高达100%,提款时间可长达4个月。如果要成功攻击Hybrid Casper,至少要花费167万ETH,价格可高达14亿美元。[2018/5/7]
方法 (2) 遇到的是不同的问题。假设两个相邻的地址 (也就是两者间没有对象) A1 和 A2 都已失活。这样,不仅 A1 和 A2 都不再可以访问 (除非有人存储了默克尔分支),而且 A1 和 A2 之间的所有地址都不可以访问了。也就是说,如果总共有 N 个地址,那么大约 1/N 的可用地址空间都不再可访问了。当一半的地址都失活了,大约 1/4 的地址空间不再可访问。随着时间推移,会越来越难找到空间生成新的地址。而且由于新地址越来越集中在剩下的“可访问”空间上,每 N 年可访问空间减半的这种影响会呈指数增长。
以太坊创始人V神:以太坊的治理模式并非有缺陷,只是沟通不畅:一月份以太坊改进方案EIP 867公布后,开发人员展开了激烈的讨论。周五,以太坊创始人Vitalik Buterin在开发者会议上表示,他个人认为,以太坊的治理模式并非有缺陷,只是沟通不畅。根据V神的说法,例如有争议的EIP 867,在与平台的实时代码合并之前所经历的流程建议不明确。以太坊Mist浏览器的开发者Alex van de Sande提出了另一项提供拒绝资金回收标准的提案,该提案向社区表明,社区成员可以提出有争议的提案,一个标准参与另一个标准,两者都可以批准为草案。V神表示赞同这是更聪明的一种方式。[2018/2/24]
提议
我提议对方法 (2) 进行修改,可以解决以上的问题。正如很多方法 (2) 的提议实现方案所呈现的,账户有“活跃”与“失活”两种状态,失活账户是那些超过一年未被访问过的账户。要访问失活账户,你需要提供见证数据;当失活账户被访问了,该账户会自动解除失活状态 (触及任何账户都会重置它的一年失活期计算)。修改内容如下:
我们给每个地址添加一个 32 个字节的 "epoch 前缀" (会被解译为一个整数)。例如,epoch 前缀是 9 的地址是这样:0x00000009de0b295669a9fd93d5f28d9ec85e40f4cb697bae,以 00000009 作为前缀。
默克尔路径会直接依赖 epoch 的前缀而不是它的哈希值 (因此 merkle_path_key = address[:4] + hash(address[4:]) 而不是现在在用的 merkle_path_key = hash(address) 。这确保了“没用过的”地址空间是连续的。
除非地址的 epoch 前缀是小于或等于区块链已运行的年数,否则地址不能被使用
会增加一个 CREATE3 操作码,它会把 epoch 前缀作为一个参数,并在具有该 epoch 前缀的一个地址上创建一个合约。
推荐用户和合约总是使用具有尽可能新的 epoch 前缀来创建账户,甚至设为默认设置,因为肯定会有具有最新 epoch 前缀的全状态仍然是可以访问的。为了还能保有“反事实地址 (counterfactual addresses)”(即在合约代码被发布前,用户在链上 [例如通过发送 ETH 或 ERC20 代币]或链下[通过在一个通道里互动]交互的地址),用旧 epoch 前缀来创建合约还是可能的。但是,对于想要创建反事实地址的用户,如果长期不创建,他们就要负责为该账户存储旧状态的分支。
经过多年的运行,预计活跃状态会由两部分构成:(i) 有最新 epoch 前缀的全部地址空间,(ii) 与最近被活跃使用过的账户相对应的特定旧状态
请注意,这个方案正常情况下扩展到合约上;事实上,主动遵循这个方案是符合合约自身运作的。因为在这个方案里,地址中代表存储的部分以几个字节为前缀,它们所代表的数字 N 指的是这些数据是在 N 年与这些地址产生关联。这很适合用于存储像代币余额这样的数据。
财经法学
金色早8点
链捕手
PANews
Bress
区块律动BlockBeats
成都链安
Odaily星球日报
标签:以太坊POCRESITA以太坊和瑞波币在中国合法吗POCO币Integral Resistanceakita币为什么爆涨2023年
DeBox 是一款新晋的基于 DID Web3 社交资讯平台。持有 Token 和 NFT 用户可以以无需许可方式加入对应的群组,可以自发组建 DAO 社区及 NFT 社区,DeBox 更像一个 Web3 社群管理工具.
1900/1/1 0:00:002021-2022年是Play to Earn 游戏爆发的狂潮。从Axie 开始,各类游戏如雨后春笋般加入了这场盛宴,在这场大派对中各显其能.
1900/1/1 0:00:00?前不久,美国财政部外国资产控制办公室(OFAC)宣布制裁混币协议 Tornado Cash,该平台已被加密货币领域的许多网络犯罪分子、不法黑客组织用来清洗和混淆他们的非法资金来源.
1900/1/1 0:00:00如图为BTC月线长期走势,可以发现目前月线仍是被上方红色轨道压制状态,对比之前走势可以发现,BTC低位重新站上才有再次迎来牛市的机会,例如2015-2017年牛市、2019年牛市和本轮2020年3月大跌后面又重新站回启动的牛市行情.
1900/1/1 0:00:00来源:老雅痞 原文标题:《V 神:加密皈依者所向往的圣地——网络国家》(What do I think about network states?)撰文:Vitalik Buterin,以太坊创始人 编译:DOGE 7 月 4 日.
1900/1/1 0:00:00金色财经报道,8月19日消息,推特用户Crypto-Gucci.eth发布推文称,在最新的以太坊核心开发者会议上,已确定以太坊合并的主网TTD为58750000000000000000000,因此以太坊合并将在9月15日左右发生.
1900/1/1 0:00:00