什麼是零知識證明-詳解

零知識證明是密碼學領域中一個引人入勝的概念,因其增強安全性和隱私的潛力而備受關注。在數據泄露和隱私問題普遍存在的日益數字化的世界中,零知識證明提供了應對這些挑戰的強大工具。本文旨在全面理解零知識證明,探索其在各個領域的定義、應用和意義。

在當今互聯和數據驅動的社會中,在允許安全交互的同時保護敏感信息至關重要。零知識證明爲實現這一微妙平衡提供了一種創新方法。通過使一方能夠在不透露任何額外信息的情況下向另一方證明聲明的知識,零知識證明有可能發展區塊鏈技術身份驗證系統安全通信等領域。

什麼是零知識證明

什麼是零知識證明-詳解

零知識證明是一種數學協議,允許一方驗證另一方而不會泄露任何超出聲明有效性的信息.

零知識證明是一種數學協議,允許一方說服另一方驗證陳述的真實性,而不會透露任何超過陳述有效性的信息。本質上,零知識證明使證明者能夠建立給定事實或主張的知識,而不會透露該知識是如何獲得的。

零知識證明的起源

Shafi Goldwasser、Silvio Micali和Charles Rackoff於1985年首次提出了零知識證明的概念。這是密碼學領域的一項改變遊戲規則的創新,允許在不泄露敏感信息的情況下驗證信息。從那時起,零知識證明的重要性越來越大,並在各個領域找到了各種用途,包括區塊鏈技術、安全認證系統和安全計算。

零知識證明的重要性

零知識證明是應用密碼學的一個突破,因爲它們有望提高個人的信息安全性。考慮一下你如何向另一方(例如,服務提供商)驗證索賠(例如,“我是X國家的公民”)。你必須出示“證據”來支持你的主張,例如國家護照或駕照。

然而,這種策略也有缺點,最明顯的是需要更多的隱私。與第三方在線服務交換的個人身份信息(PII)存儲在可以被黑客攻擊的中央數據庫中。隨着身份盜竊成爲一個重大問題,人們越來越渴望新的隱私保護方法來傳遞敏感信息。

零知識證明的重要性在於,它們可以消除提供信息以驗證聲明有效性的要求。零知識協議將斷言(一個’見證’)作爲輸入,並簡明地證明其事實。該證明確保聲明是真實的,而不會泄露創建它所需的信息。

回到我們之前的例子,零知識證明是你驗證你的公民身份要求所需要的唯一證據。驗證者需要檢查證明的特定方面是否有效,以確信基本陳述是真實的。

零知識證明如何運作?

什麼是零知識證明-詳解

零知識證明如何運作?

零知識證明允許你證明一個命題的真實性,而不暴露其內容或你是如何得到事實的。零知識協議依賴於將一些數據作爲輸入併產生“真”或“假”作爲輸出的算法。

零知識協議的要求

零知識協議必須滿足以下要求:

完整性

如果輸入是真實的,零知識協議總是返回“真”。因此,如果基本命題爲真並且證明者和驗證者誠實地行事,則證據可以被接受。

健全度

如果輸入有錯誤,理論上不可能欺騙零知識協議返回“真”。因此,欺騙性證明者不能欺騙誠實的驗證者相信無效語句是真實的(除非有很小的概率)。

零知識

驗證者對陳述除了真假之外一無所知(他們對斷言“一無所知”)。這個標準也排除了驗證者從證明中推斷出原始輸入(陳述的內容)。

零知識證明的3個要素

零知識證明包括見證、挑戰和迴應

證人

證明者使用零知識證明來證明對某些機密信息的瞭解。證據的“見證人”就是祕密信息,證明者對見證人的假定了解產生了一系列問題,這些問題只有知道信息的一方纔能回答。因此,證明者通過隨機選擇一個問題,計算答案,並將其傳遞給驗證者來開始證明過程。

挑戰

驗證者從集合中隨機選擇另一個問題,並要求證明者回答。

