尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
巴比特加速器技術公開課是一款全球化的線上區塊鏈技術欄目(Geekhub Global Online),我們會定期邀請行業大咖在線解構區塊鏈技術,社區成員也可以參與直播互動,共同探討區塊鏈的技術發展與未來。
隨著越來越多的區塊鏈採用PoS共識機制,作為一種低能耗、高效率的隨機數算法,VRF(可驗證隨機函數)算法近年來得到了越來越多人的關注。可以幫助區塊鏈擴容,還可以提高安全性,很多人認為,基於VRF的共識機制或許可以改善「不可能三角」問題。
本周,Geekhub Global Online第四期「VRF——安全的橋梁」特別邀請了DEXON創始人陳泰元在線上為大家分享VRF在DEXON鏈上的應用。
本次課程分為三個部分:
第一部分:DEXON鏈的簡要介紹 第二部分:VRF在DEXON鏈上的應用 第三部分:問答環節
DEXON鏈的簡要介紹
今天介紹VRF如何使DEXON鏈更加公平、安全、高效。
DEXON是一個偏向商業應用化的公鏈系統,設計是有一個單鏈,每一個單鏈上有blockchain的拜占庭算法。
擴容方面:
使用的是平行鏈架構,在blocklattice(區塊網)里有四條平行鏈。平行鏈之間是等寬的,在每一個時間點是確定的,不會分叉。這四個鏈的交易被分散,這個交易的hash被平均打散在四條鏈上。另外,total-ordered chain保證了blocklattice的結構,最終可以把所有平行鏈上的區塊決定出最終的順序。
安全方面:
使用的是拜占庭容錯的保障。必須保障區塊鏈系統在數學證明上是安全的,即使有三分之一的節點是壞的節點,也能保證安全運行。
去中心化方面:
DEXON PoP的設計,是特殊的權益證明設計,每一個節點和出塊大小的速度都是對稱性網路。因為在非對稱性網路里,會成為被攻擊的目標,就會作惡。
DEXON的節點量是有限的。挖礦模型是,越多人參與進來,挖礦第一個月去中心化挖到的幣是一樣的。但總節點的上限會控制在幾千個。越多節點參與挖礦,挖出越多幣,新的幣會變成新的節點。我們是一個多鏈的結構,在越多節點上,太多的節點參與是線性增加。
VRF在DEXON鏈上的應用
這個時候就會涉及VRF,其用處是產生不可偽造的隨機數,且可被驗證。系統中的出塊都需要抽簽的動作,如果VRF產生一個隨機數,每個節點是相同的,則是公平的。
VRF在這個系統中有兩個作用:
1.VRF用在每一個單鏈的出塊的選擇,每一個節點產生新的隨機數,來做新的隨機數的總參數。
把epoch叫做第I個隨機數,我們叫做Si,iA會減掉每個節點,每個節點會牽在每個訊息上面。這個「i」在每個區塊里面被叫做鏈的IBV,把這些資訊加在一起,再簽名。只有自己知道,而且我簽名的東西,大家都可以去驗證。
如果某人的public key結果知道,那其他人都可以來驗證。把這個hash扣掉,算出絕對值的差。出塊的優先級就越高,在一萬個節點里,每一個都簽出這個證明,就可以出塊,這就解決了誰可以出塊的問題,並且是隨機的。
2.VRF是epoch(輪次)的轉移,每一個epoch都必須重新產生Ri。
為什麼每個小時要產生一個Ri,因為每個小時的節點是會進進出出,比如我在這個小時我有100個節點,到下一個小時,我有200個節點,再下一個小時我有300個節點。先加入的節點,如果新加入Ri,我就可以調整剛剛在函數里的私鑰,因為我可以知道哪個私鑰對我更有利。所以我們必須防止這件事情發生,所以每一個周期我們會充置這個Ri的CRS。
怎麼做呢?在我們系統里,我們會跑DCG,這個DCG與DFINITY的DCG是一樣的。簡單來說,比如有一百個節點,把security分享給其他人,但分享後,除非有100以上的人可以一起合作。我們可以得到新的私鑰,以驗證它是一開始被分享給大家的。
一旦跑完DAG後,我就可以閾值簽名。簽在epoch就可以產生新的隨機數,這個隨機數就可以出現在下一個,我可以保證這個隨機數是無法篡改的。這個I+1就可以保證是隨機的。這個新加入的節點就沒辦法確定是什麼,就很難攻擊這是什麼。這兩個VRF都是在不同的情況下保證去中心的隨機數。 總結來說,這兩個VRF都是在保證去中心的隨機數。
還是講VRF的作用,剛才說每一個epoch會產生一個隨機數,這個隨機數會出現兩個群,一個群是先選出下一個epoch的CRS的群主,比如有一萬個人會去跑DCG,它的複雜度會是一萬的三次方,這不可能做到。所以,必須從一萬個節點里選出一個比較小的節點的集。從一萬個集合里中選出一萬個CRS群主,這個群主在集合里只有四百個人,這個DCG的複雜度是400的三次方,在實物上,400的三次方是可以跑。在我們實驗里,大概1秒鐘可以結束,就是非常快。
這樣跑出來之後,還需要節點(note set),CRS是為了跑出下一個下一次epoch「i+1」的DCG,而且產生新的隨機數。而note set是在跑每一個鏈的單鏈,它上面的拜占庭容錯的出塊群都可以出塊。假設100條區塊鏈,抽出第一條鏈出塊,只有400個,400個人里共識的效果必須很高,400個節點成本很低,才可以做到每個節點出塊。我們能做出網路有多快,系統就有多快。
問答環節
Q:如果只能選一個答案,你認為公鏈最重要的特性是什麼?你們又是怎樣打造這個特性的?
A:以公鏈的性質來說,去中心化、安全性、擴容性都很重要。我會選擇去中心化和安全性,只有真去中心化系統才可以用,否則我就用阿里雲就好了。
VRF在去中心化方面扮演很重要的角色。如果沒有隨機數,就很難增加節點的增量,如果有隨機數,節點量變多,就能隨機出一個比較小的委員會做共識,這樣成本就會很低。如果很多節點就變得很低,其他節點就變得很高,這是不可行的。安全性我們用的是拜占庭算法。
——————End——————
以上為本次課程的主要內容,若想了解更多:
1.請添加小助手微信:btm_11,回復「公開課」,即可入群回看本次課程;