識算法是近年來分布式系統研究的熱點,也是區塊鏈的關鍵技術之一。我們從當前主流的共識算法特點入手,研究一下 VRF (可驗證隨機函數)為什
識算法是近年來分布式系統研究的熱點,也是區塊鏈的關鍵技術之一。我們從當前主流的共識算法特點入手,研究一下 VRF (可驗證隨機函數)為什么有可能成為破解「不可能三角」的一條切實途徑。而作為早期運用 VRF 的金融公鏈,ZVChain 已在區塊鏈與現實金融之間打造了一條實用通路,并在 VRF 領域有了更新的技術進步。
VRF 緣何在共識算法演變中崛起
眾所周知,區塊鏈是分布式網絡賬本系統,它區別于現有網絡中心化的架構,用密碼學和經濟學共同打造創新的共識機制和算法,展示公開透明的計算過程,達成人人可信的公正結果。然而,與比特幣相伴而生的區塊鏈技術發展十年來,誕生的 PoW (工作量證明)、PoS (權益證明)、DPoS (委托權益證明)、PBFT (實用拜占庭容錯)等各種共識算法,都無法突破業界公認的區塊鏈「不可能三角」:即區塊鏈網絡無論采用哪種共識機制來決定新區塊的生成方式,皆無法同時兼顧擴展性(Scability)、安全性(Security)和去中心化(Decentralization)這三項要求,至多只能三者取其二。
在區塊鏈從 PoW 機制向 PoS 機制進化之路上,不可避免地會碰到一個核心問題:舍棄 POW 這種強算力型的隨機算法后,PoS 應該采用何種低功耗隨機算法可以保證礦工記賬權益的公正公平性的同時,還能保障系統魯棒性。從以太坊遲遲未能升級 Casper 看出,真隨機數問題一直以來是 PoS 的核心問題。
在此情況下,VRF 算法近年來得到越來越多人關注,它是一種低能耗、高效率的隨機數算法,并提供了非對稱密鑰可驗證機制。
VRF 算法,由莫卡利教授于 1999 年提出。作為一種基于密碼學的新型共識模型,VRF 能產生具有個體屬性且可驗證的隨機數;這種算法適用于高度去中心化、節點需要主動競爭勝出而非被動指定的場景;VRF 最大的優點是安全性,具備后驗屬性、抗攻擊能力強、對算力需求低(具有較高的經濟性),以及能快速共識。
VRF 共識具備 PoW 算法的形,且算力要求低。你可以想象它是一個黑盒子,當你往黑盒子里扔進去一個東西,里面會隨機生成一個結果。如何將 VRF 運用到共識驗證當中去呢?VRF 的方式是讓各個節點輪流往這個函數(黑盒子)里輸入值,輸入值為自己的私鑰和一個全網都知道的隨機數。如果輸出的隨機結果滿足閾值條件,那么就由該節點進行記賬。
VRF 擁有諸多優點,但也存在缺點。首先,全網通訊造成等待時間長,從數據上來看,就算很小的出塊,也會有十秒鐘左右來等待所有提案者收到 proof (憑證)并進行驗證的時間;然后,驗證步驟需要數輪,很繁瑣復雜;最后,簽名數據量大,占用帶寬。VRF 不僅是要求網絡通訊量多,數據存儲開銷也大,因為簽名的結果都需要上鏈并受其他節點驗證。總的來說,驗證耗時、大量占用網絡帶寬,是 VRF 的主要缺陷。
從上圖可以看出 Algorand、DFINITY 和 ZVChain 都采用 VRF 加其他驗證方式的 PoS 算法,從技術上看,共識算法的類型趨于同類。
以 DFINITY 為代表的項目存在有系統安全問題(例如 DDoS 攻擊、提案者與驗證組聯手作惡),ZVChain 嘗試通過「后驗方式」解決。簡而言之,參與者用自己的私鑰自行計算 VRF,若滿足提案條件則成為本輪提案者,打包交易完成提案區塊后,將提案區塊和憑證(VRF proof)一起對外廣播,其他參與者通過憑證計算才能確定其身份合法性。因此,在本環節任務結束之前,參與者的角色身份均保密,極大程度避免了被惡意者「腐化」或者 DDOS 攻擊的風險。
另外,ZVChain 還進行了一系列增強設計:提案者多點并行方式給出提案區塊,在驗證組內競爭簽名達成共識。而針對最嚴重的 51% 攻擊,目前在業內有提出“系統健康度概念”,即超級中心需要控制 95% 的節點,才能發起類似比特幣的 51% 攻擊。這些增強設計也都是 ZVChain 的業內首創。
ZVChain 在共識階段采用與 BLS 算法相似的門限簽名算法時,通過采用不同的橢圓曲線,以及更安全高效的雙線性對算子,可以在提案區塊進行驗證的同時達成共識。這意味著效率將大大提高——layer 1 (一層) TPS 達 3000 以上同時又可以保持簽名數據量小、每輪產生唯一且不可預測的隨機數等優點。
概括來說,ZVChain 通過 VRF 算法進行秘密抽簽,選擇多名提案者并行提案,再通過門限簽名算法來達成驗證組內共識,優化了 Algorand、DFINITY 中存在的上述問題。
除了共識算法,其他方面對比如下:
眾所周知,基于 VRF 共識算法的 Algorand 跟 DFINITY 在募資方面均獲得很大成功,但開發進程緩慢,很多技術細節無法明確獲知,Algorand 今年 6 月上線測試,另一項目 DFINITY 尚未上線,而 ZVChain 已于年初測試網上線,在三個項目中目前進展最快、開發進程也較為穩健。
ZVChain 雙重賬戶專注服務 DeFi 應用場景
基于各家跨鏈技術的區別,今年許多熱門的跨鏈項目其交易信息除了交易雙方,其他人沒法獲知交易細節,監管機構也很難進行監管。ZCash、Grin 等匿名幣公鏈被很多國家監管層所排斥,也就無法真正落地,為商業應用更好的服務。為了解決這一核心痛點,ZVChain 從底層架構出發,構建出一套符合商業邏輯的賬戶體系,在保護用戶隱私的前提下,滿足監管的要求。
今年,ZVChain 正式升級為專業化金融公鏈,用開源與去中心化的區塊鏈技術為金融行業提供高安全、可監管、易擴展的數字金融基礎設施和技術服務。
2019 年,除了共識算法的更新換代,DeFi (Decentralized Finance,去中心化金融)類項目的崛起引人矚目,以太坊上有超過 100 個基于智能合約的金融 Dapp, 這些項目都以連接現實金融體系為目標,但目前卻在區塊鏈孤立存在。然而在現實世界中,各國商業經濟體系無法獨立存在,以貨幣而言,則通過貨幣匯率交易規則進行交易、兌換。
ZVChain 的目標是打造去中心化、連接基于 DeFi 的各種數字金融應用的底層框架,這將極大便利用戶使用區塊鏈技術,用戶在完成去中心化認證之后,便可以無縫使用各種區塊鏈金融服務和體驗,體驗用數字貨幣實現實體經濟的各種活動,例如借貸、理財、保險、支付等。
ZVChain 將從企業和消費者兩端保障更好的金融流通性。在企業端:發展電子錢包、閃兌、與銀行合作等,解決銀行、商業企業、金融流通領域遇到的難點和缺點;在消費者端:希望實現數字貨幣的流動性,實現類似數字貨幣的支付寶應用,讓用戶數字貨幣流通、交易、支付成為現實。ZVChain 希望實現能摸得到、用得到的應用和場景,成為打通現實與虛擬壁壘的去中心化數字金融實用底層體系。
ZVChain 在業界推出獨有的雙重賬戶體系設計,其賬戶分為普通賬戶(Common account)、KYC 賬戶(KYC account)和匿名賬戶(Anonymous account)三種類型:
普通賬戶(Common Account)
類似比特幣、以太坊,用戶利用客戶端程序自行產生一個非對稱密鑰對(私鑰+公鑰)得到一個區塊鏈的賬戶地址,普通賬戶的余額(balance)、交易信息是和現有的以太坊、比特幣是一樣的,無數據隱私保護,明文保存,其他用戶均可見。
KYC 賬戶(KYC Account)
個人或企業上傳上個人或企業 KYC 信息,并附帶一個指定的普通賬戶,向 ZVChain 系統申請 KYC 認證,待系統確認后,該賬戶地址即成為完成認證的 KYC 賬戶。KYC 信息上傳時,需附帶使用該地址私鑰所產生的數字簽名。系統通過數字簽名驗證來確認該用戶擁有該賬戶地址的私鑰。
希望申請匿名賬戶的用戶一定需要先有一個 KYC 賬戶。因為匿名賬戶的私鑰會由 KYC 賬戶的私鑰衍生得到。本質來說,KYC 賬戶是經過 KYC 認證的普通賬戶,所以 KYC 賬戶余額涉及的交易依然沒有隱私保護的。建議 KYC 用戶使用匿名賬戶交易,并且 KYC 用戶可以擁有不止一個匿名賬戶。
匿名賬戶(Anonymous Account)
匿名賬戶的余額采用半同態加密的方式進行數據加密,礦工通過交易給出的零知識證明來驗證交易的合規性。所以匿名賬戶的余額是隱私保護的,交易雙方均是匿名賬戶的話,交易額也是不可見的(注:若交易一方是匿名賬戶,一方是非匿名賬戶,雖然匿名賬戶余額加密,但可從非匿名賬戶的余額變更得知該交易的金額)。
ZVChain 賬戶體系匿名賬戶的生成算法,是由用戶提供的隨機數 r 對應的公鑰、守護節點公鑰,以及其 KYC 賬戶公鑰做為參數輸入而產生的。形象地說,利用隨機數 r 的公鑰和守護節點公鑰,對 KYC 賬戶公鑰做了混淆得到匿名賬戶公鑰。
所以匿名賬戶的私鑰是由 KYC 賬戶私鑰經過數據混淆而得到的,他人無法獲得匿名賬戶與 KYC 賬戶之間的關聯。但出于監管考慮,匿名賬戶生成算法保證了通過守護節點提交各自的秘密片段聚合,可以反解出匿名賬戶對應的 KYC 賬戶。所以一旦出現用戶有涉嫌違規行為,監管者可以找出與其交易的所有賬戶,非匿名的賬戶因為數據透明可以采用現有的監管策略,但對其中的匿名賬戶,ZVChain 也提供了解決方案:
1. ZVChain 社區發起協助投票。
2. 投票同意后,針對匿名賬戶使用的隨機數 r 的公鑰,守護節點計算秘密片段遞交給固定用戶,該用戶聚合秘密片段,可以反解出該匿名賬戶來源于哪個 KYC 賬戶。
3. 算法保證僅有守護節點(計算秘密片段需要用到守護節點的私鑰),且需要全部守護節點參與,才能反解出該關系。
其中守護節點由 ZVChain 社區產生,不會也不可能集中掌握在項目發起團隊 ZVTech 手中,所以不必擔心賬戶隱私的問題。
相比于 Algorand、DFINITY 表示其項目普遍適用于任何應用場景,ZVChain 的目標更清晰聚焦。長久以來,不管是比特幣、以太坊或是 EOS,提供了加密數字貨幣的同時,無法打通實體金融與數字貨幣平臺的鴻溝。擁有數字貨幣的用戶雖然保證了隱私性,但這是以躲避政府監管、放棄法律保護為前提。ZVChain 正是從打破這個痛點出發,從底層架構構建出一套符合商業邏輯的雙重數字賬戶體系,在保護用戶隱私的前提下,滿足政府監管需要。
今年 ZVChain 加強了社區生態建設,計劃在下半年主網上線前代碼全部開源,同時啟動賞金計劃,借助開發社區的力量讓 ZVChain 成為真正安全的公鏈。
ZVChain 代幣 ZV 確定為 50 億枚發行總量,即將在兩個月內在國外主流交易所上線,其中代幣總量 15% 逐年釋放給團隊,以保證網絡的持續升級;70% 由礦工挖出,釋放周期約為 12 年;10% 將面向早期支持的機構,另外 5% 由基金會來促進社群開發等運營使用。
ZVChain 盡可能將代幣均勻發放給盡可能多的參與者,充分調動開發團隊、礦工和用戶的主觀能動性、發揮去中心化的力量,社區與技術強強聯合,才能一起構建全球化、由技術驅動的頂級公鏈。(鏈聞)