本文簡要地介紹了隱私幣 Zcash,Zcash 既可以保證交易的隱私性,也能實現有選擇性的透明度,以滿足監管或審計的需要。

原文標題:《What is Zcash exactly?》
原文作者:Alejandro Brega,工程師、區塊鏈作家
翻譯:藍狐筆記社羣 iGreenMind

首個零知識證明隱私幣 Zcash 初析:何爲 zk-SNARK?它如何運作?Alejandro Brega,工程師、區塊鏈作家

Zcash (ZEC)是一種去中心化的開源加密貨幣,可以保證交易的隱私性和可選擇性的透明度。Zcash 貨幣支付在公共區塊鏈中發佈,但發送人、接收人和轉賬金額都是保密的。

許多公司和知名人士都觀察到 Zcash 的匿名程度。例如,維基解密開始接受 ZEC 的捐款。愛德華·斯諾登說,加密貨幣是比特幣最有趣的替代品。另一方面,歐洲刑警組織正式表達了對加密貨幣日益普及的擔憂。

Zcash 加密貨幣基於比特幣協議,但擁有自己的區塊鏈和貨幣 token。Zcash 可以通過交換、個人轉賬等方式發送到世界各地。

Zcash 貨幣的發行量爲 2100 萬個。每 2.5 分鐘創建一個大小爲 2mb 的新區塊。區塊獎勵爲 12.5 ZEC,自 2016 年 10 月推出以來每 4 年減少兩次。

Zcash 的主要技術特性是使用零知識測試(ZKP)。這可以讓你在不泄露其他信息的情況下確認交易,使得加密貨幣的使用完全匿名。

Zcash 背後的一些歷史

2014 年,約翰霍普金斯大學的 Zerocoin 開發人員和麻省理工學院、以色列理工學院和特拉維夫大學的加密技術實驗室,這些研究中心聯合開發了 Zerocash 協議,改進了原始設計。在這個意義上他們宣稱:

由於新的 zerocash 協議,與 Zerocoin 不同,用戶可以使用更高效的加密協議直接向對方付款,該協議不僅隱藏了來源,還隱藏了付款金額。

Zcash 項目由執行董事 Zuko Wilcox 於 2016 年 1 月 20 日正式宣佈啓動,它是現有 Zerocoin 項目的演變。隨着新協議的出現,出現了獨立的加密貨幣 Zcash (ZEC),它不再是比特幣的「補充」。2016 年 10 月 28 日,Zuko Wilcox 慶祝 Zcash 的正式推出的「加密儀式」。

Zcash 如何運作?

Zcash 是一種基於可靠科學的隱私保護的數字貨幣。Zcash 有兩種類型的地址:私有(z 地址)或透明(t 地址)。z 地址以「z」開頭,t 地址以「t」開頭。

一個從 Z 到 Z 的交易出現在公共區塊鏈中,所以大家知道它發生了,並且已經支付了費用。但是地址、交易金額和 memo 字段是加密的,並不公開可見。只有通過使用零知識測試,才能在區塊的鏈中使用加密。這得益於 Zcash 的 zk-SNARK 協議的實現。

例如,地址的所有者,可以選擇通過展示密鑰和公開支付信息的方式,來向受信任的第三方透露 z 地址和交易的細節。通過這樣的方式,賦予可信第三方查看的選擇,可以滿足審計的目的。

另一方面,兩個透明地址之間的交易與比特幣的工作方式相同:發送人、接收人和交易的金額是公開可見的。雖然許多投資組合和交易所目前僅使用 t 地址,但許多投資者和交易所都轉向使用受保護的地址,以便更好地保護用戶的隱私。

儘管 zcash 具有不同的地址類型,但這兩種類型的 Zcash 地址是可互操作的。資金可以在 z 地址和 t 地址之間轉移。然而,重要的是用戶要理解通過這些交易保護或檢查信息的隱私含義。

特點和功能

1)低成本交易:交易成本接近 0.0001 ZEC;

2)交易地址與隱私:Zcash 提供兩種類型的地址:受保護的隱私地址和透明地址。(藍狐筆記譯者注:兩種類型地址分別是 Z 地址、T 地址)。受保護的地址(即 z 地址)不可見。受保護地址間的交易不會顯示地址、交易數額或加密註釋字段的內容。透明地址(t 地址)和透明地址之間的交易可以在 Zcash 區塊鏈中公開查看,就像比特幣地址是可見的一樣;

3)加密備忘錄:備忘錄字段可用於受保護的交易。這允許發送方可以添加一些與接收方相關的信息,這些信息也是完全加密的。這對於傳輸消息和指令,或確保符合「銀行保密法」的「旅行」規則非常有用。(藍狐筆記 iGreenMind 注:關於銀行保密法的旅行規則的信息簡單解釋:旅行規則是一項銀行保密法(BSA)規則,要求資金轉移金融機構將某些信息轉發給下一個金融機構,如果資金轉賬等於或超過 3,000 美元等值美元。傳送命令中必須包含以下信息:發射機的名稱,發射機的帳號(如果使用的話),發射機的地址,發送者的金融機構的身份,傳送指令的數量,傳遞訂單的執行日期,以及收款人的金融機構的身份。——通俗地說,就是爲了反洗錢、反避稅等目的的資金匯兌的具體交易信息等。;

4)密鑰揭示:受保護地址的所有者爲監管或審計公開交易細節。受保護地址的所有者可以選擇公開所有傳入的交易和備忘錄字段,但無法訪問發送人的地址,除非備忘錄字段中包含身份信息。Zcash 將很快支持顯示地址內外所有交易額的完整可視化密鑰;

