Layer2发展

参考链接

发展史

在 Layer2 出现之前,所有操作必须在主链(Layer 1)上完成,Layer2 出现是为了解决区块链主链交易处理速度低下而生,即需要将需要计算处理的交易从主链 Layer1 移到 Layer2 线下进行,计算完后再将结果移到主链 Layer1。

去中心化应用基于区块链构建,每笔交易计算都要占用资源,2017 年一款去中心化的游戏应用“加密猫”作为一个基于智能合约的 NFT(非同质化代币)游戏,每次繁殖、买卖、转让猫咪都需要提交一笔以太坊交易。大量用户涌入短时间内产生了巨量交易请求,占用以太坊网络交易容量,当网络拥堵时,用户为了快速完成交易,纷纷提高 Gas 费,推高了全网 Gas 价格,使得正常普通用户因无法支付高昂 Gas 费而无法完成交易。

具体 Layer2 方案

Rullup

Rullup 主要分为 Optimistic Rollup 和 ZK Rollup 以及 Arbitrum Rollup 三种。都是把运算放到链下,然后把数据存在链上,这样就可以实现既提高运算速度,又利用了以太坊主网的安全性,又解决了数据可得性的问题。

Optimistic Rollup 沿用了 Plasma「欺诈证明」的方式,即任何人都可以对返回链上的数据进行验证和质疑,一旦发现问题,这些数据就将被回滚以保证安全,但是这种方式有个致命问题就是验证期的存在,通常验证期都是 2 周左右,也就意味着当用户想要从 Layer2 往 Layer1 转账的时候,需要等候两周左右的时间。

ZK Rollup 采用了 ZK-SNARK (简明的非交互式零知识证明),这种方式解决了验证期的问题,但其缺点是计算量大,技术难度高且难以支持虚拟机.

Arbitrum Rollup 的设计方案里有一个验证人,验证人在链上记录时需要发送一个主张到以太坊上,同时验证人需要存一笔保证金。如果验证人的主张是假的,那么保证金就会丧失。 验证人把主张发送到链上后会有一段时间任何人都可以提出的质疑。如果你不同意就会有争端,争端的解决机制就是 Arbitrum,机制是如果双方对某件事持不同意见,有效的解决机制是由大到小进行拆分。比如某笔交易涉及到 10 亿步产生了争议,那么便将 10 亿步拆分成 100 份更小的主张,每个主张包含 1000 万步,这样就把 10 亿规模的争端缩小成了千万规模的。不同意的一方再从这 1000 万中挑出他不同意的,再进一步的由大化小,直到找到最关键的有争议的那一步。找到关键的一步之后,再动用以太坊的合约来决定这一步到底是正确还是错误的,这一步显然可以由智能合约规定,具有扩展性。通过这样的方式就可以实现高效的争端的解决。

状态通道

用户和用户之间直接建立一条通道,举个例子,用户 A 和用户 B 经常发生转账,因此他们可以直接建立一条通道,然后每个人都在这个通道里存放一定数量的代币,当需要转账时,就从存放好的代币中进行交易就好了。当然 A 和 B 不可能一直做交易,而且通道只有 A 和 B 可以使用,因此没有解决主链交易拥堵的问题。

侧链

在主链外另开一条公链分担压力,但是这条公链不够安全,以太坊上之所以能吸引这么多的应用和用户,正是因为它的生态已经构建成形,可以安全性,但是其他公链并不具备这个安全系数。打个比方,以太坊就像一条非常完备的高速公路,有警察,有救护车,一旦发生问题,可以及时解决,但是如果你在其他路上开车运货,不管是遇到车祸还是遇到抢匪,可能都没有保护措施,那么用户怎么敢在这条路上运货呢。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计