Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

以太坊扩容最热门主力方案 Rollup 学习指南 #16

Closed
Whisker17 opened this issue Nov 11, 2020 · 4 comments
Closed

以太坊扩容最热门主力方案 Rollup 学习指南 #16

Whisker17 opened this issue Nov 11, 2020 · 4 comments
Labels
note note opRollup this issue is something about Optimistic rollup Plasma this issue is something about Plasma zkrollup this issue is something about zkrollup

Comments

@Whisker17
Copy link
Owner

Whisker17 commented Nov 11, 2020

以太坊扩容最热门主力方案 Rollup 学习指南

Contents

@Whisker17
Copy link
Owner Author

Rollup 是什么?

Rollup 技术解决了之前 Plasma 暴露出的问题,提供了和以太坊 Layer 1 (也就是以太坊自己) 相同的数据可用性和安全性,而且还能极大提高网络的吞吐能力,同时降低单笔交易成本。正因如此,虽然很多人在广义上称 Rollup 为 Layer 2 的技术,但事实上却 介于 Layer 1 和 Layer 2 之间

Rollup 的核心理念其实很简单,就是将原本散布在区块中的大量交易数据,打包成一笔「浓缩」的交易,发布到链上。为确保其中每笔交易的有效性,各种 Rollup 方案设计了不同的机制以确保整个过程的安全性与 Layer 1 保持一致。ZK Rollup 以 零知识证明 zk-SNARKs 的密码学技术确保安全性,而 Optimistic Rollup 则继承了 Plasma 的 惩罚机制 ,以确保节点如果作恶将付出很大的代价

当然,Rollup 的各种方案都存在不同的取舍。比如,ZK Rollup 的缺点是支持 通用型智能合约 更难,而且「浓缩」数据 (创建 ZK 证明) 的过程耗时较长而 Optimistic Rollup 的 整体安全性 略差一些

@Whisker17
Copy link
Owner Author

Plasma 失败了吗?

Plasma 通过将高频的交易迁移到以太坊网络之外的 侧链 之上,定期将批量交易的哈希值发布到以太坊主网,然后设置一些 防恶意攻击机制 ,确保资金安全性。最终的目的是为以太坊扩容,提升交易吞吐量,减少交易成本。

但是最终暴露出两个问题:

  1. 数据可用性 :因为仅将批量交易的整体哈希值发布到 Layer 1 上,而不是每一笔交易均发布到底层公链,所以具体的交易数据不存在 Layer 1 上,用户需要自己存储具体的交易数据

  2. 用户体验差 :为了避免恶意攻击,Plasma 在设计挑战期的机制的时候,用户需要定期上线网络,否则可能错过而遭受不必要的损失。

@Whisker17
Copy link
Owner Author

Rollup 的机会

Rollup 通过 将交易聚合 ,仅需要在链上进行一次交易,就可以验证多笔其他交易

image

由于早期 ZK Rollup 的概念中,主要的缺点是生成 SNAKR 证明过程较长,而且也未能支持通用型的智能合约,所以我们提出了另一个方案,称为 Optimistic Rollup 。该方案吸收了 ZK Rollup 对于数据可用性的优势,以及 Plasma 的 惩罚机制 ,由于去除了零知识证明,所以可以更方便地支持通用型的智能合约。

image

image

@Whisker17
Copy link
Owner Author

image

@Whisker17 Whisker17 added note note Plasma this issue is something about Plasma opRollup this issue is something about Optimistic rollup zkrollup this issue is something about zkrollup labels Nov 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
note note opRollup this issue is something about Optimistic rollup Plasma this issue is something about Plasma zkrollup this issue is something about zkrollup
Projects
None yet
Development

No branches or pull requests

1 participant