迴應

證明者接受查詢,計算答案,並將其返回給驗證者。證明者的響應允許驗證者確定前者是否真的可以接觸到證人。驗證者選擇更多的問題來問,以確保證明者不會不假思索地猜測並偶然獲得正確的答案。通過多次重複這種交換,證明者僞造證人知識的機會大大減少,直到驗證者滿意爲止。

“交互式零知識證明”的結構如上所述。證人、挑戰和響應也是“零知識證明的3個要素”中描述的零知識證明的一部分。早期的零知識協議使用交互式證明,這需要證明者和驗證者之間的來回通信來檢查陳述的真實性。

2種類型的零知識證明

什麼是零知識證明-詳解

2種類型的零知識證明

通常有兩種類型的零知識證明。它們是交互式零知識證明和非交互式零知識證明。

1)交互式零知識證明

交互式零知識證明(ZKPs)需要證明者和驗證者之間的交互。證明者和驗證者來回通信,證明者向驗證者發送一系列消息。根據前面的語句,驗證者向證明者發送一條質疑消息,證明者回答類似。重複此方法,直到驗證者確定斷言爲真。

ZKP比非交互式的更安全,因爲驗證者可以根據證明者的行爲調整其挑戰,從而降低成功攻擊的風險。缺點是它們消耗更多時間並且需要更多計算資源。

以下是一些交互式零知識證明算法:

Schnorr協議-Schnorr協議是一種零知識交互式證明,允許證明者展示與公鑰關聯的私鑰的知識,而無需展示私鑰本身。這種機制用於數字簽名,證明者必須證明私鑰的所有權,而無需向驗證者披露。

·Zcash協議-Zcash協議是一種交互式零知識證明,允許用戶在不透露發送者、接收者或交易金額的情況下證明交易的存在。Zcash加密貨幣使用該協議來確保交易隱私和匿名性。

2)非交互式零知識證明

非交互式零知識證明(非交互式ZKPs)不需要證明者和驗證者進行交互。證明者根據陳述構建解釋並將其傳遞給驗證者,驗證者對其進行驗證。證明是通過散列信息並採用加密技術生成可以使用公鑰確認的證據來生成的。

非交互式ZKP比交互式ZKP更快,使用的計算資源更少。儘管如此,它們的安全性較低,因爲驗證者無法使其挑戰適應證明者的行爲。

以下是一些非交互式的零知識證明算法實例:

菲亞特-沙米爾變換——菲亞特-沙米爾變換是一種非交互式零知識證明,允許證明者在不與驗證者溝通的情況下證明證人對陳述的理解。當選民希望證明他們的投票在不暴露姓名的情況下成功記錄時,這種類型的證明通常用於電子投票系統。

防彈-防彈是比特幣交易中用於驗證範圍證明的非交互式零知識證明。範圍證明證明隱藏值落在特定範圍內。防彈在計算資源有限的設置中特別有效,因爲它們可以創建比其他非交互式協議更小的證明。

索尼克-索尼克是一種非交互式零知識證明技術,用於驗證對機密數據的計算,例如區塊鏈系統中智能合約所做的計算。它以其可擴展性和效率而聞名,使其適合大規模應用。

Groth16-Groth16是一種非交互式零知識證明技術,常用於匿名憑證系統和私人比特幣交易等隱私保護應用,因其出色的效率和安全性而以大規模應用而聞名。

·極光-極光是一種非交互式零知識證明技術,用於驗證加密材料上的計算。當許多方需要對敏感數據執行計算而不相互披露數據時,它很有幫助。

零知識證明的例子

什麼是零知識證明-詳解

零知識證明的例子

匿名支付

零知識證明用於隱藏加密貨幣交易並保護隱私。使用信用卡進行的支付經常對多方可見,包括支付提供商、銀行和其他相關方(例如政府當局)。雖然金融監控可能有助於發現非法活動,但它也侵犯了普通人的隱私。

