ZK-SNARKs 和 ZK-STARKs 都是零知識證明的變種,它們的共同點是在不洩露敏感資訊的情況下證明某些數據或操作的有效性。 但是,它們的實現方式、性能和應用範圍有所不同。

作者:Kyle Liu, Bing Ventures  投資經理

關鍵要點

  • 零知識證明可以提高比特幣的隱私性,因為它可以隱藏交易的細節,如金額、位址、輸入和輸出等,同時保留交易的有效性和完整性,這樣就可以防止第三方追蹤以及分析使用者的交易活動。
  • 零知識證明可以提高比特幣的可擴展性,因為它可以減少交易數據的大小和驗證時間。 例如,使用 ZK-STARKs 或其改進版本就可以將多個交易打包在一起,並使用零知識證明來驗證它們,從而節省空間和時間。
  • 零知識證明可以提高比特幣的創新性,因為它可以支援更多的功能和應用。 例如使用 ZK-SNARKs,就可以實現更多的邏輯和計算,在不暴露資訊或增加開銷的情況下執行更複雜和更靈活的合約。
  • 最終,零知識證明將使比特幣更加無需信任和去中心化,符合其核心價值觀。 隨著技術的不斷發展和改進,比特幣和 ZKP 的潛力也將不斷得到挖掘。

越來越多的團隊在區塊鏈基礎設施和 dApp 中採用零知識證明技術。 但是,大部分專案都是基於乙太坊進行的開發。 然而,比特幣與零知識證明實際上具有天然的結合基因,這一領域目前缺乏應有的關注。 零知識證明技術與比特幣的結合將可能為比特幣網路帶來哪些賦能? 在本期 Bing Ventures 研究文章中,我們將從技術原理和應用前景角度對這一話題進行探索。

零知識證明(ZKP)是一種數學方法,允許一方(稱為證明者)向另一方(稱為驗證者)證明一個事實,而無需向驗證者提供任何有關證明的資訊。 這種方法對於保護隱私非常有效,因為證明者可以向驗證者提供證明,而不會洩露任何有關證明本身的資訊。

比特幣可以與零知識證明具備天然結合的基因。 比特幣是一種去中心化的虛擬貨幣,它使用區塊鏈來記錄交易,並且所有交易資訊都是公開的。 然而,這也意味著比特幣的交易資訊可以被任何人查看,因此存在隱私洩露的風險。 而零知識證明可以解決這個問題。

通過使用零知識證明,比特幣使用者可以將交易資訊進行加密,並在不洩露信息的情況下證明其有效性,從而實現更高水準的隱私保護。 零知識證明還可以提高比特幣的可擴充性。 目前,比特幣的交易速度受到區塊鏈大小和網路擁堵的限制,這限制了其在大規模商業應用中的使用。 但是,通過使用零知識證明,比特幣使用者可以將大量交易資訊進行批量處理,並將其證明的大小壓縮到極小,從而提高比特幣的可擴展性和效率。

Source: Bing Ventures

背景和基本原理

ZK-SNARKs 和 ZK-STARKs

ZK-SNARKs 和 ZK-STARKs 都是零知识证明的变种,它们的共同点是在不泄露敏感信息的情况下证明某些数据或操作的有效性。但是,它们的实现方式、性能和应用范围有所不同。

ZK-SNARKs(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)是一种基于椭圆曲线密码学的零知识证明技术。它可以将一个复杂的计算问题转换成一个简单的证明,证明的大小非常小,且不需要交互。这意味着 ZK-SNARKs 可以在不泄露任何计算信息的情况下验证计算的正确性。ZK-SNARKs 的应用领域主要包括加密货币和隐私保护。

ZK-STARKs(Zero-Knowledge Scalable Transparent Argument of Knowledge)是一种新型的零知识证明技术,相对于 ZK-SNARKs 更加灵活和安全。ZK-STARKs 的实现方式不依赖于椭圆曲线密码学,而是使用了哈希函数和多项式插值技术。这使得 ZK-STARKs 更加可靠,因为它不依赖于不可预测的数学难题,而是依赖于哈希函数的不可逆性。另外,ZK-STARKs 的证明大小比 ZK-SNARKs 更大,但是它的证明可验证性更好,因此可以应用于更广泛的领域,例如分布式计算和物联网安全等。

Source: Matter Labs

比特币采用零知识证明的难点

