零知识证明虚拟机帮助星星扩展应用范围

  • 2019-07-23 13:58
  • 3T比特
20190510103825-5cd554a1eefb9.jpg

我们一直在寻找使Stellar更好的方法:更具可扩展性,更高效,更灵活。通常这意味着我们必须直接处理协议。但有时我们会想象区块链以完全不同的方式运行,使用更“白板”的方法。侧链的研究有助于我们学习开发用于恒星的新功能。

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

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

ZkVM区块链使用的紧凑数据模型只有几Kb。事务验证高度并行,每个CPU核心需要1-2毫秒。节点可以立即从经过网络验证的快照启动。事实上,任何计算设备都可以在不依赖中间基础设施和可信第三方的情况下运行完整节点。

Stellar 和 ZkVM

所有现有的区块链都有其固有的局限性: ·交易交付,验证和验证需要很长时间,尽管Stellar已经是世界上最快的区块链之一; ·区块链可扩展性差,因为每个节点都需要跟踪整个系统 ·必须在链上广播所有交易的要求通常不符合市场和企业的保密要求。 ·由于底层区块链协议缺乏灵活性和低效率,因此很难构建更高级别的协议和应用程序。

Stellar拥有联邦共识机制,在速度和可扩展性方面做得很好。我们对ZkVM的研究旨在帮助Stellar为用户提供更多隐私和灵活性。

ZkVM基于多资产分类账,可以与一致的共识协议共存。它处理大量事务,允许更广泛地使用完整验证器,保护机密数据,并支持基于区块链规则创建自定义协议,而无需使用其他功能升级网络。 Stellar将受益于这些功能。

以下是ZkVM的工作原理。

◆ 事务和合约

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

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

20190510103825-5cd554a1eefb9.jpg

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

ZkVM使用Taproot变体设计,允许您使用普通加密签名解锁合同,或通过显示和执行验证自定义条件的嵌入式子例程来解锁合同。

20190510103826-5cd554a209fb3.jpg

ZkVM中的合同是高级协议(如帐户,订单和支付渠道)的通用构建块。这将使像Stellar这样的网络能够从协议关键层之外的协议中移除设计选择,以支持各种分布式应用程序的快速实验。

◆保密性

在谓词锁中使用Taproot方案在机密性和定制之间提供了良好的权衡:如果合同的所有各方合作,则不需要显示合同逻辑,但仍可提供安全性以防止它们失败成功合作。当需要显示合同逻辑时,由于使用零知识证明约束系统,数据(例如余额,价格和其他合同参数)仍然保密。

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

最简单的事务由一个隐藏指令组成,该指令发出约束,证明M个输入值正确地分配给N个输出值。自定义合同条件可能会对这些值施加额外限制,例如支付验证零知识贷款所需的利息。 ZkVM支持一整套算术和布尔指令,允许表达金融合约中常见的任何条件。

20190510103826-5cd554a219b15.jpg

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

由此产生的交易紧凑,可以非常有效地进行验证。小型交易的大小约为1-1.5 Kb,总支付的边际成本仅为每个输入 - 输出对200个字节。验证高度并行,每个输出大约需要1 ms。因此,ZkVM不要求用户牺牲安全性来提高效率:默认情况下,所有数据都可以加密并仅在需要知道的情况下暴露给授权方。

Stellar将受益于机密智能合约的实验,因为它为更广泛的新应用打开了大门。

头条推荐
图文推荐