ZeroSync:Starkware公司开发的BTC生态上的零知识证明

ZeroSync 将要通过零知识证明技术解决在比特币生态系统中可扩展性、可访问性和隐私性问题。官方通过创建即刻同步比特币链上状态的证明系统、为 BTC 生态上的开发者提供的工具包并且通过零知识证明(ZKP)增强 BTC 生态上的协议、应用和服务。

1. 前言

零知识证明(ZKP)为区块链的可扩展性和隐私性上带来一种快速转变。到目前为止,以太坊社区正在广泛应用这项技术并且已经取得了飞速进展。由 L2beat 官方数据显示,以 zk rollup 技术的两条以太坊二层公链 zksync 以及 starknet 为主,截止目前为止,两条公链共有 5.38 亿的 TVL,此外值得注意的一点是,同样以 starknet 公司推出的 zk-rollup 技术为底层的 dYdX 去中心化交易所拥有 3.38 亿的 TVL。

ZeroSync:Starkware公司开发的BTC生态上的零知识证明

截止目前为止,BTC 市场占有率 46.69%,ETH 市场占有率 18.39%。而对于比特币,零知识证明却仍然处于处女地。此外,根据数据显示,BTC 整体的区块为 500.16GB,想要证明数百 GB 内存的区块链需要消耗的计算算力是及其昂贵的。因此,Starkware 公司旗下 ZeroSync 被创建出来的目的就是为了填补这个市场空白,将零知识证明系统带到比特币,通过小巧紧凑的证明系统,拓展 BTC 生态网络。ZeroSync 无论从商业价值角度,市场需求还是技术角度,都拥有难以想象的成长空间。

ZeroSync:Starkware公司开发的BTC生态上的零知识证明

2. ZeroSync 介绍

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

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

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

3. 状态证明技术三阶段

ZeroSync 基于 STARK 证明,与其他证明系统相比,STARK 证明相对简单。STARK 只依赖于哈希函数和多项式。不需要新的密码学假设。最重要的是,没有信任设置的需求。

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

1.区块头证明

区块头:每个区块中都包含前一个区块的 Hash,以及本区块的时间戳,从而形成一个按时间顺序排列可以追溯到第一个区块的链式结构。

与 SPV (SPV 就是一个在轻客户端环境下,验证交易有效性的过程。)轻客户端类似,区块头状态证明只验证区块头、工作量证明和难度调整。此外,它还通过在所有区块头上构建一个 Merkle 树来增强区块头链,从而使所有区块和交易的包含证明变得简洁。这种状态证明相对简单、轻量级,并且计算成本低。目前官方已经完成区块头证明系统,通过官方网站的 demo 进行的区块头验证过程,速度仅需几秒种即可同步 btc 节点状态。

Demo 链接如下:https://zerosync.org/headers-chain.html

ZeroSync:Starkware公司开发的BTC生态上的零知识证明

区块头链验证规则:

轻客户端在接收到比特币网络的区块头信息时,需要进行一系列的检查以验证区块的有效性和链的正确顺序。这一过程可以简化为以下四个步骤:

1.验证工作证明:轻客户端首先会检查区块的哈希值是否低于当前的目标值,这个目标值与区块的挖矿难度有关。如果区块的哈希值低于目标值,那么就说明这个区块的工作证明是有效的。

2.确认链的顺序:轻客户端会检查当前区块中编码的前一个区块的哈希值是否与实际的前一个区块的哈希值一致。这个步骤用来确认区块在链中的正确顺序。

3.检查时间戳:轻客户端会检查区块的时间戳是否在一个合理的范围内。具体来说,区块的时间戳不能低于前 11 个区块时间戳的中位数,也不能超过网络时间加上两小时。

4.确认目标值的正确性:最后,轻客户端会检查区块中编码的目标值是否正确。如果区块间的时间间隔有所变动,新的目标值需要根据时间戳来进行调整。