以 Zcash 为例,Zcash 采用的是零知识证明技术中的 ZK-SNARKs,该技术可以用于隐藏交易的详细信息,包括交易金额、参与者身份等,以实现更好的隐私保护。Zcash 采用 ZK-SNARKS 的技术原理大致如下:

  • Zcash 中有两种类型的地址:透明地址(t-address)和隐藏地址(z-address)。 透明地址类似于比特币地址,它们在区块链上公开交易金额和参与者。 隐藏地址则使用零知识证明来保护交易金额和参与者的隐私。
  • 当一个用户从一个隐藏地址发送资金到另一个隐藏地址时,他们需要生成一个 ZK-SNARKS 证明来表明他们拥有足够的资金,并且没有花费任何已经花费过的资金。 这个过程涉及到一些复杂的数学和密码学操作,比如生成公开参数、计算哈希、构造算术电路等。
  • 生成 ZK-SNARKS 证明需要大量的计算资源和时间,但验证 ZK-SNARKS 证明却非常快速和简单。 验证者只需要检查交易是否符合区块链的规则,而不需要知道任何关于交易金额或参与者的信息。
  • 通过使用 ZK-SNARKS,Zcash 可以实现完全匿名和可验证的交易,在保持区块链安全性和去中心化性的同时,提高用户隐私性和可用性。

但是,Zcash 采用的零知识证明技术也存在一些局限性。首先,Zcash 是基于 UTXO 的,这意味着交易信息并没有被完全掩盖,而只是被屏蔽了。因此,攻击者可以通过分析交易信息的模式和流量来推断出一些有用的信息。这也就导致了 Zcash 对于隐私保护的程度并不是完全可靠的。

其次,Zcash 是基于比特币的独立网络,这使得它与其他应用程序结合变得更加困难。这也就限制了它在更广泛的范围内应用的可能性,进一步阻碍了它的发展。虽然 Zcash 实现了隐私交易,但实际使用率却不高。其中一个原因是,隐私交易的成本比公开交易高得多,这也就限制了它的应用范围。

Source: Ashish

ZK-STARKs 的技术优势

在比特币上采用 ZK-SNARKs 技术确实可以实现交易的匿名性和隐私保护,但是该技术存在一些缺点,比如需要可信的设定和设备,需要大量的计算和存储资源等。为了解决这些问题,一些新的零知识证明技术,如 ZK-STARKs 技术也出现了。

简单来说,ZK-STARKs 的过程包括以下几个步骤:

  • 证明者将他想要证明的计算转换成一个多项式方程组,并用秘密信息作为变量。
  • 证明者对这个方程组进行一系列的变换和简化,得到一个更简单的方程组。
  • 证明者对这个简化后的方程组进行采样和编码,得到一个低维度的向量。
  • 证明者对这个向量进行哈希和签名,得到一个短小的字符串,作为他的证明。
  • 验证者收到这个字符串后,可以通过一些公开的参数和算法来检验它是否正确,而不需要知道秘密信息或原始计算。
Source: Bing Ventures

相较于 ZK-SNARKs 技术,ZK-STARKs 技术具有以下优势:

  1. ZK-STARKs 技术不需要可信的设定,也就是说,不需要信任某个特定的生成器,这提高了技术的安全性。
  2. ZK-STARKs 技术因为需要的计算和存储资源更少,因此可以更好地适应轻量级设备和更广泛的应用场景。这是因为它相比 ZK-SNARKs 中需要进行复杂的加密和解密运算的过程,其证明生成过程更加高效。此外,ZK-STARKs 技术还可以更好地利用并行计算和分布式计算的能力,从而在某些情况下可以更高效地处理计算任务。
  3. ZK-STARKs 技术还可以支持更多的算法和操作,比如哈希函数、多项式运算等,这也为技术的拓展和升级提供了更多的可能性。
Source: Vitalik

比特币和 ZK-STARKs 的结合

EC-STARKs 技术

STARKs 技术是一种新型的密码学证明技术,可以通过传递数据与第三方进行通信,同时保持数据的隐私性。这种技术可以将计算和存储验证数据转移到链下,从而提高了可扩展性。相比于 ZK-SNARKs 技术,STARKs 技术更为先进,能够抵抗来自量子计算机的攻击。

