寮曡█
闆剁煡璇嗚瘉鏄庯紙Zero-Knowledge Proof, ZKP锛変綔涓虹幇浠e瘑鐮佸鐨勬牳蹇冩妧鏈箣涓€锛屼娇寰楄瘉鏄庤€呰兘澶熷湪涓嶆硠闇蹭换浣曠鏈変俊鎭殑鍓嶆彁涓嬪悜楠岃瘉鑰呰瘉鏄庢煇涓檲杩扮殑姝g‘鎬с€備粠Zcash鐨勯殣绉佷氦鏄撳埌浠ュお鍧奓ayer2鐨剒kRollup鎵╁鏂规锛孼K-SNARK鍜孼K-STARK涓ゅぇ鎶€鏈矾绾垮凡缁忓湪鍖哄潡閾俱€佽韩浠借璇併€佹暟鎹殣绉佸悎瑙勭瓑棰嗗煙瀹炵幇浜嗗ぇ瑙勬ā宸ョ▼鍖栬惤鍦般€?/p>
ZK-SNARK vs ZK-STARK锛氭妧鏈矾绾垮姣?/h2>
ZK-SNARK锛圸ero-Knowledge Succinct Non-Interactive Argument of Knowledge锛夌殑鏍稿績浼樺娍鍦ㄤ簬璇佹槑灏哄鏋佸皬锛堢害288瀛楄妭锛変笖楠岃瘉鏃堕棿鎭掑畾銆備絾鍏朵緷璧栧垵濮嬪彲淇¤缃紙Trusted Setup锛夛紝闇€瑕侀€氳繃澶氭柟璁$畻浠紡锛堝Powers of Tau锛夌敓鎴愬叕鍏卞弬鑰冨瓧绗︿覆锛圕RS锛夛紝涓€鏃︿华寮忚鏀荤牬鍒欐暣涓郴缁熷畨鍏ㄦ€у穿濉屻€?/p>
ZK-STARK锛圸ero-Knowledge Scalable Transparent Argument of Knowledge锛夊垯瀹屽叏鏃犻渶鍙俊璁剧疆锛屽熀浜庢姉纰版挒鐨勫搱甯屽嚱鏁板疄鐜伴€忔槑鎬с€傚叾璇佹槑灏哄杈冨ぇ锛堢害45-200KB锛夛紝浣嗗叿澶囨姉閲忓瓙璁$畻鏀诲嚮鐨勮兘鍔涳紝涓旈殢鐫€璁$畻澶嶆潅搴﹀鍔犺瘉鏄庣敓鎴愭椂闂村憟鎷熺嚎鎬у闀匡紝鍦ㄥぇ瑙勬ā璁$畻鍦烘櫙涓嬪叿澶囨洿寮虹殑鍙墿灞曟€с€?/p>
R1CS绾︽潫绯荤粺鐨勭數璺缓妯?/h2>
ZK-SNARK涓渶骞挎硾浣跨敤鐨勭畻鏈寲鏂规硶鏄?strong>R1CS锛圧ank-1 Constraint System锛夈€俁1CS灏嗗緟璇佹槑鐨勮绠楄繃绋嬭浆鍖栦负涓€绯诲垪褰㈠ (A 路 w) 鈯?(B 路 w) = (C 路 w) 鐨勪簩娆$害鏉熸柟绋嬶紝鍏朵腑 w 涓轰竴缁勫寘鍚緭鍏ャ€佷腑闂村彉閲忓拰杈撳嚭鐨?witnesses 鍚戦噺銆?/p>
浠ヤ竴涓畝鍗曠殑骞撮緞楠岃瘉涓轰緥锛氳瘉鏄庤€呭0绉板叾骞撮緞澶т簬绛変簬18宀侊紝浣嗕笉閫忛湶鍏蜂綋骞撮緞鏁板€笺€傛垜浠彲浠ユ瀯寤哄涓婻1CS绾︽潫锛?/p>
// 绾︽潫1: age - 18 - non_negative = 0
// 绾︽潫2: non_negative * non_negative = non_negative (纭繚闈炶礋鎬ф爣蹇椾负0鎴?)
// 绾︽潫3: 瀵瑰樊鍊煎湪姣忎釜姣旂壒浣嶄笂鏂藉姞0/1绾︽潫锛岄獙璇佸樊鍊兼湰韬负闈炶礋鏁?/code>
杩欑绾︽潫绯荤粺鐨勮〃杈捐兘鍔涙湁闄愶紝鏃犳硶鐩存帴澶勭悊闈炰簩娆$害鏉燂紝鍥犳宸ョ▼涓€氬父閫氳繃寮曞叆杈呭姪鍙橀噺鍜屽垎瑙g害鏉熸潵灏嗕换鎰忚绠楄浆鍖栦负鏍囧噯R1CS褰㈠紡銆?/p>
PLONKish绠楁湳鍖栵細Lookup Argument涓庡鍒剁害鏉?/h2>
涓轰簡瑙e喅R1CS姣忔洿鎹㈢數璺兘闇€瑕侀噸鏂扮敓鎴怌RS鐨勯棶棰橈紝PLONK鍗忚寮曞叆浜嗛€氱敤鐨?strong>Selectors鍒楀拰Copy Constraints锛屽彧瑕佺數璺棬鏁伴噺涓嶅彉鍗冲彲澶嶇敤鍚屼竴濂桽RS锛圫tructured Reference String锛夈€?/p>
PLONKish鐨勬牳蹇冪瓑寮忎负锛?/p>
q_L * a + q_R * b + q_O * c + q_M * (a * b) + q_C = 0
鍏朵腑 q_L, q_R, q_O, q_M, q_C 涓洪€夋嫨鍣紝a, b, c 鍒嗗埆涓洪棬鐨勫乏杈撳叆銆佸彸杈撳叆鍜岃緭鍑恒€傞€氳繃閫夋嫨鍣ㄧ殑缁勫悎鍚屼竴鐢佃矾妯℃澘鍙互琛ㄧず鍔犳硶銆佷箻娉曘€佸父鏁拌祴鍊肩瓑澶氱闂ㄧ被鍨嬨€?/p>
鏇磋繘涓€姝ョ殑Halo2 lookup argument鍏佽鍦∣(n log n)鐨勮瘉鏄庡紑閿€鍐呰繘琛屼换鎰忛泦鍚堢殑鎴愬憳鍒ゅ畾锛屼緥濡傞獙璇佷竴涓瓧鑺傚€肩‘瀹炲湪0-255鑼冨洿鍐咃紝鎴栬€呴獙璇佷袱涓泦鍚堜箣闂村瓨鍦ㄦ帓鍒楀叧绯伙紝杩欏铏氭嫙鏈烘墽琛岃建杩圭殑楠岃瘉鑷冲叧閲嶈銆?/p>
ZK-VM璁捐锛氫粠Jolt鍒癝P1鐨勮寖寮忚浆鍙?/h2>
闀挎湡浠ユ潵ZK-VM鐨勫紑鍙戞ā寮忔槸灏嗛珮绾ц瑷€缂栬瘧涓篟1CS/PLONKish鐢佃矾锛岃繖绉嶆柟寮忓湪姣忔浼樺寲铏氭嫙鏈烘寚浠ら泦鏃堕渶瑕侀噸鏂拌璁$數璺€昏緫銆?024骞存彁鍑虹殑Jolt锛圝ust One Lookup Table锛夋鏋跺交搴曟敼鍙樹簡杩欎竴鑼冨紡锛氳瘉鏄庤€呭彧闇€鎻愪氦鎵ц杞ㄨ抗锛圱race锛夛紝楠岃瘉鑰呴€氳繃Sumcheck鍗忚鍜孡ookup Argument鏉ラ€愭寚浠ら獙璇佹墽琛岀殑姝g‘鎬с€?/p>
Jolt鐨勬牳蹇冩€濇兂鏄妸姣忎釜鎸囦护鐨勯獙璇佽浆鍖栦负鏌ヨ〃鎿嶄綔锛氱畻鏈寚浠ゆ煡琛ㄩ璁$畻鐨凩ookup Table鏉ラ獙璇佸姞娉?涔樻硶鍏崇郴锛屽唴瀛樻寚浠ゆ煡琛∕emory Bus Table鏉ラ獙璇佽鍐欎竴鑷存€с€傝繖绉嶈璁′娇寰梈K-VM鐨勮瘉鏄庡櫒鎬ц兘鎻愬崌浜?0-100鍊嶏紝涓旀坊鍔犳柊鎸囦护浠呴渶鏂板瀵瑰簲鐨凩ookup Table锛屽ぇ澶ч檷浣庝簡宸ョ▼缁存姢鎴愭湰銆?/p>
RISC Zero鐨凷P1鍜孲uccinct鐨凷P1閮藉熀浜庣被浼兼€濇兂瀹炵幇浜嗛珮鎬ц兘鐨凴ISC-V ZK-VM锛屽凡鍙湪涓€鍒嗛挓鍐呯敓鎴愭暟鍗冩潯鎸囦护鎵ц鐨勯浂鐭ヨ瘑璇佹槑銆?/p>
纭欢鍔犻€燂細FPGA涓嶨PU鍦ㄨ瘉鏄庣敓鎴愪腑鐨勫簲鐢?/h2>
璇佹槑鐢熸垚鐨勮绠楃摱棰堥泦涓湪涓や釜鐜妭锛?strong>Multi-Scalar Multiplication (MSM) 鍜?Number Theoretic Transform (NTT)銆?/p>
MSM璁$畻褰㈠ 鈭?P_i 脳 s_i 鐨勬き鍦嗘洸绾挎爣閲忎箻娉曚箣鍜岋紝鍗犳嵁SNARK璇佹槑鐢熸垚鏃堕棿鐨?0-70%銆傞噺鏃嬬鎶€鍜孖ngonyama绛夊洟闃熷凡寮€鍙戝嚭涓撶敤MSM鍔犻€熷櫒锛屽熀浜嶱ipeMSM鍜孋onvex Hull浼樺寲绠楁硶鍦‵PGA涓婂疄鐜颁簡姣擥PU蹇?-5鍊嶇殑MSM璁$畻銆?/p>
NTT鍒欒礋璐e皢澶氶」寮忎粠绯绘暟琛ㄧず杞崲涓虹偣鍊艰〃绀轰互鍔犻€熷椤瑰紡涔樻硶锛屼笌浼犵粺FFT涓嶅悓鐨勬槸NTT鍦ㄦ湁闄愬煙涓婅繘琛屻€傜洰鍓嶇殑浼樺寲绛栫暐鍖呮嫭锛氬埄鐢℅PU鐨剆hared memory鍑忓皯鍏ㄥ眬鍐呭瓨璁块棶寤惰繜銆侀噰鐢–ooley-Tukey娣峰悎鍩虹畻娉曢€傞厤GPU鐨凷IMT鏋舵瀯銆佷互鍙婁娇鐢–UDA鐨剋arp shuffle鎸囦护鍔犻€熻澊铦惰繍绠椾腑鐨勬暟鎹氦鎹€?/p>
宸ョ▼瀹炶返锛歝ircom涓巒oir鐨勫紑鍙戣€呬綋楠屽姣?/h2>
Circom鏄巻鍙叉渶鎮犱箙鐨刏KP鐢佃矾璇█锛岄厤濂梥narkjs宸ュ叿閾炬敮鎸佹祻瑙堝櫒绔瘉鏄庣敓鎴愩€傚叾璇硶鍙楅檺浜嶳1CS绾︽潫绯荤粺锛屽紑鍙戣€呴渶瑕佹墜鍔ㄧ鐞嗕俊鍙凤紙Signal锛夌殑绾︽潫鍏崇郴锛屽涔犳洸绾块櫋宄絾鏂囨。鍜岀敓鎬佹渶涓轰赴瀵屻€?/p>
Noir鍒欑敱Aztec鍥㈤槦鎺ㄥ嚭锛屾彁渚涚被浼糝ust鐨勯珮绾ц娉曪紝鍚庣鏀寔PLONK鍜孶ltraPLONK涓ょ绠楁湳鍖栨柟妗堛€侼oir鏈€澶х殑鍒涙柊鍦ㄤ簬鍏?strong>Brillig铏氭嫙鏈猴細瀵逛簬鍝堝笇璁$畻绛変笉閫傚悎绠楁湳鍖栫殑鎿嶄綔锛屽彲浠ユ爣璁颁负Brillig浠g爜鍦ㄨ櫄鎷熸満涓墽琛岋紝鐢辫瘉鏄庡櫒閫氳繃涓€娆¢澶栬瘉鏄庢潵楠岃瘉鍏舵墽琛屾纭€с€?/p>
缁撹
闆剁煡璇嗚瘉鏄庢浠庡鏈瘑鐮佸鍗忚蹇€熻蛋鍚戝伐绋嬪寲鐨勫ぇ瑙勬ā搴旂敤銆傞殢鐫€Jolt绛夋柊鍨嬭瘉鏄庤寖寮忕殑鍏磋捣鍜屼笓鐢ㄧ‖浠跺姞閫熺殑鎴愮啛锛孼K璇佹槑鐨勭敓鎴愭椂闂存湁鏈涜繘涓€姝ラ檷浣庡埌姣绾у埆锛屽湪闅愮鍚堣璁$畻銆佸幓涓績鍖栬韩浠姐€佸彲楠岃瘉AI鎺ㄧ悊绛夋柊鍏村満鏅腑鍙戞尌鏇村ぇ鐨勪环鍊笺€?/p>

发表评论 取消回复