Rollup将成为Layer 2世界的国王,那侧链将何去何从?( 二 )


这种担忧延伸到使用权益证明(PoS)共识机制时 ,随着所涉及的数字按权益进行加权 , 这种情况可能会变得更糟 , 这意味着达到特定阈值所需的不同实体的数目可能甚至更低 。
数据可用性保证
我们知道 , N-M个验证者能够创建一个区块 。 我们还知道 , 为了验证新状态 , 所有其它验证者都需要有关于整个状态的数据 。 所以如果N-M个验证者是恶意的 , 它们可以:

  1. 创建一个新区块:
  2. 拒绝与诚实的验证者共享数据;
  3. 有效地从共识中移除N - (N-M) = M 个验证者 , 从而控制系统;
这种情况发生的可能性有多大?这显然取决于很多特定情况的细节 , 但是我们可从考虑理性验证者与所有其它验证者共享数据的动机开始 。 对于传统的权威证明(PoA) , 不这样做可能会造成声誉损失 。 而基于权益证明(PoS)的侧链 , 就可能会存在风险 。 然而 , 要做到这一点并不容易 , 因为没有其他人将所有数据都放到链上 , 就无法证明某些数据是不可用的 。 这听起来是否有点像是optimistic rollup?是的 , 这意味着具有更好安全属性的侧链 , 本质上是降为optimistic rollup 。 在大多数侧链中 , 验证者会收到某种形式的付款 。 对于诚实的验证者 , 这个奖励会在N个验证者之间共享 。 对于不诚实的验证者 , 同样的奖励由N?(N?M)=M 之间分享(最重要的是这里M
最终性(fnalization)
设想一系列状态转换 , 如下所示:
state1 => state2 => state3
其中每个=> 涉及到一组事务作为更新状态的一部分应用 。 所谓最终性是指一旦被应用 , 一笔交易就无法被撤销 。
通过以太坊主网达成共识后侧链 checkpoint区块 。 这可能会让人认为 , 侧链的最终性基本上等于以太坊的最终性 。 具体的说法为:“为了恢复侧链上的区块 , 你需要在以太坊上回滚区块” , 但事实并非如此 。
这是因为最终性是关于恢复交易 , 而不是用新状态替换旧状态 。 因此 , N-M个验证者就能够执行以下转换:
state1 => state2 => state3
(用state1替换state3 , 这样就可以在不需要以太坊主网回滚的情况下恢复假定已确认的state2)
在侧链端资金所有权的保障
假设存在一个状态state1 ={Alice:1000,Bob:0}
因此Alice有1000 , Bob则为0 。 现在假设Bob是恶意的 , 他有效(或者可有效勾结)地控制了绝大多数的POA验证者 , 那会发生什么呢?
那么 , Bob就可以简单地执行状态转换state1 => state2 , 其中state2 = {Alice:0,Bob:1000} 。
这就等于把Alice的所有资金偷走 , 然后将它们交到Bob的手中 。
因此 , 侧链的防御减少为:假设N - M个验证者永远不会被说服处理这种非法的状态转换 。 这一点有很多人是知道的 , 但我认为提醒每个人是有用的 。
现在 , 可能有一些人(验证者)可通过这种方式进行信任 , 就像我们很多人信任不同的中心化服务提供商一样 。 有时候这是值得权衡的 , 很重要的一点 , 是要清楚这些权衡 。
治理作为一种防御措施所存在的问题
有时会有人提出这样一个论点:“我们可以利用治理来解决迄今为止提到的所有问题 。 ”
这当然是有缺陷的 , 因为它基本上是让整个系统退化为治理 。 这一论点让我特别担心的一个原因是 , 它意味着侧链的其它属性是摆设(在这种情况下 , 为什么要有这些属性呢?) 。 例如 , 如果治理是防止上述问题的最后一条退路 , 那么这意味着权益证明(PoS)、权威证明(PoA)等实际上并不重要 。
侧链的性质在什么情况下是特别有用的?
除了侧链的辅助属性 , 例如更快的出块时间所导致更好的UX(实际上数据库也有这个优点) , 在某些情况下 , 侧链的特定属性可以说是特别适合的 。 例如:


推荐阅读