Whisker17 / Layer2Things

This repo contains kinds of rollup scheme in current market
4 stars 0 forks source link

Rollup 成为以太坊扩容主力,侧链还有何用武之地? #20

Closed Whisker17 closed 3 years ago

Whisker17 commented 3 years ago

Rollup 成为以太坊扩容主力,侧链还有何用武之地?

Contents:

Whisker17 commented 3 years ago

简介

侧链基本上是指一个系统,其中一组验证器将区块链的最新状态 checkpoint 到一个智能合约。然后,桥合约使用这些 checkpoint,以允许用户存款和取款。在一组验证器中,通常有一个 leader 选举过程来确定谁可以创建区块。leader 选举机制的例子包括权威证明(POA)共识和权益证明(PoS)

但是侧链缺少一些安全属性,几乎所有的侧链都无法提供:

  1. 抗审查性

  2. 最终性(Finality)

  3. 关于资金的保证

Whisker17 commented 3 years ago

抗审查

相比精心设计的区块链,侧链的抗审查属性更弱,这一点不应引起争议,否则就不需要区块链了。

如果一条侧链中涉及 N 个验证者,并且只要 M 个验证者同意就可以对一笔交易进行审查,那么 N-M 是为了审查一个区块而需要串通验证者的数量。这就导致了一种微妙的平衡,即更难审查交易,会使得审查区块变得更容易。考虑到交易审查和区块审查都是不受欢迎的,这使得侧链从根本上很难具有强大的抗审查属性。

这种担忧延伸到使用权益证明(PoS)共识机制时, 随着所涉及的数字按权益进行加权,这种情况可能会变得更糟,这意味着达到特定阈值所需的不同实体的数目可能甚至更低

Whisker17 commented 3 years ago

数据可用性保证

我们知道,N-M 个验证者能够创建一个区块。我们还知道,为了验证新状态,所有其它验证者都需要有关于整个状态的数据。所以如果 N-M 个验证者是恶意的,它们可以:

  1. 创建一个新区块

  2. 拒绝与诚实的验证者共享数据

  3. 有效地从共识中移除 N - (N-M) = M 个验证者,从而控制系统

这种情况发生的可能性有多大?这显然取决于很多特定情况的细节,但是我们可从考虑理性验证者与所有其它验证者共享数据的动机开始。对于传统的权威证明(PoA),不这样做可能会造成声誉损失。而基于权益证明(PoS)的侧链,就可能会存在风险。然而,要做到这一点并不容易,因为没有其他人将所有数据都放到链上,就无法证明某些数据是不可用的。这听起来是否有点像是 optimistic Rollup?是的,这意味着具有更好安全属性的侧链,本质上是降为 optimistic Rollup。

在大多数侧链中,验证者会收到某种形式的付款。对于诚实的验证者,这个奖励会在 N 个验证者之间共享。对于不诚实的验证者,同样的奖励由 N−(N−M)=M 之间分享.

要记住的一个总体概念是,判断数据可用性攻击是非常困难的。对于诚实节点,它们通常与同步问题无法区分。

Whisker17 commented 3 years ago

最终性(fnalization)

设想一系列状态转换,如下所示:

state1 => state2 => state3

其中每个 => 涉及到一组事务作为更新状态的一部分应用。所谓最终性是指一旦被应用,一笔交易就无法被撤销

通过以太坊主网达成共识后侧链 checkpoint 区块。这可能会让人认为,侧链的最终性基本上等于以太坊的最终性。具体的说法为:「为了恢复侧链上的区块,你需要在以太坊上回滚区块」,但事实并非如此。

这是因为最终性是关于恢复交易,而不是用新状态替换旧状态。因此,N-M 个验证者就能够执行以下转换:

state1 => state2 => state3

(用 state1 替换 state3,这样就可以在不需要以太坊主网回滚的情况下恢复假定已确认的 state2)

Whisker17 commented 3 years ago

侧链的性质在什么情况下是特别有用的?

除了侧链的辅助属性,例如更快的出块时间所导致更好的 UX (实际上数据库也有这个优点),在某些情况下,侧链的特定属性可以说是特别适合的。例如:

  1. 如果你特别想要 N−M 个验证者能够执行任意状态转换。希望拥有主控制开关的企业应用,就是一个例子;

  2. 当 M = 0 ,并且你希望 N 个验证者能够执行任意状态转换(例如,在一个四方游戏当中)。虽然这里的一个问题是,1 个验证者可以单方面停止区块链;

Whisker17 commented 3 years ago

总结

一些附加的特性 / 属性对侧链来说是很好的,其中包括:

  1. 无需费用就可实现大规模迁移,以确保用户可以退出,而不会因为成本而被「卡住」;

  2. 用更强大的反审查功能来取代 leader 选举机制(权益证明 PoS 似乎是一个错误的方向);

  3. 要求协调者将两个状态之间的差异放到链上;

  4. 添加欺诈证明以防止非法状态转换;