木星链 木星链
Ctrl+D收藏木星链

VIT:Vitalik :理解新型通用零知识证明方案PLONK

作者:

时间:1900/1/1 0:00:00

特别感谢JustinDrake、KarlFloersch、XiaoWeiWang、BarryWhitehat、DankradFeist以及ZacWilliamson的审查工作。

注:原文作者是以太坊联合创始人VitalikButerin

以下是译文:

最近,ArielGabizon、ZacWilliamson和OanaCiobotaru公布了一种新的通用零知识证明方案PLONK,其全称是笨拙的“PermutationsoverLagrange-basesforOecumenicalNoninteractiveargumentsofKnowledge”。虽然对通用零知识证明协议的改进研究已进行了多年,但PLONK带来的是一系列的改进,这些改进可能会总体上大大提高这类证明的可用性及进展。

第一个改进:虽然PLONK仍需要一个类似ZcashSNARKs的可信设置过程,但它是一个“通用且可更新”的可信设置。这意味着两件事:首先,不需要为每一个你想证明的程序都设置一个单独的可信设置,而是为整个方案设置一个单独的可信设置,之后你可以将该方案与任何程序一起使用。第二,有一种方法可以让多方参与可信设置,这样只要其中任何一方是诚实的,那这个可信设置就是安全的,而且这种多方过程是完全连续的:首先是第一个人参与,然后是第二个人,然后是第三个……参与者们甚至不需要提前知道,新的参与者可以把自己添加到最后。这使得可信设置很容易拥有大量参与者,从而在实践中确保设置是非常安全的。

第二个改进是它所依赖的“奇特密码学”是一个单一的标准化组件,称为“polynomialcommitment”。PLONK使用基于可信设置和椭圆曲线对的“Katecommitments”,但你也可以用其它方案替换它,例如FRI或者DARK。这意味着该方案在理论上与证明大小和安全性假设之间的任何权衡兼容。

这意味着需要在证明大小与安全性假设之间进行不同权衡的用例,仍然可以为“算术化”共享大部分相同的工具。如果这种方案被广泛采用,那我们可期待在改进共享算术化技术方面的快速进展。

Vitalik Buterin 2014年的历史肖像被作为NFT进行拍卖:金色财经报道,加拿大著名摄影师Andrew Miller宣布独家拍卖以太坊创始人Vitalik Buterin的首张专业且从未售出的肖像,该肖像被铸造成NFT。此次拍卖恰逢以太坊概念诞生10周年。拍卖将于 7 月 1 日在Manifold.xyz上开始,一直持续到7月30日,为收藏家提供了一个难得的机会来获得以太坊早期历史的一部分。起拍价为333 ETH。[2023/7/19 11:03:17]

PLONK是如何工作的

让我们从解释PLONK的工作原理开始,我们只关注多项式方程而不立即解释如何验证这些方程。PLONK的一个关键组成部分,就像SNARKs中使用的QAP一样,这是一个转换问题的过程,形式是“给我一个值X,我给你一个特定的程序P,这样当X作为输入进行计算时,给出一些具体的结果Y,”放到问题“给我一组满足一组数学方程的值”当中。程序p可以表示很多东西,例如,问题可能是“给我一个数独的解决方案”,你可以通过将P设置为数独验证器加上一些编码的初始值并将Y设置为1来对其进行编码,一个令人满意的输入X将是数独的有效解决方案。这是通过将P表示为一个带有逻辑门的加法和乘法电路,并将其转换为一个方程组来完成的,其中变量是所有线上的值,每个门有一个方程。

下面是一个求x问题的例子,这样P(x)=x**3+x+5=35(提示:x=3):

我们按如下方式给门和线贴上标签:

在门和线上,我们有两种类型的约束:门约束和复制约束。我们需要创建一个结构化的方程组,它最终将减少到一个非常少数量的多项式方程组,来表示这两个方程组。

在PLONK中,这些方程的设置和形式如下:

每个Q值都是一个常数,每个方程中的常数对于每个程序都是不同的。每个小写字母值都是一个变量,由用户提供:ai是第i个门的左输入线,bi是右输入线,ci是第i个门的输出线。对于加法门,我们设置:

