重點整理

  • zk-SNARKs 與 zk-STARKs 是密碼學工具,可讓一方在不揭露資訊本身的情況下向另一方證明其知道某些資訊;這利用了稱為零知識證明(zero-knowledge proofs)的概念。

  • zk-SNARKs 需要初始的可信設定以生成公開參數,而 zk-STARKs 是透明的,並消除了這項需求,僅使用可公開驗證的隨機性。

  • 與 zk-SNARKs 相比,zk-STARKs 會產生更大的證明大小;由於它們依賴雜湊函數(hash functions)而非橢圓曲線密碼學,因此被認為對潛在的量子運算威脅更具抵抗力。

  • 如今,這兩種技術已被廣泛用於區塊鏈的擴容,為能夠處理大量交易並向以太坊主網提交單一精簡證明(compact proof)的 Layer 2 網路提供動力。

  • 像 PLONK 這類較新的 SNARK 設計,透過支援通用設定(universal setup)來降低對可信設定的疑慮,這種設定可適用於許多不同程式。更新較近的系統(包含 Plonky2、Plonky3 以及 Circle STARKs)仍持續推動該領域向前。

Binance Academy courses banner

簡介

zk-SNARKs 與 zk-STARKs 是零知識證明(ZK proofs)的兩種實作。零知識證明是一種加密方法,能讓一方在不分享底層資料的情況下證明某個敘述為真。兩者已成為現代區塊鏈在處理隱私與擴容方面的核心技術。

最初,人們對這些技術的興趣來自於加密貨幣中的隱私應用。隨著時間推移,最具影響力的使用案例已轉向擴容。現在,ZK 證明支撐了以太坊上一些最大的 Layer 2 網路,使交易能更快、更便宜,同時不犧牲安全性。

本文將說明 zk-SNARKs 與 zk-STARKs 的運作方式、它們的差異,以及它們在實務中如何被使用。

什麼是零知識證明(Zero-Knowledge Proofs)?

