時(shí)間:2023-08-20|瀏覽:7174
類似于以太坊2.0實(shí)行的信標(biāo)鏈(BeaconChain),F(xiàn)ilecoin目前采用Drand作為其Beacon源,而啟用最初設(shè)計(jì)的Ticket鏈。我們知道,TicketChain實(shí)際上是一個(gè)邏輯鏈,是寄生在Filecoin鏈之上的。盡管Ticket鏈進(jìn)行了很好的設(shè)計(jì),但是仍然有其不令人滿意的地方,比如說:1)其Ticket是每個(gè)區(qū)塊都有的,但是每個(gè)高度僅需要一個(gè),所以這里帶來一個(gè)選擇問題,但這個(gè)問題不大;另外,2Ticket本身并不是對所有人來說都是不可預(yù)測的,因?yàn)門icket是礦工產(chǎn)生的,所以出塊礦工比其他人更早知道這個(gè)隨機(jī)數(shù)是什么;再進(jìn)一步,3)當(dāng)鏈發(fā)生分叉重組的時(shí)候,Ticket就會發(fā)生變化,這給許多依賴Ticket進(jìn)行的計(jì)算將失效。
所以,TicketChain并不是一個(gè)理想的解決方案,F(xiàn)ilecoin團(tuán)隊(duì)是善于采納新技術(shù)的,在權(quán)衡之下,目前的處理方式,隨機(jī)數(shù)的產(chǎn)生完全脫離Filecoin網(wǎng)絡(luò),啟用一個(gè)公共的、不可預(yù)測的、無傾向性的,可公共驗(yàn)證的隨機(jī)源,這個(gè)隨機(jī)源,就是Drand。
可信隨機(jī)源要解決的問題
簡單來說,一個(gè)良好的隨機(jī)源應(yīng)該包含如下特性:
不可預(yù)測:任何時(shí)間點(diǎn)任何個(gè)體和群體都不能預(yù)測為發(fā)布的隨機(jī)數(shù)
沒有偏向性:最后的輸出分布完全是隨機(jī)的,不能有任何的傾向性
公共可驗(yàn)證:在隨機(jī)數(shù)生成之后,任何人都可以進(jìn)行驗(yàn)證
去中心化:隨機(jī)數(shù)的產(chǎn)生應(yīng)當(dāng)是由一群獨(dú)立而且活躍的個(gè)體產(chǎn)生出來
可獲得性:系統(tǒng)必須保持持續(xù)運(yùn)行,總是(按照節(jié)奏)不斷地輸出隨機(jī)結(jié)果?
Drand:分布式隨機(jī)信標(biāo)守護(hù)程序
Drand(發(fā)音為“dee-rand”)本身是一個(gè)程序,作為分布式節(jié)點(diǎn)都可以加入運(yùn)行。Drand由Golang編寫,使用雙線性配對和閾值加密技術(shù),將運(yùn)行drand的服務(wù)器彼此鏈接,以固定的間隔生成共同的的,可公開驗(yàn)證的,無偏向于的,不可預(yù)測的隨機(jī)值。Drand節(jié)點(diǎn)還可以將本地生成的私有隨機(jī)性提供給客戶端。
drand最初是在DEDIS(去中心化分布式組織)組織內(nèi)部開發(fā)的,在2019年12月,獨(dú)立成為drand組織。
Drand的目標(biāo)和應(yīng)用
公共可驗(yàn)證隨機(jī)數(shù)的需求非常廣泛。比如菠菜、區(qū)塊鏈系統(tǒng)、嵌入式設(shè)備;同樣,其在一些統(tǒng)計(jì)抽樣中也至關(guān)重要:比如自治組織、選舉、陪審團(tuán)的組成、隨機(jī)財(cái)務(wù)審計(jì)等等。然而,構(gòu)建安全的隨機(jī)性來源絕非易事。我們現(xiàn)實(shí)生活中就有各種攻擊失利,比如福利彩票的作弊,選舉的徇私等等。其中影響隨機(jī)性的產(chǎn)生是原因很多,比如:靜態(tài)密鑰,非均勻分布,輸出偏向等等。
那么,Drand旨在通過提供隨機(jī)即服務(wù)網(wǎng)絡(luò)(類似于用于時(shí)間的NTP服務(wù)器或用于CA驗(yàn)證的證書頒發(fā)機(jī)構(gòu)服務(wù)器)來實(shí)現(xiàn)實(shí)現(xiàn)突破,并提供連續(xù)的隨機(jī)源。
Drand機(jī)制包括如下特點(diǎn),或者說目標(biāo):
去中心化:Drand是由Internet上各種信譽(yù)