Navitas Global投资加密矿企Soluna Holding1400万美元:金色财经报道,加密采矿数据中心开发商Soluna Holdings宣布与Navitas Global就其位于德克萨斯州的Project Dorothy 1B数据中心达成1400万美元的投资伙伴关系。Navitas将为Dorothy 1B项目的最后阶段基础设施建设和25mw比特币矿机提供投资资本,以换取Dorothy 1B项目49%的股权。该协议包括200万美元的贷款,以完成建设和1200万美元的股权投资。Soluna将提供运营和维护专业知识,并将继续拥有Dorothy 1B项目51%的股份。[2023/5/16 15:04:46]

将这些常数插入方程并进行简化,得到ai+bi-oi=0,这正是我们想要的约束条件。对于乘法门,我们设置:

对于将ai设置为某个常数x的常数门,我们设置:

你可能已注意到线的每一端,以及一组线中的每根线,显然必须具有相同的值对应于一个不同的变量;到目前为止,没有什么能强迫一个门的输出与另一个门的输入相同。PLONK当然有一种强制复制约束的方法,我们稍后会讨论这个问题。所以现在我们有一个问题,证明者想要证明他们有一堆Xai,Xbi以及Xci值满足了一堆相同形式的方程。这仍然是一个大问题,但不像“找到这个计算机程序的一个令人满意的输入”,这是一个非常结构化的大问题,我们有数学工具可用于“压缩”它。

从线性系统到多项式

如果你了解过STARKs或QAPs,下一节中描述的机制会让人觉得有些熟悉,但如果你没有,那也没有关系。这里的主要内容是将多项式理解为一种数学工具,用于将大量值封装到单个对象中。通常,我们是以“系数形式”来看待多项式,即如下表达式:

但我们也可用“定值形式”来看待多项式。例如,我们可以认为上面是在坐标处分别定值的“度数<4”的多项式。

VitalikButerin提议使用Flashbots系统实现“账户抽象”:3月11日消息,以太坊联合创始人 Vitalik Buterin 在研究机构 Flashbots 的 GitHub 仓库中提议利用 Flashbots 作为“账户抽象”的一种实现方式。“账户抽象”是以太坊社区中讨论的改进提案之一,以实现交易不需要从私钥控制的 EOA 账户发起,而是可以直接从智能合约发起,具体的用例包括智能合约钱包、Tornado.Cash 这类隐私保护工具等。Vitalik Buterin 认为 Flashbots 可以解决这个问题,通过搭建一个插件将其变成智能合约钱包的中继器以实现。他表示该方案不需要对以太坊底层协议进行很多改动。

Flashbots是由五位区块链行业人士发起成立的开放研究机构,旨在针对以太坊及各智能合约公链所面对的 MEV 问题进行研究,并实施解决方案。[2021/3/11 18:35:51]

下面是下一步。许多形式相同的方程组可重新解释为多项式上的一个方程组。例如,假设我们有一个系统:

我们用定值形式定义四个多项式:L(x)是在坐标(0,1,2)处定值为的度数<3的多项式,在同样的坐标系下,M(x)定值为(-1,4,-1),R(w)定值为(3,-5,-1)以及O(x)定值为(8,5,-2)。现在,考虑下面这个等式:

在这里,Z(x)是(x-0)*(x-1)*(x-2)的简写,它是在定值域(0,1,2)上返回零的最小多项式。这个方程的解(x1=1,x2=6,x3=4,H(x)=0)也是原方程组的解,只是原方程组不需要H(x)。还要注意,在这种情况下,H(x)很方便为零,但在更复杂的情况下,H可能需要为非零。

所以现在我们知道,我们可以在少数数学对象中表示一个大的约束集。但在我们上面建立的表示门线约束的方程中,x1,x2,x3变量在每个方程中是不同的。我们可以用同样的方法使变量本身成为多项式而不是常数来处理这个问题。所以我们得到:

