EthWorks:零知识表明与区块链扩展 | BTC

来源:admin日期:2020/07/29 浏览:96

编者注:本文为 EthWorks 撰写的一份关于零知识表明和区块链扩展方案有关的通知;对可扩展性题目、零知识表明和 ZK rollup 扩展方案都做了简洁的介绍。本译稿的校对得到了安比实验室的大力声援,他们对原通知注释不及及有所疏漏的地方做了相等众的表明(后文括号以 “安比按” 起头的文段即他们补充的内容)。在此对他们致以真挚的谢意。 1. 短序 1.1 可扩展性题目 你能够已经很晓畅区块链的历史了(但吾照样众废话一下)。2017 年,比特币最先登上主流媒体的头版头条,激首了史无前例的关注,全球人民都望到了该技术所面临的挑衅。随着比特币日趋通走,比特币营业亦大量发生,网络拥堵达到了史无前例的水平。营业手续费的暴涨使得比特币转账变得脱离现实。比来,以太坊也透展现了同样的题目。相比矮峰时期,以太坊上的矿工费(Gas Fee)已经增进了 30 至 50 倍。

一切这些表象逆映出的题目是整个社区早就胸中有数的:比特币区块链的初首设计并不正当大周围通俗。由于比特币每秒的最大营业处理量只有数笔,远远比不上 Visa 或 PayPal 等主流支付网络。吾们清淡将这个局限性称为区块链可扩展性题目。

以太坊的方针是比比特币更快地确认营业,但是远不及以解决这个题目。以太坊的营业吞吐量 —— 高于比特币,但是每秒营业处理量只有十数笔 —— 还不及以让该网络实现大周围采用。以太坊也会展现拥堵情况,即使是很浅易的智能吻合约操作也必要消耗数美元。

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

鉴于比特币的设计,其营业吞吐量从理论上来说只有每秒 7 笔。现实上,由于空块、复杂的输入和输出营业等题目,吞吐量平均只有每秒 3 笔。当比特币网络于 2017 年议决柔分叉更新阻隔见证制定后,吞吐量增至 4.6 笔,照样连每秒 7 笔都达不到。

同样地,以太坊的设计营业吞吐量是每秒 15 笔。不过,这个局限是动态转折的(取决于矿工所设定的区块 Gas Limit)。倘若如今网络将区块的 Gas 上限设为 1200 万,现实吞吐量将达到每秒 36 笔以上。但是,这一推论仅正当于区块中只有以太币转账营业的情形,由于代币转账的成本要高出 2.5 倍,更别挑与智能吻合约进走更复杂的交互了 —— 其成本清淡会高得众。

在区块链走业,已经有很众可扩展性项如今惨遭战败。还有的项如今仅仅中止在白皮书阶段,或因噎废食、扭弯区块链的内涵来骗取关注。吾们有理由认为,可扩展性题目异国最后的解决方案,新的解决方案总会添加复杂性和难度。

即使吾们批准了这个原形,以前几年间可扩展方案周围的挺进照样令人懊丧。但是,黑黑的终点是清明,吾们即将迎来转机。

今年早些时候,一位客户请求吾们调查可扩展性方案的市场时,吾们犹如听到了一场革命的号角。比来,几个前景清明的团队已经宣布了项如今里程碑。以太坊社区又最先跃跃欲试首来。

吾们晓畅,过众的新闻能够逆而会首误导作用,让人难以把握全貌,因此吾们决定帮行家梳理一下。议决本文,吾们想要分享吾们与区块链开发者乃至整个区块链社区进走可扩展性钻研所得出的效果。吾们置信,本文将协助行家晓畅零知识表明和二层可扩展性方案的潜力,同时更深入地理解这些技术。 1.2 通知内容 比首以去,可扩展方案的市场已经有所发展,众数致力于开发此类方案的公司割据一方。面对如此海量的解决方案,吾们很容易感到迷失,难以辨别哪些方案最有前景。

因此,吾们决定仔细分析并比较这些解决方案,找出那些最有潜力的方案、协助企业家和开发者做出正确选择。吾们主要关注基于零知识表明的二层方案,由于吾们发现这些方案具有很高的坦然性和相对较短的资金退出时间,因此从永远角度来望潜力最大。

还有起码两类前景良益的方案本文异国涉及:optimistic rollup 和状态通道。这两类方案都不是基于零知识表明构建的,因此不在本文的商议周围内。

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

