零点课堂 | 什么是“数据可得性?”(2)

Rollup

Optimistic rollup 是一种基于 rollup 侧链(类似分片)的新型可扩展性策略。这些侧链有自己专属的区块生产者,可与其它侧链互相转移资产。

但是,如果有恶意的区块生产者将无效交易打包进区块,将侧链上所有用户的资金盗走怎么办?为解决这一问题,我们可以使用欺诈证明来发现这种情况。但是,还是那个老问题,侧链用户需要找到某种方法来确保侧链上所有区块的数据都公开可见,以便发现无效交易。为了解决这一问题,以太坊上的 Rollup 将所有 rollup 区块都发布到以太坊区块链上,依赖以太坊来实现数据可得性。也就是说,将以太坊作为数据可得性层。

ZK-rollup 与 optimistic rollup 类似。区别在于,前者并非使用欺诈证明来发现无效区块,而是使用有效性证明来证明区块的有效性。有效性证明本身不需要数据可得性。然而,总的来说,ZK-rollup 需要数据可得性,因为如果区块生产者创建了一个有效区块,并为其生成有效性证明,却没有公布区块数据,用户就无法知道区块链的状态以及他们的余额,也就无法与区块链进行交互。

进一步探索

rollup 的设计旨在将区块链作为数据可得性层来存储交易,但是实际的交易处理和计算都发生在 rollup 上。这是一种很有趣的思路:区块链实际上不需要进行任何计算,但是至少需要将交易分装到区块中,并确保交易的数据可得性。

这也是 LazyLedger 的设计思路,即,一种“懒惰的”区块链,只需要完成区块链的两个核心任务 —— 通过可扩展方式对交易进行排序,并实现交易的数据可得性。这使得 LazyLedger 成为 rollup 等系统中的最小“可拔插”组件。

数据可得性问题的解决方案

下载所有数据

正如上文所讨论的那样,解决数据可得性问题的最直接方法就是,要求所有人(包括轻客户端)下载所有数据。显然,这种方法不具备良好的可扩展性。比特币和以太坊等大多数区块链均采用这种方法。

数据可得性证明

数据可得性证明是一种新技术:客户端只需下载区块中的一小部分数据,即可检查该区块中所有数据是否均已发布。

数据可得性证明采用了一种被称为纠删码的数学元件。纠删码被广泛应用到了从 CD-ROM 到卫星通信再到二维码等信息技术中。纠删码可以将原本 1 MB 的区块数据扩充成 2MB,其中多出的 1 MB 就是叫做纠删码的特殊数据。如果区块中的任何字节丢失,纠删码都可以帮你找回它们。即使整个区块的数据丢失, 纠删码也可以帮你找回所有数据。同样地,有了纠删码,即使 CD-ROM 中的数据都被擦除,你的计算机也可以读取到(译者注:纠删码并不能帮你节约带宽,假设 1MB 的数据被扩充成了 2 MB,你仍然需要获得至少 1MB 的数据才能恢复出原始数据,虽然并不要求这 1 MB 的数据是连续的)。

这就意味着,要实现 100% 的数据可得性,区块生产者只需将区块中 50% 的数据发布到网络上。如果恶意区块生产者想要成功隐瞒 1% 的数据,就必须隐瞒超过 50% 的数据,否则这 1% 的数据可以通过剩下 50% 的数据找回(译者注:此段第一句存疑)。

有了这个知识,客户端就能采取措施来确保区块中的数据不会被隐藏。客户端可以尝试随机下载区块切分而成的数据块,如果他们未能成功下载数据块(即表明,该数据块属于恶意区块生产者未公开的那 50% 的数据),它们就会拒绝承认该区块的数据可得性。如果下载一个随机数据块,客户端就有 50% 的概率发现无效区块。如果下载两个数据块,就有 75% 的概率。如果下载三个数据块,就有 87.5% 的概率。以此类推,直到下载七个数据块之后,就有 99% 的概率。通过这种方式,客户端只需下载区块中的一小部分数据,即可有效检查整个区块的数据可得性。

数据可得性证明的全部细节会更复杂一些,而且依赖于其它假设,例如,网络中的轻客户端数量不能低于某个下限,这样就有足够多的轻客户端请求数据块,以便恢复整个区块的数据。如果你想了解更多信息,可以查看关于数据可用性证明的论文。

结论

在本文中,我们介绍了数据可用性问题,讨论了数据可用性对区块链可扩展性的重要性,并提出了解决方案。

本文由旖旖撰写,零点财经收录,观点仅代表作者本人,绝不代表零点财经赞同其观点或证实其描述。

本文由 零点财经 作者:tao 发表,其版权均为 零点财经 所有,文章内容系作者个人观点,不代表 零点财经 对观点赞同或支持。如需转载,请注明文章来源。
分享生成图片
54

