1. 首页
  2. 区块链资讯

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能

零知识证实扩容方案的差异性主要在于数据可用性,链上存储数据平安性更高,链下存储数据扩展性更好。

原文题目:《引介 | EthWorks:零知识证实与区块链扩展(上)》
撰文:EthWorks
翻译 & 校对:闵敏 & 安比实验室

本文为 EthWorks 撰写的一份关于零知识证实和区块链扩展方案关系的讲述;对可扩展性问题、零知识证实和 ZK Rollup 扩展方案都做了简练的先容。本译稿的校对得到了安比实验室的大力支持,他们对原讲述注释不足及有所疏漏的地方做了相当多的说明(后文括号以 「安比按」 开头的文段即他们弥补的内容)。在此对他们致以真挚的谢意。

弁言

可扩展性问题

你可能已经很领会区块链的历史了(但我照样多空话一下)。2017 年,比特币最先登上主流媒体的头版头条,激起了亘古未有的关注,全球人民都看到了该手艺所面临的挑战。随着比特币日趋盛行,比特币买卖亦大量发生,网络拥堵到达了亘古未有的水平。买卖手续费的暴涨使得比特币转账变得脱离现实。最近,以太坊也显露出了同样的问题。相比低峰时期,以太坊上的矿工费(Gas Fee)已经增长了 30 至 50 倍。

所有这些征象反映出的问题是整个社区早就心知肚明的:比特币区块链的初始设计并不适合大规模普及。由于比特币每秒的最大买卖处置量只有数笔,远远比不上 Visa 或 PayPal 等主流支付网络。我们通常将这个局限性称为区块链可扩展性问题

以太坊的目的是比比特币更快地确认买卖,然则远不足以解决这个问题。以太坊的买卖吞吐量 —— 高于比特币,然则每秒买卖处置量只有十数笔 —— 还不足以让该网络实现大规模接纳。以太坊也会泛起拥堵情形,纵然是很简朴的智能合约操作也需要破费数美元。

边注:区块链的现实吞吐量

鉴于比特币的设计,其买卖吞吐量从理论上来说只有每秒 7 笔。现实上,由于空块、庞大的输入和输出买卖等问题,吞吐量平均只有每秒 3 笔。当比特币网络于 2017 年通过软分叉更新隔离见证协议后,吞吐量增至 4.6 笔,照样连每秒 7 笔都达不到。

同样地,以太坊的设计买卖吞吐量是每秒 15 笔。不外,这个限制是动态转变的(取决于矿工所设定的区块 Gas Limit)。假设当前网络将区块的 Gas 上限设为 1200 万,现实吞吐量将到达每秒 36 笔以上。然则,这一推论仅适合于区块中只有以太币转账买卖的情形,由于代币转账的成本要凌驾 2.5 倍,更别提与智能合约举行更庞大的交互了 —— 其成本通常会高得多。

在区块链行业,已经有许多可扩展性项目惨遭失败。另有的项目仅仅停留在白皮书阶段,或削足适履、扭曲区块链的内在来骗取关注。我们有理由以为,可扩展性问题没有最终的解决方案,新的解决方案总会增添庞大性和难度。

纵然我们接受了这个事实,已往几年间可扩展方案领域的希望仍然令人沮丧。然则,漆黑的终点是灼烁,我们即将迎来转机

今年早些时候,一位客户要求我们观察可扩展性方案的市场时,我们似乎听到了一场革命的军号。最近,几个远景灼烁的团队已经宣布了项目里程碑。以太坊社区又最先跃跃欲试起来。

我们知道,过多的信息可能反而会起误导作用,让人难以掌握全貌,因此我们决议帮人人梳理一下。通过本文,我们想要分享我们与区块链开发者甚至整个区块链社区举行可扩展性研究所得出的功效。我们信赖,本文将辅助人人领会零知识证实和二层可扩展性方案的潜力,同时更深入地明白这些手艺。

讲述内容

比起以往,可扩展方案的市场已经有所发展,无数致力于开发此类方案的公司割据一方。面临云云海量的解决方案,我们很容易感应迷失,难以鉴别哪些方案最有远景。

因此,我们决议认真剖析并对照这些解决方案,找出那些最有潜力的方案、辅助企业家和开发者做出准确选择。我们主要关注基于零知识证实的二层方案,由于我们发现这些方案具有很高的平安性和相对较短的资金退出时间,因此从久远角度来看潜力最大。

另有至少两类远景优越的方案本文没有涉及:optimistic rollup 和状态通道。这两类方案都不是基于零知识证实构建的,因此不在本文的讨论范围内。

边注:什么是二层解决方案?

二层可扩展性解决方案的目的是在现有区块链的基础上增添分外的协议,提高以太坊的最大吞吐量(即,处置买卖的速率)并削减终端用户所需支付的买卖费。差别于 ETH 2.0 等一层方案,二层方案将基础协议作为一个去中央化的平安层,然后在上面构建另一层(不改变以太坊的共识算法或其他任何焦点观点)。

二层方案将原本由以太坊执行的盘算转移到了链下,将以太坊作为平安性保障。由于盘算被转移到了链下,需要存储在链上的数据量大幅削减,在降低买卖成本的同时加快了买卖速率。

零知识证实

简介

本文详细先容的解决方案使用零知识证实密码学来确保买卖平安性并实现链下盘算。因此,在深入研究可扩展性解决方案之前,我们需要对零知识证实手艺有个基本的领会。

零知识证实(简称 ZK)是密码学的分支,是区块链社区近年来追逐的热门之一。通过零知识证实,一方(证实者)可以向另一方(验证者)证实他拥有一些知识,然则无需透露知识自己及其它可以用来破解这些知识的信息。证实者只需向验证者转达并证实的信息是,他确实拥有这些知识。

听不懂也没关系。我们来举个简朴的零知识证实的例子。

现实生活中的例子

关于零知识证实是若何运作的,Konstantinos Chalkias 举过一个绝妙的例子。假设有两个好朋友 Victor 和 Peggy,他们都喜欢在双休日去公园玩杂耍球。Victor 是红绿色盲症患者。对他来说,这些球的颜色都一样。

两人决议像往常一样去中央公园(Central Park)玩杂耍球。Peggy 自己带了一个红球和一个绿球。红绿色盲症患者 Victor 无法看出这两个球的区别。

为了向 Victor 证实两个球的区别,Peggy 让 Victor 一手抓着一个球藏在背后,然后频频交流手中的球。每次交流事后,Victor 都市向 Peggy 展示随便一个球,问她这个球是否与上个球差别。

每当 Victor 交流过手中的球,Peggy 都能鉴别出他展示的球是否与上一次差别,由于她分得清红色和绿色。这样一来,Victor 就可以确定 Peggy 知道这两个球的差别,同时他又无法知道这两个球的颜色。这就是零知识证实。

只管 Peggy 有高达 50% 的概率可以猜中一两次,然则随着他们重复的次数越多,猜中的概率就会无限趋近于零。因此,Victor 完全可以确定这两个球的颜色是差别的。

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能Vitcor (验证者)眼中的天下

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能Peggy (证实者)眼中的天下

Avalanche 与 PolyientGames 合作推出去中心化 NFT 交易平台

链闻消息,去中心化服务平台 Avalanche (Ava Labs) 宣布与专注于 NFT 和区块链游戏的投资公司 PolyientGames 达成合作,将在 Avalanche 上建立一个专门用于 NFT 交易的去中心化交易平台(DEX)。新的 DEX 将内置于 Polyient Games Marketplace 中,该市场将提供独特的产品,包括独家 NFT 拍卖和点对点 NFT 交易系统。双方将合作推出代币 PGFK particle (XPGPs), 该代币可作为 NFT 销售和其他平台产品的交易单位,同时还将列入 Polyient Games DEX 主要交易对。DEX,Ava Labs,Avalanche,NFT,去中心化服务平台,PolyientGames,XPGPs,PGFK particle