對公共區塊鏈上的交易進行匿名處理也在使用零知識證明。Tornado Cash就是一個例子,它是一種分散的、非託管的服務,允許用戶在以太坊上進行私人交易。Tornado Cash採用零知識證明來隱藏交易細節並確保財務隱私。

身份保護

個人信息在當前的身份管理系統中處於危險之中,個人可以使用零知識證明來確認自己的身份,同時保護敏感數據。

在去中心化身份識別的背景下,零知識證明特別有用。去中心化身份識別(也稱爲自我主權身份’)允許個人管理對個人標識符的訪問。在不披露您的稅務ID或護照信息的情況下證明您的公民身份是零知識證明技術支持去中心化身份的一個很好的例子。

身份驗證

使用在線服務需要確定您的身份並獲得使用這些網站的授權。這通常需要提供個人信息,如姓名、電子郵件地址、出生日期等。您可能還需要記住長密碼以保持訪問權限。

然而,零知識證明可以使平臺和用戶的身份驗證更加容易。一旦利用公共輸入(如證明用戶平臺成員資格的數據)和私人輸入(如用戶的詳細信息)構建了防ZK,用戶可以在訪問服務時提交它來驗證他們的身份。這改善了用戶體驗,並使企業無需保留大量用戶數據。

可驗證計算

零知識證明技術用於改進區塊鏈架構的另一個應用是可驗證計算。可驗證計算允許我們將計算委託給另一個實體,同時確保可驗證的結果。實體提交結果並驗證程序是否正確執行。

可驗證的計算對於在保持安全性的同時提高區塊鏈處理速度至關重要。理解這一點需要理解以太坊建議的擴展解決方案之間的差異。鏈上擴展選項,如分片,需要對區塊鏈的基礎層進行重大更改。然而,這種方法非常複雜,實現缺陷可能會危及以太坊的安全模型。

鏈下擴展解決方案不需要更改以太坊協議。相反,他們依靠外包計算方法來提高以太坊基礎層的吞吐量。

可驗證計算在這裏發揮作用。當一個節點在以太坊之外執行交易時,它會提交一個零知識證明來驗證其有效性。這個證據(稱爲有效性證明)確保交易是真實的,允許以太坊將結果應用於其狀態,而無需等待任何人對其提出質疑。

Validium和零知識彙總是鏈下擴展技術,利用有效性證明來實現安全的可擴展性。這些協議在鏈下執行數千筆交易,並向以太坊提供證據進行驗證。一旦證明系統得到驗證,這些結果可以立即實現,允許以太坊處理更多交易,而無需增加基礎層的計算量。

減少鏈上投票中的賄賂和勾結。

區塊鏈投票方法有許多優點:它們是完全可審計的,對攻擊是安全的,不受審查,不受地理限制。然而,即使是鏈上投票技術也容易受到串通。

合謀,被定義爲“通過欺騙、欺騙和誤導他人來協調限制公開競爭”,可以是一種用賄賂影響投票的惡意行爲者。例如,愛麗絲可能被鮑勃賄賂在投票中投票給選項B,儘管她更喜歡選項A。

賄賂和共謀限制了任何使用投票作爲信號機制的過程的有效性(特別是當用戶可以展示他們如何投票時)。這可能會產生深遠的影響,主要是當投票分配稀缺資源時。

例如,二次融資技術依靠捐贈來衡量幾個公益項目中對特定選項的偏好。每筆捐贈都被視爲對特定項目的“投票”,獲得最多票數的項目從匹配池中獲得更多資金。

使用鏈上投票將二次融資暴露在串通中:因爲區塊鏈交易是公開的,賄賂者可以檢查受賄者的鏈上行爲,以發現他們是如何“投票”的因此,二次融資不再是根據社區的總體偏好分配現金的有效方法。

