比特币协议架构师发布零知识证明虚拟机白皮书助力恒星扩大应用范围

我们一直在寻找让Stellar变得更好的方法:更可伸缩、更高效、更灵活。通常这意味着我们要直接处理协议。但有时我们采用一种更“白板”的方法,想象区块链以完全不同的方式运行。对侧链的研究帮助我们学习开发新的特性到恒星上。

我们很兴奋地宣布这类研究的最新例子,我们称之为ZkVM,零知识虚拟机。ZkVM是一个实验性的多资产区块链架构,用于可扩展和保密的智能合约。

ZkVM事务包含对加密数据和资产的可编程约束。个人和组织可以安全地直接在共享的分类账上执行他们的交易和定制的财务协议,而不是将它们保存在孤立的数据库中。

ZkVM区块链使用了一个紧凑的数据模型,只有几kb大小。事务验证是高度并行的,每个CPU内核只需要运行1-2 毫米。节点可以从经过网络验证的快照立即引导。

Stellar和ZkVM

所有现有的区块链都有其固有的局限性:

  • 事务传递、验证和确认很慢;
  • 区块链很难伸缩,因为每个节点都需要跟踪整个系统;
  • 公布所有交易的规定,往往与市场和企业的保密需要不相容;
  • 由于底层区块链协议缺乏灵活性或效率低下,很难构建更高级别的协议和应用程序。

Stellar具有联邦协商一致机制,在速度和可伸缩性方面做得非常好。我们对ZkVM的研究旨在帮助Stellar为用户提供更多的隐私和灵活性。

ZkVM从头开始设计为一个多资产分类账,可以与恒星共识协议一起使用。它可以处理大量事务,允许更广泛地使用完整的验证器,保护机密数据,并支持在区块链规则的基础上创建自定义协议,而无需使用其他特性升级网络。Stellar将从这些功能中受益。

下面是ZkVM的工作原理。

交易和合约

ZkVM源于我们之前对TxVM的研究,而TxVM又受到比特币和以太坊设计的影响。

ZkVM使用了TxVM中首创的一种新的事务格式:事务表示为一个程序,该程序直接将资产流作为第一类对象进行操作,并以事务日志的形式向区块链状态发出必要的更新。然后,事务日志可以独立于事务验证应用于系统状态,事务验证允许进行高度可伸缩的设计,同时为定制合约提供强大而安全的环境。

为了帮助扩展区块链状态并允许机密值转移,ZkVM使用utxo模型来表示余额:所有余额都由一组“未使用的事务输出”(缩写为utxos)表示,这些输出可以创建和销毁。每个事务都证明以前创建的输出中资产值的所有权,销毁这些输出,然后发出、分割和合并这些值,并创建新的未使用的输出。

未使用的输出通过Utreexo方案被紧凑地存储为merkle根,这大大降低了存储需求,并允许更广泛地部署完全验证节点。

在ZkVM中,每个输出都是一个保存在区块链状态的合约。每个契约包含任意数量的项,这些项可以是值或数据参数,受谓词保护——为了解锁这些项,必须满足谓词条件。

ZkVM使用一种变体的Taproot设计,允许使用普通的密码签名解锁合约,或者通过显示和执行一个验证定制条件的嵌入式子程序来解锁合约。

ZkVM中的契约是用于高级协议(如帐户、订单和支付通道)的通用构建块。这将允许像Stellar这样的平台将协议中的设计选择移出共识临界层,从而支持在广泛的分散应用程序中进行快速实验。

保密性

在谓词中使用主谓词方案可以在保密性和自定义之间进行很好的权衡:如果合约的所有参与方都合作,则不需要揭示合约逻辑,但是仍然可以提供安全性,以防它们不合作。当需要揭示合约逻辑时,由于使用了零知识验证的约束系统,数据(如余额、价格和其他合约参数)仍然是保密的。

ZkVM是建立在防弹零知识证明系统的最先进的实现之上。值和数据默认加密,并表示为Pedersen承诺。ZkVM允许用户在加密值上指定算术和逻辑表达式,这些加密值将自动转换为防弹约束系统。

最简单的事务包含一条斗篷指令,它发出约束,证明将M个输入值正确地分布到N个输出值。定制合约条件可能会对这些值施加额外的约束,比如完全在零知识的情况下验证贷款所需的利息支付。ZkVM支持一套完整的算术和布尔指令,允许表达金融合约中常见的任意条件。

防弹框架不需要可信的设置,允许每个事务动态地高效地构造一个惟一的约束系统,使事务作者能够在ZkVM上创建新的协议,而不需要为每个新特性升级整个网络。

产生的事务是紧凑的,可以非常有效地验证。小型事务的大小约为1-1.5 Kb,而聚合支付的边际成本仅为每个输入-输出对200字节。验证是高度并行的,每个输出大约需要1 ms。因此,ZkVM不要求用户为了效率而牺牲安全性:默认情况下,所有数据都可以加密,并且仅在需要知道的基础上向授权方公开。

恒星将从保密智能合约的实验中获益匪浅,因为它为更广泛的新应用打开了大门。

了解更多并参与

您可以在我们的白皮书中找到更多关于ZkVM的详细信息。

我们在开源项目Slingshot的保护伞下开发VM及其所有子协议。它始于Interstellar协议团队,现在由恒星发展基金会领导。我们邀请所有人参与:请在我们的资源库中提出问题、文件问题和请求。

原文:
https://medium.com/stellar-developers-blog/zkvm-a-new-design-for-fast-confidential-smart-contracts-d1122890d9ae