ZeroSync是Starkware为比特币开发的零知识证明系统,本文将详细解释其原理和功能。

ZeroSync是Starkware开发的比特币零知识证明系统,本文将详细解释其原理和功能。

1. 前言

零知识证明(Zero-Knowledge Proof, ZKP)技术为区块链的可扩展性和隐私性带来了一次革命性的变革。在以太坊社区中,这项技术得到了广泛的应用,并取得了快速的发展。根据L2beat官方数据显示,目前以zkrollup技术为基础的两个以太坊二层公链zksync和starknet的Total Value Locked(TVL)达到了5.38亿美元。此外,starknet公司推出的基于zk-rollup技术的dYdX去中心化交易所的TVL也达到了3.38亿美元。

目前比特币市场占有率为46.69%,以太坊市场占有率为18.39%。然而,在比特币中,零知识证明仍然是一个处于初期阶段的技术。另外,根据数据显示,比特币的整体区块链大小为500.16GB,要验证数百GB内存的区块链需要消耗昂贵的计算算力。因此,Starkware公司推出了ZeroSync,旨在填补这个市场空白,将零知识证明系统应用到比特币中,并通过一种紧凑的证明系统来扩展比特币生态网络。ZeroSync在商业价值、市场需求和技术角度上都具有巨大的增长空间。

2. ZeroSync介绍

ZeroSync通过零知识证明技术解决了比特币生态系统中的可扩展性、可访问性和隐私性问题。它通过创建即刻同步比特币链上状态的证明系统,为比特币生态系统的开发者提供工具包,并通过零知识证明(ZKP)增强比特币生态系统中的协议、应用和服务。ZeroSync的技术团队非常强大,其中的团队成员Andrew Milson成功使用Sandstorm和miniSTARK在StarkNet网络上生成了第一个开源证明,进一步推动了开源技术在区块链和加密技术领域的发展。

在比特币网络中,设置一个全节点可能很简单,但从其他节点下载大量区块数据通常需要花费数天的时间。为了确保新启动的节点最终拥有正确的比特币链状态,这个过程是必要的。而验证500GB内存的比特币区块链需要消耗昂贵的计算算力。然而,如果采用压缩的方式,就可以得到一个小巧而紧凑的证明。一旦生成了这样的证明,比特币网络中的任意数量的节点都可以使用它来即刻同步网络。通过利用零知识证明,任何人都可以立即验证链的最新状态,而证明的大小不受链的自身大小的影响。当下一个区块被挖出时,证明者可以递增地构建前一个状态的证明。

ZeroSync的意义在于,它与比特币的不可篡改的特性无缝连接。ZeroSync作为一种工具,能够填补上述空白,证明比特币区块链的正确性。它类似于一个全节点实现,不仅可以在应用所有区块的交易后得到最终状态,还可以在之后的时间验证这个验证过程。零知识证明系统为比特币的底层基础层提供了极大的灵活性,并引入了一系列新的应用供我们去探索。

3. 状态证明技术三阶段

ZeroSync基于STARK证明,相对于其他证明系统,STARK证明更为简单,它只依赖于哈希函数和多项式,并不需要新的密码学假设,也不需要信任设置。

为了实现比特币的证明,ZeroSync使用了StarkWare所开发的Cairo语言,Cairo是一种用于创建可证明程序的语言。技术团队可以创建一个验证单个区块的程序,并且只有在验证成功时,才能为其生成证明。官方正在与所有支持ZeroSync的STARK工具的开发者紧密合作。实现链状态证明非常复杂,因此ZeroSync的官方团队将其分为三个连续的阶段进行推出。目前为止,官方团队已经完成了前两个阶段的原型。

1. 区块头证明

区块头是每个区块中包含了前一个区块的哈希和本区块的时间戳,从而形成一个按时间顺序排列、可以追溯到第一个区块的链式结构。区块头状态证明只验证区块头、工作证明和难度调整,此外,通过在所有区块头上构建Merkle树,可以简化区块头链的包含证明,使其更加简洁。这种状态证明相对简单、轻量级,并且计算成本低。目前官方已经完成了区块头证明系统,并通过官方网站的演示进行了区块头验证,速度仅需几秒即可同步比特币节点状态。

区块头链验证规则如下:

  1. 验证工作证明:首先检查区块的哈希值是否低于当前目标值,这个目标值与区块的挖矿难度有关。如果区块的哈希值低于目标值,说明工作证明有效。
  2. 确认链的顺序:检查当前区块中编码的前一个区块的哈希值是否与实际的前一个区块的哈希值一致,以确认区块的正确顺序。
  3. 检查时间戳:检查区块的时间戳是否在一个合理的范围内。具体来说,区块的时间戳不能低于前11个区块时间戳的中位数,也不能超过网络时间加上两小时。
  4. 确认目标值的正确性:最后,确认区块中编码的目标值是否正确。如果区块间的时间间隔有所改变,新的目标值需要根据时间戳进行调整。