以上四个步骤可以确保比特币网络中区块的有效性和链的正确顺序,同时防止了恶意节点通过修改目标值来进行作弊。

区块头验证的可验证计算:

ZeroSync 通过在 Cairo 中实现上述规则。官方使用的是一个名为 giza 的开源 Cairo 证明器(并为递归证明的实现做出贡献)来证明生成的程序及其执行跟踪。由于底层的 STARK 协议,此协议确保一个伪造的证明执行的证明是不可能的,并且一个正确的证明的大小为几百上千字节,可以在其他区块链上、链下(例如用于节点同步)甚至在另一个 STARK 证明中进行验证。

为了生成多个连续区块头的证明,官方将它们的验证批量在一个 Cairo 程序中进行,只要底层的证明器有足够的处理能力。可以通过在新的 STARK 证明中验证几个批量验证证明,来为整个比特币链创建证明。

ZeroSync:Starkware公司开发的BTC生态上的零知识证明

2. 假设有效状态证明

这一步骤是模仿比特币核心的「假设有效」选项。它验证所有除了交易签名比特币的共识规则。更准确地说:所有的见证数据都被假定为有效。此外,这个证明使用 Utreexo 来增强链上的 UTXO 集合承诺。团队在 2023 年 2 月完成了这个状态证明的初始原型。

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

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

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

3. 全节点证明

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

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

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

证明机制:

ZeroSync:Starkware公司开发的BTC生态上的零知识证明

在这里,技术团队正在尝试使用一种叫做增量可验证计算(Incrementally Verifiable Computation,IVC)的技术来优化证明的生成和验证过程。可以将 IVC 想象成一种将大任务分解成多个小任务的方法。在这个例子中,每个「任务」就是生成一个区块的证明。在正常的情况下,每生成一个区块的证明,就需要进行一次验证。但是,这种方式需要很多的计算资源和时间。因此,技术团队提出了一种新的方法:首先并行生成 10 个区块的证明,然后将这 10 个证明压缩成一个单一的证明。这个压缩的过程就像是在一棵树上,每个树枝(证明)都指向一个中心点(压缩后的证明)。这样,验证的过程只需要对这个单一的证明进行,大大减少了计算的复杂性和时间。然后,这个压缩后的证明可以作为输入,输入到下一个区块的验证中。这种方式可以确保在前一个证明还在运行的时候,就可以开始下一个证明的生成和验证,从而提高了效率。最后,为了确保数据的一致性,验证过程必须检查所有的输入状态是否匹配前一个的输出状态。这就像是在检查每一步的结果是否符合预期,以确保整个过程的正确性。

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

ZeroSync:Starkware公司开发的BTC生态上的零知识证明

4.总结:

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

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

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

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

随着项目不断的研发,Web3CN 也将会持续跟踪 ZeroSync,为您带来独家最新投研咨询。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(0)
上一篇 2023年8月4日 上午11:51
下一篇 2023年8月4日 下午12:07

相关推荐

  • 三箭资本大败局:数家债主对簿公堂,敲响金融风控警钟

    仅仅两个月,三箭资本就从管理上百亿规模资产、呼风唤雨的行业顶级基金,沦为了负债数十亿、人人喊打的被告,不禁让人感叹:昔日的巨富实则是高杠杆、循环借贷后堆砌的虚假形象。

    2022年7月17日
    904
  • Web3世界日报(2023-9.23)

    Arkham:Coinbase持有价值250亿美元比特币储备,是最大比特币持币实体。30亿美元比特币期权合约将于本月底到期,市场波动或大幅上升。Binance.US提交动议寻求延长回应SEC强制动议的时间。

    2023年9月23日
    732
  • Web3世界日报(2023-4.27)

    灰度CEO:诉美SEC案预计将于9月底前会作出裁决。公链项目Sui推出开发者门户“Sui Developer Portal”。加密托管商Zodia Custody完成3600万美元A轮融资,SBI Holdings领投。

    2023年4月27日
    1.8K

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613