火星链 火星链
Ctrl+D收藏火星链

以太坊:科普 | ETH 1.x与无状态节点介绍

作者:

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

本篇文章将剖析eth1.0存在的各项问题,并介绍EthereumFoundation提出的eth1.x升级相关改动能如何改善当前以太坊的困境。

什么是eth1.x

以太坊2.0的研究行之有年,迄今距离全面启动仍需要2–3年的时间,并且eth2.0将被部署为由信标链与多条分片链构成的独立区块链,而eth1.0需要经过改动与升级方能成为eth2.0中的其中一条分片链。这意味着现在运行的以太坊1.0区块链需要进行改动,并且在未来的5~10年保持运作,持续发展。而?eth1.x即为以太坊1.0升级版本的代称。

eth1.x的首要目标旨在解决现在区块链日益增长的资料负担,在区块链大小持续增长的情况下保持eth1.0网络的弹性。

以太坊1.0的弊端与问题

在开始介绍以太坊1.x之前,必须先认知到目前以太坊存在的问题,如此方能充分了解eth1.x被提出的背景与旨在解决的痛点。

Problem(A):网络趋于中心化

自2020/05以来,GasPrice的节节攀升导致开发者与高频率使用者叫苦连天,其背后原因除了以太坊用户数量的增加,亦是由于

耗费大量Gas的智能合约互动行为比例提升,使得以太坊网络持续壅塞。

面对这样的情景,矿工社群于2020/6/19UTC投票通过,将每个区块的GasLimit从10,000,000提升到12,000,000。

截至2020/06/30,尽管每个区块的GasLimit提升至12,000,000,合约交易占比的提升依旧让每个区块所能容纳的交易数十分有限,在?Etherscan?上可以查看到以太坊的TPS在GasLimit提升前平均落在12左右;在GasLimit扩增后,TPS亦没有出现明显的提升。

-?

etherscan.io?-

可能有些人会想说既然12,000,000GasLimit依旧壅塞,那怎么不再往上提升?原因是GasLimit的提升将导致

稳定币crvUSD科普创新清算机制LLAMMA,可在抵押品价格下跌时逐步替换为稳定币:1月17日消息,Curve官方科普其稳定币crvUSD创新的清算机制LLAMMA,解释了LLAMMA通过AMM的特性进行针对债务人更友善的清算方式,让抵押品在价格下跌时逐渐转移成稳定币,让原本要清偿的债务有一定程度的稳定币可以偿还,同时在价格回稳时再逐渐把稳定币换回抵押品,而不是直接的触发清算导致债务人的亏损。

此前报道,2022年11月23日,去中心化交易平台CurveFinance开发者发布Curve即将推出的去中心化Stablecoin“crvUSD”的官方代码和白皮书。[2023/1/17 11:17:13]

每个区块的处理时间变长,进而造成?

UncleBlock的数量增加,使得

网络的共识机制变不健康,矿工必须耗费大量额外运算来进行处理。

此外,由于独立节点与小型矿池更容易挖到UncleBlock,长期下来出块奖励的期望值降低将导致部分节点入不敷出,进而离开网络。如此将让以太坊网络变得更加中心化,更向大型矿池集中,危害了网络的长期健康与安全性。

Problem(B):状态爆炸

随着越来越多的智能合约被部署,以及大量的合约互动行为,导致以太坊网络需要储存的

「状态」大小正以「等比级数」增长。状态的增长即反映在节点的储存空间大小上。

笔者于另一篇文章中摘要介绍了以太坊网络中的节点:全节点与轻节点:以太坊节点面面观文科生也该知道的区块链技术知识

在2019年年底,全节点的每月增长大小「小于20GB」;到了2020/06,随着GasLimit的提升,全节点的每月增长大小「逼近40GB」。状态不断加速增长的结果会对以太坊网络的性能带来衰退与网络健康的损害。未来全节点的运行将会变得更加艰难,可能导致网络变得越来越「中心化」。,即以30KB计算,单月的区块数据增长量为30×4×60×24×30=5,184,000KB,换算过来就是5GB。而状态数据的增长更不可能有几十GB之巨。)

美国说唱歌手Megan Thee Stallion与Cash App合作发布比特币科普视频:美国说唱歌手Megan Thee Stallion与由Square开发的移动支付服务Cash App合作发布了一段名为“Bitcoin for Hotties”的视频。该视频从她的角度解释了什么是比特币,为什么比特币有价值等内容。Megan Thee Stallion在Instagram上拥有超过2410万粉丝,在 Twitter上拥有640万粉丝。(Bitcoin News)[2021/8/8 1:41:10]

