擴展、隱私與前沿

zk-SNARK

zk-SNARK 是零知識證明中一種特別且極為實用的形式,其名稱是幾項定義性特徵的縮寫:零知識(Zero-Knowledge,除斷言為真外不透露任何資訊)、簡潔(Succinct,證明非常小且核驗極快)、非互動(Non-interactive,證明者只發送一份證明,無需來回往返)、知識論證(ARgument of Knowledge,令人信服地表明證明者確實掌握那項秘密資訊)。這些性質合在一起,使它非常適合區塊鏈。

它的超能力在於簡潔。一項計算可能涉及數百萬步,而由此生成的 zk-SNARK 證明卻可能只有幾百位元組,並能在毫秒內完成驗證。正是這一點,讓區塊鏈無需重做任何工作,就能確認一大批鏈下計算被正確執行——這正是大多數 zk-Rollup 內部的引擎。非互動這一點同樣重要:證明者發布一份自洽的證明,任何人、任何時候都可核驗,無需進行一場即時對話。

可以把它想像成密封報告上一枚防偽印章:小巧、一眼可辨、無法偽造,卻能證明海量的隱藏工作完全按規格完成。一個經典的注意事項是:許多 zk-SNARK 系統需要一次性的可信初始化來生成其公共參數,而那批秘密材料事後必須被銷毀;較新的方案如 zk-STARK 則免去了這一要求,代價是證明體積稍大一些。

一種相關方案 zk-STARK 取消了可信初始化的要求,也更能抵禦未來的量子電腦,但通常會產生更大的證明。

又稱
SNARKsuccinct non-interactive argument of knowledge