COIN:EthWorks:零知识证明与区块链扩展_Frappecoin

编者注:本文为?

EthWorks?撰写的一份关于零知识证明和区块链扩展方案关系的报告;对可扩展性问题、零知识证明和ZKrollup扩展方案都做了简洁的介绍。本译稿的校对得到了

安比实验室的大力支持,他们对原报告解释不足及有所疏漏的地方做了相当多的说明。在此对他们致以诚挚的谢意。

1.引言

1.1可扩展性问题

你可能已经很了解区块链的历史了。2017年,

比特币开始登上主流媒体的头版头条,激起了前所未有的关注,全球人民都看到了该技术所面临的挑战。随着比特币日趋流行,比特币交易亦大量发生,网络拥堵达到了前所未有的程度。交易手续费的暴涨使得比特币转账变得脱离实际。最近,以太坊也显露出了同样的问题。相比低峰时期,

以太坊上的矿工费已经增长了30至50倍。

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

以太坊的目的是比比特币更快地确认交易,但是远不足以解决这个问题。以太坊的交易吞吐量——高于比特币,但是每秒交易处理量只有十数笔——还不足以让该网络实现大规模采用。以太坊也会出现拥堵情况,即使是很简单的智能合约操作也需要花费数美元。

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

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

同样地,以太坊的设计交易吞吐量是每秒15笔。不过,这个限制是动态变化的。假设当前网络将区块的Gas上限设为1200万,实际吞吐量将达到每秒36笔以上。但是,这一推论仅适合于区块中只有以太币转账交易的情形,因为代币转账的成本要高出2.5倍,更别提与智能合约进行更复杂的交互了——其成本通常会高得多。

PEPE交易员在过去3周内销毁约5300ETH:金色财经报道,推特用户@thiccythot_从Dune中下载了413,283笔PEPE Uniswap交易后发现,PEPE交易员在过去3周内销毁了约5300ETH(约合1000万美元)的Gas。[2023/5/5 14:44:44]

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

即使我们接受了这个事实,过去几年间可扩展方案领域的进展仍然令人沮丧。但是,黑暗的尽头是光明,我们即将迎来转机。

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

我们知道,过多的信息可能反而会起误导作用,让人难以把握全貌,因此我们决定帮大家梳理一下。通过本文,我们想要分享我们与区块链开发者乃至整个区块链社区进行可扩展性研究所得出的成果。我们相信,本文将帮助大家了解零知识证明和二层可扩展性方案的潜力,同时更深入地理解这些技术。

1.2报告内容

比起以往,可扩展方案的市场已经有所发展,

无数致力于开发此类方案的公司割据一方。面对如此海量的解决方案,我们很容易感到迷失,难以辨别哪些方案最有前景。

因此,我们决定认真分析并比较这些解决方案,找出那些最有潜力的方案、帮助企业家和开发者做出正确选择。我们主要关注基于零知识证明的二层方案,因为我们发现这些方案具有很高的安全性和相对较短的资金退出时间,因此从长远角度来看潜力最大。

还有至少两类前景良好的方案本文没有涉及:optimisticrollup和状态通道。这两类方案都不是基于零知识证明构建的,因此不在本文的讨论范围内。

ALPEX交易平台将于8月5日19:30暂停ETH以及ERC-20代币的充提业务:据官方公告,为了迎接以太坊伦敦硬分叉升级,ALPEX数字资产和衍生品交易平台预计将于2021年08月05日19:30(GMT+8) 左右,暂停ETH以及ERC-20代币的充币和提币业务,用户请及时进行充值、提现。升级期间,用户交易不受影响; 若硬分叉后并未产生新的代币,ALPEX将尽快恢复ETH及其它ERC-20网络代币的充值、提现业务。以上预计时间仅作参考,ALPEX将根据实际区块时间调整充提暂停时间.[2021/8/3 1:32:17]

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

二层可扩展性解决方案的目标是在现有区块链的基础上增加额外的协议,提高以太坊的最大吞吐量并减少终端用户所需支付的交易费。不同于ETH2.0等一层方案,二层方案将基础协议作为一个去中心化的安全层,然后在上面构建另一层。

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

2.零知识证明

2.1简介

本文详细介绍的解决方案使用零知识证明密码学来确保交易安全性并实现链下计算。因此,在深入研究可扩展性解决方案之前,我们需要对零知识证明技术有个基本的了解。

零知识证明是密码学的分支,是区块链社区近年来追逐的热点之一。通过零知识证明,一方可以向另一方证明他拥有一些知识,但是无需透露知识本身及其它可以用来破解这些知识的信息。证明者只需向验证者传达并证明的信息是,他确实拥有这些知识。

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

2.2现实生活中的例子

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

最近5分钟合约市场爆仓1040万美元 ETH爆仓1025万美元:据合约帝行情统计报告显示:最近5分钟合约市场全网总计爆仓1040万美元,其中ETH爆仓1025万美元。[2021/1/4 16:24:13]

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

