我們在這篇文章中解釋了如何思考和利用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?的執行軌跡與一些驗證者定義的邊界約束一致:例如,我們可以要求軌跡的第一行的第一個值應該為零。
Binance及其創始人CZ要求美國法官駁回CFTC提起的訴訟:金色財經報道,加密貨幣交易平臺運營商Binance Holdings Ltd.及其聯合創始人CZ要求美國聯邦法官駁回商品期貨交易委員會(CFTC)提起的訴訟。
Binance和CZ的律師周四向芝加哥法院提出了駁回動議。他們在文件中寫道,在本案中,CFTC尋求監管在美國境外居住和經營的外國個人和公司,超越其法定權力的限制,并踐行與外國主權國家的根深蒂固的禮讓原則。
CFTC在3月份起訴該公司和CZ,指控他們故意采取措施規避美國法律,包括故意允許美國人使用該平臺買賣加密貨幣衍生品,盡管幣安從未注冊。[2023/7/28 16:04:12]
讓我們看一個經典的例子——斐波那契數列。
我們使用寬度?w=2;作為邊界條件,我們要求第一行包含兩個。然后我們使用約束多項式
有效的長度軌跡?n=4看起來像這樣:
也就是說,有效軌跡必須包含斐波那契數列的連續元素。因此,在第四行的第二個值21上添加邊界條件將驗證這確實是正確的第8個斐波那契元素。
某釣魚地址已將100枚ETH轉入Tornado Cash:金色財經消息,據CertiK監測,被Etherscan標注為Fake_Phishing76357 已將100枚ETH(約182.6K美元)經由EOA地址(0xbe71...f6309c2 )轉入Tornado Cash。[2023/5/24 15:23:02]
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?參與了約束。
為了說明PAIRs強大的功能,讓我們看看如何使用它們來模擬AIR,其中不同行的約束不同。???一個天然的例子就是AIR,其中對于某些行,我們希望執行的行值相加;對于其他行,我們希望執行乘法。
以太坊客戶端Geth發布v1.11.5版本,以能在4月13日啟用上海主網升級:3月21日消息,Go Ethereum發布以太坊客戶端Geth v1.11.5版本(Erszbat),Geth v1.11.5將在UTC時間4月12日22:27:35(北京時間4月13日06:27:35)啟用上海主網升級。
此前3月16日消息,以太坊主網將于4月12日進行上海(Shapella)升級。[2023/3/21 13:17:06]
為此,我們將PAIR?P?定義如下:我們設置?t=1,并將列?c1??定義為行中的一員,當然我們想要相加時為1,以及當我們要相乘時為0。
P的單約束多項式為:
變量?C1??是從預定義的列?c?1??分配的。
很明顯,根據?c1?的值強制執行加法或乘法關系。
例如,在我們希望執行兩次加法然后執行一次乘法的程序中,執行軌跡可能如下所示:
因為可以通過這種方式使用預定義的列來選擇操作,所以它們通常被稱為“選擇器(selecors)”。???
Web3 3D建模初創公司MY3DMeta完成1.05億盧比融資,AccelNest等參投:金色財經報道,總部位于印度欽奈的 Web3 3D 建模初創公司 MY3DMeta 宣布完成 1.05 億盧比融資,The Chennai Angels、Dholakia Ventures、AccelNest、Karn Nagpal、以及一批天使投資人參投。MY3DMeta 成立于 2016 年,幫助用戶創建 3D 角色、3D NFT、以及逼真的 3D 數字人,其 3D 建模技術引擎可以為 3D 資產創建提供支持,并且讓開發人員更輕松地構建動畫、NFT、游戲、Web3 和元宇宙中的 3D 模型。(uniindia)[2022/11/10 12:44:24]
門(gate)之間交替:
上面的例子示意并建議了人們設計PAIR的典型方式:我們預定義了幾組約束,將每一組視為一個“門”。然后,在設計我們的最終程序時,我們將這些門分配給每一行。如上例所示,選擇器將用來為我們的程序“編譯”成PAIR。
值得注意的是,除了使用選擇器在門之間切換外,很多時候門本身也會使用選擇器來實現更大的靈活性。一個典型的例子是通過預定義點添加橢圓曲線的門-預定義點將在選擇器的值中編碼。
美元指數DXY日內大跌1.0%,現報111.77:金色財經報道,美元指數DXY日內大跌1.00%,現報111.77。[2022/10/22 16:35:05]
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上。
講道理,OP治理機制越來越吸引我了,并不是說有多bullishvibe,而是它跟我最近思考的東西很像.
1900/1/1 0:00:00Gitcoin是一個對接捐贈者和開源項目創業者的平臺,開發者可以在這里獲得報酬,以使用各種編程語言開發開源軟件.
1900/1/1 0:00:00緊接著臺北區塊鏈周,NFTTaipei在今日于三創生活園區盛大展開。活動首個節目便邀請到以太坊創辦人VitalikButerin及MaskNetwork創辦人SujiYan進行爐邊談話,談及了零.
1900/1/1 0:00:00編者案:?12月16日,接連兩家會計事務所Armanino、Mazars宣布將退出加密貨幣市場,成為熱議話題,本文通過聚焦其中曾為FTXUS提供服務的一家事務所?Armanino.
1900/1/1 0:00:00美國證券交易監督委員會在本周三提交的對加密資產交易所FTX聯合創始人GaryWang和AlamedaResearch前首席執行官CarolineEllison的訴訟中表示.
1900/1/1 0:00:00以太坊在新年動作頻頻,不僅在1月8日的開發者會議上確認了上海升級,包括2月份的公共測試網和3月份的主網啟動計劃,也在1月9日發布了以太坊基金會官網的2023年Q1路線圖.
1900/1/1 0:00:00