二层可扩展性解决方案的如今标是在现有区块链的基础上添加额外的制定,挑高以太坊的最大吞吐量(即,处理营业的速度)并缩短终端用户所需支付的营业费。迥异于 ETH 2.0 等一层方案,二层方案将基础制定行为一个去中央化的坦然层,然后在上面构建另一层(不转折以太坊的共识算法或其他任何中央概念)。

二层方案将正本由以太坊实走的计算迁移到了链下,将以太坊行为坦然性保障。由于计算被迁移到了链下,必要存储在链上的数据量大幅缩短,在降矮营业成本的同时加快了营业速度。

2. 零知识表明 2.1 简介 本文周详介绍的解决方案行使零知识表明暗号学来确保营业坦然性并实现链下计算。因此,在深入钻研可扩展性解决方案之前,吾们必要对零知识表明技术有个基本的晓畅。

零知识表明(简称 ZK)是暗号学的分支,是区块链社区近年来追逐的炎点之一。议决零知识表明,一方(表明者)能够向另一方(验证者)表明他拥有一些知识,但是无需透露知识本身及其它能够用来破解这些知识的新闻。表明者只需向验证者传达并表明的新闻是,他实在拥有这些知识。

听不懂也能够。吾们来举个浅易的零知识表明的例子: 2.2 现实生活中的例子 关于零知识表明是如何运作的,Konstantinos Chalkias 举过一个绝妙的例子。倘若有两个益友人 Victor 和 Peggy,他们都爱在双息日去公园玩杂耍球。Victor 是红绿色盲症患者。对他来说,这些球的颜色都相通。

两人决定像去常相通去中央公园(Central Park)玩杂耍球。Peggy 本身带了一个红球和一个绿球。红绿色盲症患者 Victor 无法望出这两个球的区别。

为了向 Victor 表明两个球的区别,Peggy 让 Victor 一手抓着一个球藏在背后,然后逆复交换手中的球。每次交换事后,Victor 都会向 Peggy 展现肆意一个球,问她这个球是否与上个球迥异。

每当 Victor 交换过手中的球,Peggy 都能辨别出他展现的球是否与上一次迥异,由于她分得清红色和绿色。云云一来,Victor 就能够确定 Peggy 晓畅这两个球的迥异,同时他又无法晓畅这两个球的颜色。这就是零知识表明。

尽管 Peggy 有高达 50% 的概率能够猜中一两次,但是随着他们重复的次数越众,猜中的概率就会无穷趋近于零。因此,Victor 十足能够确定这两个球的颜色是迥异的。

1.png

2.png

 

- Vitcor(验证者)眼中的世界 -3.png

 

- Peggy(表明者)眼中的世界 - 2.3 零知识表明和区块链 零知识表明能够用来生成关于某个计算已经遵命预定规则实走的暗号学表明。这类表明能够用编益的计算机程序来生成,并能够自动验证。

零知识表明之因而有助于解决可扩展性题目,是由于零知识表明本身比其所代外的数据幼得众,零知识表明能够用来实现营业的匿名化。

(安比按:不是一切的零知识表明技术生成的 proof 都比 statement 幼得众。零知识表明技术仅必须已足三栽请求:齐备性(completeness)、郑重性(soundness)、零知识性(zero-knowledgeness),并不请求肯定要具备这栽幼体积性。)

边注:基于零知识表明的可扩展性方案并不会从根本上转折区块链的扩展性,只是转折区块链的用法:幼型计算通盘从链上迁移到链下实走,区块链只需验证大批计算效果即可。

议决二层扩展方案生成的零知识表明最先必要遵命一组预定义规则。倘若是营业编制,这组规则能够相通区块链的共识规则,例如,每个营业必需署上正确的签名,或者用户不得透支等。二层编制将规则转化成了继续串数学外达式(电路和众项式),然后行使这些数学外达式来创建零知识表明生成过程所必需的两个计算机程序:表明者与验证者。

4.png

只要有了表明者和验证者,吾们就能够行使该编制生成并验证营业。倘若 Alice 的钱包里有 3 ETH ,她想向 Bob 转一笔账。她签定了营业,营业数据被挑交到了表明者手里。表明者行使该数据生成了一个零知识表明,然后发送给验证者。如今让吾们考虑以下两个场景。

