在Day1講解了零知識證明的基礎,今天會講解
完整性(completeness):
如果陳述是真的,驗證方只需要正確地遵守協議完成驗證就可以。最後會得出證明該是否真。
在例子中如果證明方提供的證明是正確的,在證明方完成所有測試(多輪測試)後。
只要提供的證明只要是正確,驗證方獲得結果會是真。
可靠性(soundness):
如果陳述是假的,就不會有任何證明方能夠讓驗證方通過這個陳述。
在例子中如果證明方提供的證明不是正確的,是無法通過驗證方的驗證。
為了提高可靠性,在過程中就可能需要證明方進行多次測試,目的是為了確保證明方是真的知道陳述。
零知識(zero-knowledge):
在整過驗證過程中,除了陳述之外,驗證方是不會得知道其他資訊。
因為驗證方只能道驗證結果的真偽,而不會知道其他資訊(例如例子中證明方所擁有的密碼或相關個人資料等等 )。
其實可以理解為驗證方的存在目的,只有一個,就是進行驗證。只要對證明進行驗證及得出結果就可以,
完全不用去檢視其他資料。
為什麼要使用零知識證明?
零知識證明在web3領域中越來越受到關注及應用,主要是隨時代發展,數字化的應用越來越廣泛。基本上大家每天都會用到手機或電腦等,都需要用上互聯網,需要用到各種應用程式。大家都開始意識到數字資料的安全性及對保護敏感資訊的意識開始提高,就開始尋找一些解決方案,希望可以進一步地保護敏感資訊。
由於零知識證明的出現已經引起了很多關注和研究,最近幾年在零知識證明也出現各種的新型算法和應用方案。
零知識證明的應用
零知識領域可分為基礎設施、網路和應用程式三層
參考資料: