原文标题:《另一个状态友好的界地址方案》
来源|?ethresear.ch
作者|?VitalikButerin
译者按:本文需要读者对状态管理和stateexpiry机制作一定了解,以下为推荐阅读:(感谢?EthFans的翻译)
以太坊状态管理诸提议状态膨胀和无状态性一份新的无状态以太坊路线图弱无状态性以及/或者状态保质期机制:即将到来
回顾:状态大小管理技术
为了防止以太坊的状态容量无止境地膨胀,我们需要用一些方法使旧状态「失活」,这样加入网络的节点就不再需要存储旧状态了。即使大多数的客户端都变成无状态,似乎也可以合理预见,最终这个系统会扩容到网络无法一直保证所有状态都可用的地步。有两个方法可以使旧状态失活:
Vitalik:跨链证明是实现跨链社交恢复钱包的关键,ZK-SNARK等是可行选择:6月20日消息,以太坊联合创始人VitalikButerin在最新文章《更深入探讨钱包和其他用例的跨L2读取》中指出,实现跨链社交恢复钱包的一个可行方案是维护一个存放在特定位置的密钥库,以及多个不同位置的钱包,这些钱包可以读取密钥库来更新自身的验证密钥视图或在每次交易验证过程中。跨链证明是实现这个功能的关键,需要对其进行深度优化,可能的方案包括零知识证明(ZK-SNARK)、等待Verkle证明或自定义KZG解决方案。
从长远看,我们需要实现聚合协议,通过生成聚合证明来打包所有用户提交的操作,以此来降低成本。这可能需要将其集成到ERC-4337生态系统中,可能需要对ERC-4337进行一些修改。同时,为了减少从L2内部读取L1状态的延迟,L2应被优化。
钱包不只可以放在L2上,也可以放在与以太坊连接程度较低的系统上,如L3或只同意包含以太坊状态根的独立链。然而,密钥库应放在L1或高安全性的ZK-rollupL2上。尽管这样会增加复杂性,但从长期来看,可能在L2上设置密钥库才是成本更低的方案。在这个过程中,我们也需要致力于提供保护隐私的解决方案,并确保我们的方案可以与隐私保护方案兼容。[2023/6/21 21:50:47]
直接删掉,然后可以把它移到另外的默克尔树,这样关心该状态对象的人可以获取相应的默克尔分支,在未来某个时候用它来激活该状态。不把对象移出树结构;相反,只在树的该位置标记「失活」,这样节点就不会存储它(且协议也不会要求它们这样做)。通过发送一个提供默克尔证明(即见证数据)的事务来访问该状态,失活的对象就可以重新被访问了。方法(1)对应于「经典的存储租金方案」,方法(2)对应于传统「无状态客户端」的最简单延伸——旧状态可以被遗忘的模型。这两种方法都允许关心特定状态对象的个人追踪默克尔分支,这样随后如果那些状态对象失活了它们可以用来激活这些对象。然而,这两种方法都是有明显问题的。
Vitalik:可以对ENS域名年费进行投标,增加ENS DAO收入:金色财经消息,以太坊创始人Vitalik Buterin(V神)在其个人网站发表文章,讨论ENS域名是否应该引入基于需求的注册常态费用。V神表示,如今的ENS域名注册常态费用非常便宜,由此引发了产权强度和公平性之间的权衡问题,而且ENS二级市场的高度投机性也无法确保市场的有效性。因此,V神提出可考虑为ENS域名引入基于需求的维护费用,对于ENS域名年费进行投标,从而以市场化方式对高需求的ENS域名进行定价。这一方法可提高域名抢注成本,同时可为ENS DAO增加收入。[2022/9/9 13:19:05]
当要在某个已失效合约的同一个地址上再创建合约时,方法(1)会出现一些极端情况。那就是,如果一个合约在地址A上创建了,然后已经失效了,那么在地址A上创建这个合约的事务会被重新执行,这样会在地址A上创建一个新对象,这会影响原始对象的激活。另一种情况是当在地址A上创建了一个对象,然后经历失活、被激活、被修改(例如,发送合约上的资金到另一个账户)、再失活、再用第一次失活所在的默克尔分支激活。这违背了保留规则,且可能被用于铸币;需要增加额外的默克尔证明来证明一个合约还没有被另一个特定状态激活,而该状态也尝试被激活。
Vitalik Buterin登上《时代》周刊封面:金色财经消息,据《时代》周刊杂志官方公布,以太坊创始人Vitalik Buterin成为《时代》周刊封面人物。
此外,《时代》周刊发文表示,以太坊已成为仅次于比特币的第二大加密货币,为与Visa相媲美的万亿美元生态系统提供动力。以太坊已将全球数千名无银行账户的人带入金融系统,允许资本不受阻碍地跨境流动,并为企业家提供基础设施,以构建各种新产品。[2022/3/18 14:05:24]
方法(2)遇到的是不同的问题。假设两个相邻的地址(也就是两者间没有对象)A1和A2都已失活。这样,不仅A1和A2都不再可以访问(除非有人存储了默克尔分支),而且A1和A2之间的所有地址都不可以访问了。也就是说,如果总共有N个地址,那么大约1/N的可用地址空间都不再可访问了。当一半的地址都失活了,大约1/4的地址空间不再可访问。随着时间推移,会越来越难找到空间生成新的地址。而且由于新地址越来越集中在剩下的「可访问」空间上,每N年可访问空间减半的这种影响会呈指数增长。
Vitalik Buterin推特发布五个以太坊扩展策略:\tVitalik Buterin在推特上发布了5个扩展策略:1、多条独立链; 2、超大区块; 3、不改变安全模型的逐步升级(例如、用压缩的delta+STARKs替换txs+sigs);4、双层网络(主区链和Plasma);5、分片技术。此前Vitalik Buterin推特上称,分片即将到来[2018/6/9]
提议
我提议对方法(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
标签:以太坊TALALITER什么是以太坊币交易Crystal TokenAliens MuskMagic Shiba Starter
据官方消息,Theta钱包已升级到v3.0.1版本,新版本增加了TFuel质押功能,允许用户将他们的TFuel代币抵押到他们的ThetaEdge节点.
1900/1/1 0:00:00关于从工程视角设计futarchy,存在的质疑许多第一意识很有前途的想法,在考虑了更多细节之后似乎就不那么乐观了.
1900/1/1 0:00:00跨链资产桥Chainswap今日公布了黑客攻击事件详情,称UTC时间7月2日凌晨04:30,注意到跨链桥上出现异常,一些用户报告说他们的代币被主动从与ChainSwap交互的钱包中取出.
1900/1/1 0:00:00据PolkaWorld7月7日消息,2021上半年DOT/KSM国库报告已发布。据悉,波卡/Kusama国库是链上的DOT/KSM金库.
1900/1/1 0:00:00IPFS&Filecoin生态指数周报是IPFS中国社区推出的、通过收集Filecoin全网数据进行分析整合、为广大Filecoin生态参与者提供评估Filecoin生态发展的定量参考.
1900/1/1 0:00:00币圈新鲜事6月26热点提要:1.?华尔街日报文章:人们想在退休账户中配置BTC。2.新京报:比特币暴跌或影响特斯拉Q2净利润。?3.?律师:依照当下法律法规,虚拟货币应当受到法律保护.
1900/1/1 0:00:00