【大文觀鏈】DHT:比特幣和以太坊是如何實現(xiàn)去中心化的
圖片來源:視覺中國
鈦媒體注:大文觀鏈,是鏈得得App新推出的區(qū)塊鏈技術分析系列欄目。由鏈得得App作者馬文佩伴隨諸位用戶,對區(qū)塊鏈、數(shù)字貨幣市場中前端技術方案進行應用層講解與熱點事件的技術層分析。每個工作日與大家一同分享“鏈圈技術宅”的那些頭腦日常。
上周有朋友求助大文:DAG和DHT有什么區(qū)別?
DAG全程有向無環(huán)圖,我們之前有過介紹,是一種針對公有鏈的擴容方案,其代表項目包括IOTA和Phantom。但因為開發(fā)難度大、依然有技術難關需要攻克,因此目前公有鏈市場中優(yōu)秀的DAG項目并不多見。
DHT全稱分布式散列表或分布式哈希表,是區(qū)塊鏈系統(tǒng)實現(xiàn)分布式網(wǎng)絡的底層算法,具體到每個項目又有不同,如比特幣使用的gossip protocol, 以太坊使用的Kademlia。
今天為大家詳細講講DHT。
DHT的誕生可以說是現(xiàn)代互聯(lián)網(wǎng)去中心化的一個標志:最初的互聯(lián)網(wǎng)是徹底去中心化的,每臺計算機(節(jié)點)之間通過FPS等各種協(xié)議互相訪問。在之后的發(fā)展過程中,互聯(lián)網(wǎng)逐漸發(fā)展出了適合進行大規(guī)模商業(yè)應用的服務器+客戶端模式,將部分節(jié)點特殊化成為服務器,其他節(jié)點之間的訪問逐漸減少,這也是現(xiàn)代互聯(lián)網(wǎng)被冠上“中心化”稱呼的原因。
在互聯(lián)網(wǎng)中心化的發(fā)展過程當中,以BT下載為代表的P2P網(wǎng)絡協(xié)議成為了互聯(lián)網(wǎng)去中心化的標志。P2P全稱對等式網(wǎng)絡(peer-to-peer),又稱點對點技術,是無中心服務器、依靠用戶群(peers)交換信息的互聯(lián)網(wǎng)體系,它的作用在于,減低以往網(wǎng)路傳輸中的節(jié)點,以降低資料遺失的風險。與有中心服務器的中央網(wǎng)絡系統(tǒng)不同,對等網(wǎng)絡的每個用戶端既是一個節(jié)點,也有服務器的功能,任何一個節(jié)點無法直接找到其他節(jié)點,必須依靠其戶群進行信息交流。
從某種意義上說,區(qū)塊鏈技術是P2P的延伸。與P2P相比,區(qū)塊鏈將應用場景進行了極大的擴展,并且解決了對節(jié)點的獎勵問題。而P2P本身強調(diào)的離散性、伸縮性、容錯性也能夠完美的支持區(qū)塊鏈網(wǎng)絡運行。其中:
- 離散性:構成系統(tǒng)的節(jié)點并沒有任何中央式的協(xié)調(diào)機制。
- 伸縮性:即使有成千上萬個節(jié)點,系統(tǒng)仍然應該十分有效率。
- 容錯性:即使節(jié)點不斷地加入、離開或是停止工作,系統(tǒng)仍然必須達到一定的可靠度。
以比特幣采用的Gossip Protocol算法為例,Gossip算法能夠利用一種隨機的方式將信息散播到整個網(wǎng)絡中,正如Gossip的本意“緋聞八卦”一樣。
Gossip在運行過程中,網(wǎng)絡中的某個節(jié)點隨機的選擇其他若干個個節(jié)點作為傳輸對象,該節(jié)點向其選中的若干個個節(jié)點傳輸相應的信息,隨后接收到信息的節(jié)點重復完成相同的工作,最終建立了比特幣節(jié)點網(wǎng)絡。
在以太坊中采用的Kademlia(也被稱為Kad)算法則直接規(guī)定了網(wǎng)絡的結構,也規(guī)定了通過節(jié)點查詢進行信息交換的方式。Kademlia網(wǎng)絡節(jié)點之間使用UDP進行通訊。參與通訊的所有節(jié)點形成一張?zhí)摂M網(wǎng),并通過節(jié)點ID來進行身份標識,與文件散列直接對應,它所表示的那個節(jié)點存儲著哪兒能夠獲取文件和資源的相關信息。當我們在網(wǎng)絡中搜索某些值的時候,Kademlia算法需要知道與這些值相關的鍵,然后分步在網(wǎng)絡中開始搜索。每一步都會找到一些節(jié)點,這些節(jié)點的ID與鍵更為接近,如果有節(jié)點直接返回搜索的值或者再也無法找到與鍵更為接近的節(jié)點ID的時候搜索便會停止。這種搜索值的方法是非常高效的:與其他的分散式雜湊表的實現(xiàn)類似,在一個包含n個節(jié)點的系統(tǒng)的值的搜索中,Kademlia僅訪問O(log(n))個節(jié)點。非集中式網(wǎng)絡結構還有更大的優(yōu)勢,那就是它能夠顯著增強抵御拒絕服務攻擊的能力。即使網(wǎng)絡中的一整批節(jié)點遭受泛洪攻擊,也不會對網(wǎng)絡的可用性造成很大的影響,通過繞過這些漏洞(被攻擊的節(jié)點)來重新編織一張網(wǎng)絡,網(wǎng)絡的可用性就可以得到恢復。這也是以太坊系統(tǒng)較比特幣系統(tǒng)更為高效的原因之一。
(本文獨家首發(fā)鏈得得App)
本文原發(fā)布于鏈得得,授權鈦媒體App發(fā)布,作者:大文
責任編輯:售電衡衡
-
5大重點任務11個重點細分 河北加快構建省級能源大數(shù)據(jù)中心
-
能源互聯(lián)網(wǎng)注入數(shù)字經(jīng)濟新動能 電力大數(shù)據(jù)實現(xiàn)更多價值
-
中國首個100%利用清潔能源運營的大數(shù)據(jù)產(chǎn)業(yè)園投運
2020-07-21清潔能源,清潔能源消納,青海
-
探索大數(shù)據(jù) 區(qū)塊鏈實現(xiàn)與能源互聯(lián)網(wǎng)良好契合
2020-06-09區(qū)塊鏈,電力行業(yè),能源互聯(lián)網(wǎng) -
基于區(qū)塊鏈的含安全約束分布式電力交易方法
-
區(qū)塊鏈在能源交易與協(xié)同調(diào)度的應用前景:提升電力交易的自由度和實時響應效率
2019-11-04區(qū)塊鏈在能源交易與協(xié)同