科普 | ReGenesis:我们可以“重启”以太坊吗?_区块链:区块链币币交易

来自CosmosHub的经验

如果你观察过CosmosHub是如何从1.0版本升级到2.0版本,再升级到3.0版本的,你就会知道CosmosHub的升级本质上是通过用一个新的创世块重启区块链来实现的。要升级的时候,节点运营者需要关闭节点,然后生成CosmosHub状态的快照,然后将这一快照打包进新的创世块,创建一条新的区块链。

现在,凡是想要加入CosmosHub的人,都需要获取CosmosHub-3的创世块,下载CosmosHub-3的所有区块并进行重放。

我们可以“重启”ETH1.0吗?

我们来设想一下同样的方法能不能应用到以太坊上。以太坊区块链非常庞大,状态也很大。“重启”以太坊区块链的一个明显优点是,新加入的节点需要下载40Gb的创世状态,而非一条150Gb的区块链。然而,下载40Gb的创世状态也不是很好的体验。

民盟中央建议加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《关于“元宇宙”技术发展的提案》,并将提交全国政协十三届五次会议。在提案中,民盟中央建议,在科普层面需加速知识传播,法律层面则需加快立法步伐。民盟中央拟提交的提案指出,目前,在新兴网络层面,相关政策法规相对缺失。“元宇宙”在未来将会带动形成全新的网络形态,当遇到突发舆情,全虚拟的环境、场景将更难进行源头追踪、问题疏导。因此建议应尽早加快立法研究,尽快形成与技术、市场发展相适应的治理模式和法律基础,全面提升我国社会治理的水平。建议组织相关部门,针对“元宇宙”相关需求、风险进行立法研究,并尽快发布。此前消息,民进中央拟向全国政协十三届五次会议提交《关于积极稳妥推进元宇宙技术和产业发展的提案》。建议推进元宇宙技术产业发展,建立相关监管治理体系。(华夏时报)[2022/3/4 13:37:12]

将以太坊的状态存储在链下,只有默克尔根哈希是链上可见的

人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]

假定我们可以将这40Gb存储在“链下”,只将根哈希打包进创世块,这样我们就能从空状态开始了。但是,我们如何让交易访问这些隐式的状态?

人民数字FINTECH推出区块链科普动画:人民日报数字传播发布微博称,人民数字FINTECH出品《趣味科普|区块链动画》。[2020/3/31]

请记住,尽管这40Gb的状态是隐式的,而且如何获取这些状态属于实现细节,你可以运行所有1000万个区块来计算这些状态,或者通过快速同步、warp同步来下载其快照,或者从其他人的外部磁盘复制过来再进行验证。虽然状态是隐式的,但是我们假设区块提议者可以访问这部分隐式数据,而且能够处理所有交易。只不过我们要放弃一个假设:所有其他验证节点都可以访问隐式状态,来验证区块中的交易是有效的,且区块头中的状态根哈希符合区块的执行结果。

这不是无状态以太坊吗?

如果你了解无状态以太坊,你可能会意识到,这正是我们目前努力的方向——保留“区块提议者可以访问隐式状态”的假设,去除“所有验证节点都可以访问隐式状态”的假设。我们建议的解决方案是,让区块提议者将额外的证明添加到区块中。我们将该证明称为“区块见证”。

声音 | 火星人朋友圈科普RAM:火星人在朋友圈发文称,“什么是RAM?简单来说就是EOS这个国家的土地,所有的经济行为都离不开土地。只要EOS的BP们能投票形成一个稳定的供给预期,并且不改变目前的Bancor算法,那么RAM后续的价格有可能会像北上广深的房价走势。房价下跌不行,房价过快上涨也不行,EOS的生态越来越像某国了,真有意思。”[2018/7/6]

区块中的证明vs交易中的证明

第一次了解这个方案的人会认为额外的证明实际上是由交易发送者提供的,是交易有效负载的一部分,我们不得不出来解释说并非如此,证明是由区块提议者提供的。但是,我们后来发现,交易也必须包含额外的证明。换言之,交易发送方需要证明发送方地址有足够的ETH来支付gas费,以及其他所有由这个账户发起的nonce值较小的交易。此外,交易发送方还需证明发送方账户的nonce值,以便节点弄清楚nonce值之间是否存在缺口,以免有人借机发送一系列不可行的交易来进行DDOS攻击。我们还可以进行更加严格的检查,不过对于绝大多数抗DDOS攻击的方案来说,ETH余额和发送方账户nonce值是必要信息。

交易中的证明存在的缺点

假设我们想让交易发送者将每一个相关状态的证明都添加进交易。这样做的好处在于,将简化我们为见证收取额外gas费所需的工作量。这样做的主要缺点在于,这通常需要通过动态状态访问相对)实现。如果一个交易涉及的智能合约特别复杂,比方说,有大量对其他合约的嵌套调用,可能很难预先计算出交易将涉及的状态项。攻击者甚至可以利用DSA来给用户“下套”,即,抢跑其交易让用户的交易因为证明不充分而失败。

ReGenesis提供的缓解措施

虽然DSA的隐患很难彻底解决,但是可以尽可能降低其风险,让用户不会感到不便,也不会永远限于无法实现预期状态转换的境地。该缓解措施需要引入额外的规则,即,任何随交易提供的证明都会成为隐式状态的一部分。因此,随着用户反复尝试执行交易,隐式状态会不断增长,最终交易成功。那些尝试给用户“下套”的攻击者必须找到更复杂的方法,把用户的状态访问重定向到已有的隐式状态之外,最终以失败告终。

随着隐式状态从无到有不断增长,包含越来越多的主动访问状态,交易需要提供的证明将会减少。过了一段时间,大多数交易甚至不需要附带任何证明,除了那些涉及到很久之前的状态的交易。

我们可以定期执行ReGenesis

我称之为“重启”reGenesis,可以定期执行,以便减轻非挖矿节点的负担。ReGenesis也代表了一个不那么激进的无状态以太坊版本。

反复执行ReGenesis将简化以太坊客户端实现的架构,几乎可以免去对较高级快照同步算法的需求。如果我们每隔100万个区块执行一次ReGenesis,可以将状态快照和区块链文件放到BitTorrent、Swarm和IPFS上公开。目前我们无法做到这点,因为状态每隔15秒而非6个月转换一次。如果客户端实现可以重放6个月的区块,我们就不需要非常复杂的快照算法。因此,以太坊实现的复杂性会降低。

ReGenesis的缺点

我还没有对此进行深入探索,不过我已经看到的三个缺点有:

用户可能需要访问完整的隐式状态来创建交易。实际上,我认为这是公平的妥协。

用户可能需要反复执行交易,直到最后实现预期状态转换。

一些rollup技术可能会受到影响

原文链接:?https://ethresear.ch/t/regenesis-resetting-ethereum-to-reduce-the-burden-of-large-blockchain-and-state/7582作者:?AlexeyAkhunov翻译&校对:?闵敏&阿剑

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

金智博客

[0:15ms0-7:746ms