当前位置:首页 行业动态 正文

一文了解以太坊的扩容之路

2025-03-03

无论你是不是区块链技术方面的专家,只要你待在Crypto的世界里够久。以太坊扩容,layer2,Rollup这些词语对于你来说都不会陌生。很多人都对这些概念中的一个或多个有所了解,但是他们之间的关系到底是怎样的?我们为什么需要这些技术?他们想要解决什么样的问题?

如果你想要知道以上问题的答案,那希望这篇文章会对你有所帮助:

本文中的所有内容都是逻辑上的梳理,不会涉及密码学/计算机科学方面的知识,所以相信只要你对以太坊本身熟悉,基本都可以理解。

自从CryotoKitty造成以太坊链上拥堵的那天开始,以太坊开发者们就在不停的探索提高以太坊吞吐量的方案。

从原理上可以分为两类

  1. 是对以太坊区块本身进行改造,我们姑且称之为Layer1方案,这里的主要解决方案是分片。

  2. 是改变我们使用以太坊的方式,将交易的执行和处理放在链下,以太坊本身只用来校验其交易有效性,提供安全性。这就是我们经常听到的Layer2。

Layer2的核心思想是将大批实际发生的交易放在链下执行和计算,再将其通过以太坊上极少量的交易进行交易最终有效性的验证。无论是State Channel,Plasma还是Rollup,实际上都遵循了这一原则。

现在谈起Layer2,很多人第一反应都是将其与Optimistic/ZK Rollup挂钩,但在这里我们先简单介绍一下状态通道和Plasma,这有助于我们理解为何Rollup最终胜出,成为当前我们谈论最多的Layer2解决方案:

状态通道

以下是一个状态通道的最原始结构:

以太坊转 PoS 在即,一文全面了解以太坊扩容的历史

状态通道是一种已经存在很久的区块链扩展方案,他最出名的应用是比特币的闪电网络。

举例说明

相比描述他的原理,一个例子更能够说清楚什么是状态通道:

你很喜欢楼下的一家理发店,每次去理发店的时候Tony老师都会在你的耳边一直让你办卡。

有一天你终于决定了,办卡就办卡吧,反正我以后还会来。于是你向理发店转账一千元办了一张卡。

以后每次去理发,你都不需要再向理发店转账,取而代之的是你的卡里的余额会被扣除,同时每次理发你都和理发店完成了一次实际上的交易。

过了一个月,你要搬家了,可是你卡里的钱还没用完。于是你向理发店申请退卡,理发店的Tony老师退给了你200元。

在这一个月的时间里,你在理发店消费了十几次,但你和理发店实际上只互相转账了两次。

将这个过程放在区块链上,你买卡的过程实际上是将钱存进了某个智能合约,同时开启了一个你与理发店间的状态通道。你退卡的过程关闭了你与理发店之间的“状态通道”。你和理发店之间的互相转账相当于在以太坊主链上的两笔交易。

设想一下你没有办卡,那每次理完头你都需要给理发店转一次帐。

通过这个例子我们发现,通过状态通道,只有第一步和最后一步需要我们在区块链上进行交易,在这些步骤之间,你 和 理发店 可以向对方发送无限数量的签名消息(完成一次消费),指示付款。在这种情况下,以太坊区块链仅用作结算层来处理一次性付款的最终交易,这大大减轻了底层区块链的负担。

应用场景

状态通道在某些简单场景如流支付中能够发挥很大的作用,其通过在链下对消息签名的方式对交易数据进行记录,将大量在逻辑上发生了的交易简化成了主链上的两笔交易。

(2)状态通道因为其成本较低,很适合一些微支付的场景,比如用ETH或者BTC买早餐咖啡等。

局限性

但同时,状态通道需要资金的发送方和接受方都进入这个通道来,而为了维护状态通道,支持比流支付更复杂的操作,大笔的资金需要被锁定。因此开发者们很快意识到状态通道无法作为可选的扩容方案之一。

Plasma

原理

现在我们都知道了状态通道的局限性,而为了解决这个问题。——Plasma应运而生 其解决了将资产发送给任意目标人的问题,同时也能够确保TPS的提升。 事实上在开发者们研究Layer2解决方案的开始很长一段时间里,Plasma一度被认为就是那 “一个”。

要理解Plasma,首先要明白它并不是一种实际的技术,它更像是一种设计思想或者技术架构。

Plasma通常是一条链,它可以拥有与主链不同的共识机制,也可以拥有自己的矿工。但最重要的是Plasma链上会有一个叫做“Operator”的角色定期的根据子链上的状态转换,生成一棵默克尔树,并将这棵默克尔树的树根哈希值提交给主链做验证和记录。关于为什么默克尔树和其树根哈希值能够用作状态转换的验证,我们会在同样使用了这一应用的Rollup中讲到。

通过这样的方式,无论在两次提交期间,子链上发生了多少笔交易,子链只需要将交易执行造成的状态信息提交到主链上即可。

以下是使用Plasma机制的简单示意图:

以太坊转 PoS 在即,一文全面了解以太坊扩容的历史

用户想要进入Plasma链需要在以太坊主链上做资产的映射,而当其需要将Plasma链上的资产转移或主链上时,需要经历一段时间的挑战期来供其他人使用「 欺诈证明 」机制来确认资产转移的有效性。

「 欺诈证明 」意味着任何人在这段挑战期(通常是7天或者更久)内,都可以通过默克尔树校验的方式来提交证明用户资产的退出是不合法的。

问题

但这带来两个问题:

(1)想要验证这个提款的正确性需要有节点保存Layer2上的交易和状态信息,因为Plasma只会提交其状态转移的结果,而想要提交欺诈证明必