木星链 木星链
Ctrl+D收藏木星链

比特币:观点:以太坊状态规模管理诸提议(上)

作者:

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

以太坊协议所面临的一个最为长久且尚未解决的挑战,就是由于状态数据规模不断增长而带来的问题。以太坊区块链上的许多操作都会给以太坊添加状态内容,而所有全节点都必须存储全量的状态数据,这样才能验证新区块以及制造新区块。这些操作只需事务的发送者一次性缴交按gas用量来计量的手续费,但会给整个网络造成永久的持续性成本,因为节点需要存储这些新数据。

这是系统设计中的一个显著的失衡,可能会让以太坊系统变得越来越难用,因为状态中充斥着不再有用处的“垃圾数据”。本文的目的是详细解释问题产生的根源,以及一些解决该问题的方法。如果我们能实现某个解决方案,这将为安全地大幅提高区块Gas上限铺平道路。

本文所论述的研究领域仍在推进中,随时有可能出现更新、更好的想法和更优雅的权衡。

引言:问题出在哪?

“状态”指的是节点若想处理新产生的区块和事务就必须存有的信息。状态与“历史”完全不同,后者是关于过去时间的信息,节点可以保存这些信息以便日后重新广播或归档,但并不是处理区块链所必需的。

观点:比特币泡沫破灭的原因是该项技术还不成熟:加密货币投资基金董事总经理威廉·奎格利表示,通常我们投资是以日、或者周为单位,但这显然不是大多数人购买比特币甚至股票的方式。迄今为止,投资者已经历三次这样的大型加密货币泡沫。泡沫破灭的原因往往是发生了证明该项技术还不成熟的事件。(金十)[2021/5/24 22:36:35]

在以太坊协议中,状态信息包括:

账户的ETH余额和nonce

智能合约的代码

智能合约的存储项

与共识机制相关的数据

历史信息则由旧的区块和收据组成。EVM中没有操作码可以让你访问旧区块、旧事务和内容和收据输出,所以节点丢弃这些数据也仍然能验证新区块,所以这些是历史信息。

上述状态信息列表中的最后一项——共识机制相关数据——在设计上已经精心限制了其规模,因此我们不太需要为此困扰。但前面三项,就令人头大了。这三类状态信息的规模会随着时间推移而不断增大,因为不断会有新用户加入网络,他们会创建新的账户、新的合约,还会加入合约、收到token什么的。

观点:比特币是人们想要的产品,这就是最好的增长策略:Morgan Creek Digital联合创始人Anthony Pompliano发推称,比特币成为市值万亿美元的产品:没有管理团队;没有营销预算;没有风险投资者;没有总部;没有大型、引人注目的发布。它只是人们想要的产品,没有比这更好的增长策略了。[2021/4/5 19:46:43]

难办的是,许多状态用过之后就会静静地躺在那里;一旦某个用户停用某个应用之后,就会产生一些“垃圾状态”——不会再派上用场,但会永远存在那里。

理论上,用户可以做到“垃圾不落地”。用户可以仅发布带有SELFDESTRUCT条件的合约,等他们再也用不上这个合约的时候,就调用这个操作码移除这个合约、清空其token余额;他们还可以使用智能合约钱包,通过一个已有的外部持有账户来发送交易,而无需生成一个新的EOA。

但是在实践中,这样的激励非常少,而适当的状态清理的技术复杂性又太大了。在许多合约中,给任何人赋予这样调用SELFDESTRUCT的权限都是不合适的,而且,也会给用户体验和代码上也会增加很多复杂性。实际上,由于SELFDESTRUCT用处极其有限而副作用极大,我更倾向于永远移除这个操作码。如果我们真想控制状态数据的规模,我需要的是一个网络中的节点可以默认丢弃不再被使用的“垃圾状态”的方法。

观点:若每周收盘价高于11500美元,将看涨比特币:比特币在周五(8月7日)遭遇短暂回调,从11800美元跌至11300美元。这一事件是由于股市对白宫继续就微信和TikTok在美国的运营问题炮轰中国公司的消息做出反应。