5)付款披露:交易的發送人或接收者可向第三方披露交易的具體細節,這是審計所必需的。接收方可以顯示交易數額和票據,但無法訪問發送人的地址。這是目前 Zcash 的一個實驗性功能;

6)交易過期: Zcash 支持交易過期功能,以最大限度地減小對未確認交易的影響。

默認情況下,如果交易在 50 分鐘(20 個區塊)後未被確認,則交易將到期並且不會產生費用。(藍狐筆記 iGreenMind 注:可以理解成交易超時,自動取消這筆交易,並且不會對這筆交易收取礦工費用,而比特幣中不支持交易過期,可能會出現一筆交易長時間內不被確認但仍然掛在網絡中幾年)。

多重簽名交易:Zcash 支持需要多重簽名的交易。這意味着一筆交易可能需要兩方或多方在資金髮出之前確認這筆交易。但是,多重簽名交易是透明的,不能將其設爲私有。

什麼是 zk-SNARKS?

縮寫詞 zk-SNARKS 表示「零知識的非交互式知識的論證」,它指的是一個測試結構,其中可以演示某些信息的擁有情況,例如,一個密鑰,不顯露任何信息,且在驗證者和被驗證者之間沒有任何交互,就可以證明其擁有某些信息。

「零知識測試」允許一方(發起人)向另一方(驗證者)證明陳述是真的。這不會泄露任何信息,除了驗證聲明本身有效。例如,給定隨機數的哈希,研究人員可以說服驗證者確信存在具有該哈希值的數字,同時不會泄露它的內容是什麼。

在「零知識測試」中,研究人員不僅可以使驗證者確信該數字存在,同時不會泄露任何有關該數字的信息。

(藍狐筆記 iGreenMind 譯註:一個通俗的零知識證明的例子,摘自知乎作者高超峯專欄:A 要向 B 證明自己擁有某個房間的鑰匙,假設該房間只能用鑰匙打開鎖,而其他任何方法都打不開。這時有 2 個方法:一是,A 把鑰匙出示給 B,B 用這把鑰匙打開該房間的鎖,從而證明 A 擁有該房間的正確的鑰匙。二是,B 確定該房間內有某一物體,A 用自己擁有的鑰匙打開該房間的門,然後把物體拿出來出示給 B,從而證明自己確實擁有該房間的鑰匙。後面這個方法屬於零知識證明。好處在於在整個證明的過程中,B 始終不能看到鑰匙的樣子,從而避免了鑰匙的泄露。)

零知識的「簡潔」測試可在幾毫秒內得到驗證,測試長度僅爲幾百字節,即使對非常大的程序的陳述也是如此。在第一個零知識協議中,測試者和驗證者必須在幾輪中來回通信,但在「非交互」結構中,測試包括從一個驗證者發送到另一個驗證者的單個消息。

目前,生成零知識測試的最有效方法是初始配置階段,生成驗證者和驗證者之間共享的公共引用字符串,這是無須互動的且足夠短以發佈到區塊鏈。我們將這個公共引用鏈作爲系統的公共參數。

zk-snark 在現代區塊鏈技術中的價值是顯而易見的。它與智能合約技術無縫集成。智能合約基本上是一筆資金存款,一旦某個特定功能被執行,這筆資金就會被激活。當要執行的任務是多層次和機密的,就會出現問題。

你可能需要採取幾個步驟才能收到付款。zk-SNARKS 證明了這些步驟已經在智能合約中採用,而不用透露他們到底是誰。你可以簡單地透露過程的一部分,而不展示整個過程本身,並表明你對你的聲明是誠實的。

zk-SNARK 的首字母縮寫詞可以通過以下方式解構

簡潔 : 與創建哈希函數 (測試) 所需的實際進程持續時間相比,哈希函數 (測試) 的大小非常小。

非交互性 : 沒有或只有很少的交互性。對於 zk-SNARK,通常有一個配置階段,然後是測試者和驗證者之間的單點接觸。此外,SNARK 通常具有被稱爲「公共驗證者」的屬性,這意味着任何人都可以在不進行交互的情況下進行驗證,這對於區塊鏈非常重要。

參數 : 驗證者僅在計算上受限於有限的測試人員。具有足夠計算能力的提供商可以創建關於不正確陳述的證據 / 論據。(注意,只要有足夠的計算能力,任何公鑰加密都可能被破解)。這也被稱爲計算強度,而不是完美的堅固性。

知識的 : 如果不知道假定的證人節點 (例如,他想要花費的方向、哈希函數的原像或到某個 Merkle 樹的路徑),驗證者無法構建測試 / 參數。

來源鏈接:medium.com