声音 | Kavita Gupta:风投在加密货币领域的投资方式发生了变化:ConsenSys Ventures创始执行合伙人Kavita Gupta在最近接受采访时表示,风投在加密货币领域的投资方式发生了变化。风投开始适应新的模式,加密货币投资比较独特,其流动性、持续性、风险特征、波动性等因素都与传统的长线投资基金有很大不同。区块链投资者的构成在不断变化,企业家画像也在变化。在这一领域担任CEO的人士从大部分是年期的技术专家变成了很多是经验丰富的工程师和连续创业者。产品的愿景、路线图,尤其是接纳的理由和友好的用户界面已成为了讨论主题之一。一些大型风投公司正在成立加密货币领域专用基金,使世界更加接近Web 2.0和Web 3.0,并验证这一领域的许多早期技术,而这些技术在一年前还看起来可能是不现实的。”[2019/1/30]

如前所述,每个Q多项式是由正在验证的程序生成的参数,a,b,c多项式是用户提供的输入。

复制约束(Copyconstraints)

现在,让我们回到“连接”线上。到目前为止,我们所拥有的是一组关于不相交值的不相交方程,这些方程独立且易于满足:常数门可通过将值设置为常数来满足,加法和乘法门可通过将所有线设置为零来满足!为了使问题具有实际的挑战性,我们需要添加一个验证“复制约束”的等式,这需要一些巧妙的技巧。

我们的策略是设计一个“坐标对累加器”,一个多项式p(x)的工作原理如下:首先,让X(x)和Y(x)两个多项式表示一组点的x和y坐标给定的位置,所以p(0)从1开始,p(1)只代表第一个点,p(2)是第一个点和第二个点,诸如此类。我们将通过“随机”选择两个常数v1和v2,并使用约束p(0)=1以及p(x+1)=p(x)*(v1+X(x)+v2*Y(x))构造p(x),至少在域内。例如,让v1=3和v2=2,我们得到:

注意每个p(x)值,等于它左边的值乘以它左上面的值。

Vitalik Buterin提出加密经济学提案对抗虚假信息:2月25日,在泰国曼谷举办的亚太以太坊社区大会上,以太坊创始人Vitalik Buterin进行了题为Cryptoeconomics to Save the Internet的演讲。在演讲中,他将目光放在了最近推特冒充本人账号以太币的虚假消息事件,提出赋予用户代币的提案来审查辨别虚假信息并加以惩罚的加密经济学提案。Buterin指出,这群狡诈的子通过在推特上冒充他本人及其他区块链业内人士,并用虚假的点赞、转发和评论来伪装这些虚假账户的有效性,以此来取个人用户的虚拟货币。他认为,这些虚假新闻引起的行为能够以自区块链行业发展起来的加密经济学来进行对抗。[2018/2/27]

我们关心的结果是

p(4)=-240。现在,考虑这样的情况,我们设置X(x)=2?3x^3-4x^2+19?3x(即,在坐标

处定值为

的多项式),而不是X(x)=x。

如果你运行同样的过程,你会发现你也会得到p(4)=-240。

这不是巧合。相反,这是因为Y(1)=Y(3),所以如果你“交换”点(1,1)和的X坐标,你就不会改变点的集合,并且因为累加器对集合进行编码,所以最后的值将是相同的。

现在,我们可以开始了解我们将用来证明复制约束的基本技术。首先,考虑一个简单的例子,我们只想证明在一组线中的复制约束=a)。我们将生成两个坐标累加器:一个是X(x)=x和Y(x)=a(x),另一个是Y(x)=a(x),而X’(x)是对每个复制约束中的值的翻转排列定值的多项式。在a(1)=a(3)的情况下,这意味着排列将开始于03214....第一个累加器将压缩((0,a(0)),(1,a(1)),(2,a(2)),(3,a(3)),(4,a(4))...,第二个压缩),),),),)……只有当a(1)=a(3)时,两者才能给出相同的结果。

为了证明a,b和c之间的约束,我们使用了相同的过程,但是我们将所有三个多项式的点“累加”在一起。我们给a,b,c赋值一些X坐标=b,那么X’a(x)将有定值01934,X’b(x)将有定值56782。然后,我们将不再像以前那样检查一次过程中的相等性,而是检查每侧三次不同运行的乘积:

两边的三个p(n)定值的乘积将a、b和c中的所有坐标对累加在一起,因此这允许我们像以前一样进行检查,除此之外,我们现在不仅可检查三组线A、B或C中一组内的位置之间的复制约束,还可以检查一组线与另一组线之间的复制约束。

就这些了!

把所有东西放到一起