此外,区块验证的难度将随之提升,导致整体网络的延迟与TPS的进一步下降。

尽管这个过程如同温水煮青蛙,在数年之后才会导致以太坊网络出现巨大的安全性问题,然而为了避免走到那步田地,早在数年前便开始以太坊2.0的相关研究与开发。

-

RoadmapofEthereumtweetedbyVitalikon2020/3/19-

以太坊的未来

Vitalik于2020/3/19在推特上分享了他对于以太坊未来5~10年发展观点的路线图,主要由以下四个部分构成:

eth1.xother

eth1.xstatelessness

eth2phase0prep

eth2phase2andbeyond

图中间的横轴代表时间线,沿着时间轴是一个从Phase0启动,到Phase1,再到「eth1?eth2合并」的「核心路径」。要完成合并有三个先备条件:

eth2phase1

eth1?eth2合并的规范与实现

eth1.xstatelessness

其中,

「eth1.xstatelessness」可说是对于eth1?eth2合并最至关重要的一个条件,本文将以「无状态性」为主轴做相关的介绍。

状态爆炸对以太坊网络的影响

由于以太坊区块链的本质是一台依靠矿工维护的去中心化大型「状态机」,随着区块数量的增加更迭状态,不断向前移动。以太坊的完整「状态」包含所有个人帐户和余额的当前状态,以及在EVM中部署和运行的所有智能合约的整体记忆体。

以太坊网络在每个区块高度都只有唯一一个获得全网所有节点共识的「状态」,这个「状态」在每一个新区块会产生变动并随着区块接至区块链上。

欧科云链集团正式启动区块链科普行动“星途计划”:欧科云链集团于4月26日,正式宣布启动了区块链科普行动——“星途计划”,行动包括将在全国范围展开系列沙龙,加大力度推进区块链科普进机关、进国企、进校园等,联合政府部门、行业协会等共同构建起更加完善和有效的区块链科普教育生态,与此同时,直击区块链科普现存痛点,推出简单易懂的“秒懂区块链”公益短视频课。

该计划旨在全维度推动社会建立对产业更清晰的认知,与“鲲鹏计划”一道助力数字经济及区块链产业本身健康发展夯实“人才”和“产业认知”两大基础。[2021/4/26 20:59:37]

矿工在执行交易运算时,必须依据交易内容至节点内以「Merkle-PatriciaTrie」资料结构组成的状态树中更改相关的状态值,再重新计算出每个树状节点的hash值,算出新的「MerkleRoot」,生成新的状态树。

-图片来源:

https://blog.ethereum.org/?-

截至2020/06,当前的以太坊网络中约有5亿个状态值,总状态大小约为10GB,状态会随着网络上的帐户与智能合约数量增加而按比例增长。因此,如果以太坊继续获得主流采纳,状态可能会在未来数年持续爆发性增长。不断扩大的状态主要会对节点造成两大影响:

节点读取状态耗时增加,交易处理速度变慢

目前每个新区块矿工大约需要添加或修改3000~6000个状态值。由于矿工处理每一笔交易时都必须要读取节点资料库中状态的相关资讯,当状态数量持续增长,在状态树中查询到指定状态值的耗费时间就越长。

建构新的状态树耗时更长,区块验证速度减慢

当矿工将交易处理完时,必须建构一个由新的状态组成的Trie结构状态树,当中涉及大量的hash值运算。计算完RootHash方能建构出新的BlockHeader,打包出新区块。

小结

综合来说,持续增大的「状态」与「节点大小」将导致

新的全节点启动成本大幅提升:对于「储存空间」的需求与「同步时间」的增加可能会进一步导致网络中

全节点数量的减少。

此外,以太坊网络的整体性能下降也在所难免。以太坊随着状态树查询与运算耗时的增加以及越来越多的合约交易,TPS可能会进一步下降,导致网络变得更加壅塞,迎来更高的GasPrice竞逐。

eth1.x的提出

IMF今日发布的加密货币科普视频实为两年前旧闻,且存在诸多疏漏:国际货币基金组织IMF今日在推特上发布了一条关于加密货币的科普视频,这段时长两分钟的视频最初发布于2018年6月。该视频称加密货币是“货币进化的下一步”,但没有特别提到DLT、区块链,甚至是代币名称等术语。BTC、XRP和ETH只出现在说明加密交易的图形中。尽管这段视频到目前为止已经获得了超过13.7万的点击量和2900个赞,但来自加密社区的许多反应都是批评的,他们指出了信息中的漏洞和似乎具有误导性的措辞。

