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

来源|?ethresear.ch

作者|?VitalikButerin

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

回顾:状态大小管理技术

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

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

金色热搜榜:BHD居于榜首:根据金色财经排行榜数据显示,过去24小时内,BHD搜索量高居榜首。具体前五名单如下:BHD、KCASH、OMG、QTUM、UTK。[2020/9/16]

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

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

金色午报 | 9月14日午间重要动态一览:7:00-12:00关键词:Sushiswap、人民网、瑞士、外汇局

1. Sushiswap多签见证人公布任期计划:72小时内卖掉SUSHI储备 并于12月15日卸任;

2. CoinbaseCEO斥责苹果禁止在移动应用中添加DeFi访问功能;

3. 人民网:区块链“央企”被证伪,监管重压下区块链行业在自我净化;

4. 谷燕西:欧洲财长们或应考虑同科技公司合作制定Libra应对策略;

5. 瑞士通过《区块链法案》或于2021年初生效;

6. V神:中本聪共识存在信任假设并不能说明其不客观;

7. 外汇局烟台市中心支局力推跨境金融区块链融资稳外贸;

8. 路印Loopring:已经开放二层以太坊DEX交易。[2020/9/14]

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

金色晨讯 | 4月10日隔夜重要动态一览:21:00-7:00关键词:国务院、发改委、富达、比特币基金

1.中共中央、国务院:培育数字经济新产业、新业态和新模式。

2.北京市发改委:要布局基于区块链等的全媒体建设。

3.欧盟成员国财长就5900亿美元的抗疫救助方案达成协议。

4.跨域审判辅助事务协作机制依据区块链工作原理。

5.CME比特币期货4月合约收跌0.61%。

6.富达集团拓展加密交易产品。

7.标普500指数创1974年以来最大单周涨幅。

8.加拿大3iQ公司申请的比特币基金已在多伦多证券交易所上市。

9.比特币夜间窄幅震荡,最低价为7232.06美元,最高价位7318.07美元。[2020/4/10]

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

金色沙龙 | 犇睿资本创始人:衍生品交易满足了机构投资者希望从价格下跌中获利方法:今日举行的金色沙龙圆桌讨论中,针对“目前越来越多的衍生品交易所出现,主要原因有哪些”的问题,犇睿资本创始人褚康表示,衍生品交易所火爆的原因主要在于两点,一是交易所本身,加密货币市场的发展是传统金融市场发展的缩影,不仅仅是金融机构本身,包括监管、产品设计等多方面都是在借鉴传统金融市场进行发展。作为核心机构的交易所本身,自然会成为主要追逐的对象。二是衍生品本身,加密货币衍生品从2018年开始兴起,进入了一定阶段的低迷时期,机构投资者希望从价格下跌中获利或者是找到对冲的方法,衍生品交易满足了这项需求,而衍生品交易的高额潜在利润,同样吸引了大批投资者,特别是在欧美国家。[2020/2/26]

提议

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-6:833ms