实际上,所有这些数学运算都不是在整数上进行的,而是在素数域上进行的;请检查此处的“模块化数学插曲”部分,以了解素数域是什么。此外,出于数学上的原因,最好是用快速傅里叶变换实现来阅读和理解这篇文章,而不是用x=0....n-1表示线指数,我们将使用ω:1,ω,ω^2….ω^n-1的幂,其中ω是域中的一个高次单位根。这与数学无关,只是坐标对累加器约束检查方程从p(x+1)=p(x)*(v1+X(x)+v2*Y(x))更改为p(ω*x)=p(x)*(v1+X(x)+v2*Y(x)),而不是使用0..n-1,n..2n-1,2n..3n-1作为坐标,我们使用ω^i,g*ω^i,其中g可以是域中的某些随机高阶元素。

现在让我们写出所有需要检查的方程式。首先,主门约束满足性检查:

然后是多项式累加器转换约束:

然后多项式累加器开始和结束约束:

用户提供的多项式是:

线分配a(x),b(x),c(x);

坐标累加器Pa(x),Pb(x),Pc(x),Pa’(x),Pb’(x),Pc’(x);

商H(x)和H1(x)…H6(x);

证明者和验证者需要提前计算的程序特定多项式为:

QL(x),QR(x),QO(x),QM(x),QC(x),它们共同代表电路中的门;

“排列多项式”σa(x),σb(x)和σc(x),它们编码a,b和c线之间的复制约束;

注意,验证者只需要存储这些多项式的承诺。上述方程中仅存的多项式是Z(x)=(x-1)*(x-ω)*…*(x-ω^(n-1)),其设计目的是在所有这些点上计算为零。幸运的是,可以选择ω使这个多项式很容易计算:通常的方法是选择ω来满足ω^n=1,在这种情况下Z(x)=x^n-1。

对v1和v2的唯一限制是,在v1和v2已知之后,用户不能选择a(x),b(x)或c(x),所以我们可通过计算a、b和c的承诺哈希的v1和v2来满足这个要求。。

所以现在我们已经把程序满足问题,变成了用多项式满足几个方程的简单问题,PLONK中有一些优化,其可以允许我们去掉上面方程中的很多多项式,为了简单考虑,我将不再讨论这些。但是多项式本身,都是很大的。

所以下一个问题是,我们如何绕过这个问题,才能让证明变简短?

多项式承诺

多项式承诺是一个短对象,其“代表”一个多项式,并允许你验证该多项式的计算,而不需要实际包含多项式中的所有数据。也就是说,如果有人给你一个代表P(x)的承诺c,他们可以给你一个证明,然后说服你对于某个特定的z,P(z)值是多少。还有一个进一步的数学结果表明,在一个足够大的域上,如果关于在随机z上定值的多项式的某些类型的方程是真的,那么这些相同的方程对整个多项式也是真的。例如,如果P(z)*Q(z)+R(z)=S(z)+5,那么我们知道P(x)*Q(x)+R(x)=S(x)+5通常是极有可能的。使用这样的多项式承诺,我们可以很容易地检查上面所有的多项式方程。作出承诺,使用它们作为输入生成z,证明在z上每个多项式的定值是什么,然后用这些定值来运行方程,而不是原来的多项式。那这些承诺是如何运作的呢?

有两部分:对多项式P(x)->c的承诺,以及在某个z处对值P(z)的opening。而要作出承诺,有很多技术,一个例子是FRI,另一个是Kate承诺,我将在下面描述。为了证明一个opening,有一个简单的通用“减除”技巧:为了证明P(z)=a,你要证明

也是一个多项式。这是因为如果商是一个多项式,那么x-z是P(x)-a的一个因子,所以(P(x)-a)(z)=0,所以P(z)=a。用一些多项式试试,比如P(x)=x^3+2*x^2+5(z=6,a=293),然后试试(z=6,a=292),看看它是如何失败的,)

另请注意一个一般优化:为了同时证明多个多项式的多个opening,在提交输出后,对多项式和输出的随机线性组合执行减除技巧。

