Zcash:帶著面具的比特幣挑戰者

highwindever發表於2017-09-28

受Zcash即將登陸韓國最大數字貨幣交易所Bithumb的訊息刺激,本週Zcash身價暴漲,過去24小時最高漲幅接近翻倍。Zcash非常明確地提出了挑戰比特幣的口號,作為一款增強匿名性,重在保護使用者隱私性的數字貨幣,Zcash似乎正在得到市場越來越多的認可。

本週暴漲的Zcash
本週暴漲的Zcash

Zcash,符號:ZEC,脫胎於旨在提高比特幣匿名性的專案Zerocoin, 並於2016年10月正式發行。比特幣的匿名性是不徹底的,因為它有對應的錢包地址,而區塊鏈的資料是公開的,所以一旦把某個錢包地址與使用者的真實身份聯絡起來,那麼使用者的所有交易都將可被追蹤,毫無隱私可言。這就像在論壇上用代表暱稱的id發帖,雖然不知道背後的真實使用者是誰,但是使用者的每次發言都有id對應可追蹤,久而久之通過發言的蛛絲馬跡加上IP等資訊,使用者的真實資訊就可能被人肉出來。Zcash為交易者提供了可選的匿名選項以隱藏交易資訊,更好地保護了使用者的隱私。Zcash的平均出塊時間為2.5分鐘,並且最初區塊獎勵為12.5 ZEC,每四年區塊獎勵減半,發行總量與比特幣相同,均為2100萬。前20000個區塊獎勵是逐漸線性增加到12.5個ZEC獎勵的,所以開始的供應量很少,也因此被爆炒過,最高時價格達到200多萬美元,當時約為3300BTC。前四年挖礦所產生的獎勵80%歸礦工,20%歸創始人,之後的獎勵100%歸礦工。

Zcash有兩類地址: 透明地址 (transparent addresses, 以“t”開頭) 遮蔽地址 (shielded addresses, 以“z”開頭)。遮蔽地址會對外隱藏交易者的地址以及交易金額,持有祕鑰才能看到具體的交易資訊,給礦工的手續費仍是對外可見的,而透明地址不會隱藏這些資訊。所以遮蔽地址可以被不停地重複使用而不需要擔心留下蹤跡,不像透明地址那樣可以跟蹤而導致隱私性比較脆弱。這兩種地址之間也可以相互交易,把Zcash從透明地址轉到匿名地址起到隱藏之後交易的目的。

Zcash用零知識證明(“zk-SNARK”)的技術來驗證交易的真實性,通過引入一張作廢列表,某個ZEC幣(有特定序列號)發生過交易之後,就會被放入作廢列表,驗證人可以在不知道交易資訊的情況下,通過在作廢列表裡查詢交易輸入的ZEC幣對應的序列號,驗證其是否有效,杜絕雙花問題(Double Spending)。

Zcash挖礦使用的演算法是Equihash,其理論依據是一個著名的計演算法科學及密碼學問題——廣義生日悖論問題。本質上是從由N個“n位字串{Xi}”組成的列表L中找到2^k個完全相等的元素{Xij}。Zcash首先將包含有隨機數的區塊頭轉化成列表L,並求解廣義生日悖論問題,找到一個解之後需要進行難度過濾(Difficulty filter),即通過難度演算法公式將找到的2^k個元素按一定規則進行雜湊運算,如果結果小於某個目標值則挖礦成功,反之礦工需要修改隨機數,從頭開始,重新構建廣義生日悖論問題並求解直到滿足難度要求(或者因為別人挖礦成功而停止,開始去挖新的區塊)。

Zcash的一個重要缺點是系統依賴於一個人為設定的初始的引數集,如果構造這個初始引數集的人是惡意的話,他就可以隨意產生新幣而不會被發現。由於其極強的匿名性和難以追蹤的特性,如果出現漏洞被黑客利用,將不容易被發現,因為隱藏交易的資料不可見,而像比特幣區塊的交易公開可查,出現異常容易被發現並及時修復。

ZCash的匿名加密技術可以說是目前匿名幣中最先進最徹底的,由約翰霍普金斯大學加密專家Matthew Green領導的團隊設計。但是想要以此撼動比特幣的地位,還需要加以時日來證明自己,證明完全匿名的重要性。畢竟比特幣先發優勢明顯,且通過混幣等手段也能達到一定的匿名效果。

相關文章