原文标题:《ETH交易成本组成》
原文作者:Xiang,W3.Hitchhiker;修订:Evelyn,W3.Hitchhiker
众所周知,以太坊有自己的虚拟机。
什么意思呢?
就是比特币中的交易长这样:
「如果小明的签名验证通过,小明转10元钱给小红的地址。」
而以太坊中的交易可能长这样:
「当小明的签名验证通过并且满足blablablabla条件时,将小明账户中的10元钱转到小红的账户上。」
这其中的blablablabla条件,实际上可以是任何逻辑或者任何程序,其中可以有条件判断,可以有循环,这些以太坊都支持。但问题就来了——要是有个不善良的矿工打包了个死循环放在区块里,岂不是能让所有的以太坊节点都死机?
为了防止这种事情发生,以太坊中设置了每个区块的Gas上限以及每个计算步骤所需要消耗的Gas量。
我们可以简单粗暴地把Gas理解成汽油。比如,一个条件判断需要10gas,一个签名验证需要100gas,一个状态读写需要10gas等等……然后,每笔交易都需要注明这笔交易需要使用的Gas。比如说,在某笔交易之后,你注明「跑1000个gas的」,于是,以太坊的节点会执行这笔交易,但是当计算需要消耗的gas超过1000了,不管交易的步骤执行没执行完都会停下来。
于是,死循环不会出现,比如你写了个死循环,但是每次循环会烧10gas,而区块的gas上限是10000,你于是最多给这个程序买10000的gas,那么所有节点会执行1000次循环,直到把你给的gas烧完就停下来,而不会无限循环下去。
而这个时候就引出了另一个以太坊和比特币不同的区别:
在比特币中,链上最宝贵的资源是空间——因为一个区块大小是1M,而平均10分钟才能出一个区块。
而在以太坊中,链上最宝贵的资源是gas,因为每个区块的gas是有上限的,而平均出块时间也是固定的,每单位时间能够做的计算步骤其实也是有限的,所以ETH的TPS也是有限的。
于是,当大量的人需要做交易,尤其是很多操作复杂的交易的时候,以太坊就会拥堵。
ETH的TPS
对ETH的TPS造成影响的问题大概分以下几个方面:
ETH的gas机制
ETH的交易成本
ETH的网络
合并进程
分片链
1、ETH的gas机制
我们知道比特币区块链中消耗的矿工费用是BTC,为了激励以太坊网络中的计算,于是在以太坊中产生了gas的概念,在以太坊区块链上执行写入操作都需要支付gas费用,以太坊定义了货币是1ETH,且1ETH=1e18Wei。Wei是其中的最小额,在整个工作中,发送Token、调用合约都要支付gas,且以Wei作为单位来计算。
Wei的由来
戴维是一位华裔计算机工程师,对密码学和加密货币的贡献而闻名,他开发了Crypto++密码库,创建了B-Money加密货币系统,并共同提出了VMAC消息认证码算法。2013年,VitalikButerin的以太坊最小单位Wei,便以他的名字命名。比特币白皮书的排名第一的参考资源也是戴维的B-money,中本聪在建立比特币初期也多次想与戴维联系。
目前ETH消耗gas的单位是Gwei,对应1Gwei=1e9Wei
简单说,gasprice就是汽油单价,gaslimit相当于发动一次汽车需要的最大汽油量。
再具体点的表达是:
GasPrice?是以太坊内计算消耗1个gas对应多少Gwei的标准量,单位是Gwei。
GasLimit?是消耗gas的上限单位。在完成每笔交易中最多使用多少个gas。
区块的GasLimit?是能够将一定量的交易「装在」该区块中的交易平台用总Gas数的上限。当节点在选择要打包的交易时,节点必须确保加入这笔交易后,区块里的交易平台用总Gas数不会超过区块Gas上限。对于要被打包的交易来说,其GasLimit加上其他交易的GasLimit总和,必须小于等于区块GasLimit。当然,如果有一笔交易不能被打包进入当前区块,它还是有机会被后面的区块打包的。区块的GasLimit大小是动态调整的,伦敦升级为以太坊引入了可变大小的区块Gaslimit。每个区块的目标大小为15000000gas,但区块大小会根据网络需求增加或减少,直至区块限制为30000000个gas。
区块gaslimit为什么要改变
让区块大小可以根据网络交易多寡,自由调整区块大小。在网络交易量大时,可自动实现扩容。
防止恶意用户的恶意for循环攻击使网络瘫痪。
因恶意用户不断的转移额度非常小的帐目,使得整个网络瘫痪,当交易的费用非常低时,可以忽略不计,因此以太坊引入了gas的概念,任何转账以及智能合约的执行,都要消耗一定的费用即gas,如果gas消耗完毕,则代码不再继续执行,这样防止恶意代码的for循环不停的执行,以至于整个网络无法继续向下一个状态迁移。因此我们知道,任何计算、存储都是需要付出成本的,这样才能杜绝恶意攻击代码。
交易成本对TPS的影响
当交易大时,区块gaslimit将实现自动扩容,提高以太坊本身的tps,区块的gaslimit最高为30,000,000。
2、ETH的交易成本
以太坊的底层技术与gas的设计都是由GavinWood完成的,具体可参考GavinWood写的黄皮书。
以下是ETH黄皮书设计的gas成本。
截图来自:https://ethereum.github.io/yellowpaper/paper.pdf
使用ETH需要付费,以及gas的概念。总的来说,每一笔交易都有与之关联的gas——发送一笔交易的成本包含两部分:固有成本?和?执行成本。
执行成本根据该交易需要使用多少ETH虚拟机的资源来运算而定,执行一笔交易平台需的操作越多,则它的执行成本就越高。
固有成本由交易的负载决定,交易负载分为以下三种负载:
如果该交易是为了创建智能合约,则负载就是创建智能合约的EVM代码
如果该交易是为了调用智能合约的函数,则负载就是执行消息的输入数据
如果该交易只是单纯在两个账户间转账,则负载为空
固有成本gas
假设Nzeros代表交易负载中,字节为0的字节总数;Nnonzeros代表交易负载中,字节不为0的字节总数。可以通过下列公式计算出该交易的固有成本,参考黄皮书6.2章节:
固有成本=GtxdatazeroNzeros+GtxdatanonzeroNnonzeros+Gtxcreate+Gtransaction+Gasscesslist成本
在黄皮书的附录G中,可以看到一份创建和执行交易的相关成本的费用表。其中与固有成本相关的内容如下:
Gtransaction=21,000Wei
Gtxcreate=32,000Wei
Gtxdatazero=4Wei
Gtxdatanonzero=16Wei(在伊斯坦布尔升级前为68wei)
Gasscesslistaddress=2400Wei
Gasscessliststorage=1900Wei
因为ETH是原生的Token,没有智能合约,不需要与合约交互,所以ETH的转账是最便宜的,只需要21000gaslimit的配置。当ETH转账需要附加一些数据时,就可以参考上述公式。
如下图,操作了tp钱包,在转账时加入了两个0字节,两个非0字节。按上述公式计算:
固有成本=21000+42+162=21040,也就是对应上方的gaslimit。
交易的固有成本必须小于该交易设置的gas上限
我们知道了固有成本后,就能理解为什么一旦交易的固有成本高于Gas限制,则该交易就会被视为非法。GasLimit规定了一笔交易在执行时,能够消耗掉的Gas上限;如果在还没开始执行该交易前,我们就知道它的固有成本是高于Gas上限的,那我们就没有理由执行这笔交易。
而其他Token的转账就会比ETH的21000gaslimit高很多,这是因为其他Token是通过智能合约执行交易,比普通的转账需要更复杂的计算和写入。
GasLimit范围虽然可以调整,但是如果填写太少,可能会导致交易失败,就好比油价很高,但是你拿一个可乐瓶来做油箱,并且要跑100公里的路,但事实是还没有上高速车就没有油了,所以gaslimit不够矿工消耗的话会就会导致代码执行中断。尽管如此,矿工还是会把劳务费gas收走的。
那ETH目前的tps大约在什么范围?
2022年2月28日下午的区块gaslimit为30,000,000左右,以太坊的出块时间在13秒左右,交易的最低成本为21000,对应ETH的tps上限为110左右,由于还存在大量不是普通转账的交易,而是与合约交互的交易,所以实际ETH的tps只有10多笔。
执行成本gas
在以太坊中,执行交易会改变状态——好几笔交易被打包进一个区块,每个区块就相当一个交易列表;当交易被按照顺序执行后,会输出新的合法状态。
交易按照以下步骤执行:
1、将发送者账户nonce值加1
每当发送一笔交易,发送者账户nonce就会增加。这个操作在交易执行之初就会完成,如果交易执行失败,则账户nonce值回滚。
2、从发送者账户扣除交易预付额
我们会从发送者账户余额里扣除交易预付额,这个机制很简单——由发送者为自愿付出的执行交易成本付费。
3、确定该交易能够用于执行的gas值
交易的gas总额扣掉固有成本后,剩下的就是可用于执行交易的gas。
4、执行该交易包含的操作
执行交易还涉及EVM的操作列表,其中唯一完全不需要EVM操作的交易——就是普通转账。
每一项EVM操作都有对应的gas成本;在交易执行过程中,每做了一项EVM操作,就会从可用gas中扣掉对应的gas成本。直到下列两种情况中的一种出现才停止:
可用gas被耗尽,执行失败
执行结束后可用gas还有剩,或是刚好为零
5、通过SELFDESTRUCT和SSTORE函数对发送者退款
在以太坊中,SELFDESTRUCT操作码用于销毁不再需要的智能合约。每销毁一个合约,执行者能够收取24,000Wei。
同样的,当使用SSTORE操作码写入0的时候,操作者每写入一个0,就能收取1500Wei。
关于退款,有件有趣的事情是,退款也有上限。该上限确保矿工可以算出执行交易平台需的计算时间的上界。。
还有一个重点是,必须在交易平台包含的操作都执行结束后,才会进行退款。因此任何应该返还的gas都不会被交易执行过程所消耗,从而避免了可能出现的_永远不会耗尽gas的交易_。
6、退还交易发送者任何未使用的gas
如果用于交易的预付款超过交易平台使用的gas,则发送方有权在执行交易后收回剩余的gas。
7、向受益人账户转入挖矿收益
执行交易平台使用的所有Gas被视为交易手续费,由矿工获得。这种机制激励矿工持续出块,并在网络安全层面永续合作。
执行交易包含的操作成本参考下图黄皮书的对应内容,例如MUL、DIV、ADD、SUB等等。
与gas、tps相关的EIP方案:
EIP-5:调整RETURN和CALL的Gas用量
EIP-150:大量IO操作的Gas成本变化
EIP-158:状态清除
EIP-1108:降低alt_bn128预编译Gas成本
EIP-1283:SSTORE操作码的Gas调整
EIP-2028:减少交易数据使用成本
EIP-2200:净Gas计量的结构化定义
EIP-2565:指定ModExpGas成本
EIP-1559:ETH1.0链的收费市场变化
EIP-2929:状态访问操作码的Gas成本增加
EIP-1077:合约调用的Gas中继
EIP-1087:用于SSTORE操作的Gas计量
EIP-1285:在CALL操作码中增加GcallstipendGas
EIP-1380:降低了内部调用的Gas成本
EIP-1613:Gas站网络
EIP-1930:具有严格Gas语义的CALL
EIP-2045:EVM操作码的颗粒Gas成本
EIP-2046:降低了对预编译进行静态调用的Gas成本
EIP-2542:新的操作码TXGASLIMIT和CALLGASLIMIT
EIP-3322:帐户Gas存储操作码
EIP-2780:减少内部交易Gas
EIP-4488:减少交易calldatagas与总calldata限制
EIP-4844:分片Blob交易
EIP-1559
2019年由v神提出,2021年8月5日上线。
一种交易定价机制,包括固定的每个区块的交易费用,该费用将被销毁并动态扩展/收缩区块大小以应对瞬时的堵塞。
交易发送者通过提供两个值来指定其费用:
「gaspremium」加到「basefee」中,以计算gasprice。「gaspremium」可以设置为较低的值以补偿矿工的叔叔率风险,也可以设置为较高的值以在突如其来的高交易量中竞争。「gaspremium」将给予矿工。
「feecap」表示交易发送者愿意支付的最高总额。
动机
「当前以太坊的「最高价拍卖」费用模式效率低下,对用户来说成本高昂。此EIP-1559提出了一个取代这种机制的方法,即根据网络需求来对一个基本网络费用进行调整,从而创建更好的费用价格效率,并降低用于避免支付不必要的高额费用所需的客户端软件的复杂性。」
在当前的以太坊系统中,新提交的交易必须等待被某个矿工打包进入下一个区块,但这些交易可以通过增加GasPrice参数使其高于网络平均水平,以此来激励矿工打包自己的交易。矿工是总是会希望将那些包含最大交易费的交易打包进入新区块中,因此预计被打包进入下一个区块中的交易总是那些有着最高Gas价格的交易。
这种最高价拍卖模式的问题在于,在交易需求旺盛的时期,情况可能会很快失控。当区块接近达到满块时,使交易被打包进入下个区块的成本(交易费)可能会急剧上升,因为用户会试图以比其他人更高的价格来让自己的交易被打包。
尽管当前矿工们有一定的能力(备注:比如增加区块gas上限)来增加在单个区块中打包的交易笔数,但这一上限无法很快得到改变,且实际上矿工们更乐于使用较小的满块,而不是将区块gas上限越推越高(对于矿工来说,由于存在叔块率,更大的区块带来更高的风险)。尤其是如果你的钱包使用了gas定价算法,从而使你的交易在一个特定的时间框架内被打包,那么你可能最终会支付一笔相当高昂的交易费来让你的交易被打包进入下一个(几乎)满了的区块。
EIP-1559引入了gas费用的「basefee」(基本费)概念,这笔费用被设定为会动态地调整,当网络超出目标每区块gas使用量时,「basefee」会略有增加,而当数量低于目标时,「basefee」用会略有下降。这笔「basefee」不会流向矿工的口袋,而是会被销毁。
为了激励矿工打包交易,用户还将设定一个「Tip」(小费)参数,并设定一个他们为了让自己的交易被打包进入区块而愿意支付的最大金额,矿工将获得这笔「Tip」(小费)。
由于「基本费」不会根据网络需求的瞬息变化而剧烈波动,因此用户在一定程度上远离了「最高价拍卖」模式带来的低效率问题(「Tip」费用仍然是最高价模式),因为「基本费」会被销毁,而不是给矿工,这样矿工就不会有动机去尝试操控交易费了。重要的是,此机制也试图解决钱包开发者在自动预估网络交易费方面遇到的一个重大问题,使交易费预估变得更加可预测。
简单总结
提高用户体验,避免gas费用增长过快,更好的预估市场,利于L2的运行成本的评估,缩减了矿工的利润,销毁更多ETH,利好ETH与layer2,但对tps影响不大。
EIP-4488
2021年11月份由v神提出,目前还处于草案阶段
降低交易调用calldatagas成本,并增加一个区块中调用calldata(Gtxdatazero)的总交易的限制。
动机
Rollups在短期和中期,也可能是长期的,以太坊唯一的去信任扩展解决方案。长时间来,L1的交易费用一直非常高,并且迫切需要采取任何必要的措施来帮助促进整个生态系统向rollup的迁移。Rollups显着降低了许多以太坊用户的费用:Optimism和Arbitrum经常提供比以太坊L1层本身低约3-8倍的费用,而具有更好的数据压缩并且可以避免包含签名的ZKrollups的费用约低40-100倍的费用。
然而,即使是这样,费用对许多用户来说也太贵了。对rollups本身长期不足的长期解决方案一直是数据分片,这将为链中的rollups添加约1-2MB/秒的专用数据空间。然而,数据分片仍然需要相当长的时间来完成实施和部署。因此,需要一种短期解决方案来进一步降低rollup成本,并激励整个生态系统向以rollup为中心的以太坊过渡。
该EIP提供了一种快速实施的短期解决方案,同时也降低了安全风险。
当前区块的gaslimit为30000000左右,那区块最大块大小为30000000/16=1875000字节。如果只是简单把calldata从16减少至3,会将区块最大大小增加到10000000字节,这会让以太坊的P2P网络面临前所未有的压力,所以该项提案限制了calldata总量的大小。公式如下:
简单总结
短期的解决方案,也可能是长期的,利好layer2的rollup,可以大大降低rollup的交易成本,非0字节的数据可以降低为当前的1/5的成本不到,0字节的也可以微微降低,但对ETHL1tps影响不大,甚至会降低,区块大小会增加,所以该提议与EIP-4444可能同期执行。
交易成本对TPS的影响
ETH的gas的相关处于草案阶段的EIP主要为EIP-4488,对TPS的影响较大,利好layer2的rollup,可以大大降低rollup的交易成本,非0字节的数据可以降低为当前成本的1/5不到,0字节的也可以微微降低,但对ETHL1tps影响不大,可能微降。
3、ETH的网络
ETH节点之间的数据都是通过P2P网络进行传输,ETH的P2P网络会影响节点间的区块数据的同步速度,因此也会限制TPS的增长。
Devp2p是一组形成以太坊P2P网络的网络协议。服务于与以太坊相关的任何网络应用程序的需求。
该系统提供对整个Internet中其他节点的发现以及与这些节点间的安全通信。
IPFS的libp2p?项目,旨在成为一个模块集合,用于从模块化组件组装P2P网络。
很难比较这两个项目,因为它们的范围不同,并且在设计时考虑了不同的目标。devp2p是一个集成系统定义,它希望能够很好地满足以太坊的需求,而libp2p是一组编程库组件的集合,不专门为单个应用程序服务。
也就是说,这两个项目在精神上非常相似,并且随着libp2p的成熟,devp2p正在采用部分libp2p。
与ETH网络相关的EIP:
EIP-8:devp2p前向兼容性要求
EIP-627:Whisper规范
EIP-706:DEVp2p快速压缩
EIP-778:以太坊节点记录(ENR)
EIP-868:v4ENR扩展
EIP-2124:减少交易数据使用成本
EIP-2364:ETH/64:forkid扩展协议握手
EIP-2464:ETH/65:交易公告和检索
EIP-2481:ETH/66:请求标识符
EIP-2976:基于Gossip的类型化交易
EIP-4444:对执行层客户端的历史数据设限
EIP-4444
2021年11月份由提出GeorgeKadianakis、lightclient、AlexStokes目前还处于草案阶段
动机
客户端停止在p2p层上提供超过一年的历史收据。客户可以在本地修剪这些历史数据。
历史块和收据目前占用超过400GB的磁盘空间。因此,要验证链,用户通常必须拥有1TB的磁盘。
验证新块不需要历史数据,因此一旦客户端同步了链的末端,只有在通过JSON-RPC明确请求或对等方尝试同步链时才会检索历史数据。通过修剪历史,该提议减少了节点的硬盘需求。修剪历史数据还允许客户端删除处理历史块的代码。这意味着执行客户端不需要维护处理每次升级的复合更改的代码路径。
最后,随着客户端基于PoS采用更轻量级的同步策略,这种变化将导致网络上的带宽使用减少。
简单总结
裁剪一年前的历史数据,减少网络带宽的使用。
ETH网络对TPS的影响
与ETH的网络相关的、处于草案阶段的EIP,对TPS的影响不大。
4、合并进程
合并是指以太坊的信标链作为共识层,与当前大多ETH用户使用的主网POW链作为执行层,进行合并,合并后执行层就会放弃现有的POW共识机制。
信标链
信标链将管理或协调扩展的分片和质押网络。但它不会像今天的以太坊主网。不能处理账户或智能合约。
信标链的角色会随着时间而改变,但它是正在努力实现的安全的、可持续和可扩展的以太坊的基础组成部分。
信标链将向以太坊引入POS。这是一种帮助您确保以太坊安全的新方法。把它想象成一种公共物品,它将使以太坊更健康,并在此过程中为你赚取更多的ETH。
质押和成为验证者比挖矿更容易。从长远来看,这将有助于使以太坊更加安全。参与网络的人越多,它就会变得越去中心化和安全。
最初,信标链将与我们今天使用的以太坊主网分开存在。但最终,它们将被连接起来。该计划是将主网「合并」到由信标链来控制和协调的POS系统中。
信标链启动时间2020年12月份。
弃用ETH2
以太坊协议正发生重大变化。客户端团队正在升级协议,对以太坊进行扩容,以满足全球用户的需求,同时提升以太坊安全性与去中心化程度。除了协议开发,以太坊的一个极为重要的转变在于弃用术语「Eth1」与「Eth2」。2021年年底起,核心开发者就停止使用「Eth1」与「Eth2」了,分别以「执行层」与「共识层」取而代之。今天,正如我们在Q1路线图中强调那般,ethereum.org?也对此做出同样的改变。
Eth1执行层
Eth2共识层
执行层?+?共识层?=以太坊
让我们一起来探究原因吧!
概览
术语Eth1与Eth2(以太坊2.0)逐步停止使用
执行层(Eth1)与共识层(Eth2)作为新术语
以去中心化的方式来扩展以太坊的路线图保持不变
用户不需要有任何操作
以太坊2.0从何而来?
作为路线图的一部分,以太坊一直计划以去中心化的方式来扩展网络,并过渡到PoS?(权益证明)。早些时候,研究者们分别对这些计划进行研究,但在2018年左右,上述都被纳入进「以太坊2.0」路线图中。
作为路线图的一部分,现有的PoW链(Eth1)最终会通过难度炸弹被弃用。用户与应用将被迁移到新的以太坊PoS链(即Eth2)上。
2019年初ConsenSys发表的《Serenity路线图》解释了具体情况。
发生了什么改变?
随着信标链的工作开始,很明显,分阶段进行的以太坊2.0将要花费数年时间才能完全交付。这导致对PoW链的研究计划又重新活跃起来,例如StatelessEthereum(无状态以太坊),这是一个通过删除网络里不再被访问的状态来限制状态膨胀率的范式。
对于PoW链长期可持续发展的日益关注,加上我们也意识到信标链将比以太坊2.0路线图的其他部分更早准备好,「早期合并」(「EarlyMerge」)提案由此产生。?在这个提案里,现有的EVM链将作为以太坊2.0的「分片0」。这不仅能加快向PoS的转变,还能令应用的过渡更为顺畅,因为不需要应用终端发生任何迁移就能过渡到PoS。
这个提案发布不久后,DannyRyan在他的文章《Eth1+Eth2客户端的关系》中探讨了我们怎样通过利用现有的Eth1客户端来完成这一点。这将能大大减少交付一个合并后系统的开发工作,且充分利用已经在主网身经百战的客户端。大约在同一时间,把rollups作为一种可行且安全的方式来为以太坊扩容的研究证明是有前景的。与其花上几年等待一个复杂、不确定的扩容方案,我们还不如将注意力放到基于rollups的扩容方案,而不是分片执行。
还想阅读更多资料?点击查看DannyRyan在ETHGlobal的演讲《Eth1+Eth2=Ethereum》
为什么我们不能用Eth2?
思维模式
Eth2这个品牌名的主要问题之一是Eth2会对新以太坊用户创造一个不完整的心智模型。他们会直觉地认为:Eth1在前,Eth2在后;或者Eth2一旦创世了,Eth1就不复存在了。这两种观念都是错误的。通过不再试用Eth2这个术语,未来用户就不会再形成这种容易错误理解的思维模式了。
包容性
随着以太坊路线图的升级,以太坊2.0已经变得不能准确表达以太坊路线图的意思了。严谨且准确的词汇选择,可以让大众更好理解以太坊的内容。
防止
不幸的是,一些恶意行为者试图利用Eth2这一误称来用户用ETH来兑换Token「ETH2」,或者要在Eth2升级前,必须以某种方式迁移他们的ETH。
我们希望这次更新的术语能够清楚地消灭这种元素,让生态变得更安全。
对质押的澄清
有些质押运营商还把他们在信标链上的ETH打上「ETH2」的标签。这可能会带来误解,因为这些服务的用户并不会实际收到」ETH2」Token。从来就没有所谓的「ETH2」Token;那仅代表用户在特定运营商的押金中的份额。
合并
最初,信标链与主网分开运行。以太坊主网继续通过POW得到保护,即使信标链使用?POS共识并行运行。合并是这两个系统最终融合在一起的时候。
想象一下以太坊主网是一台载满游客并高速运行的火车,信标链也同样如此,他们在高速运行的同时,还需要相互对接,合并成一台全新性能更强的火车,并且过程中游客是无感知的,可想而之难度是非常大的。
合并后标志着以太坊工作量证明的结束,并开启一个更可持续、更环保的以太坊时代。此时,以太坊将更接近实现其以太坊愿景中概述的全面、安全和可持续性,并且用户全程将会是无感知的。
一旦发生合并,将分配质押者来验证以太坊主网。将不再需要POW模式采矿,因此矿工可能会将他们的收入投入到新的股权证明系统中。
合并预计时间:ETH官网提供的合并时间在2022年的第三季度。
合并对TPS的影响
合并后主网作为执行层继续运行,当前POW的出块平均时间为13秒左右,转POS后,大约为12秒一个区块,出块时间会稳定许多,传统POW矿商可能也转为POS挖矿,将提高ETH的需求,利好ETH,但转POS后,以太链的TPS只会有微涨幅,不会有大的变化。
5、分片
分片是水平拆分数据库以分散负载的过程,这是计算机科学中的一个常见概念。在以太坊环境中,分片将通过创建称为「分片」的新链来减少网络拥塞并增加每秒交易量。
以太坊的分片过程会是一个多阶段升级的过程,最终分片链将网络负载分散到64个新链上。
将保持较低的硬件要求来规范本地运行节点。分片将为以太坊提供更多存储和访问数据的能力,目前认为不会影响执行代码。
分片的特点
保持去中心化,分片是一种很好的扩展方式,使用分片链,验证者只需为他们正在验证的分片存储/运行数据,而不是为整个网络存储/运行数据。这加快了速度并大大降低了硬件要求。
分片最终会实现在个人笔记本电脑或手机上运行以太坊。会有更多的人能够在分片的以太坊中参与或运行客户端。这将提高安全性,网络越分散,攻击范围就越小。
由于硬件要求较低,分片将使您更轻松地自行运行客户端,而完全不依赖任何中介服务。
分片链的细节讨论
分片链版本1:数据可用性
当第一个分片链运行时,它们只会向网络提供额外的数据。他们不会处理交易或智能合约。但是当与rollup相结合时,它们会处理大量事务。
Rollup是当今存在的「layer2」技术。它们允许dapp将交易捆绑或「rollup」到链外的单个交易中,生成加密证明,然后将其提交给链。这减少了事务所需的数据。汇总与分片提供的所有额外数据可用性相结合,每秒可以获得100000个事务。
分片链版本2:代码执行
考虑到版本1分片提供的处理能力,是否还需要将分片应用到处理执行过程。在社区中存在争论。VitalikButerin提出了3个值得讨论的潜在选项。
不需要状态执行
这意味着我们不会让分片能够处理智能合约只将它们作为数据仓库。
有一部分执行分片
也许有一个妥协,我们不需要所有的分片变得更聪明。我们可以只将这个功能添加到少数几个,而剩下的不添加。这可以加快交付速度。
等待snarks
当ZKsnarks技术成熟稳固后重新审视这个问题。可能ZKsnarks技术需要更多分片。
分片预计时间
ETH官网提供的分片时间在2023年某个时间,取决于合并后工作进展的速度。
分片对TPS的影响
尽管分片方式并未确定,但可以肯定的是分片将极大的提高TPS。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。