区块链技术是伟大的,但区块链技术的性能是落后的,区块链技术距离真正的落地还很远。比特币网络的交易处理速度是每秒 5 笔,以太坊是每秒 15 笔,相较于 Visa 网络均值 2000 笔,峰值数万的效率,仿佛不同时代的产品。今年DeFi的发展再次让性能问题突显,以太坊网络变得贵而拥堵,动辄十几几十刀的手续费确实是让小散户望而却步,让大户也变得头疼。在这一情况下,扩容成为了不可忽视的一个问题。
扩容的解决方案无外乎两种:链上扩容和链下扩容。这两种扩容方式都有着一些项目在研究,并提出了自己的解决方案,在理论上来讲,都是可行的。我们打个比方来说,目前的网络是一条2车道的路,链上扩容就是将其改造成一条4车道的路,而链下扩容就是相当于在这条路的旁边在修一条路,这两种方式都能使路上不再拥堵,车行使的更快、更顺畅。
链上扩容
链上扩容是从区块链数据层、网络层、共识层和激励层进行区块链基本结构、模型、算法的优化和改进,即是对区块链自身体系结构进行优化完善,进而提升区块链性能。链上扩容直接改变区块链的自身结构,对于成熟的网络并不容易。链上扩容我们最常见的就是分片和扩块。
区块链分片的基本思路是,将区块链网络中的节点,分成若干个相对独立的分片,单个分片处理规模较小的事务,甚至只存储部分网络状态。多个分片并行处理事务,理论上整个网络的吞吐量将会提升。ETH2.0就是采取的分片的扩容方式,分片扩容也是当下技术难度比较大的一种扩容方案,目前采用这种方式的区块链还包括NEAR和本体,都是实力比较强劲的项目。
区块体决积定了区块链网络单个区块可容纳的交易笔数,区块链扩块,顾名思义就是通过扩大区块容量,来实现数据区块链能够打包的交易数量,以此来间接的提升系统吞吐量。这种方式也是比较常见,但这种方式有一个弊端就是容易造成分叉,BCH和BSV就是两个最鲜明的因为扩容而产生的分叉。
链下扩容
链下扩容,是对区块链合约层和应用层进行调整,将合约与复杂计算放到链下,减少链上工作量以提升区块链系统性能,链下扩容不改变区块链基本协议。这就是说在主网络之外,在建立一层交易网络,最后把结算验证结果传到主网络上,因此链下扩容也被成为二层网络。目前,链下扩容主要的解决方案有:状态通道、侧链跨链、Plasma以及rollup,这几种扩容方式也是在不断演化发展的。
状态通道简单来说就是,双方在链下建立一个私密双向通道,通过交换私钥进行签名以后的信息,并在链下进行交易,需要交易双方同时在一个通道内,无法给不在该系统内的交易者转账。状态通道的的优点就是高隐私性,低延时,实时性高,基本上可以实现毫秒级。但是目前来看实现的技术难度是非常高的,状态通道实现转账的前提是你需要把币存到链上,且币的数量就是你支持的最大的交易数量,如果涉及到多个状态通道的转账,大额转账时很难实现的,你不能保证,每个通道都有足够的存款。目前状态通道的代表是比特币的闪电网络,也只支持小额的转账而已。
侧链跨链可能是大家最常听到的一种链下扩容方案,侧链的本质就是在这个基础层上再搭一个链,把交易信息放到链外来处理。侧链的安全性是于主链分开的,侧链有着自己的验证者来保证自身网络的安全性。测链往往有更少的验证者,以此来确保更快的交易速度,这也意味着在拥有了高性能之后其往往有着比主网差的安全性,更容易受到攻击。我们比较熟的这种扩容方式有比特币的侧链RSK,以太坊的侧链 xDAI目前发展的还可以。
Plasma在 2017 年被提出,也被V神寄予厚望能解决以太坊的拥堵问题,但是目前来看并不成功。Plasma是一个链下计算的扩容方案,将二层网络的交易数据处理后提交到主网络,并且增加了欺诈性证明的退出机制,通过这种方式利用主网算力保障二层网络安全性。Plasma 的设计最大限度地降低了侧链运营商的信任要求,即使运营商行为不端,Plasma 也能防止资金被盗。但是,Plasma有着一个明显的缺陷,Plasma链上每个用户必须监控和验证链上的所有交易,以检测恶意运营商的行为并及时退出;而且用户取出资金的时间比较长,币圈行情瞬息万变,验证时间过长,对于很多用户来说,很难接受。Plasma的代表网络是 OmiseGo (OMG),其 Plasma MVP 已上线主网。
基于Plasma的缺陷,Rollup 在19年被提出,是当下最受关注、也是最有机会落地的二层扩容方案。Rollup将数据放在链上,用户可以随时验证,这杨就不需要节点运行大量的数据,减轻了节点的负担。当然,Rollup不是将所有数据都放在链上,它的链上数据仅仅限于它每一笔交易的输入,但不包括它的最终状态,这样既不会给链下节点造成过重的节点,也不会给链上网络造成拥堵。Rollup 又可分为 ZK Rollup 和 Optimistic Rollup。
ZK Rollup 通过零知识证明 zk-SNARKs 的密码学技术来确保安全性,ZK Rollup 方案可将当前以太坊网络的 TPS 提升 30 倍,但是零知识证明算法对通用型的智能合约支持不友好,创建时间比较长,所以ZK Rollup更适合普通的转账交易,而不适合智能合约。这其中比较火爆的 Loopring路印协议就是采用的ZK Rollup 二层扩容方案。
Optimistic Rollup采用了Optimistic 虚拟机,Optimistic 虚拟机是一种功能齐全,与以太坊虚拟机兼容的环境。Optimistic Rollup相比 ZK Rollup 去除了零知识证明,增加了惩罚机制,来达到保障数据安全性的同时又可以更方便地支持通用性智能合约的目的。Optimistic Rollup其实更像是一种折衷的方案,是短期的一个扩容方案,目前来说更适合DeFi。以太坊合成资产协议平台Synthetix就是采用的Optimistic Rollup方案。
结语
未来,随着需求的改变,技术的进步,肯定会更多的、更先进的扩容方案出现。无论是一层扩容还是二层扩容,都会有一个相互结合的过程,相互结合才能更好的实现区块链网络的扩容。