班德:VRF是什麼?與公鏈有何關係?| 巴位元加速器技術公開課

買賣虛擬貨幣

巴位元

服務於區塊鏈創新者


巴位元加速器技術公開課是一款全球化的線上區塊鏈技術欄目(Geekhub Global Online),我們會定期邀請行業大咖線上解構區塊鏈技術,社羣成員也可以參與直播互動,共同探討區塊鏈的技術發展與未來。

隨著越來越多的區塊鏈採用PoS共識機制,作為一種低能耗、高效率的隨機數演算法,VRF(可驗證隨機函式)演算法近年來得到了越來越多人的關注。可以幫助區塊鏈擴容,還可以提高安全性,很多人認為,基於VRF的共識機制或許可以改善“不可能三角”問題。

本週,Geekhub Global Online第四期“VRF——安全的橋樑”特別邀請了TASchain創始人兼CEO、前蝦米音樂創始人兼CTO班德線上上為大家分享VRF的相關內容。



本次分享分為三個部分

一、由TASchain創始人兼CEO班德主講,內容是VRF技術及其與公鏈可結合的方向 二、由TASchain創始合夥人呂博主講,內容是VRF技術機理及其優缺點 三、現場問答

班德:VRF技術及其與公鏈可結合的方向

大家好,我是TASchain的CEO班德,很高興與大家對VRF做一些分享。


VRF技術是什麼?VRF,全稱為可驗證隨機函式(Verifiable Random Function)。在區塊鏈選出塊節點的過程中,為了保證安全,隨機是一個基本要求。VRF 的目的就是要生成一個真正隨機且無法被預測的值。


這對人來說很簡單,例如五個人隨機擲骰子,投擲出3、3、4、1、5,這就是一個隨機數。但是,讓計算機產生隨機數至今仍是一個難題


我們來看一下公鏈。我們知道,最早的公鏈是比特幣,其優點在於安全性高,然而也有兩大問題:效能差,能耗大。


後面出現的公鏈有以太坊和EOS,以太坊雖然比比特幣的TPS高,但同樣存在效能差、能耗大的問題。2017年出現的EOS,TPS一下子提升了上去,達到1000以上。雖然EOS解決了效能問題,但它有21個超級節點,很難被撼動,把重要的位置霸佔了,一般人要加入非常困難。


比較EOS和比特幣可見,EOS更像雅典式民主,透過二層的投票機制選出決策層,但決策層一旦作惡 ,底層節點無法改變。21個節點滿足了拜占庭,他們就可以制定規則。而比特幣則是全網節點計算,全網所有礦工只要有一臺電腦都可以參與挖礦。EOS更像分散式協作場景,而比特幣則是去中心化的場景。


那麼,如何保證比特幣去中心、安全的優勢,又能解決其效能差的問題呢?我們認為,VRF是一個解決方法。



這個思路非常簡單直接。我們先回到比特幣來看,比如,比特幣是1000個礦工挖礦,但效率低且高能耗。但我們可以將這1000個礦工分成10組,每組100個人。

第一步:1000個礦工計算hash,隨機選擇選一組礦工。當到達某個高度,比如500後,讓一組礦工去做,其他礦工就閒置了;第二步:閒置礦工協助出塊的礦工驗證。這樣就按照隨機選擇的方式進行了分散式協作。
但這樣做會出現一個問題,即為什麼選擇這一組,而不是另一組?這個時候VRF就發揮作用了。VRF是可驗證隨機函式,選擇哪一組是透過數學的方式被驗證,這就跟比特幣驗證hash的過程一樣,出來後就可以很快的驗證。

所以,我們可以看到Algorand和Difinity一樣都是透過VRF隨機分組的方式解決比特幣高能耗、低效能的問題。layer2 的方式也能解決效能低的問題,但很難解決能耗高的問題,難以解決大規模應用的問題。可參見文章《基於VRF的下一代共識機制比較——TASchain、Algorand、Dfinity》。


VRF對礦工進行分組,在比特幣中是沒有分組的,這個礦被挖出來後就快速在全網,經過全網認證就可以上鍊,但這需要解決組內的通訊問題,而我們的TASchain在這方面做了很多事情。

呂博:VRF技術機理及其優缺點

大家好,由我來跟大家講VRF的機理以及優缺點。VRF演算法是在1999年由莫卡利教授提出,近幾年因其隨機性優點和安全性,被區塊鏈的研究者所重視。


P

oS之所以代替PoW,是因為其更好地解決了記賬權的公證性問題。而VRF更好地提出了真隨機數,從PPT中可以看到VRF的特性以及產生方法。對真隨機數演算法的比較,從最優解方面來說,是BLS,但狹義VRF是更安全的隨機數計算方法。


接著我們來看看VRF的工作流程,它由三個部分組成:

1.證明者先產生隨機數Proof,再將隨機數傳送給驗證者;