发表回复

零点课堂 | 什么是“数据可得性?”(2)

2021-02-02 11:01:04

Rollup

Optimistic rollup 是一种基于 rollup 侧链(类似分片)的新型可扩展性策略。这些侧链有自己专属的区块生产者,可与其它侧链互相转移资产。

但是,如果有恶意的区块生产者将无效交易打包进区块,将侧链上所有用户的资金盗走怎么办?为解决这一问题,我们可以使用欺诈证明来发现这种情况。但是,还是那个老问题,侧链用户需要找到某种方法来确保侧链上所有区块的数据都公开可见,以便发现无效交易。为了解决这一问题,以太坊上的 Rollup 将所有 rollup 区块都发布到以太坊区块链上,依赖以太坊来实现数据可得性。也就是说,将以太坊作为数据可得性层。

ZK-rollup 与 optimistic rollup 类似。区别在于,前者并非使用欺诈证明来发现无效区块,而是使用有效性证明来证明区块的有效性。有效性证明本身不需要数据可得性。然而,总的来说,ZK-rollup 需要数据可得性,因为如果区块生产者创建了一个有效区块,并为其生成有效性证明,却没有公布区块数据,用户就无法知道区块链的状态以及他们的余额,也就无法与区块链进行交互。

进一步探索

rollup 的设计旨在将区块链作为数据可得性层来存储交易,但是实际的交易处理和计算都发生在 rollup 上。这是一种很有趣的思路:区块链实际上不需要进行任何计算,但是至少需要将交易分装到区块中,并确保交易的数据可得性。

这也是 LazyLedger 的设计思路,即,一种“懒惰的”区块链,只需要完成区块链的两个核心任务 —— 通过可扩展方式对交易进行排序,并实现交易的数据可得性。这使得 LazyLedger 成为 rollup 等系统中的最小“可拔插”组件。

数据可得性问题的解决方案

下载所有数据

正如上文所讨论的那样,解决数据可得性问题的最直接方法就是,要求所有人(包括轻客户端)下载所有数据。显然,这种方法不具备良好的可扩展性。比特币和以太坊等大多数区块链均采用这种方法。

数据可得性证明

数据可得性证明是一种新技术:客户端只需下载区块中的一小部分数据,即可检查该区块中所有数据是否均已发布。

数据可得性证明采用了一种被称为纠删码的数学元件。纠删码被广泛应用到了从 CD-ROM 到卫星通信再到二维码等信息技术中。纠删码可以将原本 1 MB 的区块数据扩充成 2MB,其中多出的 1 MB 就是叫做纠删码的特殊数据。如果区块中的任何字节丢失,纠删码都可以帮你找回它们。即使整个区块的数据丢失, 纠删码也可以帮你找回所有数据。同样地,有了纠删码,即使 CD-ROM 中的数据都被擦除,你的计算机也可以读取到(译者注:纠删码并不能帮你节约带宽,假设 1MB 的数据被扩充成了 2 MB,你仍然需要获得至少 1MB 的数据才能恢复出原始数据,虽然并不要求这 1 MB 的数据是连续的)。

这就意味着,要实现 100% 的数据可得性,区块生产者只需将区块中 50% 的数据发布到网络上。如果恶意区块生产者想要成功隐瞒 1% 的数据,就必须隐瞒超过 50% 的数据,否则这 1% 的数据可以通过剩下 50% 的数据找回(译者注:此段第一句存疑)。

有了这个知识,客户端就能采取措施来确保区块中的数据不会被隐藏。客户端可以尝试随机下载区块切分而成的数据块,如果他们未能成功下载数据块(即表明,该数据块属于恶意区块生产者未公开的那 50% 的数据),它们就会拒绝承认该区块的数据可得性。如果下载一个随机数据块,客户端就有 50% 的概率发现无效区块。如果下载两个数据块,就有 75% 的概率。如果下载三个数据块,就有 87.5% 的概率。以此类推,直到下载七个数据块之后,就有 99% 的概率。通过这种方式,客户端只需下载区块中的一小部分数据,即可有效检查整个区块的数据可得性。

数据可得性证明的全部细节会更复杂一些,而且依赖于其它假设,例如,网络中的轻客户端数量不能低于某个下限,这样就有足够多的轻客户端请求数据块,以便恢复整个区块的数据。如果你想了解更多信息,可以查看关于数据可用性证明的论文。

结论

在本文中,我们介绍了数据可用性问题,讨论了数据可用性对区块链可扩展性的重要性,并提出了解决方案。

本文由旖旖撰写,零点财经收录,观点仅代表作者本人,绝不代表零点财经赞同其观点或证实其描述。