之后,比特币重新回到11500美元的支撑位。距离本周收盘价只有几个小时了,Arcane Crypto首席执行官Torbj?rn Bull Jenssen解释说,比特币的周收盘价超过11500美元将是看涨的。“比特币最近突破10500美元左右的技术阻力位,正逐步形成自2018年1月以来首次突破11500美元的周收盘价。这是非常看涨的!从潜在的市场发展来看,BTC到年底达到2万美元以上的历史新高(ATH)并非不可能。”(Ethereum World News)[2020/8/9]

无状态客户端

这个问题的一类解决方案基于“无状态客户端”的观念。基本原理是,让区块验证不再以持有全局状态为前提。相反,区块会自带证据”),证明其所访问状态的值。就跟现在的设计一样,区块内会包含一个“状态根”,所访问的值可以对应着状态根得到证明。以太坊现在的状态树方案支持这样的证明技术,像二进制树或者VerkleTrie这样更高效的方案也可以。见证数据也会证明处理完该块后新状态根的正确性。

观点:航延险赔付乱象频发 区块链技术可作风控抓手:针对航延险赔付乱象频发,专家称区块链技术可作风控抓手。安达保险数字能力架构师王尧提出,区块链技术是航延险等小额保险防范薅羊毛的不二选择。区块链的优势在于数据传输时效性更好,数据保密性更强,同时可以做到数据实时共享,可在第一时间发现可能的旅行险欺诈风险,并在同业中实时进行共享,将事前风控关口有效前移,极大地促进行业风控能力建设的同步提升,推动保险行业的健康发展。(国际金融报)[2020/6/14]

无状态性有两种形式:

弱无状态性:出块者仍然需要完整的状态,以为区块生成见证数据;但验证区块的阶段可以是无状态的;

强无状态性:没有任何节点需要完整的转台。反过来,是交易发送者需要提供见证数据,而出块者可以聚合这些数据。交易发送者自己负责存储为所关切的账户生成见证数据所需的部分状态树。

观点:挖矿行业竞争非常激烈 小型矿业公司难以生存:比特币价格最近下跌对矿工打击最大,因其利润更少。无力承担费用的小型矿业公司正在关闭机器,这导致大型矿商正在垄断该行业。比特币目前全网难度为16.55T,这使得小矿工很难继续经营。比特币矿商和加密货币投资者Kristof表示,挖矿行业已经没有“小鱼”的空间。他表示,“尽管世界各地都在发生混乱,但挖矿行业仍是一个竞争非常激烈的领域。小鱼已经没有立足之地了。鲸鱼正在进来并试图进行敌意收购。”这引起了另一个问题:我们是否会看到大型矿商大规模垄断权力,因为他们有能力安然度过新冠病风暴?然而,Kristof认为,对于大型矿业公司来说,事情也不顺利。“新冠肺炎正在影响每个人的各个层面。”他指出,“大型矿业农场必须得到投资,对吧?而大多数人不知道的是,当你有一个5-10兆瓦的大型挖矿设施,你去挖矿,但不立即出售比特币,而是拿走比特币,然后囤积起来,那么这些人就是在亏本开采。”[2020/3/22]

强无状态性是一个非常“优雅”的解决方案,因为它把责任完全转移给了用户,虽然为了保证实践中的良好用户体验,我们需要创造某些类型的协议来帮助不运行个人节点的用户维护状态、并处理用户需要与意料之外的账户交互的情形。打造这样的协议非常难。

此外,所有类型的无状态性都提高了网络所需的数据带宽;而强无状态性还需要交易声明其所交互的账户及存储项的键。

一个更温和的解决方案:状态过期

更温和的解决方案可以归结为不同形式的“状态过期”方案。必须持续得到访问的状态才能保持“激活状态”;而长期无人问津的状态会变成“失活”。具体用什么机制来更新状态,有很多选择,但一般原则是,除非某个状态对象被显式地更新,否则就以某种形式处于失活状态。因此,任何创建新状态对象的活动,都只能成为节点在一段时间内的负担,而不像现在这样变成永久负担。

失活状态,故名思义,就不是“状态”的一部分;想要处理区块或创建区块的节点无需存储失活状态。不过,失活状态不是被完全删除了!在所有类型的状态过期提案中,都预设了某种方法可以“复活”已经失活的状态。