2.驗證者收到Proof,可以將Proof2Hash,把Proof轉化成隨機數result;

3.result如果滿足條件,則透過Verify函式,這個函式要給出證明者的PK、msg、proof,如果為True的話,則透過驗證。

然後我們來看VRF的優點
首先,VRF的算力要求低,以基於ed25519橢圓曲線的VRF測試,Prove和Verify的效能均在0.3 ms;

其次,VRF極具POW演算法的形,它能產生隨機數,並且隨機數具有個體屬性,且可驗證;

然後,VRF適合高度去中心化的場景,節點需要主動競爭勝出,非被動指定;

最後,VRF最大的優點是安全性,具備後驗屬性。

舉個例子說,它更像一個角色扮演類的遊戲--狼人殺,每個參與者透過分發的底牌看自己所扮演的角色,執行自己的功能,到遊戲結束,翻出自己的底牌讓別人知道自己所承擔的角色,在這種情況下有很強的安全性。

在出塊的過程中,最大的問題是被其他惡節點腐化,而VRF具有後驗屬性的運算,能抵抗其他節點的腐化。

我們再來看VRF的缺點,從我們對VRF公鏈的比較來看,後驗特性雖然很安全,但也帶來了不少麻煩:

首先,全網通訊。比如我是一個提案者,透過抽籤知道自己進入提案組,但我不知道這一輪多少人是提案者,我也不知道提案者給誰,我只能把自己的出酷愛對全網廣播,所以在VRF上都是全網通訊。

其次,等待訊息的時間視窗。像剛才所說的,作為驗證節點,我不知道上一輪的提案提案節點是誰,也不知道到底有多少個,在眾多提案者中,如何選出滿足條件的提案者,在這個中間的解決方法,我們採取的是等待訊息的時間視窗,而Algorand演算法中就保留了很長的視窗等待期,從資料上來看,就算很小的出塊,也會等待十秒鐘左右的時間視窗,等待所有提案者的VRFproof時間。


然後,驗證步驟輪數較多。因為VRF演算法有後驗的特性,每一輪選組出來的組員個數是不固定的,是隨機的。對於這個問題,Algorand 拜占庭容錯機制確實能給每一輪不同的組員工作,但驗證步驟數比其他的拜占庭演算法多很多,從他們的論文來看,會達到十二輪、十三輪。


最後,簽名資料量大。簽名資料量大的問題不僅是網路通訊量多,資料儲存開銷也大,因為簽名的結果都需要上鍊,受其他節點驗證。另外,驗證的時耗也高,大概每個簽名需要0.38毫秒左右,如果有3000個資料需要驗籤,則整個驗證需要花費幾秒來操作。還有,隨機數分佈均勻性還待驗證。

VRF的缺點是為追求安全性而帶來的麻煩,而現有的公鏈採用的都是拜占庭演算法。TASchain改進了拜占庭演算法,其設計的Chiron共識演算法融合了VRF和門限簽名的方法。

三、現場問答

Q:資料再精簡也不行,會積累的吧?

A:我們曾經做了一個關於比特幣的試驗,我們知道比特幣以6.5出塊作為資料的確認,作為控方可以始終從最新的30-50塊開始,這不影響礦工作為礦工來挖坑。但對於比特幣來說,是沒有保證的。這一類礦工一旦碰到稍長的鏈分叉,它也可以採取同步的方式來繼續。

TAS也存在分叉,全網都OK的情況下,會出現3-4個分叉。分叉解決的方式是軟分叉的機制。TAS採取的是各類權重最大的鏈。BLS作為單條鏈來說,從TAS試驗的結果來看,TPS是達到的,當然單鏈肯定存在天花板。

Q:TASchain的VRF還結合了BLS門限簽名和分片技術,這主要是為了解決VRF在公鏈運用上的哪些不足?
A:現有的VRF的方案,如Algorand和本體,他們後端的驗證比較長,步驟的輪數比較長,節點比較多,簽名比較多,會驗證耗時長,儲存通訊量大。這些問題我們透過BLS門限簽名的方式就可以解決。我們可以做到最後的驗證更簡短,效能更可靠。
Q:如果只選一個答案,您認為公鏈最重要的特性是什麼?你們又是怎樣打造這個特性的?
A:公鏈最重要的特性是去中心化,去中心化程度越高,安全性、可信性越大。我們如何打造去中心化呢?我們選擇的是VRF+BLS的方式,這樣可以保證高度的去中心化。

班德補充:我看到有個同學問Dfinity測試的時間可能有推遲。很難說哪方就跑得更快些,我覺得需要大家一起參與。為了讓大家都參與進來,我們用Python作為我們智慧合約的語言,因為python是全球排名前五的語言,也是語言中最簡單的,很多小學生都在學這門語言。我們希望透過公測讓大家幫我們一起推進。

——————End——————

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;