Reddit用户nanooverbtc称:“他们犯了很多错误,比如把私钥称为密码。”该视频也没有讨论挖矿或加密货币供应。Kraken策略师Pierre Rochard等知名人士表示:“可证明的稀缺性是比特币有趣的原因,你忘了提这一点。”(Cointelegraph)[2020/8/24]

对于以太坊1.0升级的相关研究最早可以溯及到2018/10在捷克布拉格召开的DevconIV,会议谈论到以太坊2.0无法在未来3~5年内完全取到以太坊1.0的所有功能,因此eth1.0仍必须保持安全稳定运行,于是乎无数的核心开发人员开始研究一系列延长eth1.0寿命以及与eth2.0介接的解决方案。

既然状态的持续增大对于以太坊网络的健康带来重大影响,解决方案之一便是「消除以太坊网络对状态的需求」。细看Vitalik于2020/3/19发布的以太坊未来路线图中即可看到一系列的解决方案:

上述的路线图是较为精要的版本,以太坊研究员GriffinIchibaHotchkiss于2020/4/2在?EthereumBlog?分享了他对于目前eth1.x研究开发方向的理解,整理出下图的「技能树」:

-

2020/4/2更新的eth1.x科技树-

由于细节族繁不及备载,本文只会挑出其中几个核心来做说明。有兴趣的朋友可以参考并持续关注?

EthereumBlog?中的相关文章:

The1.xFiles:TheUpdatedStatelessTechTree

TRON数字钱包科普资料《波场钱包的现在过去与未来》已上线:据最新消息显示,由TokenPocket联合波场TRON官方,以及 TokenPocket 社区志愿者共同撰写的《波场钱包的现在过去与未来》已正式上线。《波场钱包的现在过去与未来》又称为波场钱包小白书,详细介绍了当前TRON钱包与TRON生态密切结合的实例,是目前市面上最为详细的TRON数字钱包科普资料。波场钱包作为波场公链生态中极为重要的入口,是波场生态的重要构成要素。波场钱包从一开始只提供权限管理、转账收款、节点投票等基础功能,到如今不仅可以为用户提供法币交易、闪兑和去中心化交易所等方便快捷的交易服务,还能让用户直接在钱包上体验波场上DApp,挖矿、DeFi、Staking等资产增值服务。详情见原文链接。[2020/8/20]

The1.xFiles:APrimerfortheWitnessSpecification

The1.xFiles:EIP1559andtheEthereumImprovementHorizon

eth1.x的目的

简而言之,eth1.x的核心目的有两个:

(A)延长eth1.0的寿命

在区块持续增长的情况下维持eth1.0区块链的安全、稳定与弹性,让人们可以选择仅下载部分的状态,在较便宜的硬件上运行节点。

(B)与eth2.0介接

由于eth2.0中的分片将是无状态的,因此「无状态」将是参与eth2.0区块验证的先决条件。eth1.0要与eth2.0相容的话势必得支援无状态运作,方能顺利过度,与eth2.0介接。

为了达成这两个目的,在技能树图最右侧的终点我们可以看到「无状态以太坊StatelessEthereum」。然而,「无状态」的以太坊这个词可能有些不够精确,因为整个以太坊网络就是基于状态而存在的。

具体来说,是找到一种方式让以太坊网络中的部分节点可以将「保留整个以太坊状态的副本」这件事变为一个选项,而非必须。因此,要让现行的以太坊网络能够支援没有保存完整全网状态的轻量级节点:「无状态节点」参与到网络中的新区块验证。

而为了让无状态节点能够进行验证,以太坊1.x提出了以下三项主要改动,我们将逐一来进行介绍:

(1)区块见证机制

(2)EVM改动

(3)资料结构转换为二进位制

(1)区块见证机制

无状态节点如何参与验证

简单来说,作法是:拥有全网状态资讯的「完整状态节点FullStateNode」在打包新区块时会一并产生「区块见证BlockWitness」,让没有保存全网状态的「无状态节点」能

藉由区块见证提供的资讯对新区块进行验证。

什么是「区块见证BlockWitness」

前面提到,以太坊的资料结构是由约5亿个状态值所构成的Merkle-PatriciaTrie。然而,其中大约

只有0.1%状态值会随着区块高度产生变化,如:个人帐户的ETH余额、合约底下记载的每个地址持有Token数量。99.9%的状态值如:智能合约的程式码、Uniswap手续费0.3%的参数等资讯一但智能合约部署完成便不会再进行更动。

由于一个新的区块至多只能容纳571笔交易,其涉及的状态值更改是十分有限的。那么一个没有储存所有状态值的无状态节点只要向拥有完整状态的节点请求涉及交易的相关状态值与未涉及到的hash值其实即可算出MerkleRoot进行验证。