为了向Victor证明两个球的区别,Peggy让Victor一手抓着一个球藏在背后,然后反复交换手中的球。每次交换过后,Victor都会向Peggy展示任意一个球,问她这个球是否与上个球不同。

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

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

-?

Vitcor眼中的世界?-

-?

Peggy眼中的世界?-

2.3零知识证明和区块链

行情 | ETH短时快速上涨超2.5%:据Huobi数据显示,ETH半小时快速上涨,涨幅超2.5%,24小时涨幅为5.68%,当前报价为90美元,行情波动较大,请注意控制风险。[2018/12/8]

零知识证明可以用来生成

关于某个计算已经按照预定规则执行的密码学证明。这类证明可以用编好的计算机程序来生成,并可以自动验证。

零知识证明之所以有助于解决可扩展性问题,是因为零知识证明本身比其所代表的数据小得多,零知识证明可以用来实现交易的匿名化。

、可靠性、零知识性,并不要求一定要具备这种小体积性。)

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

通过二层扩展方案生成的零知识证明首先需要遵守一组预定义规则。如果是交易系统,这组规则可能类似区块链的共识规则,例如,每个交易必需署上正确的签名,或者用户不得透支等。二层系统将规则转化成了一连串数学表达式,然后使用这些数学表达式来创建零知识证明生成过程所必需的两个计算机程序:证明者与验证者。

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

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

验证者可以在完全不知道交易信息的情况下验证Alice是否按照预定义规则执行了交易。其中一条规则是Alice不能透支,因此如果她想转账2ETH,验证者会同意该交易。

Coinbase智能合约出现故障 允许用户无限取出ETH:据Cryptovest报道,Coinbase的智能合约被检测出现小故障,允许用户无限取出ETH。该漏洞存在大约1个月,截止漏洞发现时间,无人利用该漏洞获利。不过由于Coinbase账户均为实名验证,即使有人趁机浑水摸鱼,也能被系统检测、追踪。该漏洞在一项代码奖励计划中被发现,发现漏洞的荷兰公司获得1万美元奖励。[2018/3/22]

2.3.2生成一个虚假的零知识证明

现在,假设Alice想要发送5ETH。按理说,该交易在证明者阶段就会遭到拒绝。即使证明者作恶,该交易也得不到许可,通不过验证者的验证,因为它没有按照规定执行。

、验证速度快的证明系统,实际上都能用作同样的用途。因此,Vitalik就曾提议“以snarks替换掉ZKrollup的ZK前缀”,或者更细致的命名比如“Validium”,因为这些方案实际上都没有用到零知识属性。包括StakWare也一直在强调自己是在利用证明系统实现计算完整性证明。但在“ZKrollup”深入人心的情况下,AZTEC使用零知识证明的rollup方案,只好命名为“ZK-ZK-rollup”。令人唏嘘)

2.4SNARKvs.STARK

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

SNARK代表的是:

简明性:该证明远小于其所代表的数据,并且可以迅速验证。

非交互式:证明者只会发送一组信息给验证者,因此二者之间不需要来回交互。

知识论证:从计算层面来说,我们认为该证明是完备的——恶意证明者无法系统,除非TA确实掌握该知识的具体内容,以此支持TA提出的证明。

和auguement还有区分。方案的可靠性要能达到对抗具备无限大计算资源的证明者,才能称为proof;而arguement只需能抵御计算能力为多项式的恶意证明者即可,不需要能抵御计算能力无穷大的恶意证明者。)

可扩展性解决方案所使用的SNARK需要在证明者和验证者之间构建可信初始化。可信初始化是一组类似游戏规则的初始公共参数,由一群志愿参与者在指定时间执行联合计算,即,所谓的可信初始化仪式,来生成。只要有至少一位参与者是诚实的,就能安全地生成参数。因此,参与者人数越多,机制的可信度就越高。

STARK不需要可信初始化——因此,此处的“T”代表“透明的”。这就为整个系统排除了单点故障的隐患。虽然STARK证明的数据量较大,但对大批次的交易可以平摊计算成本。因此,STARK能够提高可扩展性。

边注:就基于早期SNARK技术的解决方案而言,每当Groth16上线新的版本,都要执行可信初始化仪式。因此,下文所述的Loopring去年上线最新版本时,也需要执行该机制。SNARK还有一种变体称为通用SNARK或SNORK。该技术使用的是通用可信初始化。例如,zkSync的创建者无需在上线新版本时执行可信初始化机制:他们复用了去年包括Vitalik在内的200多位知名人士一起执行的多方计算的执行结果。通过通用可信初始化,可以扩展或更新协议中所使用的零知识证明方案,而无需执行一个新的仪式。

,实际上就是带有通用且可升级的可信初始化设置的SNARK。)

-不同的密码学证明方案之间关系的示意图-

3.架构

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

3.1数据可用性问题

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

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

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

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

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

-来源:

https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb?-

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

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-8:221ms