Holochain底層技術—Distributed hash table 分散式哈希表
DHT的全稱是Distributed Hash Table,即分散式哈希表技術,是一種分散式的存儲方法。這種分散式網路不需要中心節點伺服器,而是每個客戶端負責一個小範圍的路由,並負責存儲一小部分數據,從而實現整個DHT網路的定址和存儲。DHT網路還在於關鍵字最接近的節點上複製備份冗餘信息,避免了單一節點失效問題。形象地,我們可以把整個DHT網路想像成一個大城市,那麼每個客戶端,就好比城市裡各個角落的地圖碎片,上面繪製了附近區域的地形情況,把這些地圖碎片匯總後,整個城市的全貌也就出來了。
簡單地說,DHT就是一種分散式的存儲和定址技術。通過DHT數據結構它把KEY 和VALUE用某種方式對應起來。使用hash()函數把一個KEY值映射到一個index上:hash(KEY) = index。這樣就可以把一個KEY值同某個index對應起來。然後把與這個KEY值對應的VALUE存儲到index所標記的存儲空間中。這樣,每次想要查找KEY所對應的VALUE值時,只需要做一次hash()運算就可以找到了。以上就是定址過程。
目前應用DHT技術的主要應用包括:BitTorrent,Git,Storm Botnet,Freenet, Yacy,IPFS和Holochain。前五種應用都屬於傳統互聯網技術應用,後面兩種涉及到目前大熱的區塊鏈行業。其中,IPFS(InterPlanetary File System)星際文件系統通過DHT定址和存儲技術,將標的存儲信息通過DHT技術存儲到分散式的存儲介質提供者。目前已經有建立在IPFS上的視頻發布網站。
而重點要提到的Holochain也採用了DHT作為全網分散式賬本存儲和定址技術。提到賬本ledger就不得不提到Blockchain區塊鏈技術,區塊鏈簡單說就是分散式記賬技術,全網統一一個版本的賬本,各個全節點node的賬本全網一致,也就是每個參與者都複製一份賬本,並通過gossip技術實時更新,那麼區塊鏈面臨的scaling擴容問題的癥結就在於此,全網同步一份相同的賬本,有多少個節點就有多少個賬本的複本,複本的存儲空間和更新所耗費的帶寬是對資源的浪費。
Holochain的革新之處在於(沒錯,我用了革新這個詞,豈止於創新)將全網賬本分散式的存儲在各個參與的節點上,並通過DHT定址技術保證賬本的完整性integrity和可檢索性retrievability。也許我還沒有說清楚區別的關鍵所在。Holochain上的賬本和Blockchain一樣是全網統一一個版本的賬本,但這個賬本的存儲不是每人一份複本,而是只有一份正本,每人存儲一部分,每人存儲的就是與自己交易和狀態轉換相關的部分。Holo官方經常說的一句話是在holo上每人都是一條鏈,沒錯,每人都存儲了自己的交易,也就是自己的鏈,自己的分賬本,但自己的分賬本也是全網總賬的一部分,通過DHT技術和密碼學技術讓這些分賬不可分割不可篡改。每個節點存儲的賬本都是唯一的,並且是必要的,相對於Blockchain,極大的降低了複本佔用的空間和帶寬,同時還保留了區塊鏈的優勢(如:不可篡改)。
各位聽到這裡是不是對Holochain真正的意義有了一些感觸?今天先說到這裡,下回繼續。
更多信息可進群了解
群滿可添加客服微信拉群


TAG:全球大搜羅 |