如下图所示,假设底层的14个菱形代表以太坊网络中所有的状态值,而新区块中仅有一笔交易,针对绿色的状态值进行更改,那么无状态节点其实只需要1个绿色的原状态值以及紫色的Hash值与其它未变动的6个Hash值资讯即能透过4次Hash值计算,算出新的RootHash,而不需要拥有所有的14个状态值来进行9次Hash值计算。

-图片来源:

https://blog.ethereum.org/-

这些为了完成RootHash计算所需要向拥有全网状态资讯的「完整状态节点」请求的「最小资讯量」即为「区块见证BlockWitness」,包含了状态Trie中「不涉及变动的部分Hash值」与「涉及变动的原状态值」。如此一来,没有保存完整全网状态的「无状态节点StatelessClient」将可以藉由请求而来的「区块见证」资讯计算出新的RootHash。

为了便于让无状态节点参与验证,目前的最新研究方向是「区块见证」将可能成为「区块标头BlockHeader」的一部分,随着新挖出的区块一并广播给全网节点,让无状态节点不用再发起额外的「区块见证请求」即能进行验证区块的动作。

透过这样的方式,无状态节点即能参与以太坊网络中新区块的验证。

碍于篇幅,我们在这篇文章只会做概念性的阐述,具体的实作细节先不展开细说,想更进一步了解的朋友可以参考我上方附上的链接以及以太坊博客中的其它相关文章。

(2)EVM改动

状态值的更改和运算都是在EVM中进行,同理,区块见证也必须经由全节点的EVM透过运算来生成。EVM的改动目标与成本和激励机制息息相关,主要包含

耗费Gas的估算以及如何

降低对节点间广播延迟的影响。

区块见证Gas计算

由于区块见证必须由全节点花费额外的计算资源来运算生成,因此会产生相应的Gas成本,而这个成本目前比较可行的方式是

由交易的发起者来进行负担。至于如何让交易发起者在发送交易时即能准确估算额外的Gas,以设定精确的GasLimit,目前仍在研究中,尚未产生明确的定案。

另外,考虑到在同个区块中可能有一个状态值被不止一笔交易进行更改,因而产生重复支付Gas的情形,这部分可能会成为矿工额外的奖励费用。

智能合约程式码分块

区块见证的目的是为了让无状态节点能够进行新区块的验证,其中必定包含了智能合约相关的运算。然而,无状态节点没有储存包含智能合约程式码在内的状态,所以当无状态节点要进行一笔智能合约交易的状态运算时,便需要一并拥有包含智能合约程式码的在内区块见证。

这时会有另外一个问题,智能合约洋洋洒洒的程式码中可能只有其中的一小片段是与该交易运算相关联的,因此「程式码分块」的概念被提出。

「程式码分块」是一种拆分智能合约位元组码的方式,将智能合约中与涉及交易相关的程式码拆出,作为区块见证中的一部分,一并提供给无状态节点让其做运算验证之用。

其目的便是避免调用到不必要的程式码,免于生成庞大的区块链见证导致运算时间的增加及节点间传递沟通的延迟。

(3)资料结构转换为二进位制

根据以太坊研究员IgorMandrigen进行的实验(

BinaryTriesExperiment),若将以太坊资料结构从目前的

十六进位制更改为二进位制,每个区块的区块见证大小将能从800~3,400kB缩小至300~1,400kB,如此将

大幅减低区块见证在网络中传播的延迟时间,让区块见证机制能够运行得更加理想。

然而从Hex转换为Binary具体的实作方式以及过度策略目前仍未有完全的定论,有兴趣的朋友可以持续关注EthereumFoundation释出的相关消息。

无状态以太坊StatelessEthereum

介绍至此,透过引入「区块见证机制」、对「EVM」进行必要的改动,以及将资料结构转换为「二进位制」,已能勾勒出eth1.x的大致样貌。

支援无状态节点的1.x网络,将能够对以太坊1.0的区块链网络产生下方几点关键影响:

i.对新加入节点更加友善

随着全网状态的膨胀与区块高度的提升,启动一个新节点的同步时间会变得越来越长,超长耗时的原因是因为

全节点的同步必须从创世区块开始对每一个区块进行验证与同步的动作,而验证区块必须要拥有该区块高度的全网状态,因此在每一个区块同步状态是目前同步节点的极大瓶颈。

无状态节点时代的到来将能够大幅改善同步区块的痛苦过程,未来仅需凭借「区块标头」与「区块见证」即能完成区块的验证,同步节点体验的改善将能让更多人有意愿且能够负担运行节点的成本。