EC-STARKs 技术是 STARKs 技术的下一代,旨在通过用椭圆曲线替换哈希函数来提高比特币的可扩展性和安全性。这项技术可以让已经存在于以太坊上的可扩展性解决方案与比特币兼容。使用 EC-STARKs 技术,可以在链下运行比特币协议,并将证明存储在 STARK 中。

简而言之,比特币可以在 STARK 中被仿真,从而允许使用相同的椭圆曲线密钥建立基于比特币的代币的高度复杂的协议。EC-STARKs 技术的使用可以在比特币的链下协议中运行,同时保持证明在 STARK 中。这种方法不仅可以提高比特币的可扩展性,而且可以在比特币上建立高度复杂的协议,从而具有更高的隐私性。

这项技术将比特币的可扩展性和隐私性提高到了一个全新的水平,从而让比特币成为了一个更好的平台。这样,开发者可以在比特币上创建更加复杂的应用程序,使得比特币在加密货币市场上的地位更加稳固。

Source: Starkware

ZK-STARKs 在比特币中的应用前景

ZK-STARKs 的应用也符合比特币的保守设计哲学,不需要可信任的集合,而是使用哈希函数、Merkle 树和多项式等技术,提高了比特币的透明度和安全性。EC-STARKS 在比特币上的一个优势是它可以提高比特币的隐私性,因为它不需要公开交易的细节。 另一个优势是它可以减少比特币的存储需求,因为它可以将大量的数据压缩成一个小的证明。 EC-STARKS 在比特币上的一个挑战是它需要更多的计算资源,因为它需要执行复杂的数学运算。 另一个挑战是它需要更多的协调和标准化,因为它需要与比特币的现有协议和基础设施兼兼容。

从技术实现的角度来看,ZK-STARKs 的应用可以分为轻节点、全节点和验证方式等方面。轻节点可以利用 stark 证明区块头状态,实现快速的同步。全节点可以通过 UTXO 状态实现有效性证明,并使用 utreexo 技术,用新格式代表 UTXO 状态,从而不需要查看整个 UTXO 状态。验证方式方面,只需给定 utreexo 根+最终状态,就能够开始验证传入的区块。

此外,ZK-STARKs 的应用还有很多潜在的方向。例如,与 Taro 协议相结合,将比特币打造成更加通用的资产,使得比特币的应用场景得到进一步扩展,通过将 ZK-STARKs 与 TARO 结合,可以提高 TARO 协议的可扩展性,使其能够处理更多的交易并支持更大规模的应用,这将为 TARO 协议的多链部署打开门户。此外,比特币的隐私性一直是个问题,而 ZK-STARKs 技术的应用可以大幅提高比特币的隐私性。通过使用 ZK-STARKs 技术,可以将整个交易历史记录压缩到一个单一的交易中,从而有效地隐藏用户的交易信息。

Source: Starkware

未来的看点

更进一步来说,ZK-STARKs 可以用于比特币交易的验证,包括比特币交易的序列化、双 SHA 计算、secp256k1 操作等。这些操作是比特币交易验证的核心,使用 ZK-STARKs 可以确保比特币交易的验证过程高度安全和可靠。ZK-STARKs 还可以用于验证比特币的加速 Cairo 内置功能。Cairo 是一种高效的零知识证明系统,与比特币的加速 Cairo 内置功能结合使用,可以实现高效的比特币交易验证和安全保障。

Source: Bing Ventures

ZK-STARKs 還可以用於實現 Taro 原語和資產 TLV 序列化,以及 MS-SMT 實現和驗證等。 這些操作可以有效地保護比特幣交易的隱私和安全性,進一步提高比特幣交易的可信度和可靠性。 閃電網路作為比特幣交易的二層解決方案,可以通過結合 ZK-STARKs 技術實現更高效、更安全的比特幣交易。 利用 ZK-STARKs 技術,可以在不犧牲交易隱私的前提下,快速驗證閃電網路上的比特幣交易。

我們看到越來越多的團隊在區塊鏈基礎設施和 dApp 中採用零知識證明技術。 其中一些新方案可能有可能加速零知識證明在區塊鏈空間中的應用,並以更好的方式幫助隱私和可擴充性。 然而,大部分專案都是基於乙太坊進行開發,而比特幣則在零知識證明領域缺乏應有的關注。 更糟糕的是,工程實踐在某種意義上並沒有趕上學術成就。 我們需要在這方面進行更多的實施和探索,同時也應該對該領域進行更多的關注和支援。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。