Whisker17 / Layer2Things

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

以太坊二层扩容 Rollup 正热,状态通道被判「死刑」了吗? #22

Closed Whisker17 closed 3 years ago

Whisker17 commented 3 years ago

以太坊二层扩容 Rollup 正热,状态通道被判「死刑」了吗?

Contents:

Whisker17 commented 3 years ago

状态通道有什么好处?

最新的 Layer 2 扩容解决方案就是 ZK Rollups 和 Optimistic Rollups,这两种方法都涉及定期向区块链提交批处理交易数据以及生成的状态根,从而允许更高的交易吞吐量。

使用 zk-Rollups 方案,可提供关于整体状态转换正确性的零知识证明,从而保证链上状态有效,并允许立即撤出。由于生成证明的复杂性,ZK Rollup 系统目前仅被用于简单的资产转换

而 Optimistic Rollups 方案则允许在链下设置中执行任意 EVM 代码,但要求用户在退出其资金之前等待一个挑战期(challenge period),并依赖挑战不正确状态的各方来维护转换的完整性

状态通道也有助于提高可扩展性,在某些用例中,状态通道有可能实现超过 Rollup 方案的吞吐量,这是因为它消除了链处理大多数交易的需要。它们还具有一些独特的属性,这使得它们适用于一些用 Rollup 方案难以实现的场景。

其中一个非常重要的特性,在于它能够实现交易的非中介化:一旦双方建立了通道,他们就可以交换价值而无需第三方参与。但在 Rollup 方案中,情况并不是这样的,因为所有交易都必须由 Rollup 运营方处理的,而另一个重要特征就是转移的终局性使用状态通道,在收到更新后即会更新状态,这意味着价值转移会立即发生

在大多数情况下,上面的例子会需要用到支付通道(一种专门的状态通道),其中状态只是每个参与者的余额。链外交换的状态可以比这更通用,从而允许状态通道在用户之间提供更复杂的交互。在状态通道内,包括原子互换、任意复杂的条件支付,甚至是国际象棋游戏都可以完成。在设计激励方案时,这为系统设计人员提供了很大的灵活性。

Whisker17 commented 3 years ago

状态通道是如何运作的?

image

Whisker17 commented 3 years ago

状态通道的挑战机制

如果你与 Charlie 一起开通了一个状态通道,并将资金存入该状态通道合约当中,那么当 Charlie 变得不合作,或者他丢失私钥时,通道中的资金会面临什么呢?你能把资金拿回来吗?或者 Charlie 是否可能会以此要挟于你,强迫你向他支付股份以释放资金?而这些问题的答案,是状态通道系统的另一个重要组成部分:挑战(challenge)机制

答案:如果 Charlie 反应迟钝,你只需要通过向链上发送最新协议结果(agreement)来关闭通道,就像上述合作案例中一样。但是,这样做的问题在于,区块链无法判断你发送的协议结果是否实际上是最后一个,也就是说存在可能你可以通过它来做恶。那如何解决这个问题呢?有两种解决办法:

  1. 第一种解决方案是针对合作情况的,其要求所有参与者明确签署声明,声明所讨论的是最终协议结果,并且该通道现已关闭。这样做的好处是可以即时取款,但如果一个或多个参与者无响应,则它对我们是没有帮助的。

  2. 第二种方法,是让区块链在假定的最后一个状态提交之后,强制执行一个挑战期,并在撤回资金之前给其他参与者提交一个状态的机会。如果有人恶意提交挑战,则会遭受惩罚,从而可激励良好的行为。