摘要:Avail是一个模块化区块链,旨在解决数据可用性问题,它通过将数据带到链下并证明数据实际上是可用的来解决这个问题。不是的,Avail是一个确保数据可用性的区块链。不是的,Avail是一个确保数据可用性的区块链。...
Avail 是一个模块化区块链,旨在解决数据可用性问题,它通过将数据带到链下并证明数据实际上是可用的来解决这个问题。 像 Avail 这样的数据可用性链是区块链领域的新兴领域。并不是每个人都熟悉这些概念,但随着开发人员对扩展系统的需求增加,它们在越来越受到关注。
在本文中,我们将列出有关 Avail 的事实,包括一些最常见的误解,从而更清楚地了解 Avail 为开发人员提供的数据可用性优势。
1. Avail 是数据存储解决方案吗?
不是的,Avail 是一个确保数据可用性的区块链。它可以证明数据存在于区块链上,即使它当前没有存储在区块链上。
数据可用性与数据存储不同,它侧重于提供数据可用性的证明,而不需要完整的数据检索,而数据存储则涉及整个数据的实际存储和检索。
数据可用性通过确保所有参与者都可以访问和验证必要数据的存在,在区块链网络的数据完整性和安全性中发挥着至关重要的作用。 它可以防止隐藏恶意交易以及对整个系统可信度的潜在损害。
数据可用性是节点下载通过点对点网络传播的所有区块中包含的数据的能力。它指的是用户对验证区块所需的数据确实可供所有网络参与者使用的信心。
另一方面,Arweave、IPFS、Filecoin 和 Sia 等去中心化存储区块链使最终用户能够直接在区块链上存储和检索文件。与数据可用性链不同,这些存储链专注于显式检索用户请求的完整数据。
2. Avail 是单一区块链吗?
不是的,Avail 是一个模块化数据可用性 (DA) 层,与链上数据可用性相比,它具有许多优势。 模块化区块链通常将数据可用性、交易和共识处理分开 —— 将它们分解为更易于管理的组件,可以独立开发和维护。
与此同时,像以太坊这样 Layer 1 的单一区块链是被设计完成所有工作的,包括执行、结算、共识和数据可用性。同时处理所有任务会影响上述功能的效率,最终导致交易瓶颈和费用增加。
此外,单一区块链依赖于链上数据的可用性。提高网络吞吐量以提高区块链性能是单一区块链面临的核心挑战之一。为了提高整体系统的吞吐量,你需要创建更大的块、增加块频率或改进块传播以传输更多数据。随着单一区块链的扩展尝试,这种对链上数据可用性的依赖是低效且昂贵的。
例如,以太坊 L1 上的完整节点必须下载每个块中所有数据的副本。这可能是大量数据,尤其是对于大块。因此,链上数据的可用性可能会使区块链的扩展变得困难,因为处理所需的数据量随着区块数量的增加而增加。如果数据不可用,则该块将被丢弃。
Avail 使用纠删码和 KZG 多项式承诺来确保数据可用性得到高可信度的保证。通过使用这两个功能,轻客户端(允许用户通过数据可用性采样获取微小数据的节点)可以验证数据可用性,而无需下载整个区块链,从而提供更高的效率。
3. Avail 是数据可用性委员会 (DAC) 吗?
Avail 不是数据可用性委员会 (DAC)。DAC 除了是需要经过许可且通常带有中心化的性质之外,DAC 还存在一些严重的安全漏洞,因为它们依赖于诚实的多数假设。DAC 是一组负责链下数据可用性的节点,相信委员会中的大多数节点都是诚实的。这种假设和对一小部分节点的依赖存在风险。例如,区块生产者可以通过扣留交易数据来破坏整个链,从而阻止用户提取资金。
此外,如果尝试进行数据扣留攻击,DAC 不会受到任何损失。换句话说,节点没有经济动机去诚实行事。
而 Avial 是不同的,它作为一个独立的区块链运行,拥有自己的验证节点、区块生产者和共识机制。虽然 DAC 通常涉及有限数量的参与者(少至 5 个),但 Avail 计划让数百个节点协同工作以确保网络安全。
Avail 上的数据可用性不仅仅依赖于验证者,因为任何轻客户端也可以为保持数据可用性做出贡献。轻客户端可以通过随机数据采样自行确定数据可用性,而不必信任诚实的大多数。即使全节点宕机或尝试审查数据,也可以从轻节点重建块。
4. 全节点是唯一支持 Avail 网络的参与者吗?
不是,我们有轻客户端(light clients)、完整节点(full nodes)和验证者(validators)支持 Avail 网络。
作为一个模块化区块链,Avail 中所有网络参与者都被重新定义。在 Avail 中,验证者接受交易并创建区块。一旦区块被创建,如果数据不可用,轻客户端能够识别这一点。尽管它们存在于 Avail 中,全节点扮演了辅助角色,以保持高冗余度,这与传统单一架构中全节点扮演的关键角色有巨大的不同。
在传统的单一区块链中,轻客户端有它们的局限性 —— 它们依赖于全节点来提供准确的数据。这可能是有风险的,因为被危害的节点可能提供错误的信息。他们可能仍然需要下载大量数据。这可能是资源密集型的,并限制了它们在计算能力有限的设备上的可用性。
Avail 的轻客户端则不同;他们可以通过使用某些技术,包括数据可用性抽样(DAS)、擦除编码和 KZG 多项式承诺来克服传统轻客户端的局限。
擦除编码通过在一个 m x n 矩阵中复制和分布数据,以确保冗余和对数据丢失的抵御能力。KZG 承诺使得数据的高效抽样成为可能。然后轻客户端随机从矩阵中获取单元,并且通过仅仅抽样几个单元即可立即验证数据的可用性。这消除了下载整个数据库的需要,显著减少了资源需求,并使得轻客户端能够验证区块链状态,即使他们没有强大的硬件资源来进行计算。他们可以使用轻量级设备,如移动电话和基于浏览器的钱包。
将轻客户端纳入日常钱包是一个蕴含巨大潜力的未来发展方向。这将允许用户轻松方便地验证区块链状态,而无需自己运行完整节点。这也将使区块链技术对更广泛的用户群体更加可访问。
5. Avail 是 Polygon 的一部分吗?
Avail 不再是 Polygon 的一部分。Avail 是一个完全独立的网络。但我们与 Polygon 有着紧密的历史。
Avail 项目是由共同创始人 Anurag Arjun 在 2020 年末在 Polygon Labs 内部启动的。在那段时间,Avail 团队开始致力于解决数据可用性问题。
Avail 始终与不同类型的区块链兼容,包括独立链、侧链和链下扩容解决方案。然而,Avail 团队设想保持中立性和灵活性,让项目能够关注以太坊和 Polygon 之外更广泛范围的 rollup 解决方案。
这一转变发生在 2023 年 3 月。Avail 现在完全致力为所有类型的 rollup 和区块链提供数据可用性,不仅限于特定于 Polygon 或以太坊的那些。
未来之路
Avail 展望的未来是区块链技术更加可扩展、灵活并且对开发者更加开放。为了实现这一点,Avail 正在开发一个强大的共识和数据可用性层,以向模块化链提供原始的区块空间。这将允许开发者构建更加可扩展、灵活且易于使用的 rollup 和 appchain。