揭秘存储证明:如何验证存储数据的存在性和完整性?

 2023-11-13 13:17:37发布 2023-11-13 13:17:48更新

存储证明(Storage Proof)是一种加密和验证链上信息的技术。通过为数据生成的证明来保证数据真实有效。每个存储证明都可以保证特定状态在过去的特定区块中存在并且有效,比如在某时间节点上,用户 A 是否在 B 链上存储了一定数额的 C 代币。

存储证明的参与者

存储证明是验证远程存储数据的存在性和完整性的加密机制。它们在去中心化存储系统中至关重要,因为它们确保数据不仅可以存储,而且能在需要时进行检索。

在使用存储证明机制的网络中,通常有两个主要参与者:

  • 证明者:该实体负责存储数据。他们必须提供证据证明他们拥有承诺存储的数据。
  • 验证者:验证者负责检查证明者是否真实存储数据。他们向证明者提出质问,然后证明者必须根据现有的 PoS 机制提供证明来做出回应。

存储证明的技术机制

存储证明是密码学、数学和尖端技术的结合。虽然这个概念可能看起来很复杂,但通过一步一步分解,能让每个人清晰的了解它。

抵押品和承诺

承诺的理念时存储证明的核心。在去中心化系统中,参与者(或节点)承诺存储特定数据。但网络中的其他人如何能相信这个承诺呢?这就是抵押品发挥作用的地方。

节点提供一种安全保障,通常以加密货币的形式,作为其承诺的保证。如果节点在受到挑战时未能提供正确的数据,他们就面临失去这些抵押品的风险。

Merkle树和加密哈希

Merkle 树是存储证明背后的基础技术之一。我们无需深入探讨该技术的细节,就将 Merkle 树视为数据的分层结构即可。在底部,有单独的数据(叶子),在沿着树向上移动时,这些叶子被组合起来并由顶部(根)的单个哈希值表示。

当一个节点声称拥有某条特定数据时,它可以使用 Merkle 树中的一系列哈希值提供“证明”,并能快速验证。

验证与挑战

存储证明的节点会定期受到“挑战”,以证明它们仍持有其所承诺的数据。为了应对挑战,节点会提供证明,然后对其进行加密验证。

如果证明有效,网络就可以确保数据的存储仍是正确无误的。如果没有效,节点将面临失去将面临失去抵押品的的风险。

效率和可扩展性

存储证明是有效率的。系统可验证小的随机部分,而不是验证整个存储的数据,从而以最少的计算工作提供高水平的保证。这使得存储证明即使在存储的数据量飙升时也具有可扩展性。

各种存储证明机制的共同属性

虽然有多种源自 PoS 的证明方案,且每种方案都有其独特的功能,但它们之间有几个共同的属性:

私人可验证性

用户可使用设置期间生成的秘密验证密钥验证存储的数据。这确保了数据的机密性和安全性。

公开可验证性

数据也可以公开验证,而不存在泄露风险。这是通过各方使用可公开访问的数据(例如公共验证密钥)来实现的。

透明度

如果没有实际存储的数据,证明者就无法使用任何信息来构建有效的证明。这种透明度在去中心化存储网络中至关重要,因为它无需用户依赖他人来生成密钥。

动态数据更新

用户可以动态更新外部存储的数据,从而无需在每次发生变化时都建立新的设置。

预言机在存储证明中的作用

在存储证明中,预言机极其重要,特别是在区块链平台上的智能合约背景下更是如此。它们充当外部数据进到智能合约的渠道。当智能合约需要数据验证时,可使用存储证明来保证数据的真实性。

然后,预言机可检索这些证据并将其呈现给智能合约,从而确认数据的完整性并允许合约根据验证的信息执行。

通过存储证明增强预言机

虽然预言机在区块链生态系统中,特别是在检索链外数据方面,是不可或缺的,但存储证明提供了增强甚至取代某些预言机功能的机会。

跨链数据访问

存储证明可促进区块链的压缩,数据因而能传输到另一个链。这使得在目标链上验证证明成为可能,从而减少了对复杂跨链消息传递系统的需求。

去信任化数据检索

存储证明的显着优势之一是,它能检索链上发布的历史数据,而无需依赖第三方预言机。

鉴于像以太坊和 Starknet 这样的区块链以加密方式保存其状态,任何存储的数据都可以被证明包含在内,从而允许智能合约从区块链历史中的任何点访问信息。