一般原则是,激活状态的使用与当前相同,而失活状态则需通过上述无状态客户端的机制来使用。复活一个过期状态对象的事务需要提供一个证据,来证明该对象是失活状态的一部分。为了能够生成这样的证据,用户自己需要存储和维护至少一部分失活状态。

何时过期

决定过期条件的设计也有很多种。最常见的几种是:

直接租金:逐块逐块收取“租金”,直接以每个账户的余额来支付;状态对象的余额降到了零,该账户就过期了。

剩余存活时间值:每个状态对象都存储一个”剩余存活时间“值,这个值可以通过支付费用来增加

触达即刷新:每个状态对象都存储一个”剩余存活时间“值,并且每逢读取或写入该账户都会增加该值

所有状态对象定期过期:也就是ReGenesis提案

我自己越来越喜欢”触达即刷新“方案,因为它避免了应用需要创造复杂的经济模型来让用户承担状态租金;以及它保证了激活状态的规模有一个清晰的上限。让大量状态按照规律的时间间隔过期的方案也有同样的好处,但也有一些有趣的权衡:关键好处是,过期方案更简单,但关键不足是,跨过一个过期时点后,你再激活自己的状态对象时,需要多少见证数据会跟你触达状态对象的时间点有关。

账户层面的过期vs.存储槽层面的过期

状态过期的逻辑既可以运营到账户层面,也可以运用到单个存储槽层面。当前,我强烈偏向于在存储槽层面实现状态过期方案。因为很多合约账户的存储槽数量是不受限制的,任意用户都能加入合约并增加合约名下的存储槽的数量。不管使用什么样的账户层过期方案,想要实际限制状态的规模,租金的数量都必须与合约内存储槽的数量成比例。结果是,用户还是能够仅支付一次性的费用就给合约及其用户施加永久的持续性成本。

要解决这个问题,合约要么加入复杂的内部逻辑,将存储操的租金“转嫁”给用户,要么重新设计自己合约的模式,转向使用CREATE2操作码创建新的合约并使用这些合约来充当存储槽。不管是哪种办法,最后都会变成等价于存储槽层面的过期方案。因此,我个人认为,我们应该仅在合约存储槽层面实现状态过期方案。

但是,存储槽层面的过期方案也有自己的缺点:每个存储槽都要增加一个元数据,指明它何时过期,这也意味着“复活冲突问题”不仅会影响账户,也会影响存储槽。

标签:比特币区块链以太坊DEST比特币最新价格行情一个多少钱如何做区块链以太坊硬币交易所交易时间Destiny AI

币安交易所app下载热门资讯
比特币:交易隐私报告:90%的人曾偷窥他人的钱包地址

你是否曾偷偷打开过别人的钱包地址查看其持有的加密资产或交易记录呢?根据我们的研究结果,你这样做的可能性约为?90%,即十分之九的被访者曾窥视过他人的钱包地址.

1900/1/1 0:00:00
比特币:比特币冲上5万美元 国际“金融大咖”仍怀疑其身份

比特币不可遏止的上涨势头创造了资本市场上的一个神话,根据CoinDesk公司数据显示,比特币在2月16日盘中最高达到了到50584.85美元,为史上最第一次触及5万美元这一历史最高点位.

1900/1/1 0:00:00
HOT:Hotbit 定于2021年2月15日上线 DERI (Deri Protocol)

尊敬的用户:Hotbit即将在开启DERI(DeriProtocol)数字资产服务,并开放DERI理财产品。预计年化收益:50%;计息:T1.

1900/1/1 0:00:00
KILT:波卡生态项目KILT的平行链发展路径

随着KILT主网上线的临近,KILT的CEO以及创始人IngoRübe分享了他们接下来几个月的计划.

1900/1/1 0:00:00
NFT:NFT交易额屡创新高 哪些趋势和项目值得关注?

不可否认,目前NFT市场非常火爆。不妨看看过去30天NTF市场的销售额,屡创新高,每天都有数百万美元资金在各种新项目和老项目之间转移.

1900/1/1 0:00:00
USD:关于对ADA3S等13个ETF产品进行份额合并的公告

尊敬的客户:由于当前部分ETF产品的单价均低于0.01USDT,为提高其价格变化的灵敏度,优化交易体验,法拉第将在2021年2月20日00:00-03:00期间.

1900/1/1 0:00:00