Bitcoin Forum
February 10, 2025, 01:14:29 PM
Welcome,
Guest
. Please
login
or
register
.
News
:
Community Awards voting is open
Home
Help
Search
Login
Register
More
Bitcoin Forum
>
Local
>
中文 (Chinese)
>
离题万里
>
零知識證明的技術路徑之爭:zk-SNARK和zk-STARK誰更優?
Pages: [
1
]
« previous topic
next topic »
Print
Author
Topic: 零知識證明的技術路徑之爭:zk-SNARK和zk-STARK誰更優? (Read 14 times)
shalisiting88
(OP)
Newbie
Offline
Activity: 38
Merit: 0
⇾
零知識證明的技術路徑之爭:zk-SNARK和zk-STARK誰更優?
December 28, 2022, 03:46:10 AM
#1
Crypto行業被廣泛關注的零知識證明(Zero—Knowledge Proof)技術,並非是這幾年剛冒出來的新技術,而是在1980年就被數學家S.Goldwasser、S.Micali及C.Rackoff提出。
零知識證明涉及一系列步驟,可以實現密碼學中的「可用而不可知」。
而區塊鏈有著公開透明、不可篡改等特徵,意味著加密投資者的鏈上資產及交易記錄是沒有隱私可言的,於是零知識證明技術被引入了區塊鏈,當中以zk-SNARK和zk-STARK最為關注。
zk-SNARK被項目方採用得最多,zk-STARK則被密碼學專家認為優於ZK-SNARK。那麼綜合技術與實際應用,二者誰更優?
zk-SNARK:簡潔 + 非交互性
Alessandro Chiesa等人在2012年開發了zk-SNARK協議,這是一種簡潔化、非交互式的零知識證明技術,全稱是zero-knowledge succinct non-interactive arguments of knowledge,可以拆解成三部分來理解:
zero-knowledge:
零知識證明,在不暴露隱私情況下向對方證明一件事情,讓數據「可用而不可知」。
succinct:
簡潔性,要證明的東西佔用的空間很小,而且可以快速驗證(幾毫秒)。
non-interactive:
非交互性,意味著證明者和驗證者之間不需要有交集即可快速地得到驗證結果。
zk-SNARK的簡潔性和非交互性,是相對於傳統的零知識證明方案而言的。
簡單來說,傳統方案是交互式證明,即示證者(宣稱某一命題為真)和驗證者(確認該命題確實為真)之間反复確認,你可以理解為示證者不斷向驗證者詢問“是或不是?”,然後驗證者不斷給出回答,直到最後碰出一個正確答案來,所以效率很低。
zk-SNARK的解決方案則不需要雙方反复確認“是或不是”,而是提前先搞一個「可信初始化」,從而生成公共參考字符串(CRS),然後所有的示證者都可以直接訪問它。
打一個通俗的比方。交互式證明相當於老師要批改每一個考生的每一道考題,效率很低,但正確答案只掌握在老師這邊,基本不存在有人偷答案的情況。
但zk-SNARK直接上傳了正確答案,然後讓考生自己對答案(把自己解的某道題發送給後台系統,就會直接得到正確與否的最終結果),非常高效,代價是答案有可能被洩露,雖然這個答案系統是經過加密的。
因此針對zk-SNARK容易被洩露的問題,有很多圍繞著提高「答案系統」安全性的解決方案,不同採用zk-SNARK的項目方的方案各有不同。如zCloak錢包是直接把算法以純文本的形式發給用戶,用戶下載到本地去做計算(所以即使斷網也依舊能完成工作)。
zk-STARK:概率證明+緩衝時間
zk-STARK是成立於2017年12月的StarkWare團隊開發的,它是針對zk-SNARK的替代解決方案。研發歷時一年多,經過無數次迭代才徹底搞定,已經到2019年了。
zk-SNARK是提前生成公共參考字符串,用非交互式證明的方式提高了證明效率,但也留下了隱患。 zk-STARK雖然是交互式證明,但它是一種巧妙的交互式證明——通過哈希函數碰撞(一種概率證明的方式)來保證安全性,因此也實現了高效證明。
這個思路直接借鑒自2015年推出的交互式預言機證明(IOP)技術,簡單來說是先把問題用密碼學的方式打碎,然後驗證者隨機向示證者提出幾個的問題,如果幾輪下來,示證者都給出準確的回答,那麼驗證就通過了。
所以zk-STARK同樣也只需要極少的計算資源就可以完成證明,但是它更安全,不存在答案洩露的風險。並且為了進一步確保安全性,還設置了爭議時間延遲(DTD)來作為緩衝。
zk-SNARK和zk-STARK的區別
1.透明度
zk-SNARK的公共參考字符串通常由一個小團體來保管,因此有洩露的可能性,從而被惡意利用,如創建虛假證明。
zk-STARK則直接利用生成隨機性的參數來驗證,不需要任何第三方的「答案系統」,因此透明度大幅提高。
2.抗量子計算機攻擊
zk-SNARK未來會輕易被量子計算機暴力破解(通過分解計算從公鑰中提取私鑰)。當然,量子計算何時到來還是個問題。
zk-STARK採用的是哈希函數碰撞的方法來證明,理論上量子計算機的暴力破解是無效的。
3.可擴展性
zk-SNARK的證明在鏈上更具可擴展性(生成的證明的字節數更小),zk-STARK在純鏈上似乎沒有優勢。
StarkWare官網宣稱是最快的,可能是因為zk-STARK允許鏈下進行大規模計算和存儲,然後在鏈上完成驗證,因此可擴展性顯著提升(甚至可以提高10倍),而成本顯著降低。
總結
zk-SNARK技術被採用得最多,尤其是在以太坊擴容場景中。 zk-SNARK主要是圍繞「隱私保護」去做身份、支付、DeFi、資產證明等各種應用。
zk-STARK雖然也在發展之中,但技術尚不成熟,至少在通用性上受限,所以我們看到大多是圍繞著「可擴展性」去做各種應用。
不過據StarkWare團隊在2022年的說法,已經解決了可擴展性,該把目標瞄準「隱私保護」了,而方式是通過StarkNet的Layer3以及Layer4中以分形分層的方式解決,這似乎與zk-STARK證明系統本身沒有直接關係。
至少就目前而言,大多數以太坊Layer2項目(zkSync、Aztec、Loopring、Scroll等)都採用的是zk-SNARK技術路線,除了通用性上受限,還有一個原因是普遍反饋說zk-STARK的開發難度過大……
當然長遠來看,zk-STARK可承載的運算量更大,可能更有前景。
總的來說,zk-SNARK和zk-STARK的關係,有些像Optimistic rollups和ZK rollups的關係,前者短期利好,後者長期利好。
Pages: [
1
]
Print
Bitcoin Forum
>
Local
>
中文 (Chinese)
>
离题万里
>
零知識證明的技術路徑之爭:zk-SNARK和zk-STARK誰更優?
« previous topic
next topic »
Jump to:
Please select a destination:
-----------------------------
Bitcoin
-----------------------------
=> Bitcoin Discussion
===> Legal
===> Press
===> Meetups
===> Important Announcements
=> Development & Technical Discussion
===> Wallet software
=====> Electrum
=====> Bitcoin Wallet for Android
=====> BitcoinJ
=====> Armory
=====> Mycelium
=====> Hardware wallets
=> Mining
===> Mining support
===> Pools
===> Mining software (miners)
===> Hardware
=====> Group buys
===> Mining speculation
=> Bitcoin Technical Support
=> Project Development
-----------------------------
Economy
-----------------------------
=> Economics
===> Speculation
=> Marketplace
===> Goods
=====> Computer hardware
=====> Digital goods
=======> Invites & Accounts
=====> Collectibles
===> Services
===> Currency exchange
===> Gambling
=====> Games and rounds
=====> Investor-based games
=====> Gambling discussion
===> Lending
=====> Long-term offers
===> Securities
===> Auctions
===> Service Announcements
=====> Micro Earnings
===> Service Discussion
=====> Web Wallets
=====> Exchanges
=> Trading Discussion
===> Scam Accusations
===> Reputation
-----------------------------
Other
-----------------------------
=> Meta
===> Bitcoin Wiki
=> Politics & Society
=> Beginners & Help
=> Off-topic
=> Serious discussion
===> Ivory Tower
=> Archival
===> New forum software
===> Корзина
===> CPU/GPU Bitcoin mining hardware
===> Chinese students
===> Obsolete (buying)
===> Obsolete (selling)
===> MultiBit
-----------------------------
Alternate cryptocurrencies
-----------------------------
=> Altcoin Discussion
=> Announcements (Altcoins)
===> Tokens (Altcoins)
=> Mining (Altcoins)
===> Pools (Altcoins)
=> Marketplace (Altcoins)
===> Service Announcements (Altcoins)
===> Service Discussion (Altcoins)
===> Bounties (Altcoins)
=> Speculation (Altcoins)
-----------------------------
Local
-----------------------------
=> العربية (Arabic)
===> العملات البديلة (Altcoins)
=====> النقاشات
===> إستفسارات و أسئلة المبتدئين
===> التعدين
===> النقاشات الأخرى
===> منصات التبادل
=> Bahasa Indonesia (Indonesian)
===> Marketplace (Bahasa Indonesia)
===> Mining (Bahasa Indonesia)
===> Altcoins (Bahasa Indonesia)
===> Trading dan Spekulasi
===> Ekonomi, Politik, dan Budaya
===> Topik Lainnya
=> Español (Spanish)
===> Mercado y Economía
=====> Servicios
=====> Trading y especulación
===> Hardware y Minería
===> Esquina Libre
===> Mercadillo
=====> Mexico
=====> Argentina
=====> España
=====> Centroamerica y Caribe
===> Primeros pasos y ayuda
===> Altcoins (criptomonedas alternativas)
=====> Minería de altcoins
=====> Servicios
=====> Tokens (Español)
=> 中文 (Chinese)
===> 跳蚤市场
===> 山寨币
===> 媒体
===> 挖矿
===> 离题万里
=> Hrvatski (Croatian)
===> Trgovina
===> Altcoins (Hrvatski)
=====> Announcements (Hrvatski)
===> Off-topic (Hrvatski)
=> Deutsch (German)
===> Anfänger und Hilfe
===> Mining (Deutsch)
===> Trading und Spekulation
===> Projektentwicklung
===> Off-Topic (Deutsch)
===> Treffen
===> Presse
===> Altcoins (Deutsch)
=====> Announcements (Deutsch)
===> Marktplatz
=====> Auktionen
=====> Suche
=====> Biete
=> Ελληνικά (Greek)
===> Αγορά
===> Mining Discussion (Ελληνικά)
===> Altcoins (Ελληνικά)
=====> Altcoin Announcements (Ελληνικά)
=====> Altcoin Mining (Ελληνικά)
=> עברית (Hebrew)
=> Français
===> Actualité et News
===> Débutants
===> Discussions générales et utilisation du Bitcoin
===> Mining et Hardware
===> Économie et spéculation
===> Place de marché
=====> Échanges
=====> Produits et services
=====> Petites annonces
===> Le Bitcoin et la loi
===> Wiki, documentation et traduction
===> Développement et technique
===> Vos sites et projets
===> Hors-sujet
===> Altcoins (Français)
=====> Annonces
=> India
===> Mining (India)
===> Marketplace (India)
===> Regional Languages (India)
===> Press & News from India
===> Alt Coins (India)
===> Buyer/ Seller Reputations (India)
===> Off-Topic (India)
=> Italiano (Italian)
===> Guide (Italiano)
===> Progetti
===> Discussioni avanzate e sviluppo
===> Trading, analisi e speculazione
===> Mercato
=====> Mercato valute
=====> Beni
=====> Servizi
=====> Esercizi commerciali
=====> Hardware/Mining (Italiano)
=====> Gambling (Italiano)
===> Accuse scam/truffe
===> Mining (Italiano)
===> Alt-Currencies (Italiano)
=====> Annunci
===> Raduni/Meeting (Italiano)
===> Crittografia e decentralizzazione
===> Off-Topic (Italiano)
=> 日本語 (Japanese)
===> アルトコイン
=> Nederlands (Dutch)
===> Markt
===> Gokken/lotterijen
===> Mining (Nederlands)
===> Beurzen
===> Alt Coins (Nederlands)
===> Off-topic (Nederlands)
===> Meetings (Nederlands)
=> Nigeria (Naija)
===> Politics and society (Naija)
===> Off-topic (Naija)
=> 한국어 (Korean)
===> 대체코인 Alt Coins (한국어)
=> Pilipinas
===> Altcoins (Pilipinas)
=====> Altcoin Announcements (Pilipinas)
===> Pamilihan
===> Others (Pilipinas)
=> Polski
===> Tablica ogłoszeń
===> Alternatywne kryptowaluty
=====> Nowe kryptowaluty i tokeny
=====> Tablica ogłoszeń (altcoiny)
=> Português (Portuguese)
===> Primeiros Passos (Iniciantes)
===> Economia & Mercado
===> Mineração em Geral
===> Desenvolvimento & Discussões Técnicas
===> Criptomoedas Alternativas
===> Brasil
===> Portugal
=> Русский (Russian)
===> Новички
===> Бизнес
=====> Барахолка
=====> Обменники
===> Идеи
===> Кодеры
===> Майнеры
===> Политика
===> Трейдеры
===> Альтернативные криптовалюты
=====> Токены
=====> Бayнти и aиpдpoпы
===> Хайпы
===> Работа
===> Разное
===> Oбcyждeниe Bitcoin
=====> Новости
=====> Юристы
=> Română (Romanian)
===> Anunturi importante
===> Offtopic
===> Market
=====> Discutii Servicii
===> Minerit
===> Tutoriale
===> Bine ai venit!
===> Presa
===> Altcoins (Monede Alternative)
=====> Anunturi Monede Alternative
=> Skandinavisk
=> Türkçe (Turkish)
===> Bitcoin Haberleri
===> Pazar Alanı
===> Madencilik
===> Ekonomi
===> Servisler
=====> Fonlar
===> Proje Geliştirme
===> Alternatif Kripto-Paralar
=====> Madencilik (Alternatif Kripto-Paralar)
=====> Duyurular (Alternatif Kripto-Paralar)
===> Konu Dışı
===> Yeni Başlayanlar & Yardım
===> Buluşmalar
=> Other languages/locations
Loading...