零知识证实和区块链

零知识证实可以用来天生关于某个盘算已经根据预定规则执行的密码学证实。这类证实可以用编好的盘算机程序来天生,并可以自动验证。

零知识证实之所以有助于解决可扩展性问题,是由于零知识证实自己比其所代表的数据小得多,零知识证实可以用来实现买卖的匿名化。

(安比按:不是所有的零知识证实手艺天生的 proof 都比 statement 小得多。零知识证实手艺仅必须知足三种要求:完整性(completeness)、可靠性(soundness)、零知识性(zero-knowledgeness),并不要求一定要具备这种小体积性。)

边注:基于零知识证实的可扩展性方案并不会从根本上改变区块链的扩展性,只是改变区块链的用法:小型盘算全部从链上转移到链下执行,区块链只需验证大批盘算效果即可。

通过二层扩展方案天生的零知识证实首先需要遵守一组预界说规则。若是是买卖系统,这组规则可能类似区块链的共识规则,例如,每个买卖必须署上准确的署名,或者用户不得透支等。二层系统将规则转化成了一连串数学表达式(电路和多项式),然后使用这些数学表达式来建立零知识证实天生历程所必须的两个盘算机程序:证实者与验证者

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能

只要有了证实者和验证者,我们就可以使用该系统天生并验证买卖。假设 Alice 的钱包里有 3 ETH ,她想向 Bob 转一笔账。她签署了买卖,买卖数据被提交到了证实者手里。证实者使用该数据天生了一个零知识证实,然后发送给验证者。现在让我们思量以下两个场景。

天生一个有用的零知识证实

验证者可以在完全不知道买卖信息的情形下验证 Alice 是否根据预界说规则执行了买卖。其中一条规则是 Alice 不能透支,因此若是她想转账 2 ETH ,验证者会赞成该买卖。

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能

天生一个虚伪的零知识证实

现在,假设 Alice 想要发送 5 ETH 。按理说,该买卖在证实者阶段就会遭到拒绝。纵然证实者作恶,该买卖也得不到允许,通不外验证者的验证,由于它没有根据划定执行。

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能

安比按:读者应该注重到了,2.3.1 章节和 2.3.2 章节划分就是零知识证实属性中的 「完整性」 和 「可靠性」:准确的证实肯定能够通过验证;错误的证实肯定不能通过验证。这里并没有用到零知识证实的 「零知识性」。因此,若不需要知足隐私要求,仅仅是为了提高可扩展性,则任何知足完整性、可靠性、简练性(证实体积小)、验证速率快的证实系统,现实上都能用作同样的用途。因此,Vitalik 就曾提议 「以 snarks 替换掉 ZK rollup 的 ZK 前缀」,或者更仔细的命名好比 「Validium」,由于这些方案现实上都没有用到零知识属性。包罗 StakWare 也一直在强调自己是在行使证实系统(proof system)实现盘算完整性(computational integrity)证实。但在 「ZK Rollup」 深入人心的情形下,AZTEC 使用零知识证实(提供隐私性)的 rollup 方案,只好命名为 「ZK-ZK-rollup」。令人唏嘘。

SNARK vs. STARK

目前为止,已经有许多基于零知识证实的密码学证实兴起,其中最着名的莫过于 SNARK 和 STARK 。它们之间有着非常重要的联系。

SNARK 代表的是

  • 简明性(succinct):该证实远小于其所代表的数据,而且可以迅速验证。
  • 非交互式(non-interactive):证实者只会发送一组信息给验证者,因此二者之间不需要往返交互。
  • 知识论证(argument ofknowledge):从盘算层面来说,我们以为该证实是完整的 —— 恶意证实者无法诱骗系统,除非 TA 确实掌握该知识的具体内容,以此支持 TA 提出的证实。

