给区块链扩容难吗?从比特币到以太坊
DeFi 业务的增长从 2020 年起飞,TVL 从 $600M 到 $25B,增长了 40 倍。从一个现象就能直观感受:DEX 去年从每日数千笔到达数十万笔规模,Uniswap 的单日交易量甚至一度超过了老牌中心化交易所 Coinbase。
以太坊上的交易量不断攀升,区块容量却开始吃紧,而矿池选择 GasPrice 竞价排序交易使其利益最大化。同时考虑到 DeFi 业务技术上存在抢跑攻击,用户心理上存在 FOMO 等问题,导致最终大家愿意付出更高的价格让交易跑得飞快。高价矿工费,使我们离普惠金融的初衷渐行渐远。
那么以太坊为什么不选择直接提升区块容量,承载更多交易呢?原因很简单,区块链核心限制在于「每一笔交易都要由网络中每一个节点验证处理」,那么当区块大小扩大几倍时,则会让更多小型节点退出,逐渐走向中心化。
给区块链扩容难吗?
早在 2010 年时中本聪就已经探讨过扩容问题,最初中本聪在比特币源码中设定区块容量为 32M,但后来区块交易量一直很小,就把容量设置为了 1M。他自己也认为如果有扩容需求,那么在代码中设定区块高度自动升级区块容量就好了。
但是后来比特币扩容却不是那么顺利,主要分歧在于是采用「隔离见证和闪电网络」,还是「增加区块容量」。前者认为「区块容量增大要求更高带宽和存储,会使节点逐渐走向中心化」,希望借助隔离见证和闪电网络这两项技术完成扩容,不增加区块容量。
注:这也是为什么 Eth2 希望采用 PoS 降低节点门槛,从而让更多人可以成为验证人,使其完成去中心化世界账本的理想。
当然这最后已经不是技术问题了, 而是上升到了意识形态之战,经历香港共识的出尔反尔与不信任,最终走向硬分叉的道路,形成目前 Bitcoin Core 和 Bitcoin Classic 两条扩容路线。
比特币扩容过程就像一场戏剧,我们可以看到诸如 SegWit、Schnorr Signature、Lightning Network 等扩容技术落地实现,但还未有质的改变。
-
SegWit:交易数据压缩至 25%;
-
Schnorr Signature:单签名数据压缩至 50%;多重签名:多笔交易压缩成单笔交易体积;
-
Lightning Network :缺少点对点小额支付场景,资产规模仅有 1000+ BTC。
后来闪电网络白皮书的作者 Joseph Poon 转战以太坊社区,与 Vitalik 在 2017 年发布 Plasma 白皮书,试图解决 以太坊 的扩容问题。
Plasma 主张将交易的计算和存储搬到 Layer2,然后将多笔交易压缩成一个区块,并将区块的默克尔根提交到 Layer1 Plasma 合约,从而提高吞吐量和降低交易成本。
Layer2 依赖 Layer1 Plasma 合约作为安全信任和仲裁层,如果 Layer2 出现问题/作恶,那么用户可以借助 Layer1 Plasma 合约退出资金。退出资金要等待约 2 周的挑战期,在此期间任何人都可以提交「欺诈性证明」证明退出无效,从而获得奖励。反之,若无问题则等待挑战期结束,顺利退出。
Vitalik 称 Plasma 是 side chains that have a non-custodial property,究其原因主要是用户需要信任 Side Chain 机制,而无法保障自己资金的所有权,但 Plasma 通过交互式欺诈性证明可以让用户随时申请退出资金,即便 Plasma 子链出现问题/作恶。
Plasma 曾是社区的希望,我们可以看到许多 Plasma 变体实现诸如 OmiseGo、Matic、Loom 等,但因为一些缺陷,它并没有获得社区最终的青睐:
-
缺少数据可用性,用户不得不依赖 Plasma 可信任节点数据或不断监控网络是否作恶,无法获得同等于 Layer1 的安全性。
-
提款周期长,依赖长达两周的欺诈性证明挑战期,如果有人作恶,同时挑战期内无人发现并提交作恶 ( 欺诈 ) 证明,那么用户资金存在损失风险。
上面这段话可能有些难以理解,我们来举个数据可用性的例子:
当你去赌场玩德州扑克时,你从柜台 ( Layer1 ) 将美元换取筹码,然后你开始随便找了一张桌子玩了几个小时德州 ( Layer2 交易) ,当你赢到盆满钵满的时候,你准备起身到柜台兑换筹码。此时赌场的坏人给你当头一棒,你失去了记忆 ( 数据不可用 ) ,牌桌上的荷官当作什么事情没有发生过一样,重新开始刚才的牌局,骗走你本应赢到的筹码。
从过去比特币和以太坊扩容情况来看,我们逐渐找到了理想扩容方案应该有的样子
-
保持区块容量大小,避免走向中心化;
-
支持数据可用性,用户可以从 L1 上重建交易状态;
随着 2019 年以太坊硬分叉升级 - Istanbul,我们离理想扩容方案越来越近,此次升级包含两个 Layer2 友好的 EIP 提案
-
EIP - 1108:使 SNARKs 和 STARKs 验证运算更便宜;
-
EIP - 2028:降低 Calldata Gas 消耗量,以便 L2 数据采用 Calldata 形式低成本上链。
Layer2 Rollup 的现状
什么是 Rollup?
Rollup 有不少中文译名,其中一个打趣的翻译是「春卷」,你可以想象将食物卷起来一口吃下去的感觉。实际上,Rollup 就是将交易数据压缩放到 Layer1 上,从而实现同样的区块容量可以塞下更多交易,将 30 TPS 扩容到 3000 TPS 级别,再搭配上 Eth2 Sharding 扩容,效果可以媲美当下 Visa 的水准。
如何压缩数据?
压缩是 Rollup 的精华,巧妙的压缩技巧可以塞下更多的交易,同时压缩数据上链可以提供「数据可用性」,保障用户资产安全。
一笔简单的以太坊交易 ( 比如发送 ETH ) 通常消耗约 110 字节。然而,在 Rollup 上发送 ETH 仅消耗约 12 字节。我们以收款地址和交易签名举例:
-
To:使用「索引」来代替 20 字节的地址 ( 例如:一个地址是「状态树」中的第 4,527 个地址,我们就可以用索引 4,527 来表示它 ) ;
-
Signature:利用零知识证明的特性,将数千笔交易签名转化为零知识证明,通过检查证明的有效性,从而证实数千笔交易有效。
Rollup 方案对比
Rollup 方案主要分为两种 :ZK Rollup 和 Optimistic Rollup。前者采用有效性证明,后者采用欺诈性证明,这两种证明方式背后的理念是不同的:
-
有效性证明:采用数学的方式保障资金安全、用户体验流畅和隐私,但短期内无法支持通用的 EVM 计算;
-
欺诈性证明:支持通用 EVM 计算 ( 方便以太坊项目迁移 ) ,但短期内无法采取零知识证明,所以折衷选择欺诈性证明,保障资金安全。
最后,本文为了讲述 Layer2 发展历程提及了一些过往不同的扩容方案,但这并不意味这些方案的思路是失败的。这其中除了技术问题,商业可行性也是值得深思的,正如 Vitalik 对这两种 Rollup 方案的评价:
短期内,Optimitic Rollup 很可能在通用的 EVM 计算中胜出,而 ZK Rollup 则可能在简单的支付、交易和其他特定应用场景中胜出。但从中长期来看,随着 ZK-SNARK 技术的改进,ZK Rollup 最终将在所有场景中胜出。
Zenqira Partners with Metagalaxy Land to Unlock the Future of the Metaverse & Web3
The global AI solution provider Zenqira has partnered with Metagalaxy Land. It aims to influence the...
Cardano founder Charles Hoskinson faces off against ‘AI roast bot’ in smart contract debate
Cardano founder Charles Hoskinson faces off against ‘AI roast bot’ in smart contract debate
Missed The Wealth Train To Avalanche Coin? This New Viral Presale is Stepping Up as the Best Crypto Presale to Buy This Week
Missed Avalanche? Don’t worry. Qubetics, with its game-changing Multi-Chain Wallet, $7.7M presale, a...