ii.轻节点得以自力更生

在现行的以太坊网络中,轻节点不具备独立验证新区块与验证交易的能力,因为轻节点没有保存验证交易需要的merkleproof资讯,因而必须向邻近全节点发出p2prequest进行请求,但轻节点现在愿意提供支援的佛心全节点变得越来越少。

无状态机制将能帮助轻节点依靠自己维护的部分状态,以区块标头和区块见证独立进行验证,不求于人。

iii.节点网络安全性提升

由于区块链网络的安全性取决于能参与新区块验证的节点总数量,对网络的攻击成本将随着节点总数量的增加而提高,能有效地低系统被击溃的风险。

随着新节点启动成本的降低以及大量的轻节点投入到新区块的验证中,将让网络的整体安全性大幅提升。

iv.介接eth2.0

最后一点也是最核心的一点,前面提到eth2.0将会是由核心的信标链与多条分片链构成,全网的状态将被多个分片分开储存。由于每条分片各自拥有不同的状态,并且没有保存其它分片的状态资讯。因此

对每条分片来说,其它条分片都像是「无状态节点」。

为了能够在多条分片链间有效验证与同步,必须依靠「无状态的验证机制」。因此现在的eth1.0未来要能顺利成为eth2.0的其中一条分片链,升级为无状态的eth1.x是至关重要的一个步骤。

结论

透过以上介绍,相信读者们应该对于现行的eth1.0升级到eth1.x需要进行的改动,以及改动完成后的未来有更清晰的认识。

在eth1.x升级完成后,人们将能用便宜的硬件运行自己的无状态节点,更多能够参与验证的轻节点可以进一步维护全网的安全性。

拥有无状态验证机制的eth1.x方能顺利和eth2.0的信标链与其它分片链介接,正式让以太坊网络进入由无状态验证机制与分片技术构筑成的轻量化eth2.0未来。

以上,若有任何

A.我写得不够清楚的地方B.撰写上改进的建议C.希望我能够撰写分享的区块链技术知识内容

都非常欢迎在底下留言回复。希望我的文章能帮助到更多像我一样想学习区块链技术与知识的朋友。如果您觉得读完有所收获,也希望能

给我50claps

分享给您的朋友们

谢谢大家!

也欢迎大家阅读区块链技术知识系列的其它篇文章:https://medium.com/pelith/blockchain-technical-overview-8c2a643424fa

原文链接:?https://medium.com/cryptocow/eth1-x-stateless-clients-deddc3f935bb作者:?LaiJack賴彥廷

标签:ETH以太坊THE区块链reth币下架以太坊币今日价格行情非小号togetherbnb游戏哪里恐怖呀区块链币排名

比特币行情热门资讯
比特币:2020线上智博会区块链应用创新大赛启动,重庆凭什么力争区块链产业高地?

7月8日,2020线上智博会区块链应用创新大赛在重庆启动。大赛为期2个多月,由2020线上智博会承委办主办、重庆市大数据应用发展管理局与渝中区人民政府联合承办、重庆市区块链应用创新产业联盟和四川.

1900/1/1 0:00:00
GMT:行情分析:多头重整旗鼓,也请勿盲目追多

今日消息:7月11日有消息指出,50%的比特币投资者是千禧一代。随着千禧一代进入投资成熟期的顶峰时期,这一精通技术的群体将推动投资者人口结构的重大转变,进而增加比特币投资的倾向.

1900/1/1 0:00:00
POS:现有的食品溯源系统能够保护“西城大爷”吗?

新冠疫情还在以惊人的速度在全球蔓延。在中国,持续的无新增让大家看到了抗击疫情胜利的曙光,谁料峰回路转,一场由三文鱼引发的“命案“拉开了疫情反击的序幕.

1900/1/1 0:00:00
BAN:一文了解自动化做市商(AMM)的创新之路

基于自动化做市商的去中心化交易所,已被证明是最具影响力的DeFi创新之一。它们能够为一系列不同代币创建和运行可公开获取的链上流动性.

1900/1/1 0:00:00
BTC:行情分析:比特币反弹上攻未成,9400不破高空思路不变

昨日比特币临近午间价格打破前期支撑,进一步下行触及9011,随后反弹至9330位置,但上方压制太强,所以并未继续上行,但相比回落力度也开始减弱.

1900/1/1 0:00:00
DEFI:都在说Defi,到底什么是Defi?

一、Defi的崛起几年前区块链行业还没有Defi这个概念,从默默无闻的“穷小子”,一跃成为区块链行业的“扛霸子”,Defi只用了短短几年时间.

1900/1/1 0:00:00