您的位置:首頁 > 區(qū)塊鏈 >

Eaglesong是專門為Nervos CKB設(shè)計的哈希算法 其共識機制是改進的中本聰共識

2019-10-12 14:15:31 來源: 區(qū)塊網(wǎng)

Eaglesong 是專門為 Nervos CKB 設(shè)計的新型哈希算法。這是第一個成功結(jié)合了創(chuàng)新性、簡潔性和安全性三個設(shè)計要求的哈希算法。今天這篇文章,我

Eaglesong 是專門為 Nervos CKB 設(shè)計的新型哈希算法。這是第一個成功結(jié)合了創(chuàng)新性、簡潔性和安全性三個設(shè)計要求的哈希算法。今天這篇文章,我們將詳細解釋 Eaglesong 的設(shè)計思路以及它帶來的優(yōu)勢。

背 景

Nervos CKB 的共識機制(NC-Max)是改進版的比特幣中本聰共識(Nakamoto Consensus, NC),它是就網(wǎng)絡(luò)參與者的支付權(quán)限來達成共識的。通過這種機制,只要滿足以下兩個條件,那么任意節(jié)點都可以對系統(tǒng)狀態(tài)進行更新(這種更新也被稱為出塊):

· 該區(qū)塊是有效的;

· 出塊者解出了一個叫作工作量證明的計算難題。

不斷嘗試解出這個難題并爭取下一個區(qū)塊出塊權(quán)的節(jié)點被稱為礦工,礦工會在難題被解出時獲得相應(yīng)的獎勵。中本聰共識降低了網(wǎng)絡(luò)所需的安全性,使其不受覆寫歷史的攻擊,這是對算力分布的一種假設(shè),即超過 50% 的算力都在誠實的礦工手中。

工作量證明難題是根據(jù)提出的塊來定義的;這保證了難題的解和區(qū)塊一一對應(yīng),并能夠唯一地證明這一個塊。具體來說,每個塊都有一個唯一的 block_header,用于驗證待確認隊列中的一系列交易及驗證人。以往的工作量證明難題一般會包括找到一個有效的隨機數(shù),比如:

H(block_header || nonce) <= t .

這里面:

· t 表示難度系數(shù),該難度系數(shù)是周期性調(diào)整的,以控制平均出塊時間;

· || 表示比特串(Bit Strings)的串接;

· nonce 是一串隨機的比特;

· H 是一個單向加密哈希函數(shù)。

這個哈希函數(shù) H 有以下幾種作用:

· H 是公開的,因此網(wǎng)絡(luò)上的任何節(jié)點都可以僅通過驗證上述公式來驗證所提出的節(jié)點是否有效。此外,任何節(jié)點都可以在無需許可的情況下成為礦工。

· H 是難以預(yù)測的,因此礦工的最佳策略是隨機地猜測 nonces 且不斷嘗試新的 nonce,直到滿足這個公式為止。這就意味著,礦工得到的獎勵與他為保護整個網(wǎng)絡(luò)所付出的算力份額相匹配。

比特幣的哈希函數(shù) H 是兩次重復(fù)的 SHA2-256 運算。從結(jié)果來看,重復(fù)這個函數(shù)兩次似乎有點多此一舉,因為近二十年的密碼分析都未能產(chǎn)生真正有意義的攻擊。然而,在比特幣剛出現(xiàn)的時候,SHA1 正在面臨被破解的危機,那時的 SHA2 則更新穎一些。當(dāng)然 SHA2 也有可能被 SHA3 取代,如果 SHA2 也到了和 SHA1 同樣的境地的話。

雖然用 SHA2 定義工作量證明難題對比特幣來說是一個不錯的選擇,但對后來的很多加密貨幣來說卻不一樣。很多為了挖比特幣而特意開發(fā)的專用設(shè)備現(xiàn)在已經(jīng)過時了,而采用相同工作量證明難題的新加密貨幣則可以重新啟用那些過時的設(shè)備。

甚至那些沒有過時的設(shè)備也可以租出去,重新挖新的幣。因此,算力分布變得非常難以預(yù)測,也可能遇到突然的算力大幅度波動。同樣的道理也適用于為 SHA2 而量身定制的算法優(yōu)化,它可以降低函數(shù)的軟件計算成本,而不需要采用基于降低硬件成本的解決方案。

對于一種新的加密貨幣來說,使用一種其他的加密貨幣尚未使用過的工作量證明函數(shù)來定義工作量證明難題是非常可行的。對于 Nervos CKB 而言,我們會更進一步,選擇一個全新的、完全不可能面臨過早優(yōu)化問題的工作量證明函數(shù)。

