宇宙链 宇宙链
Ctrl+D收藏宇宙链

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

作者:

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

回顾:状态大小管理技术

为了防止以太坊的状态容量无止境地膨胀,我们需要用一些方法使旧状态「失活」,这样加入网络的节点就不再需要存储旧状态了。即使大多数的客户端都变成无状态,似乎也可以合理预见,最终这个系统会扩容到网络无法一直保证所有状态都可用的地步。有两个方法可以使旧状态失活:直接删掉,然后可以把它移到另外的默克尔树,这样关心该状态对象的人可以获取相应的默克尔分支,在未来某个时候用它来激活该状态。不把对象移出树结构;相反,只在树的该位置标记「失活」,这样节点就不会存储它(且协议也不会要求它们这样做)。通过发送一个提供默克尔证明(即见证数据)的事务来访问该状态,失活的对象就可以重新被访问了。方法(1)对应于「经典的存储租金方案」,方法(2)对应于传统「无状态客户端」的最简单延伸——旧状态可以被遗忘的模型。这两种方法都允许关心特定状态对象的个人追踪默克尔分支,这样随后如果那些状态对象失活了它们可以用来激活这些对象。然而,这两种方法都是有明显问题的。当要在某个已失效合约的同一个地址上再创建合约时,方法(1)会出现一些极端情况。那就是,如果一个合约在地址A上创建了,然后已经失效了,那么在地址A上创建这个合约的事务会被重新执行,这样会在地址A上创建一个新对象,这会影响原始对象的激活。另一种情况是当在地址A上创建了一个对象,然后经历失活、被激活、被修改(例如,发送合约上的资金到另一个账户)、再失活、再用第一次失活所在的默克尔分支激活。这违背了保留规则,且可能被用于铸币;需要增加额外的默克尔证明来证明一个合约还没有被另一个特定状态激活,而该状态也尝试被激活。方法(2)遇到的是不同的问题。假设两个相邻的地址(也就是两者间没有对象)A1和A2都已失活。这样,不仅A1和A2都不再可以访问(除非有人存储了默克尔分支),而且A1和A2之间的所有地址都不可以访问了。也就是说,如果总共有N个地址,那么大约1/N的可用地址空间都不再可访问了。当一半的地址都失活了,大约1/4的地址空间不再可访问。随着时间推移,会越来越难找到空间生成新的地址。而且由于新地址越来越集中在剩下的「可访问」空间上,每N年可访问空间减半的这种影响会呈指数增长。提议

区块链保险科技初创公司Vitraya完成410万美元A轮融资:3月15日消息,区块链保险科技初创公司Vitraya宣布完成410万美元A轮融资,Xceedance和一家未透露名称的投资财团参投。Vitraya主要利用人工智能和区块链技术为保险公司实现支付完整性、医疗程序和福利管理的自动化服务,帮助医院/医疗保健服务提供商、以及为消费者和企业提供健康保险产品的保险公司实现实时支付和理赔。?[2023/3/16 13:06:38]

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

声音 | Vitalik Buterin:可伸缩性、隐私性和可用性是以太坊的三大发展重点:据Invest In Blockchain消息,以太坊联合创始人Vitalik Buterin在与Abra首席执行官Bill Barhydt交流时分享了以太坊的三大发展重点:可伸缩性、隐私性以及可用性。其表示,以太坊网络需要每秒处理100,000笔交易才能成为未来可行的平台。此外,Vitalik Buterin还表达自己对比特币作为一种价值储存手段将如何发挥作用的看法,其认为如果比特币的意图是充当一种货币,那么转向“权益证明”(Proof-of-Stake)会更好。[2019/3/21]

动态 | Vitalik Buterin 反驳 Tuur Demeester 对以太坊的批评:以太坊创始人 Vitalik Buterin 在 Reddit 上逐条点评和反驳了 Adamant Capital 创始人 Tuur Demeester 此前对以太坊做出的批评。Vitalik Buterin 称,这些批评意见无视以太坊在研究和开发方面取得的进展,忽视了以太坊社区在过去一年中规模的扩张和专业度的提升。此前,Tuur Demeester 连发 50 条推文,历数他眼中以太坊的种种短板,认为以太坊最多是一个科学实验,其目前市值已经跌至 130 亿美元,依然估值过高,这一系列推文引发大量讨论。[2019/1/1]

声音 | V神:邮箱Vitalik@butterin.me不是我的:以太坊创始人V神(Vitalik Buterin)发推表示,“Vitalik@butterin.me不是我的,任何由这个邮箱发出的邮件都是子所为。我的所有邮箱地址都是.com或者.org这两个域名。”[2018/11/1]

标签:以太坊TERVITPOC以太坊价格今日行情biteternityTavittcoinPocket Bomb

火币交易所热门资讯
监管趋严,高倍杠杆加速退场

作者|RichardLee高倍杠杆似乎正在加密市场中退潮。7月25日,FTX创始人SBF在推特宣布FTX取消高倍杠杆产品,并将杠杆倍数限制在20倍.

1900/1/1 0:00:00
6月发生典型安全事件超36起,「DeFi」与「虚拟货币」安全风险居高不下

据成都链安安全舆情监控数据显示:2021年6月,据不完全统计,整个区块链生态发生的典型安全事件超36起,整体安全风险评级为。本月,依然是典型安全事件频发的主要阵地,“闪电贷攻击”依然是黑客采取的主要攻击手段.

1900/1/1 0:00:00
如何释放比特币的DeFi价值?

毫无疑问,比特币是加密货币的统治者。然而,尽管比特币作为数字黄金取得了成功,但在其目前的状态下,它只是用于持有。幸运的是,现在有越来越多的用户可以用他们的比特币去做更多的事情,比如把它们用于其他区块链上的DeFi协议中.

1900/1/1 0:00:00
BTC已破4w,Bitfinex「神秘大空头」的自信来源于何处?

吴说作者|刘全凯本期编辑|ColinWu一条神秘鲸鱼在Bitfinex上出现,或是大户或是机构,每逢其出现,市场无不人心惶惶。据Datamish数据,在过去半年里,这条神秘鲸鱼出现了四次.

1900/1/1 0:00:00
为惩治偷电挖矿,马来西亚用压路机压毁1000多台矿机(附视频)

作者|秦晓峰编辑|郝方舟出品|Odaily星球日报 数据:比特币波动率下降到2020年6月水平:1月11日消息,Arcana Research的一份研究报告显示,比特币30天波动率已经下降到2020年6月的水平.

1900/1/1 0:00:00
为什么币安对待不同国家监管层的态度大相径庭?

近两天,加拿大、日本、英国的监管机构先后向币安发出警告,而币安迅速于6月26日发出公告,停止向加拿大安大略省的公民提供服务,而对于英国的警告,币安28日迟迟发出回应.

1900/1/1 0:00:00