时间:2022-01-16|浏览:7145
用戶喜愛的交易所
已有账号登陆后会弹出下载
你可能听说了,Ethereum 分片路线图已基本取消执行分片,现在只关注数据分片,使 Ethereum 数据空间吞吐量最大化。
你也可能看到了最近关于模块化区块链的讨论,并对 进行了深入的研究Rollup,了解了 volitions 与 validiums,然后我听说了「数据可用性解决方案」。
但是,在这个过程中,你也可能会有一个问题:「什么是数据可用性?」。
在我们开始解释这个问题之前,我们可以回顾大多数区块链的工作原理。
区块链交易、节点、恶名昭著的三难问题
当你遇到一个新的 OHM 分叉,如果年利率惊人,你会毫不犹豫地按爆「质押」按钮。但是,当你在上 Metamask 提交交易时会发生什么?
简单地说,你的交易将进入内存池,假设你对矿工或验证人的贿赂足够高,你的交易将被放入下一个区块,并添加到区块链供后代参考。然后,包含您交易的区块将被发送到区块链的节点网络中。之后,整个节点将下载该新区块,执行并计算该区块中包含的每个交易(包括您的交易),并确保这些交易是有效的。例如,在你的交易中,这些整个节点可能会验证你是否从其他人那里窃取资金,以及你是否有足够的 ETH 来支付 Gas 费用等。因此,整个节点的重要任务是对矿工和验证者实施区块链规则。
正是由于这种机制,传统的区块链出现了扩张问题。由于整个节点将检查每个交易是否遵循区块链的规则,区块链不能每秒处理更多的交易,而不提高硬件水平(更好的硬件将加强整个节点的功能,更强大的整个节点可以验证更多的交易,因此可以有更多的块可以包含大量的交易)。然而,如果运行整个节点的硬件要求增加,整个节点的数量将减少,分散过程也将受到影响——如果更少的人能够确保矿工/验证人遵守规则,情况是相当危险的(因为信任假设的数量将增加)。
数据的可用性是我们不能同时拥有扩容、安全与去中心化的主要原因之一
该机制还显示了确保传统单片区块链中数据可用性的重要性:区块生产者(矿工/验证人)必须公布并提供其生产区块的交易数据,以便全节点检查其工作。如果区块生产者不提供这些数据,整个节点将无法检查其工作,也无法确保其遵守区块链规则。
现在你应该明白为什么数据可用性在传统的单片式区块链中非常重要。接下来,让我们讨论一下它在每个人中的可扩展性解决方案——Rollup 中扮演什么角色?
在 Rollup 数据可用性在背景下的重要性是什么?
让我们先重温一下 Rollup 如何解决可扩展性问题:为什么我们不减少需要验证全节点有效性的交易数量,而不是提高运行全节点的硬件要求?我们可以将交易的计算和执行从整个节点交给更强大的计算机(也称为序列器)。
但这也意味着我们必须信任序列器吗?如果整个节点的硬件要求保持在较低水平,那么它们肯定会比序列器慢。那么,我们如何确保序列器提出的新块是有效的(也就是说,确保序列器不会窃取每个人的资金)。鉴于这个问题已经被反复提及,我相信你已经知道了这个问题的答案,但请继续耐心地阅读下一个内容(如果你不记得了,你不妨读一读Benjamin Simon和Vitalik重温这两篇文章):
对于 Optimistic Rollup,我们可以依靠欺诈证书来维持序列器的可靠性(除非有人提交欺诈证书,表明序列器包含无效或恶意交易,否则我们通常默认序列器可以可靠运行)。然而,如果我们想让其他人计算欺诈证书,他们需要序列器执行的交易数据来提交欺诈证书。换句话说,序列器必须提供交易数据,否则没有人能保证 Optimistic Rollup 序列器的可靠性。
有了 ZK Rollup,确保序列器的可靠性要简单得多——序列器在执行一批交易时必须提交有效性证明(ZK-SNARK 或 ZK-STARK),这种有效性证明可以确保序列器中没有无效或恶意交易。此外,任何人(甚至智能合同)都可以很容易地验证这些证书。但对于 ZK-Rollup对于 序列器来说,数据可用性仍然很重要,因为作为 Rollup如果 用户想快速投资 Shitcoin如果 ,你需要知道我们在 Rollup 上有多少账户余额。但是,如果交易数据不可用,我们就不能知道我们的账户余额,也不能再与 合作Rollup 互动。
以上让我们明白,人们一直尊重 Rollup 的原因。由于整个节点不一定能跟上序列器的速度,为什么我们不直接把它变成一台强大的计算机呢?这一变化将使序列器每秒进行大量交易,从而减少 Gas 费用,让每个人都满意。然而,序列器仍然需要提供交易数据,也就是说,即使序列器是一个真正的超级计算机,它实际的每秒交易量仍然受到底层数据可用性解决方案或数据可用性层数据吞吐量的限制。
总之,如果 Rollup 无法存储使用的数据可用性解决方案或数据可用性层 Rollup 如果序列器想要转储数据量,那么序列器(和 Rollup)即使你想处理更多的交易,你也无能为力。同时也会让 Ethereum 上的 Gas 成本上升。
这就是数据可用性极其重要的原因——如果数据可用性得到保证,我们可以规范 Rollup如果 Rollup 准备最大化其交易吞吐量,最大化数据可用性解决方案或数据可用性层数据空间吞吐量也将至关重要。
但你可能已经意识到,我们还没有完全解决序列器能否正常运行的问题。Rollup 如果整个主链节点的计算速度不需要跟上序列器,序列器可以扣留大部分交易数据。问题是,主链节点如何迫使序列器将数据转移到数据可用性层?如果节点不能这样做,我们就不会在可扩展性方面取得任何进展,因为在这种情况下,我们必须己购买超级计算机。
上述问题也被称为「数据可用性问题」。