以上四个步骤可以确保比特币网络中区块的有效性和链的正确顺序,并防止恶意节点通过修改目标值来进行作弊。ZeroSync使用Cairo在区块头验证中实现了上述规则,它使用了一个名为giza的开源Cairo证明器来证明生成的程序及其执行跟踪。基于STARK协议,这种证明执行的伪造是不可能的,一个正确的证明大小为几百上千字节,可以在其他区块链上、链下(例如用于节点同步)甚至在另一个STARK证明中进行验证。为了生成多个连续区块头的证明,官方将它们的验证批量进行,只要底层的证明器有足够的处理能力,就可以通过验证几个区块头批量来为整个比特币链创建证明。

2. 假设有效状态证明

这一步骤是模仿比特币核心的”假设有效”(assumevalid)选项,它验证了所有的比特币共识规则,除了交易签名之外的所有内容被假设为有效。此外,这个证明使用了Utreexo来增强链上的UTXO集合承诺。在2023年2月,团队完成了这个状态证明的初始原型。

假设有效区块是一种优化技术,用于加快比特币全节点的同步速度。这种技术允许节点在同步过程中跳过某些区块的签名验证,从而节省大量的计算资源和时间。

具体操作中,如果一个新的全节点在启动时知道某个区块是有效的(这通常是由于软件默认设置或者用户手动设置),那么在同步到这个已知有效的区块之前的所有区块,节点都可以跳过签名验证,直接接受这些区块。而在这个已知有效的区块之后的所有区块,节点仍然会进行正常的签名验证。

需要注意的是,假设有效区块并不改变比特币的安全模型或共识规则,它只是一种优化手段。即使用户没有设置任何假设有效区块,或者设置的假设有效区块并不在最长的区块链上,比特币节点仍然可以正常工作,只是同步速度会稍慢一些。

3. 全节点证明

在比特币区块中使用SHA256进行两次哈希是计算资源消耗最多的操作之一。当前的比特币区块可能包含超过2000个交易,因此全面验证这些交易比仅验证区块头要复杂得多,因为每个交易都需要进行哈希运算。在一个证明中验证大量的区块是不可行的,除非使用递归证明,并且需要跟踪一个链状态,这个状态主要由每个区块的未花费交易输出集合组成,这个状态需要在每个区块的验证过程中进行更新。

虽然STARK证明相对简洁,使其比验证相应区块更容易,但链状态必须作为每个证明的公开输入的一部分,这会导致证明的大小增加数GB。处理巨大的UTXO集合是一个重要的问题,因为庞大的UTXO集合可能会影响节点的性能和存储需求。处理大型UTXO集合可能导致节点需要更多的存储空间和更长的同步时间,从而影响整个比特币区块链网络的效率和可扩展性。

为了解决这个问题,可以使用一种称为累加器的技术,具体来说,就是使用UTreeXO技术,它是一种可以交换树节点的Merkle山脉范围。通过这种方式,可以减少每次验证时所需的输入和输出,只需包含代表整个UTXO集合的UTreeXO根哈希的列表。如果一个交易使用了特定的UTXO,它可以连同一个成员证明一起提供给程序,这个过程不需要包含在公开的输入中。这样,可以大大减小证明的大小,提高比特币网络的效率和可扩展性。

在验证所有比特币的共识规则时,包括所有的见证数据,是计算方面最耗费资源的证明。这需要对证明进行大量的优化,以使其变得可行。未来ZeroSync的一个主要应用将是通过Blockstream Satellite从太空广播状态证明,使地球上几乎任何地方的人都能立即通过全节点证明同步到比特币区块链。

4. 总结

ZeroSync可以生成比特币区块链的STARK证明,并旨在为整个链创建一个单一的证明。这个证明与相应的UTXO集合结合使用,可以用于快速同步比特币全节点。目前,Starkware的团队已经达到了”假设有效节点”的阶段,但还没有对交易脚本进行验证,团队正在努力实现递归验证。初步的实验结果表明,在大约500万个Cairo步骤内验证包含108笔交易的区块。ZeroSync是一个开源项目,通过零知识证明技术解决比特币生态系统中的可扩展性、可访问性和隐私性问题。一旦成功,它将产生深远的影响,具体体现在以下几点:

  1. 提高比特币网络的效率和可扩展性:通过使用ZeroSync,比特币网络的节点可以立即同步到最新的链状态,而无需下载和验证所有区块数据。这将极大地提高比特币网络的同步速度,使更多的用户和设备可以参与到比特币网络中,从而提高比特币网络的可扩展性。

  2. 提高比特币网络的安全性和隐私性:ZeroSync利用ZKP技术,可以在不泄漏具体交易信息的情况下验证交易的有效性,从而大大增强比特币网络的隐私性。此外,由于ZKP的非交互性,即使在证明者和验证者之间存在恶意行为,也无法影响证明的正确性,从而提高比特币网络的安全性。

  3. 推动比特币生态的发展:ZeroSync不仅可以作为一个工具,使得开发者可以更方便地开发和部署比特币应用,还可以增强比特币生态中的协议、应用和服务,推动比特币生态的发展。

随着项目的不断研发,Web3CN将继续跟踪ZeroSync的进展,并为您带来最新的投研咨询。

参考文献: – https://geometry.xyz/notebook/A-light-introduction-to-ZeroSync