火星链 火星链
Ctrl+D收藏火星链
首页 > Bitcoin > 正文

PLO:从 AIRs 到 RAPs —— PLONK 式的算术化如何工作

作者:

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

我们在这篇文章中解释了如何思考和利用PLONK中使用的算术化类型。在其最一般的形式中,我们将这种算术化称为带预处理的随机性Air,简称RAP。然而,在实践中,处理RAP的约束情况通常会变得便利,我们称之为turbo-Plonk和ultra-Plonk程序。在本文中,我们将解释以上所有这些术语!

我们的起点是AlgebraicIntermediateRepresentations-AIRs;这是?STARKWARE?使用的算术化。

AIRs

一个?AIRP?在一个域?F?有长度为?n,和宽度为?w。

P?由一组?2w?个变量,预定义阶数?d?的约束多项式?定义?{f?i??}?。

P?的执行轨迹?T?由?F?的元素长度为?w?的?n?个向量组成。我们认为是“行宽?w”。

T?是有效的,如果将任意两个连续行??的?2w?值替换为任何约束多项式?fi,则计算结果为零。

STARK可以证明我们知道有效?P?的执行轨迹与一些验证者定义的边界约束一致:例如,我们可以要求轨迹的第一行的第一个值应该为零。

SHIB生态系统代币LEASH上线StealthEX:金色财经报道,SHIB生态系统代币LEASH已在加密货币交易所 StealthEX 上线,SHIB Army 成员现在可以在 StealthEX 移动应用程序上访问 LEASH。据悉,LEASH 是为SHIB生态系统的忠实支持者保留的独特代币,LEASH 的实用性与 Shibaverse(柴犬元宇宙)密切相关。LEASH 的持有者获得在该项目未来的元宇宙中拥有土地的专有权利。用户只需在 SHIB.io 的 LEASH Locker 中锁定 5 个 LEASH 90 天,即可获得多达 200个虚拟地块。[2023/8/5 16:20:23]

让我们看一个经典的例子——斐波那契数列。

我们使用宽度?w=2;作为边界条件,我们要求第一行包含两个。然后我们使用约束多项式

有效的长度轨迹?n=4看起来像这样:

也就是说,有效轨迹必须包含斐波那契数列的连续元素。因此,在第四行的第二个值21上添加边界条件将验证这确实是正确的第8个斐波那契元素。

Blur:锁仓量超1.6亿美元创历史新高,即将发布重要公告:金色财经报道,据NFT聚合市场Blur官推披露信息,其平台锁仓量已达到 1.6082亿美元,创下历史新高。此外Blur还表示即将发布重要公告,但目前暂未披露相关信息。今日Blur创始人Pacman宣布拟于下周调整积分系统,但据社区传言重要公告或与新一季代币空投有关。此外,Domus联创Jacky Gekko称,Blur锁仓量上涨和其推出借贷协议Blend有关,Blend正在成为NFT借贷市场的“游戏改变者”。[2023/6/3 11:55:59]

PAIRs-带有预处理列的AIRs

在一个预处理AIR(PreprocessedAIR),或者说PAIR?T,我们有一个额外的参数?t,并且?t?预处理/预定义了列?c1,…,ct∈F^n。除了证明者提供的?w?列外,一个执行轨迹现在还包括?{ci}?。(我们将证明者提供的列称为执行轨迹的见证部分。)

举例来说当?t=1,w=2,n=4,执行轨迹可能如下所示:

这个多项式约束?fi?将有?2(t+w)?个变量——换句话说,预定义值?ci,j?参与了约束。

香港公司Red Date Technology推出新系统以连接CBDC和稳定币:金色财经报道,香港公司Red Date Technology推出“通用数字支付网络”(UDPN)。UDPN白皮书显示该产品为DLT平台,它将以类似于银行SWIFT的方式连接稳定币和CBDC之间的交易。

该公司表示,从1月至6月,将有多家大型金融机构参与一系列的概念验证实验。参与的金融机构可包括德意志银行、汇丰银行、渣打银行及东亚银行。[2023/1/24 11:27:38]

为了说明PAIRs强大的功能,让我们看看如何使用它们来模拟AIR,其中不同行的约束不同。???一个天然的例子就是AIR,其中对于某些行,我们希望执行的行值相加;对于其他行,我们希望执行乘法。

