我們在這篇文章中解釋了如何思考和利用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?的執行軌跡與一些驗證者定義的邊界約束一致:例如,我們可以要求軌跡的第一行的第一個值應該為零。
上周數字資產投資產品凈流入250萬美元:金色財經報道,據CoinShares報告顯示,上周數字資產投資產品凈流入250萬美元。其中比特幣投資產品凈流入880萬美元,以太坊投資產品凈流出280萬美元,做空比特幣的投資產品凈流出250萬美元。[2023/4/3 13:42:10]
讓我們看一個經典的例子——斐波那契數列。
我們使用寬度?w=2;作為邊界條件,我們要求第一行包含兩個。然后我們使用約束多項式
有效的長度軌跡?n=4看起來像這樣:
也就是說,有效軌跡必須包含斐波那契數列的連續元素。因此,在第四行的第二個值21上添加邊界條件將驗證這確實是正確的第8個斐波那契元素。
PAIRs-帶有預處理列的AIRs
在一個預處理AIR(PreprocessedAIR),或者說PAIR?T,我們有一個額外的參數?t,并且?t?預處理/預定義了列?c1,…,ct∈F^n。除了證明者提供的?w?列外,一個執行軌跡現在還包括?{ci}?。(我們將證明者提供的列稱為執行軌跡的見證部分。)
研究:2022年比特幣與高收益公司債務的相關性最高:金色財經報道,研究表明,比特幣在2022年與高收益公司債務、小型股和成長股高度相關。比特幣與小型股的相關性為0.59,與高收益公司債的相關性為0.64,與小型成長股的相關性為0.63。這些資產都可以被視為風險偏好或具有更大的長期潛力,但更容易受到負面事件和看跌情緒的影響。[2023/1/20 11:22:11]
舉例來說當?t=1,w=2,n=4,執行軌跡可能如下所示:
這個多項式約束?fi?將有?2(t+w)?個變量——換句話說,預定義值?ci,j?參與了約束。
為了說明PAIRs強大的功能,讓我們看看如何使用它們來模擬AIR,其中不同行的約束不同。???一個天然的例子就是AIR,其中對于某些行,我們希望執行的行值相加;對于其他行,我們希望執行乘法。
為此,我們將PAIR?P?定義如下:我們設置?t=1,并將列?c1??定義為行中的一員,當然我們想要相加時為1,以及當我們要相乘時為0。
P的單約束多項式為:
比特幣上市礦企Riot Blockchain正在起訴加密托管公司Northern Data:金色財經報道,比特幣上市礦企Riot Blockchain (RIOT) 正在起訴托管公司Northern Data (NB2X:GER),指控其違約和未披露重要信息。該訴訟涉及德克薩斯Whinstone 比特幣礦,該礦預計將成為世界上最大的電力產能之一,Riot 去年以6.51億美元(8000萬美元現金和1180萬股 Riot 股票)從Northern Data收購了該礦。在9 月7日向特拉華州法院提起的訴訟中,Riot 聲稱德國的 Northern Data 未能向第三方披露 8400 萬美元的債務,Riot還表示,Northern Data繼續拖延談判,并延遲支付其欠Riot的近1.14億美元。[2022/9/22 7:12:27]
變量?C1??是從預定義的列?c?1??分配的。
很明顯,根據?c1?的值強制執行加法或乘法關系。
例如,在我們希望執行兩次加法然后執行一次乘法的程序中,執行軌跡可能如下所示:
NFT項目Okay Bears與IMG簽署授權協議:9月20日消息,Solana生態NFT項目Okay Bears與國際經紀公司IMG簽署授權協議,IMG已被任命為全球獨家授權代表,將為Okay Bears推出消費產品和體驗。(CoinDesk)[2022/9/21 7:09:32]
因為可以通過這種方式使用預定義的列來選擇操作,所以它們通常被稱為“選擇器(selecors)”。???
門(gate)之間交替:
上面的例子示意并建議了人們設計PAIR的典型方式:我們預定義了幾組約束,將每一組視為一個“門”。然后,在設計我們的最終程序時,我們將這些門分配給每一行。如上例所示,選擇器將用來為我們的程序“編譯”成PAIR。
值得注意的是,除了使用選擇器在門之間切換外,很多時候門本身也會使用選擇器來實現更大的靈活性。一個典型的例子是通過預定義點添加橢圓曲線的門-預定義點將在選擇器的值中編碼。
RAPs-插入驗證者隨機性的PAIRs
我們的最終模型是允許多輪交互,其中驗證者發送域中隨機元素,而證明者可以在看到這些域元素后隨后添加更多列。
CZ:5到10年內DeFi規模將超過CeFi:7月1日消息,幣安創始人CZ在接受Bankless視頻專訪時表示,5到10年內DeFi規模將超過CeFi。我們不想在未來持有任何人的現金或數據。[2022/7/1 1:45:12]
約束多項式現在可以使用驗證者隨機性作為附加變量。
我們將這樣的程序稱為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上。
Tags:AIRRAPLONPLOBillionaire PlusWrapped LEO3X Long Algorand TokenETHPLO幣
MarsBitCryptoDaily2023年1月5日 一、?今日要聞 SuZhu:灰度因嚴重違反監管法規而無法披露GBTC中BTC地址針對灰度無法披露GBTC中BTC地址一事.
1900/1/1 0:00:00三位知情人士透露,加密投資管理公司?Abra?正在重組其幾條業務線并考慮削減成本,以此作為應對熊市的緩沖措施。據悉,該公司希望成為美國第一家受監管的加密貨幣銀行.
1900/1/1 0:00:00近日,7UpDAO邀請嘉賓Jimmy,iZUMiFinanceCo-Founder開展主題為《回顧2022,展望2023》的內容分享.
1900/1/1 0:00:00這是來自“StephanLiveraPodcast”主持人兼SwanBitcoinInternational董事總經理StephanLivera的評論文章.
1900/1/1 0:00:00Bitfinex:開放USDT存取款,金融自由的推動者FTX的崩潰幾乎是瞬間發生的。在11月2日Coindesk發布的Alameda資產概覽中表明Alameda很有可能資不抵債.
1900/1/1 0:00:00近期,7upDAO邀請了MaskNetworkFounder@suji_yan、NothingResearchPartner@0x_Todd、SkySagaCapitalFoundingPart.
1900/1/1 0:00:00