提高预言机速度和信任

通过在 Starknet 等网络上开发作为 L3(第3层协议)的预言机,可以从其他链中提取数据并使用存储证明进行验证。

这种方法可以减少数据延迟,增强对所提供数据的信任,甚至引入惩罚不诚实数据提供者的机制。

与 ZK 数学理论集成

存储证明与零知识 (ZK) 数学理论相结合,可以显着减少验证证明所需的计算资源。这种集成可让跨链数据传输更加高效、更加可扩展。

存储证明在区块链中的重要性

在区块链和去中心化存储的背景下,存储证明为最紧迫的问题之一提供了强大的解决方案:确保写入区块链的数据保持完整且不被更改。随着区块链上数据和交易量的增长,对高效、可靠的存储解决方案的需求变得至关重要。

存储证明是区块链工具包中必不可少的工具,因为它提供了一种信任最小化的方式来确保数据正确存储并在需要时可以进行检索。

存储证明的用例

存储证明不仅仅是理论构造,它们具有触及我们日常生活的实际应用。以下是一些实际例子和案例研究。

Filecoin

Filecoin

Filecoin

Filecoin 是一种去中心化存储网络,致力于将云存储转变为算法市场,以彻底改变云存储。在这里,矿工通过向客户提供存储服务来赚取 Filecoin。但客户如何才能相信他们的数据已安全存储呢?

Filecoin 使用存储证明来确保矿工真正存储着所需的数据,并使用质询响应机制进行验证。

Sia

Sia 在去中心化网络上分割、加密和分发文件。与 Filecoin 一样,Sia 依靠存储证明来确保主机真实存储商定的数据。

通过要求主机定期提供这些证明,Sia 确保了其网络中数据的完整性和可用性。

Storj

Storj 提供去中心化云存储解决方案,确保了数据不会集中在易受攻击的数据中心。为了维持对这种去中心化环境的信任,Storj 使用了存储证明。

这些证明验证了数据片段在不同节点上是可用的,从而确保了数据冗余和可用性。

Arweave

Arweave 专注于提供永久的数据存储。为了确保存储数据的寿命和完整性,Arweave 采用了一种独特的机制,将访问证明 (PoA) 与存储证明相结合。

这种组合确保数据不仅被存储,而且还受到定期访问和验证,从而确保其永久性。

Audius

Audius

Audius

Audius 是一个在去中心化网络上运行的音乐流媒体平台。为了确保艺术家的曲目得到安全存储并且听众可以随时访问。

Audius 使用了存储证明,这可确保网络中的主机可靠地存储音乐曲目,并让艺术家和听众等获得信任。

存储证明面临的挑战

在不断变化的区块链和去中心化系统领域中,存储证明已成为可确保数据完整性和安全性的希望灯塔。然而,与任何其他技术一样,它们也有自己的挑战。

复杂性和学习曲线

存储证明十分复杂,它结合了密码学、数学和技术,对于新手来说可能会令人望而生畏。虽然它是一款强大的工具,但有着深奥的学习曲线,可能会让许多人无法充分发挥其潜力。

资源密集度

生成和验证存储证明的过程(尤其是在大型系统中)可能会占用大量资源。这可能会增加计算成本,从而可能使其不太适用于较小的网络或单个节点。

可能会变得中心化

虽然去中心化系统能分配权力和控制能力,但存储证明的资源需求可能会无意中偏向具有更强计算能力的、更强大的节点或实体。这可能会导致中心化,让少数节点主导验证过程。

数据检索延迟

在严重依赖存储证明的系统中,尤其是那些有着大量数据的系统中,数据检索可能会出现轻微的延迟。这是由于在数据访问之前需要时间验证证据。

不断演变的攻击媒介

与任何加密系统一样,攻击者会不断寻找新的方法来破坏或欺骗系统。因此,需要不断保持警惕并进行更新,以凌驾于潜在的安全威胁。

互操作性问题

要将存储证明集成到现有系统或确保它们在不同的区块链上无缝工作,这是件困难的事。这可能会阻碍它们获得广泛采用,特别是在重视互操作性的系统中更是如此。

经济影响

为维护网络的完整性,虽然有必要对未能提供准确存储证明的节点进行处罚,但这可能会产生经济后果。它带来的财务风险可能会阻止节点参与网络。

推荐阅读