为此,我们将PAIR?P?定义如下:我们设置?t=1,并将列?c1??定义为行中的一员,当然我们想要相加时为1,以及当我们要相乘时为0。

P的单约束多项式为:

变量?C1??是从预定义的列?c?1??分配的。

很明显,根据?c1?的值强制执行加法或乘法关系。

截止今年5月与Alameda合投项目数量排前三的机构是Coinbase、CMS、JUMP:11月14日消息,根据交易员@FinanceYF3统计的截至2022年5月的一项研究数据显示,与Alameda共同投资项目数量超10个的机构有Coinbase(26起)、CMS(25起)、JUMP(24起)、Multicoin(20起)、Animoca(18起),Spartan(16起),Pantera(15起),Polychain(13起)、Dragonfly(10起)、三箭资本(10起)、Hashkey(10起)。[2022/11/14 13:02:07]

例如,在我们希望执行两次加法然后执行一次乘法的程序中,执行轨迹可能如下所示:

因为可以通过这种方式使用预定义的列来选择操作,所以它们通常被称为“选择器(selecors)”。???

门(gate)之间交替:

上面的例子示意并建议了人们设计PAIR的典型方式:我们预定义了几组约束,将每一组视为一个“门”。然后,在设计我们的最终程序时,我们将这些门分配给每一行。如上例所示,选择器将用来为我们的程序“编译”成PAIR。

苏州、广州、武汉、郑州、昆明获批建设国家区块链发展先导区:9月9日消息,据湖北省经济和信息化厅公示信息显示,近日,工信部正式复函湖北省经信厅,支持武汉市创建国家区块链发展先导区。目前,苏州、广州、武汉、郑州、昆明等五个城市获批建设国家区块链发展先导区。[2022/9/9 13:18:41]

值得注意的是,除了使用选择器在门之间切换外,很多时候门本身也会使用选择器来实现更大的灵活性。一个典型的例子是通过预定义点添加椭圆曲线的门-预定义点将在选择器的值中编码。

RAPs-插入验证者随机性的PAIRs

我们的最终模型是允许多轮交互,其中验证者发送域中随机元素,而证明者可以在看到这些域元素后随后添加更多列。

约束多项式现在可以使用验证者随机性作为附加变量。

我们将这样的程序称为RAP(RandomizedAIRwithPreprocessing)。

让我们用下面的例子来说明RAP。假设我们有一个宽度为2的AIR,并且想要检查证明者提供的列是否是彼此的排列。

假设这些列的值为?a1,…,an,b1,…,bn。

从Schwartz-Zippel引理我们知道,要检查它们是否是彼此的排列,只需检查对于统一选择的γ∈F,我们有很高的概率。

上等式右侧的因子都是非零的,在这种情况下,这相当于

一个RAP长度为n+1和总宽度为3可以很容易地检查:

证明者首先发送列?(a1,…,an,0),(b1,…,bn,0)验证者随机发送γ∈F。证明者发送第三列?(1,z1,…,zn)?这样对于每个i∈

如果?z?是这样定义的,我们的排列检查相当于检查?zn=1。我们可以将其添加为边界约束。

此外,程序必须检查?z?确实是这样定义的。

以此目的

为了说明,下面是这个程序的有效执行轨迹,是当?b?只是?a?的一个移位时:

这里可能在哲学上很有趣的是,随机性使局部约束能够验证全局属性。

turbo-PLONK和ultra-PLONK程序-便于RAPs的特别用例

RAPs比PAIRs更强大,但是对于程序设计通常想到一个PAIR是很方便的,同时允许自己将RAP的一些特殊功能使用黑盒,稍后,这个程序会编译成最后的RAP。

RAP的一种非常有用的特殊功能是强制复制约束。

这意味着强制轨迹的某些元素相等。例如“第一列的第二个元素?a?2???必须等于第二列的第40个元素?b40??”。这就赋予了程序一定的长时记忆能力。

turbo-plonk程序?是一个PAIR,具有在执行轨迹的任意两个元素之间定义复制约束的额外能力。

“在turbo-Plonk中编程”的实用方法:

复制约束使设计人员能够抽象出对执行轨迹和PAIR的明确思考,而是设计如下程序:

我们有一组见证变量,其值只能在程序中设置一次。我们在每个步骤中选择将哪个门应用于哪些变量。上面的内容可能看起来微不足道,也并没有说太多。然而,复制约束对于这种简化的设计方法至关重要的原因是,当见证变量参与两个门时,复制约束将确保两个门中确实使用相同的值,即使它们最终可能会出现在实际RAP中完全不同的行。