零知識證明可讓證明者說服驗證者:一個敘述為真,同時在不揭露任何內容(除了「該敘述為真」這件事之外)下,驗證者仍能相信。經典的例子是阿里巴巴的山洞(Ali Baba's Cave):想像一個中間有魔法門的環形山洞。Alice 宣稱她知道打開門的祕密字句。

Bob 站在外面,Alice 進入後再出現。接著,Bob 告訴她要從哪個出口出來。若 Alice 能夠持續地從正確的出口出現,Bob 就會相信她確實知道祕密,即使 Bob 本人從未聽到她說出字句。這個過程可以重複進行,以降低她因運氣猜對的機率。

ZK 證明把這個概念轉化成用於驗證計算、驗證身分(authenticate identities)、以及確認交易有效性的密碼學協議,同時不會暴露底層的資訊。

什麼是 zk-SNARKs?

zk-SNARK 是 zero-knowledge succinct non-interactive argument of knowledge 的縮寫。Zcash 是最早部署 zk-SNARKs 的加密貨幣專案之一,使用它們讓網路能在不揭露交易金額或地址的情況下驗證私密交易。

「Succinct(精簡)」表示即使底層運算非常複雜,證明仍然很小且可快速驗證。「Non-interactive(非互動)」表示證明者與驗證者不需要交換多則訊息;證明者產生證明,驗證者則在單一步驟中完成檢查。這使得 zk-SNARKs 在區塊鏈使用案例中變得實用。

傳統的 zk-SNARKs 需要可信設定(trusted setup)階段。這包含生成一組共用的公開參數,供證明者與驗證者共同使用。若在這個設定過程中使用的隨機性(randomness)曾經被洩露,就可能有人製造出看似有效的詐欺證明。Zcash 透過多方計算(multi-party computation)儀式來解決:多位參與者各自貢獻隨機性;只要至少有一位參與者銷毀了其所屬份額,設定就仍然是安全的。

較新的 SNARK 設計,最具代表性的是 PLONK(2019),使用通用且可更新的可信設定。這表示同一套設定可以用於許多不同的程式,而不需要為每一個電路(circuit)都進行一次獨立的儀式。這能大幅降低對可信設定的實務性顧慮。自那之後,證明系統的生態也持續演進,例如 Plonky2 與 Plonky3 結合了類 SNARK 的精簡性與類 STARK 的透明性特質,而 Circle STARKs 也為特定類型的運算提供了進一步的效率提升。

什麼是 zk-STARKs?

zk-STARK 是 zero-knowledge scalable transparent argument of knowledge 的縮寫。所謂「transparent(透明)」是關鍵差異:zk-STARKs 不需要可信設定。他們依賴從雜湊函數產生、且可公開驗證的隨機性。這代表任何人都能在不需要信任某群儀式參與者的情況下驗證設定參數。

zk-STARKs 使用的是具抗碰撞性的雜湊函數(collision-resistant hash functions),而不是多數 SNARK 設計所依賴的橢圓曲線密碼學。這使得它們理論上可能更能抵抗來自量子電腦的攻擊,因為量子電腦可能破壞基於橢圓曲線的方案。一般而言,雜湊函數被認為對量子攻擊更有抗性。

取捨在於證明大小。zk-STARK 的證明大小明顯大於 zk-SNARK,這會增加需要在鏈上發布的資料量。在某些情境下,這可能轉化為更高的交易成本;不過研究人員仍持續尋找方法來縮小證明大小。

zk-SNARKs vs. zk-STARKs:關鍵差異

這兩項技術用於達成相似目的,但做了不同的取捨。zk-SNARKs 能產生更小、可更快速驗證的證明,且擁有更成熟的工具生態。它們主要缺點是需要可信設定,這會引入協調與信任成本;但較新的設計已經降低了這種問題。

zk-STARKs 完全消除了可信設定,使其更容易審計與部署。它們的證明較大,但被認為對潛在的量子運算進展更具未來性(future-proof)。Starknet 這個重要的以太坊 Layer 2 是建立在 zk-STARKs 上。ZKsync 使用稱為 Boojum 的自訂證明系統,借鑑了 SNARK 與 STARK 的設計原則,而不是乾淨地只歸於其中一類。Polygon zkEVM 則主要建立在基於 SNARK 的證明之上。

在 2026 年的大多數實務區塊鏈應用中,這兩種技術都具有可行性。選擇通常取決於特定的實作需求、工具可用性,以及團隊對各自系統的熟悉程度。

zk-SNARKs 與 zk-STARKs 的使用案例

目前最重大的使用案例是第二層(Layer 2)的擴容。ZK-rollup 會在鏈下將大量交易進行批次打包,然後向以太坊主網提交一個單一的 ZK 證明,以證明所有交易都是有效的。這使得網路能以更低的成本處理遠更多的交易,同時不會削弱底層(base layer)的安全保證。

例如 ZKsync 與 Starknet 這類專案,會在其各自的證明系統之上運行基於 ZK 的 Layer 2 網路。zkEVM 技術的開發,讓 ZK 證明可以實用地用於一般用途的智慧合約執行,且可與以太坊虛擬機(EVM)相容。到 2026 年,多個已上線的 zkEVM 網路正在投入生產使用。

除了擴容之外,ZK 證明也被用於保護隱私的交易(例如 Zcash)、去中心化身分系統(使用者可以在不揭露個人資料的情況下證明屬性)、以及可驗證的投票系統。相較於樂觀式 rollup,ZK-rollup 的優點是不需要為提款到主網預留 7 天的挑戰期。實務上,生成證明仍需要一些時間,因此提款並非即時,但由於不存在挑戰視窗,最終性(finality)可以快得多。

常見問題(FAQ)

zk-SNARKs 與 zk-STARKs 的差異是什麼?

zk-SNARKs 會產生更小、可更快速驗證的證明,但需要可信設定(trusted setup)階段。zk-STARKs 不需要可信設定,並被認為對量子攻擊更有抗性,但會產生較大的證明大小。兩者都已用於當今主要的區塊鏈 Layer 2 網路。查看我們的零知識證明(zero-knowledge proof)術語表條目,以獲得快速參考。

為什麼 zk-SNARKs 需要可信設定?

zk-SNARKs 要能運作,需要一組共用的公開參數。這些參數會在設定(setup)階段透過秘密隨機性(secret randomness)產生。若這些隨機性被暴露,某人就可能創造看似有效的假證明。較新的 SNARK 設計(例如 PLONK)使用通用設定(universal setup),能大幅降低所需的信任程度。

zk-STARKs 比 zk-SNARKs 更安全嗎?

zk-STARKs 完全移除了可信設定,並使用基於雜湊函數(hash-function-based)的密碼學;相較於大多數 SNARK 系統中依賴的橢圓曲線密碼學(elliptic curve cryptography),它被認為對量子運算威脅更有抵抗力。究竟哪個更「安全」取決於具體的威脅模型(threat model)與實作細節。

哪些區塊鏈使用 zk-SNARKs 或 zk-STARKs?

Zcash 使用 zk-SNARKs 來進行隱私交易。Starknet 使用 zk-STARKs 來驅動其以太坊 Layer 2。ZKsync Era 使用自訂的證明系統(Boojum),結合了兩種做法的元素。Polygon zkEVM 使用基於 SNARK 的證明來實現 ZK-rollup 的擴容。ZK 證明系統是區塊鏈基礎建設中正在被高度積極開發的領域之一。

zk-proofs 能用在加密貨幣以外的領域嗎?

可以。ZK 證明在隱私保護的身分驗證(例如在不揭露護照的前提下證明年齡或國籍)、安全的投票系統,以及已驗證的資料查詢(authenticated data queries)等方面都有應用。不過,截至 2026 年,最成熟且被廣泛部署的使用案例仍主要存在於區塊鏈網路中。

結語

zk-SNARKs 與 zk-STARKs 代表了零知識證明技術的兩種重要實作。它們起初多半與加密貨幣中的隱私交易有關,而今 ZK 證明已擴展到 Layer 2 擴容、身分系統,以及一般計算的驗證。

這兩種技術都持續快速演進。證明大小正在縮小、工具鏈也在成熟;更新的證明系統也讓 SNARK 與 STARK 兩個分類的界線變得更模糊。理解它們之間的取捨,特別是可信設定、證明大小與量子抗性方面的差異,能幫助讀者更清楚地追蹤這個領域的最新發展。

延伸閱讀

  • 什麼是零知識證明(Zero-Knowledge Proof)?它如何影響區塊鏈?

  • 什麼是 ZK-Rollups?這項第二層擴容技術是如何運作的?

  • 樂觀式(Optimistic) vs 零知識(Zero-Knowledge)Rollups:差異是什麼?

  • 什麼是 zkEVM?它如何強化以太坊生態系?

聲明:本內容僅以「現況(as is)」提供給您作一般資訊與教育用途,不提供任何形式的聲明或保證。內容不應被解讀為金融、法律或其他專業建議,也不旨在推薦購買任何特定產品或服務。您應自行向合適的專業顧問尋求建議。若本內容由第三方貢獻者提供,請注意其中所表達的觀點屬於該第三方貢獻者,並不必然反映 Binance Academy 的觀點。數位資產價格可能波動。您的投資價值可能上升或下降,而您可能無法取回投資金額。您需自行承擔您的投資決策責任,且 Binance Academy 不對您可能產生的任何損失負責。如需更多資訊,請參閱我們的使用條款(Terms of Use)、風險警示(Risk Warning)以及 Binance Academy Terms。