安比按:密码学中对 proof (证实方案)和 auguement (论证方案)另有区分。方案的可靠性(soundness)要能到达匹敌具备无限大盘算资源的证实者,才气称为 proof;而 arguement 只需能抵御盘算能力为多项式的恶意证实者即可,不需要能抵御盘算能力无穷大的恶意证实者。

可扩展性解决方案所使用的 SNARK 需要在证实者和验证者之间构建可信初始化(trusted setup)。可信初始化是一组类似游戏规则的初始公共参数,由一群自愿参与者在指定时间执行团结盘算,即,所谓的可信初始化仪式(trusted setup ceremony),来天生。只要有至少一位参与者是老实的,就能平安地天生参数。因此,参与者人数越多,机制的可信度就越高。

STARK(例如 StarkWare 开发的 FRI-AIR STARK)不需要可信初始化 —— 因此,此处的 「T」 代表 「透明的(transparent)」 。这就为整个系统排除了单点故障的隐患。虽然 STARK 证实的数据量较大,但对大批次的买卖可以平摊盘算成本。因此,STARK 能够提高可扩展性。

边注:就基于早期 SNARK 手艺(即,Groth16)的解决方案而言,每当 Groth16 上线新的版本,都要执行可信初始化仪式。因此,下文所述的 Loopring 去年上线最新版本时,也需要执行该机制。SNARK 另有一种变体称为通用 SNARK (Universal SNARK)或 SNORK (例如,PLONK 和 SONIC)。该手艺使用的是通用可信初始化(universal trusted setup)。例如,zkSync 的建立者无需在上线新版本时执行可信初始化机制:他们复用了去年包罗 Vitalik 在内的 200 多位着名人士一起执行的多方盘算的执行效果。通过通用可信初始化,可以扩展或更新协议中所使用的零知识证实方案,而无需执行一个新的仪式。

安比按:SNORK = Succinct Non-interactive Oecumenical (Universal) aRguments of Knowledge (简练的非交互性通用知识论证),现实上就是带有通用且可升级的可信初始化设置的 SNARK。

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能差别的密码学证实方案之间关系的示意图(泉源:Alex Gluchowski)

架构

本文所述解决方案的共同点是都使用了零知识密码学。它们之间的差异性则源自数据可用性问题。

数据可用性问题

用户余额相关的买卖数据和信息可以存储在底层区块链上,也可以不存在区块链上,这就要在可扩展性和平安性之间举行基本的权衡取舍。

链上存储数据的平安性类似于直接将资产存储在以太坊上,而无需用户执行分外的操作。用户可以随时获取数据。这一点非常重要,尤其是在可扩展性解决方案提供商的服务器被损坏或作恶的情形下。链上数据可用性可以让用户建立一个证实来证实他们持有一定数目的代币,无需与二层系统举行交互就可以直接将这些代币从智能合约中取出。将数据存储在链上的基于零知识证实的解决方案被称为 zkRollup

将数据存储在链下的可扩展性方案引入了数据可用性问题,因此会削弱二层方案的平安性。一旦某个可扩展性解决方案提供商终止互助,普通用户就无法取出他们的资金,除非他们能获得代表其余额的数据。这类解决方案被称为 Validium。为了缓解数据可用性问题,这类方案或将引入一个多方委员会(multi-party committee),由这个委员会卖力存储数据副本,并在提供商作恶或终止服务的情形下将数据副本分享给用户。

然则,将数据存储在链下有一个很大的优势:更高的可扩展性。接纳链下存储的解决方案无需受制于区块链的局限性。因此,相比接纳链上存储的解决方案,这类方案更有助于提高买卖吞吐量。

最近,StarkWare 提出了一种混合式解决方案,可以让用户自由选择将数据存储在链上照样链下。用户每提议一笔买卖都可以选择一次,因此他们的选择是动态转变的。这种可扩展性解决方案被称为 Volition

技术简述 ZK Rollup 与 Validium 等零知识证明方案如何扩展区块链性能泉源:https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb

泉源链接:ethworks.io

原创文章,作者:链大大,如若转载,请注明出处:https://www.chaindada.com/chain/12397.html