ultra-Plonk编程

一个ultra-Plonk程序???是一个turbo-Plonk程序,带有一个额外的、非常强大的门类型,称为查找门。

这意味着作为设计程序的一部分,我们定义了一组表?T1,...,Tk。这些表的元素是一定长度?t的域元素的元组(tuples)。

现在,在设计程序时;我们被允许使用具有以下形式的查找门:“检查这些?t?witness变量的元组是否在表?T4?中”。

在这一点上,从RAP到具有此类功能的程序的飞跃似乎有点神奇。有关如何通过我们在上一节中展示的多重集检查确实可以实现复制约束和查找表的详细信息,请参阅这篇文章。

何时使用lookupgates

启用查找门在最终的SNARK中有很大的成本;根据经验,一旦查找次数与表一样大,它就会得到回报。

总的来说:

对于程序设计者来说,使用turbo和ultra-plonk程序通常会很方便,考虑将哪些门应用于哪些见证变量。这已经很底层了,而且足够复杂和通用!然而,有时最好记住引擎盖下有一个RAP,当需要时,可以利用验证者的随机性来获得更具体/更有效的功能。

这一切与R1CS有什么关系?

如果你熟悉SNARK开发和文献,可能已经看过R1CS约束格式,其中所有约束都具有以下形式

R1CS很好地捕捉了从到Groth优化版本的一系列作品的约束格式。这项工作依赖于检查指数中秘密元素的验证者方程。正如我们目前拥有的加密货币k-线性映射仅适用于k=2个,R1CS确实是这些协议可以使用的最通用的约束形式。

然而,构建SNARK的多项式IOP方法支持更灵活的约束格式。特别是,可以使用大于二的阶数约束。

当使用GGPR方法时,R1CS有一个很好的理论优势——不需要随机预言机模型;还有一个很好的实际优势——证明者组指数的数量不依赖于加法门的数量或fan-in。然而,获得这些优势需要为每个电路的做可信设置。

假设我们正在使用Sonic、Plonk和Marlin这样的通用设置系统,可能更难说我们应该将自己限制在R1CS上。

标签:AIRRAPLONPLOAIRDROPWrapped Bitcoin DiamondBabylon FinancePLOW币

Bitcoin热门资讯
ION:新火科技全年亏损2亿港元,申请香港牌照

港股新火科技发布更名后的首份财报。截止到2022年9月30日,新火科技2022年财年总收入94.53亿港元,同比上涨1447.8%.

1900/1/1 0:00:00
WEB3:香港贸易发展局副总裁刘会平确认出席香港Web3创新者峰会

12月27日,香港贸易发展局副总裁刘会平确认出席将于1月9-10日举行的POW’ER2023香港Web3创新者峰会并参与相关议题的讨论.

1900/1/1 0:00:00
数字资产:行业动态|「2022年中国元宇宙产业生态图谱」重磅发布,六大领域超200家企业入选

本年度共收录了超200例元宇宙企业/项目/产品,以更加全面的视角为行业发展提供参考与助力。同时,36氪根据公开资料整理了2022年元宇宙领域大事记,记录了本年度产业链的变迁.

1900/1/1 0:00:00
NBA:#152以太坊核心开发者会议笔记

前言:有看ECN每周更新的“以太七日谈”的朋友可能会发现,“七日谈”已经停更了将近一个月。除了由于前段时间编辑感染Covid无法保持更新外,ECN也在思考是否应该继续“七日谈”的编辑.

1900/1/1 0:00:00
YIN:Web3 在马尔克斯的土地上

文章重点:?虽然Web3浪潮兴起于欧美地区、又在亚洲和中东等地区得到了极大关注,但相比于这些「供大于求」的市场,真正自下而上地从需求端拥抱Web3的是拉美地区.

1900/1/1 0:00:00
HTT:巴比特 | 元宇宙每日必读:2022年高校招标的元宇宙相关项目达27个,总价格超过6500万元,供应商称元宇宙校园订单增长迅速

摘要:据链新报道,高校的元宇宙布局是一个规模可观的元宇宙市场需求,据不完全统计,2022年高校招标的元宇宙相关项目达27个,总价格超过6500万元.

1900/1/1 0:00:00