那么,承诺本身是如何运作的呢?幸运的是,Kate承诺要比FRI简单得多。可信设置过程生成一组椭圆曲线点G,G*s,G*s^2….G*s^n,以及G2*s,其中G和G2是两个椭圆曲线组的生成器,而s则是一个一旦程序完成就会被遗忘的秘密。这些点会被公布,并被认为是方案的“证明关键”,任何需要作出多项式承诺的人都需要使用这些点。通过将证明密钥中的前d+1个点中的每一点乘以多项式中的相应系数,并将结果相加,对d次多项式作出承诺。

注意,这提供了在s处的多项式的“定值”,而不知道s。例如,x^3+2x^2+5将由(G*s^3)+2*(G*s^2)+5*G表示。我们可以用符号来表示用这种方式编码的P。在做减除技巧时,可以使用椭圆曲线对来证明这两个多项式实际上满足关系:检查e(-G*a,G2)=e(,-G2*z)是否作为检查P(x)-a=Q(x)*(x-z)的代理。

但最近也出现了其他类型的多项式承诺。一个新的方案被称为DARK使用了“隐序组”如类组来实现另一种多项式承诺。隐藏顺序组是唯一的,因为它们允许你将任意大的数字压缩到组元素当中,甚至可以压缩比组元素大得多的数字,这样就不会被“”。从VDF到累加器,从范围证明到多项式承诺的构造,都可在此基础上构建。另一种选择是使用防弹证明,使用常规的椭圆曲线组,代价是验证所需的时间要长得多。因为多项式承诺比完全零知识证明方案要简单得多,我们可以期望将来会有更多这样的方案被创建出来。

概括

最后,我们再讨论一下这个方案,给定一个程序P,将其转换为一个电路,并生成一组如下所示的方程:

然后将这组方程转换为一个多项式方程:

你还可以从回路中生成复制约束的列表。从这些复制约束生成表示排列线指数的三个多项式:σa(x),σb(x),σc(x)。要生成证明,需要计算所有线的值,并将其转换为三个多项式:a(x),b(x),c(x)。作为置换检查参数的一部分,你还可以计算六个“坐标对累加器”多项式。最后计算辅因子Hi(x)。

多项式之间有一组方程需要检查,你可以通过对多项式作出承诺,在某些随机z处打开它们,并在这些求值结果上运行方程,而不是在原始多项式上运行方程来完成这项工作。证明本身只是一些承诺和opening,可以用几个方程式来检查,就是这些啦。

标签:VITITAVITATERVitalick Neuterintitan币在哪个交易所vita币官网Splinterlands

欧易交易所app官网下载热门资讯
ARK:一文看懂区块链中最常见的密码学技术:零知识证明

零知识证明是一种基于概率的验证方法,它包括“类似事实的陈述”和“关于个人知识的陈述”。验证者基于一定的随机性来询问证明者,如果证明者给出的答案正确,那么证明者将有很大概率会拥有其所声称的“知识”.

1900/1/1 0:00:00
比特币:巴比特专栏 | 激励的噪声:谈通证经济的影响

通证是个新鲜事物,在很多方面都能发挥作用,比如最明显的就是量化、激励作用,以至于有人说通证经济是对人类生产关系的颠覆.

1900/1/1 0:00:00
区块链:专业机构入场,区块链投资的趋势是什么?

区块链投资真正进入大众视野是从2015年通过很多专业投资机构的了解和参与开始的。过去五年我们看到越来越多的专业机构、专业投资人的加入,他们对区块链投资领域的策略是什么?未来的预期趋势判断是什么?.

1900/1/1 0:00:00
BTC:QKL123行情分析 | 美联储降息预期加强;英国硬脱欧不确定较大(1017)

摘要:今日大盘继续回落,山寨币跌幅较大,短时有所企稳。美联储十月降息与否,和英国是否顺利脱欧,都会对市场产生一定的影响,近日值得关注.

1900/1/1 0:00:00
加密货币:美国FinCEN主管:任何人都要遵守反法(AML),稳定币也不例外

据外媒近日消息,美国金融犯罪执法网络主任肯尼斯·布兰科在乔治敦大学发表讲话,明确表示反法律适用于每个人.

1900/1/1 0:00:00
区块链:寻找信任之泉:读懂预言机原理、类型、现状和发展方向

就像任何计算机系统一样,区块链的工作也是处理数据。数据来源有两种,一种本身就在区块链上,比如一个帐户中ETH的数量;一种本身没在区块链上,比如ETH的价格.

1900/1/1 0:00:00