另外,挖礦設(shè)備達不到預(yù)期的情況僅會出現(xiàn)在早期。長遠來看,部署專用的挖礦設(shè)備將會是非常有益的,這大大增加了攻擊網(wǎng)絡(luò)的難度。因此,對于一種新的加密貨幣來說,其工作量證明函數(shù)的前兩個設(shè)計目標(biāo),除了創(chuàng)新性以外,還應(yīng)該是簡單的,這樣它能夠顯著地降低專業(yè)挖礦設(shè)備開發(fā)的門檻。

第三個設(shè)計目標(biāo)顯然是安全性。雖然說,一個已知的漏洞對所有礦工來說都是一樣的,大家都可以利用,但這只會導(dǎo)致更高的難度;而一個未公開的漏洞可能會給發(fā)現(xiàn)這個漏洞的礦工帶來不一樣的挖礦優(yōu)勢,這會導(dǎo)致他付出的算力和獎勵不成正本。為了避免這種情況,最好的方法是為系統(tǒng)的安全性做一個強有力的論證。

Eaglesong

這時,Eaglesong 的用武之地就顯現(xiàn)了。

Eaglesong 是專門為 Nervos CKB 工作量證明設(shè)計的新的哈希函數(shù),它也適用于其他需要安全哈希函數(shù)的應(yīng)用場景。其設(shè)計標(biāo)準正是上面列出的那樣:創(chuàng)新、簡單和安全。我們希望這樣的設(shè)計足夠新穎,并且想要為技術(shù)的進步做一點小小的貢獻,同時,也希望這樣的設(shè)計仍然符合現(xiàn)實場景,以提出強有力的安全論證。

為此,我們選擇使用 ARX 步驟(添加,循環(huán)然后 xor —— 是不是很簡單!)構(gòu)建的排列來實例化 Sponge 架構(gòu) (與 Keccak/SHA3 相同),并基于寬路徑策略為其安全性做出論證 (與 AES 的基本論證相同)。

安全到底意味著什么呢?讓哈希函數(shù)適用于(諸如此處描述的)工作量證明難題的這個屬性被稱為多目標(biāo)單向性(Multi-target One-wayness)。該屬性是根據(jù)一場游戲定義的,在這個游戲中,會給對手一個目標(biāo)列表,如果他能夠在 H 下,對任意一個目標(biāo)生成單一原像,那么他就獲勝。

除了一個個試錯之外,如果對手沒有其他更好的方法,那么就意味著函數(shù) H 具有此屬性。然而,哈希函數(shù)通常還具有其他屬性,例如抗第二原像攻擊(Second Preimage Resistance),抗碰撞性(Collision Resistance)和相關(guān)不可行性(Correlation Intractability)。對一個屬性的攻擊不會自動轉(zhuǎn)換為對另一個屬性的攻擊。因此,從方法論角度來看,僅用多目標(biāo)單向函數(shù)來實例化一個工作量證明難題是合理的。

盡管如此,在 Eaglesong 的設(shè)計中,我們還是設(shè)定了輪數(shù),這樣一來,我們就無法區(qū)分所得的結(jié)果是隨機排列的,還是在給定工作量的情況下排列的。Sponge 框架的結(jié)果是所得到的函數(shù)具有與哈希函數(shù)相關(guān)聯(lián)的所有安全屬性。

據(jù)我們所知,Eaglesong 是第一個成功結(jié)合所有三個設(shè)計原則的哈希算法(或者說是在這個方面的任何一種函數(shù))。值得注意的是,當(dāng) Eaglesong 作為 Nervos CKB 的工作量證明哈希函數(shù)出現(xiàn)時,我們可能會以不影響函數(shù)安全性分析的方式。(Alan Szepieniec)

關(guān)鍵詞: Eaglesong Nervos CKB 哈希算法

精選 導(dǎo)讀

募資55億港元萬物云啟動招股 預(yù)計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當(dāng)日啟動招股,預(yù)計發(fā)行價介乎每股47 1港元至52 7港元,預(yù)計9月29日登陸港交所主板。按發(fā)行1 167億股計算,萬

發(fā)布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產(chǎn)。四川長虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價掛牌出售31套房產(chǎn)。今年以來,A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發(fā)布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

發(fā)布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個月新低

由于對美聯(lián)儲激進加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個月新低。美

發(fā)布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達克連續(xù)

發(fā)布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬億元,月內(nèi)增加344 67億元,最近一個半

發(fā)布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發(fā)布時間: 2022-06-17 09:37
推薦   2022-06-17