未來公鏈技術哪家強?下一站“公鏈2.0”(下)

買賣虛擬貨幣

白話區塊鏈

從入門到精通,看我就夠了!

本文是上週六專欄文章《未來公鏈技術哪家強?下一站“公鏈2.0”》的續篇。

前情提要

上篇介紹了雙鏈結構、分層結構、反直覺的隨機演算法等諸多下一代公鏈技術,在文章最後,我們還提到了“非區塊鏈技術”這一大類,代表有DAG公鏈、類DAG公鏈等,它們採用的技術和我們熟知的區塊鏈專案有很大差異,將會在本文逐一介紹。

介紹之前,我們首先弄清楚區塊鏈Blockchain)DLT(分散式帳本技術)的關係。

DLT包含BLOCKCHAIN、DAG、TEMPO等技術

如上圖所示,區塊鏈是一種DLT(分散式賬本技術),而不完全等同於DLT


DLT(分散式帳本技術)是能實現分散式記賬的技術統稱,包含了區塊鏈、有向無環圖(DAG)、分散式雜湊表(DHT、Tempo等一系列技術。

因此,DLT和區塊鏈的關係就好比是“交通工具和轎車”的關係。只是在DLT家族裡,相比於其他技術,人們更加熟悉區塊鏈。

那麼,在那些沒有使用區塊鏈技術的DLT專案裡,是否會殺出與區塊鏈旗鼓相當的底層公鏈呢?下面我們就來講講這類專案的幾大技術代表。


 01 
DAG與類DAG
(有向無環圖)技術

DAG全稱是“有向無環圖”,沒有區塊概念。它不是把所有資料打包成區塊,再用區塊連結區塊。而是每個使用者都可以提交一個資料單元,資料單元間透過引用關係連結起來,從而形成具有半序關係的“有向無環圖”。

DAG還處於起步階段,對比區塊鏈“相對成熟”的技術,晚了好多年。

由於DAG沒有區塊,所以也就不受區塊大小的限制,從而可以支援極大的併發量和極高的速度,在TPS上遠勝區塊鏈技術。但有利就有弊,它在工程學上的一些硬傷,目前仍待解決。

• 首先,DAG是非同步的,無需同步就能提交交易。但由於其他節點要迭代,全網遲早要同步。(非同步導致目前的DAG專案,都比EOS更加“中心化”,比如IOTA需要協調器,Byteball用的是“見證人網路”。因為,由誰負責同步很重要,不然大家都瞎廣播,很容易亂了套。)

• 其次,做合約,用非同步會更加費勁,因為合約是依賴關係衝突的。(這也是DAG的兩個始祖專案,IOTA原生根本不支援合約;Byteball用了一個偏“中心化”的解決方案,雖然能支援合約,卻依舊沒法跟ETH和EOS等公鏈相提並論的原因。)

用大白話來講就是:區塊鏈走的是排隊買票上車的路數,有秩序,但速度慢;DAG走的則是“先上車,後補票”的路數,省時間,速度快,然而有可能會擠死…… 

DAG與類DAG的底層公鏈,代表專案如下:國內的納爾圖、Intervalue、VITE;韓國的Hycon、Fantom;歐美的Byteball和Hashgraph等專案。

上期有小夥伴留言,說“DAG類代表居然沒有IOTA”。這裡給出解釋:IOTA算是DAG的祖師爺,按理說應該列出。但IOTA原生不支援智慧合約,且專注於物聯網而非底層平臺型公鏈,並不屬於同一賽道,所以沒有列出。(同理,NANO專注於支付領域,也同樣沒有列出。)

這些專案,也都在解決“DAG非同步提交”這個工程學硬傷上絞盡腦汁,比如:

• VITE用了NANO的區塊點陣(Block Lattice),然後加了一層快照鏈(Snapshot Chain),略微犧牲了一些效能,但提高了安全性;

• Intervalue則是用了雜湊網(Hashnet)的資料結構和BA-VRF(基於隨機選擇函式的拜占庭協商)雙層共識;

• Hashgraph則是用了互相傳播(Gossip about Gossip)和虛擬投票(Virtual Voting)的技術確保全網共識。

每個解決非同步的方法和思路都不太一樣,有興趣的朋友可以去詳細瞭解一下。

 02 
DHT(分散式雜湊表)技術

DHT全稱叫分散式雜湊表(Distributed Hash Table),是一種分散式儲存方法。在不需要伺服器的情況下,每個客戶端負責一個小範圍的路由,並負責儲存一小部分資料,從而實現整個DHT網路的定址和儲存。

利用DHT技術的代表專案是Holochain和IPFS。IPFS是協議,不是公鏈,在此不詳述。下面,重點來介紹應用DHT技術的公鏈Holochain。

區塊鏈目前面臨的擴容難題,就是因為區塊鏈要獲得全網共識,共同維護一個統一版本的賬本。而執行速度、網路頻寬、動機等都會影響區塊鏈的整體效能,導致擴容程序艱難。

Holochain的賬本是分散式儲存在各個參與的節點之上,透過DHT的定址技術來保證賬本的完整性與可檢索性。換句話說,全網就一份賬本,一人存一部分,這樣擴容就方便多了。

放在現實世界類比的話,這有點兒類似於“六人定律”原理。比如,最近趙麗穎跟馮紹峰官宣結婚了,你想要給女神發個微信恭喜一下,該怎麼做? 

你的手機裡大概率沒有女神的微訊號,但是你的朋友裡面可能有認識她的,即便你的朋友沒有認識她的,你朋友的朋友說不定有人認識。最多不超過六層關係,你就能找到趙麗穎的微訊號。

區塊鏈,就好比每個人手機裡都存著所有微信使用者的微訊號。

DLT技術,就是每個人只存自己好友的微訊號,找人時跳轉幾次就能找到目標物件。

你肯定會問,那若有節點離線該怎麼辦?很簡單啊,趙麗穎的微訊號肯定不是隻有離線的那個節點知道,你可以透過別的節點找到女神呀。

換成Holochain的專業術語,就是:雖說只是區域性共識,但節點之間會互相做一些備份,並與備份的相鄰節點按時通訊,如果發現相鄰節點離線了,就把資料再次備份到另外一個相鄰節點,保證副本的數量。

Holochain的問題在於:它是區域性共識,安全性還有待驗證。比如,能否完全避免雙花;如何應對DDOS攻擊;若好多個節點同時離線且來不及資料備份該怎麼辦等一系列問題,這些都需要時間來檢驗。

值得一提的是,在Holochain平臺上,個人電腦和手機都可以當節點,專業礦機請走開!

 03 
Tempo及邏輯鍾技術

Tempo及邏輯鍾技術是一個比較冷門的技術,鮮有專案使用這類技術。Radix DLT成為該技術的唯一代表。

Radix DLT有兩個很有意思的特點:

先分片,後共識 

傳統區塊鏈實現安全的方法,就是每個節點儲存所有資料。分片後,每個節點掌握的資料不同,就容易帶來很大的安全隱患。

比如說,你在家表現不乖,被你媽揍了一頓。然後等你爸下班回家之後,你跟你爸說:“爸比,我今天表現很乖哦!可不可以出去玩?”然後你順利討你爸歡心,出去玩了。

理論上來說,你被你媽揍的事情是可以瞞住你爸的,因為資訊並沒有同時傳播給所有人,每個人只掌握部分資訊。

區塊鏈分片技術推出這麼久,成功的專案寥寥無幾的原因就是:“先共識,後分片”的技術,跟區塊鏈“每個節點儲存所有資料,實現全網共識”的核心精神相背離。Radix DLT的Tempo共識分片則完全反了過來,先分片,後共識。

在技術上,遵循這樣的邏輯:

• 每個分片的大小和總分片的數量是提前設計好的;

• 每個分片都已經建立。它們住在同一個“宇宙”中,它們的位置ID是已知的。 每個交易都帶有傳送方ID與其分片ID的混合標記。

這麼說比較抽象,還拿剛才的例子來說明:你在家再次表現不乖,又被你媽揍了一頓,但這次揍完之後,你媽拿印泥在你頭上蓋了個戳 ——“不乖”。你爸下班回家後,你跑過去跟你爸說:“爸比,我今天表現很乖哦!可不可以出去玩?”你爸瞥了眼你額頭那鮮紅的“不乖”二字,冷笑一聲,“小樣兒!在家不乖還想出去玩?!回屋罰站!”

你爸這次完全不需要跟你媽交換資訊。他不需要所有的資訊,但仍可以識破你的謊言。

邏輯鍾 ( Logic Clock)

在區塊鏈或者說DLT的世界裡,對事件排序是個很重要的事。

PoW共識機制,是用誰先算出雜湊的方法來決定事件順序;PoS共識機制,是用隨機抽樣的方法來決定事件順序;Radix DLT的Tempo,則是用邏輯鍾來做這件事。邏輯鐘不關心某個時間點發生的事情,而是更關心事件之前發生的事情。

比如,你去飯店吃飯這件事,要經歷“走進餐館、點餐、用餐、結賬、離開餐館”這個流程。如果你是餐館老闆或者保安,當一個客人拍拍屁股要走人的時候,你可能不是關心現在是幾點幾分,而是關心這人結賬了麼?

結了? —很好

沒結? —那得瞅瞅他之前有沒有發生“用餐”行為(沒用餐? - 那走就走吧;用餐了? - 你這是要吃霸王餐啊!哪裡走!)

總而言之,Radix DLT的Tempo並不關心交易發生的確切時間,它所關心的只是交易發生的順序。對於某個特定交易,它只關心交易之前“發生過什麼”。

假設,張三與李四在12:00完成交易A,與王五12:10分完成交易B。那麼,Radix DLT是不關心準確的完成交易的時間,只會記錄“交易A發生在交易B之前”。

哪怕王五在12:15才看到交易A,也沒事兒,因為共識是“交易A發生在交易B之前”,全網一致性靠順序來實現,而不是具體時間。

當然,邏輯鍾屬於新生事物,還在理論設計階段,它的各項效能仍需時間的檢驗和歷史的篩選。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;