區塊鏈技術可以在分散的不受信任的各方之間達成共識,而零知識證明可以增進區塊鏈上的隱私。透過零知識證明,任何人可以證明一條特定的敘述是正確的,而不會洩漏保密的資訊。但是,通常必須將該敘述轉換為特定的形式,即Rank-1約束系統,才能在已廣泛被採用的系統中使用。轉換的效率決定了公共參考字串(CRS)的大小以及證明該敘述所需的運算量。 更具體地說,為了最大程度地減少R1CS中的約束數量,我們優化了布林函式和動態陣列訪問操作,它們廣泛用於加密和可驗證計算中。本文並介紹數個建構於區塊鏈系統上之零知識應用。
Blockchain technology can reach consensus between decentralized untrusted parties, and zero-knowledge proof can enhance the privacy on the blockchain. By zero-knowledge proof, one can prove that a particular statement is true without leaking other information. However, a general statement must be converted to a specific circuit form, Rank-1 constraint system, typically, to use in the above mechanism. The efficiency of the conversion determines the size of the common reference string (CRS) and the resources it takes to prove the statement. More specifically, to minimize the number of constraints in R1CS, we optimized boolean functions and dynamic array accessing operations, which are widely used in cryptography and computational verification.