幸運的是,像MACI(最小反合謀基礎設施)這樣的新興方法使用零知識證明來使鏈上投票(例如,二次融資機制)免受賄賂和陰謀的影響。MACI是智能合約和腳本的集合,使中央管理員(“協調員”)能夠在不披露每個參與者如何投票的情況下彙總投票和計票結果。即便如此,仍然有可能確定投票被正確計算或特定個人參與了投票階段。

使用零知識證明的項目

什麼是零知識證明-詳解

使用零知識證明的項目

1)zkSync

ZK已經克服了可擴展性問題,儘管他們的過程仍然備受爭議。例如,大多數驗證器無法驗證總交易量。因此,審查、DD-S和中心化的問題變得更加緊迫。

Zk Sync將使驗證交易的新方法變得可行。將有驗證者和監護人,驗證者被分配批處理交易和提交安全債券的職責,這些債券總是超過他們驗證的TX。它以這種方式保護交易。與此同時,爲了確保驗證者不會流氓並控制網絡,作爲多數代幣持有者的監護人隨機選擇驗證者。

這些守護者不需要在高端計算系統上執行計算。他們可以選擇用一臺簡單的筆記本電腦控制網絡的一部分,由於缺乏訪問障礙,驗證過程完全分散。此外,他們沒有資格削減。因此,更多的人將加入完全分散的生態系統。這就是ZKSyncs如何爲主鏈提供真正的去中心化、安全性和可擴展性。

2)Starknet

與以太坊鏈的可組合性是一個重大挑戰,阻礙了ZK技術在企業運營中的採用。由於其去中心化、安全性和防黑客的記錄,大多數企業都信任以太坊網絡。然而,他們確實擔心將他們的活動放在主鏈上。StarkNet是一種通用ZKP,能夠在其生態系統上更快地部署dApp。StarkNet通過使用2級密碼證明和當前代數來促進計算完整性。

此外,StarkNet提供與以太坊相同級別的可組合性,允許開發人員加速開發過程並根據需要創建複雜的解決方案。StarkNet還提供真正的匿名性,不允許從公鑰中推斷出用戶的身份,並支持多調用或單個調用中的許多交易來結算賬目。因此,從鏈下計算層到主要父鏈以太坊的數據流大大減少。

3)Miden

成立於2021年的Miden已經在產生新聞。Miden作爲一家基於STARK的ZKP,打算提供1000到2000TPS,一旦以太坊分片上線,將增加到20000TPS。

Polygon Miden基於Miden虛擬機,可以運行任何軟件。MidenVM專爲STARK設計,允許在商用硬件上快速創建證明,使用GPU和/或FPGA可以更快地創建證明。它還旨在隱藏ZK證明的所有密碼複雜性,並遵循大多數開發人員都會認識到的一組架構原則(例如,堆棧機、讀寫內存、普通32位整數)。

MidenVM的設計以安全性爲其指導原則之一。目標是大大簡化智能合約的靜態分析,並防止許多類型的問題在VM級別發生,例如,通過禁用EVM上可用的各種危險功能。Miden試圖在Solidity級別與以太坊兼容,儘管沒有一對一地模擬EVM。因此,開發人員將能夠使用Miden部署絕大多數Solidity智能合約,而無需進行任何更改。除了一流的Solidity兼容性之外,Miden還將支持從其他安全和以區塊鏈爲中心的語言進行編譯,例如Mobile和Sway。

4)Loopring

Loopring通過爲交易者提供完全非託管和極其匿名的設置,在簡化密碼貨幣交易方面發揮了重要作用。該項目還打算利用ZKP來解決流動性、可擴展性和用戶體驗問題。Loopring在其運營模式下提供ZKP的混合模型,以便擴展DEX或去中心化交易所。訂單消息將在Loopring Hybrid ZKP模型中在鏈下處理,而結算將在鏈上實時進行,沒有延遲。

Loopring將使用ZKP將證明他們已經進行了一些複雜計算的信息帶到主鏈。Merkle樹將顯示整個交易歷史,智能合約將對其進行檢查,以將實時數據集傳送到主鏈進行交易記錄。

Loopring試圖通過實施快速、高效、負擔得起且本質上完全非託管的訂購機制來徹底改變通過DEX進行的交易。此外,Loopring提出了獨立的交易所合約,該合約將使交易完全隱藏,爲用戶提供足夠的隱私;因此,允許不同的DEX利用ZKP模型進行交互,以傳達信息並進行交易。他們可以通過使用相同的交易所合約來做到這一點,這將增加流動性並根據需要加快結算速度,以擴展去中心化交易所。

零知識證明的優勢

什麼是零知識證明-詳解

零知識證明的3個優勢

零知識證明(ZKP)對隱私和密碼學有許多好處。以下是一些顯著的好處:

隱私和安全

ZKPs的一個基本好處是能夠維護隱私。證明者可以使用零知識證明來證明命題的真實性,而不會泄露任何底層信息或敏感數據。這使得隱私保護交易和交互成爲可能,在這些交易和交互中,無需披露個人信息或創建透明交易即可獲得準確性證明。

通過提供數學和密碼保證,ZKPs提高了信任和安全性。它們使驗證者能夠確認聲明的真實性,而不依賴可能不可信或受損的來源。這在驗證複雜計算的完整性或各方之間的信任受到限制時尤其重要。

效率和可擴展性

零知識證明的有效性和可擴展性有了很大的提高。隨着新協議和優化的開發,ZKP可以以更低的計算和資源需求來實現。這使得它們有可能用於更多的應用,如去中心化系統和公共區塊鏈網絡。

數據最小化

通過零知識證明,減少了各方之間需要披露的信息量。由於只需要確認正確性,因此降低了數據泄露或泄漏的風險,從而可以隱藏不需要的信息。

零知識證明的缺點

什麼是零知識證明-詳解

零知識證明的3個缺點

雖然零知識證明(ZKP)有很多好處,但也有一些缺點和需要記住的事情。零知識證明的一些主要缺點如下:

計算複雜度

零知識證明經常需要複雜的數學計算和加密過程。計算開銷可能很大,導致更長的處理時間和更多的資源使用。因此,使用ZKP並驗證它們可能需要計算量,這可能會使它們在某些情況下不太有用。

可信設置

一些零知識證明技術需要一個可信的設置步驟,該步驟會生成一組初始設置。這提供了一個可能的風險,因爲設置過程中的妥協或惡意行爲可能會危及整個系統的安全和隱私保證。維護一個安全可信的環境可能很困難,需要仔細的管理和透明度。

泄露錯誤數據

即使零知識證明沒有揭示實際數據,它也可能泄露一些信息或提供統計見解,在某些情況下可以用來概括敏感細節。擁有足夠專業知識和資源的對手可能能夠從證明中提取部分或間接信息,從而危及隱私。

結論

零知識證明(Zero-知識證明)已經成爲一種改變遊戲規則的加密工具,有可能改變多個領域的隱私、安全和信任。儘管ZKP具有計算複雜性和實施障礙,但它在數據最小化、隱私保護、機密性、信任和效率方面提供了相當大的好處。

ZKPs允許在不泄露敏感信息的情況下驗證聲明,從而讓個人和公司在日益聯繫和數據驅動的世界中保護他們的數據和隱私。ZKPs的計算開銷和可信設置要求是必須妥善管理的障礙,儘管當前的研發計劃正在解決這些限制。

總的來說,零知識證明在解決隱私問題、提高安全性和在廣泛應用中建立信任方面有着巨大的前景。隨着技術進步和我們對ZKP理解的增長,它們將在改變敏感信息處理方式、保護隱私權和鼓勵數字領域創新方面發揮關鍵作用。

本文来自區塊鏈科普投稿,不代表科技商業頭條立场,如若转载,请注明出处:https://news.kejixun.com/1615.html

讚! (0)
區塊鏈科普的頭像區塊鏈科普投稿者
Previous 2024 年 5 月 11 日
Next 2024 年 5 月 11 日

相关推荐

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

SHARE
TOP