2.3.1 生成一个有效的零知识表明

验证者能够在十足不晓畅营业新闻的情况下验证 Alice 是否遵命预定义规则实走了营业。其中一条规则是 Alice 不克透支,因此倘若她想转账 2 ETH ,验证者会批准该营业。

5.png

2.3.2 生成一个子虚的零知识表明

如今,倘若 Alice 想要发送 5 ETH 。按理说,该营业在表明者阶段就会遭到拒绝。即使表明者作凶,该营业也得不到允诺,通不过验证者的验证,由于它异国遵命规定实走。

6.png

(安比按:读者答该仔细到了,2.3.1 章节和 2.3.2 章节别离就是零知识表明属性中的 “齐备性” 和 “郑重性”:正确的表明必定能够议决验证;舛讹的表明必定不克议决验证。这边并异国用到零知识表明的 “零知识性”。因此,若不必要已足隐私请求,仅仅是为了挑高可扩展性,则任何已足齐备性、郑重性、简洁性(表明体积幼)、验证速度快的表明编制,现实上都能用作同样的用途。因此,Vitalik 就曾挑议 “以 snarks 替换失踪 ZK rollup 的 ZK 前缀”,或者更仔细的命名比如 “Validium”,由于这些方案现实上都异国用到零知识属性。包括 StakWare 也不息在强调本身是在行使表明编制(proof system)实现计算完善性(computational integrity)表明。但在 “ZK rollup” 深入人心的情况下,AZTEC 行使零知识表明(挑供隐私性)的 rollup 方案,只益命名为 “ZK-ZK-rollup”。令人唏嘘) 2.4 SNARK vs. STARK 如今为止,已经有很众基于零知识表明的暗号学表明崛首,其中最著名的莫过于 SNARK 和 STARK 。它们之间有着专门主要的有关。

SNARK 代外的是: 简明性(succinct):该表明远幼于其所代外的数据,并且能够敏捷验证。 非交互式(non-interactive):表明者只会发送一组新闻给验证者,因此二者之间不必要来回交互。 知识论证(argument of knowledge):从计算层面来说,吾们认为该表明是齐备的 —— 凶意表明者无法欺骗编制,除非 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。)

7.png

 

- 迥异的暗号学表明方案之间有关的暗示图(来源:Alex Gluchowski) - 3. 架构 本文所述解决方案的共同点是都行使了零知识暗号学。它们之间的迥异性则源自数据可用性题目。 3.1 数据可用性题目 用户余额有关的营业数据和新闻能够存储在底层区块链上,也能够不存在区块链上,这就要在可扩展性和坦然性之间进走基本的权衡取弃。

链上存储数据的坦然性相通于直接将资产存储在以太坊上,而无需用户实走额外的操作。用户能够随时获取数据。这一点专门主要,尤其是在可扩展性解决方案挑供商的服务器被损坏或作凶的情况下。链上数据可用性能够让用户创建一个表明来表明他们持有肯定数目的代币,无需与二层编制进走交互就能够直接将这些代币从智能吻合约中掏出。将数据存储在链上的基于零知识表明的解决方案被称为 zkRollup 。

将数据存储在链下的可扩展性方案引入了数据可用性题目,因此会减弱二层方案的坦然性。一旦某个可扩展性解决方案挑供商终止配吻合,清淡用户就无法掏出他们的资金,除非他们能获得代外其余额的数据。这类解决方案被称为 Validium 。为了缓解数据可用性题目,这类方案或将引入一个众方委员会(multi-party committee),由这个委员会负责存储数据副本,并在挑供商作凶或终止服务的情况下将数据副本分享给用户。

但是,将数据存储在链下有一个很大的上风:更高的可扩展性。采用链下存储的解决方案无需受制于区块链的局限性。因此,相比采用链上存储的解决方案,这类方案更有助于挑高营业吞吐量。

比来,StarkWare 挑出了一栽混吻合式解决方案,能够让用户解放选择将数据存储在链上照样链下。用户每发首一笔营业都能够选择一次,因此他们的选择是动态转折的。这栽可扩展性解决方案被称为 Volition。

8.png

 

- 来源:https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb -(未完)

原文链接: https://ethworks.io/ethereum-scaling-report.html 作者: EthWorks 翻译&校对: 闵敏 & 安比实验室

本文由作者授权 EthFans 翻译及再出版。

0