主页 > imtoken钱包下载2.0安卓版 > 以太坊扩容介绍(一)

以太坊扩容介绍(一)

imtoken钱包下载2.0安卓版 2023-04-13 05:21:41

最近一直在研究以太坊的一些扩容方案,总结一下,方便后续学习。

以太坊网络属于layer1,不断增长的网络使用需求导致网络拥堵,推高交易成本,gas费用飙升。 比如我前几天刚买了一个新的ENS域名nathanielyu.eth(可以试试转钱,哈哈哈)。 我花了 5 美元,但汽油费高达 6 美元。 现在还是熊市,各个链条的TVL突然下降了。 面对现实吧,以太坊好一点,其他山寨链半死不活。 如果是在牛市,gas至少是几十块钱。 你以为我花了5块钱买东西,手续费却花了我20块钱。 这是可以接受的吗? 因此,以太坊扩容迫在眉睫。

至于扩容计划,可以分为链上和链下两种。 On-chain主要是以太坊本身的改造,比如正在进行的Proto-danksharding和danksharding,或者一些替代以太坊网络的公链,比如solana,near,以及一些最新的move生态新公链sui和aptos . 链下,主要通过链上测试和rollup。 那我们就分别说一下这几个方案的实现原理,可能不会很深,因为涉及到很多技术细节。

第一个方案是对以太坊自身进行改造,提出了EIP-4844方案:Proto-danksharding和danksharding。 即分片扩容,目的是让一个区块包含更多的交易,这样速度可以更快。 以太坊中一个区块的大小约为 60-100KB。 这个块的设计不应该太大或太小。 如果太大,虽然可以处理更多的交易,但是对节点的网络带宽和硬件存储的要求会增加,因为这个区块最终会被广播出去,节点本身必须验证和处理其他节点。 块信息,因此一旦节点性能要求提高,能够满足要求的验证节点数量就会减少,从而导致去中心化程度降低,最终导致安全性下降。 如果太小,交易会更加拥挤。

以太坊现有数量_以太坊的数量上限_以太坊数量有上限吗

对于EIP-4844方案,第一步是Proto-danksharding,在以太坊原有数据的基础上增加blob数据包。 为了在数据可用性层面扩容,以太坊一个区块的大小为100KB,其中10KB可以作为calldata,calldata中的数据在被合约调用时需要gas。 EVM 不会读取新添加的 blob 数据包。 blob 将存储在共识层节点中以太坊数量有上限吗,这比合约需要读取的 calldata 所消耗的资源要便宜得多。 EIP-4844实施后,每个blob大小为128KB。 每个区块的目标是携带8个blob,即1MB的插件数据,目的是为了layer2数据的可用性(后面会讲到layer2,这里可以理解为layer1的上层网络,layer1交易execution 被剥离出来,最终处理后的数据会上传到 layer1),这样 base layer 可以更无压力的存储 layer2 数据。 每个块最多可容纳 16 个 blob,即 2MB。

那你可能会问,加上blob,整体的block变大了,对硬件的要求不就更高了吗? 确实,所以以太坊团队计划通过以下方案来解决:DAS(Data Availability Sampling),以太坊节点不需要下载完整的blob数据,而是通过采样来实现完整性和正确性的验证。 具体技术是使用纠删码和KZG多项式承诺技术。 纠删码是在下载部分数据时,帮助节点恢复blob中的数据。 KZG多项式承诺负责验证数据的正确性(但KZG多项式承诺的量子抗性相对较差)。

以太坊现有数量_以太坊数量有上限吗_以太坊的数量上限

第二步是Danksharding,会在Proto-danksharding的基础上进行扩展。 blob会扩大到原来大小的16倍,即16MB,最大可达32MB。 然而,在 blob 存在之后,每年将额外的 2.5TB 数据添加到以太坊网络中。 为了解决这个问题,这些blob会被设置过期删除。 比如将1个月前的blob数据删除,就可以解决这个问题。 .

以太坊数量有上限吗_以太坊的数量上限_以太坊现有数量

以太坊现有数量_以太坊数量有上限吗_以太坊的数量上限

不过区块的扩容也存在瓶颈,毕竟区块不可能无限增加。

第二种方案是改用其他链,比如Solana,号称最高TPS可以达到65000,0.4秒出块,而以太坊只有30TPS,12秒出块。 solana之所以快,第一个原因是solana采用多线程,而以太坊虚拟机是单线程的,即EVM只能使用一个CPU核顺序处理交易。 因此,为了实现原生多线程,Solana放弃了对EVM的兼容。 Solana 的智能合约可以使用 Nvidia GPU 的 4096 个核心并行运行计算。 第二点是通过确定性的领导节点轮换来减少冗余以太坊数量有上限吗,这意味着牺牲去中心化来提高速度。 以太坊的共识冗余是 n^2,呈指数级增长。 每个区块都必须传输、比较和验证彼此区块的工作,而Solana将区块分成许多小块,然后只有少数节点验证者验证每个小块,而不是要求所有节点发送和验证所有块,Solana 共识冗余是 log n。

以太坊现有数量_以太坊的数量上限_以太坊数量有上限吗

但是Solana有一个致命的缺点就是容易宕机。 我们说Solana在验证一个区块的时候,会把这个区块分成很多小块,每个小块只有少数的节点验证者去验证,这样就降低了数据的安全性。 冗余,但问题是一旦leader节点挂了,网络中的其他节点需要做大量的应急工作,计算开销会达到n^4,所以网络会直接挂掉,而且很难恢复通过它自己。

Sui 和 Aptos 的话,正好介于以太坊和 Solana 之间。 他们在去中心化和安全性之间找到了平衡点,但对节点性能有很高的要求。 Aptos的每个CPU核心的核心性能都高于Solana的GPU核心。 顺便说一下,这两条公链用的是move语言,效率和安全性都比solidity好。

以太坊现有数量_以太坊的数量上限_以太坊数量有上限吗

但是,单体链的扩张总会遇到瓶颈。 毕竟交易的TPS可能是无限的,而单体链的TPS是有上限的。

第三种选择是侧链,侧链是专门为应对以太坊产能过剩而设计的,而不是与以太坊整体竞争。 它是一个独立的区块链,并行运行且独立于以太坊主网。 通常选择侧链以牺牲一些去中心化或安全性为代价来实现高吞吐量。 实现方式主要是实现与主网的链接,与双向挂钩跨链桥互通。

代币锁定在主链上,代币在侧链上铸造(包装)。 销毁侧链上的代币,提取主链上的代币。 以Polygon为例,它是一条侧链,交易手续费很低,但问题是降低了去中心化和安全性。 因为侧链是将数据存储在侧链上,不锚定回主链,所以只能靠侧链本身的验证者来保证,安全性要弱很多。

而且,跨链网桥特别容易受到攻击,要么是因为私钥被盗,要么是网桥有bug。 比如Axie Infinity的浪人链被攻击损失6亿多美元,Solana的虫洞桥被攻击,被盗3亿多美元。

嗯,先说3。 rollup的内容很多,也是最有希望的赛道。 这很有趣。 到时候我会单独写一篇文章。