區塊鏈的技術發展現狀,制約因素和發展方向
轉自:
作者:大聖2017
連結:https://www.jianshu.com/p/0186822510c8
區塊鏈在3.0時代的10大發展方向
區塊鏈1.0以比特幣為代表,是可程式設計的數字貨幣;
區塊鏈2.0以以太坊為代表,從單純支援資產交易到對“世界狀態”可程式設計智慧合約的支援;
區塊鏈3.0,是未來可以通過智慧合約構造可程式設計的組織、社會。
——海納雲CTO 鄒均
區塊鏈是否已經進入3.0時代?是什麼因素制約了它的發展,又是什麼在驅動?
區塊鏈在未來最重要的十大發展方向是什麼?又有哪些細節要重點關注?
鄒均老師關於區塊鏈目前狀況和發展方向的分享,給你全部答案
-
區塊鏈技術發展現狀
-
區塊鏈技術發展的制約因素
-
區塊鏈技術發展的驅動因素
-
區塊鏈技術發展的十大方向
-
區塊鏈技術未來發展的思考
各位朋友,非常高興能在飛鳥社群跟大家分享。我雲端計算背景出身,後來做區塊鏈方面的研究,2016年出版了《區塊鏈技術指南》,現在籌備《區塊鏈核心技術》,預計今年8、9月份能出版,我主要對區塊鏈共識演算法進行研究。主要分享下目前區塊鏈技術的一些狀況和發展的方向。
1,區塊鏈技術發展現狀
目前區塊鏈比較成功的應用有兩個,分別是比特幣和以太坊。
-
比特幣是最有名的區塊鏈應用。5月初的時候,比特幣全球同一天活躍的線上節點是10419個,其中,美國排第一,德國第二,中國第三。
-
第二個比較成功的就是以太坊。以太坊目前是全球同一天活躍線上節點有16590個,其中,中國排第一,美國第二。
大家都說目前區塊鏈落地的應用非常少,沒有什麼殺手級的應用,但實際上我們也可以說目前區塊鏈有兩個殺手級應用,這個標準是它至少有過萬的活躍節點,而且要有高知名度。
-
比如說比特幣和以太坊,它們的錢包分別有兩千萬和三千萬個地址。
-
截止今年三月,在以太坊上面發行的數字資產,ERC20 的token,有六萬多個,這兩個應用毫無疑問是殺手級應用。
殺手應用1:數字資產錢包
殺手應用2:發行數字資產
以太坊平臺上真正落地的應用比較少,多數都是發幣的應用,但是從發幣的規模看,六萬多個ERC20合約,它實際上是一個非常了不起的數字資產的發行平臺。假設每一個合約至少估值一個億,就是六萬億。雖然很多應用跑不了,但它在不到兩年的時間就可以發六萬億的資產,就發幣而言,它確實是一個殺手級的應用。
Gartner技術熱度曲線
下邊從區塊鏈技術熱度曲線來看區塊鏈技術發展現狀。
-
首先從Gartner的新技術熱度週期,去年7月份釋出的熱度週期認為區塊鏈已經是過了最高峰,正在跌向失望的深淵,這個是Gartner比較超前的一個預見。
-
我們再看Google Trends的趨勢,在2017年11月達到高峰,而我們知道比特幣是在12月達到最高點,將近兩萬美金,所以Google Trends還是比較接近真實情況的,它能夠預見區塊鏈從去年11月開始熱度曲線已經往下走。接下來是一波整個數字貨幣的熊市,直到今天,實際上還處於熊市的階段。
簡單小結一下區塊鏈技術的現狀,就是在幣圈發展的非常有規模,熱度主要集中在發幣,發資產上。但區塊鏈的應用落地比較少,真正算得上殺手級應用的只有兩個,第一個是比特幣,第二個是以太坊,以太坊是資產發行的殺手級應用。從整個市場來看,區塊鏈熱度是有所下降的,在未來,更多的關注應該集中在區塊鏈應用這一塊,無論是從監管,從全球各方面的形勢,從各政府的言論來看。在未來,幣圈這一部分可能受到更多的監管和限制。
2,區塊鏈技術發展的制約因素
回到區塊鏈的本質,到現在區塊鏈還沒有一個統一的定義,美國的NIST標準制定機構在做定義區塊鏈這件事情,但它釋出的白皮書上面的定義比較囉嗦。實際上我們看區塊鏈的本質,它叫分散式的共識有限狀態機加一個不可篡改的狀態檔案。
區塊鏈 = 分散式的共識有限狀態機 + 一個不可篡改的狀態檔案
那這個怎麼理解呢?什麼是分散式的有限狀態機?我們可以理解一下ATM,自動咖啡機等,它們實際上是有限狀態機,接受外部給它的指令,然後按照指令它的狀態就會做相應的變化。例如ATM,我們塞一張銀行卡,輸入指令就會吐錢,這個就叫有限狀態機。
區塊鏈記錄了所有的這種狀態,所以它是不可篡改的狀態檔案。用更加嚴格的說法,它實際上是一個熵值減少的開放系統。我們知道根據熱力學第二定理,一個封閉的系統,它的熵值是會增加的。而區塊鏈是要把這些狀態確定、共識,所以它實際上是一個熵值減少的開放系統。
以太坊的黃皮書上給區塊鏈的定義比較嚴格,它是用一套數學語言來定義的。在以太坊上面,區塊鏈是一個比較理想的狀態,是完全去中心、可信、安全、公正,可以保護隱私,效率很高,可問責,可以構建自制的組織、自治的社會。這裡面提到一個新的概念就是去中心化的應用,是區塊鏈出現以來新的概念,它是同時執行在去中心化的多個網路節點,但是沒有一個節點或者機構擁有、控制該應用,它執行的結果通過共識確認,而且一般是開源的應用。這是區塊鏈出現以來真正有價值的應用,去中心化應用。
以太坊的目標是要構建一個給這些去中心化的應用,DApp執行的永不停止的世界計算機。這裡面分三部分,
-
一個是去中心化的計算,就是今天說的智慧合約。
-
第二個是去中心化的儲存,它的Swarm專案。
-
第三個是去中心化的通訊。
以太坊關於區塊鏈的理想很好,但是為什麼這麼難實現?
這裡面的一個原因主要是:傳統的技術主要目的是提升生產效率,而區塊鏈主要目的是改善生產關係。
我們可以用雲端計算模式跟區塊鏈這種去中心化的應用做一個對比。雲端計算它實際上是把一個伺服器虛擬成多個虛擬機器,然後把虛擬機器構建成資源池,把任務切分給資源池內多個虛擬機器並行來執行,並行結果返回給客戶,所以它可以把一個機器變成多個機器,效率很高。但是區塊鏈跟雲端計算不一樣,它的每一個任務都要在各個節點上分別執行,執行的結果需要共識,共識的結果要複製到各個節點。它類似把網路中各個節點變成同一部伺服器,序列執行一個任務,就是把多個變成一個,變成一臺電腦來用,所以它的效率肯定比較低。
因為我們要的是一個分散式系統,但是分散式系統裡面存在很多所謂的不可能三角,或者叫三難選擇問題,同時想達到三個目標,但是沒有辦法同時達到這三個目標。
-
在經濟學裡面有蒙代爾不可能三角,就是一個國家的貨幣政策不能同時做到固定利率,又能夠保證資本的自由流動,還能夠保證貨幣政策的獨立性。
-
在計算機分散式系統裡CAP原理,就是一致性、可用性和分割槽容錯性只能三者取其二。
-
在共識理論裡,在存在故障的非同步通訊環境下,不能找到一個確定性演算法,可以解決一致性問題,這個叫 FLP理論。
-
區塊鏈的不可能三角,就是去中心化、擴充套件性、安全性這三者不能得兼,只能三者取其二。
我們可以看到為什麼以太坊的願景很巨集大,但是它很去中心化,效率就會很低,所以一個以太貓就把它跑垮了,這是有道理的。
那麼區塊鏈技術當前的限制,難點主要在分散式系統中讓所有的節點統一步調,這個比較困難。區塊鏈技術發展的制約因素,主要包括以下十點:
(1)效能限制
就像剛才對比雲端計算,區塊鏈把多個節點變成同一個節點來用,效率會很低,任何一個交易需要拿到所有的節點上面去進行共識,所以效能就比較差,就會有效能的限制。
(2)擴充套件性限制
導致擴充套件性限制的原因與導致效能限制的原因類似。
(3)易用性限制
很多區塊鏈的平臺不太好用,需要非常高的技術門檻,導致其易用性受到很大限制。
(4)相容性、跨鏈互聯限制
區塊鏈現在有很多不同的鏈,它們之間沒有辦法跨鏈互聯,導致相容性比較差。
(5)儲存限制
區塊鏈節點的資料,每時每刻都在增加,所以有儲存的限制。
(6)嚴格數學證明
很多區塊鏈的白皮書沒有提供數學證明,主要是在共識演算法上,沒有給出一個非常嚴格的數學證明保證它的共識演算法能夠達到一致,能夠比較安全,能夠在有限的時間內達成共識。
(7)缺乏形式化證明
很多智慧合約實際上是沒有經過形式化的驗證,當部署在區塊鏈上後,因為不能修改,如果有BUG很容易被黑客利用。比如The DAO專案,就是因為它的智慧合約有缺陷,BUG被黑客利用,最後只能硬分杈。而形式化證明可以避免這些問題。
(8)同步限制
當區塊越來越多,網路上節點越來越多,怎麼能夠快速的同步,這也是一個問題。
(9)治理限制
如何在區塊鏈的網路上面採用一種比較好的治理機制,使得區塊鏈能夠發展它的一些引數,都需要根據不同的情況來做一些調整。
(10)軟體升級限制
軟體升級一般都會形成分叉,軟分叉或者硬分叉,硬分叉的影響更大。
3,區塊鏈技術發展的驅動因素
從另外一方面來說,驅動區塊鏈技術發展的因素是哪些?其實,剛才很多的制約因素是現在區塊鏈應用落地的痛點,也是驅動區塊鏈技術發展的驅動因素。從應用需求這方面來看,未來驅動區塊鏈向3.0發展的,是下面這十點。
(1)效能和擴充套件性
就是我們常說的每秒的交易數,能夠支援的節點數,這是效能跟擴充套件性方面的一些要求。
(2)鏈上的安全性
區塊鏈上承載的都是資產,所以安全性至關重要。
(3)隱私保護
區塊鏈跟傳統的應用不一樣,它帶有去中心的設計在裡面,其中最重要的就是保護交易參與者的隱私資訊,這一塊非常重要。
(4)資料真實性
區塊鏈上面的資料是不能篡改的,但是當我們把鏈下的資料寫到鏈上的時候,如果鏈下的資料是假的,那上到區塊鏈上的作為不可篡改的假的資料,其意義還不如原先可以改的這種資料,所以怎麼保證資料真實上鍊,也是一個很重要的需求。
(5)密碼安全
整個區塊鏈的安全性很大程度構建在密碼學上,密碼學的技術也在發展,如何去防止黑客破解密碼,怎麼保證私鑰的安全,是一個很重要的需求。
(6)相容性、跨鏈互聯
隨著越來越多區塊鏈平臺的出現,相容性跟跨鏈互聯成為一個很重要的需求。
(7)有用工作量證明
比特幣的工作量證明很浪費電,有沒有更好的工作量證明機制既能夠保證這個共識的安全,同時這些工作也能提供價值,就是有用工作量證明也是非常重要的。
(8)身份認證和許可權管理
對於很多企業,特別是聯盟鏈,私有鏈這種應用場景下,身份認證、許可權管理非常重要。
(9)治理和監管
通過什麼方式能更加公平,更加民主的治理和監管區塊鏈上面的一些規則,引數等等,也是至關重要的。
(10)防止中心化
防止中心化,這裡麵包括算力的中心化,記帳的中心化,以及中心化的演變,是一個很重要的因素。
目前很流行的說法就是
-
區塊鏈1.0是以比特幣為代表,它是一個可程式設計的數字貨幣,實際上是用一個非圖靈完備指令碼引擎來控制UTXO交易的執行。
-
區塊鏈2.0的代表是以太坊,它實際上代表可程式設計金融,它和比特幣不一樣的就是它從單純的資產交易的UTXO狀態,提升到世界狀態可程式設計智慧合約的支援。
沿著這個思路,區塊鏈3.0在未來可以通過智慧合約做到可程式設計的組織,可程式設計的社會。這一塊目前看起來有些遠,所以大家談的區塊鏈3.0實際上是為了解決以太坊沒能解決的一些問題,特別是在效能方面的一些問題,很多標榜區塊鏈3.0的區塊鏈平臺,大部分還處於一個研發階段,但是給我們描繪了一個非常高的TPS,非常安全可靠的願景。
4,區塊鏈技術發展的十大方向
我們剛剛提到了驅動區塊鏈技術發展的多重因素,在這種多重因素驅動下區塊鏈技術發展也呈現多個方向,齊頭並進這樣一個局面。區塊鏈技術發展的十個主要方向如下:
(1)區塊鏈作業系統方向
區塊鏈作業系統不是簡單的給這個作業系統加上一個區塊鏈,或者區塊鏈上面加一個作業系統。它指的是給DApp,去中心化的開發執行的一個作業系統。為DApp開發執行所需要的一些功能和服務提供類似像win作業系統,安卓作業系統的功能。這個功能包括使用者身份的認證、授權、資料庫、排程、雲端儲存、非同步通訊、水平拓展、並行等功能。
作業系統方向主要以EOS為代表,目前它是運作比較成功,引人注目的一個公鏈。在過去的一年中,它也在不斷的變化、修改。現在的白皮書2.0中,它的共識機制增加了防止拜占庭節點,也就是搗亂節點的BFT-DPoS機制。由21個超級節點來出塊,出塊時間從過去3秒降低到0.5秒,每輪見證人出6塊,共126塊。一秒內對交易做最終的確認,確認之後不能推翻,就是剛才說的BFT機制,有罰沒機制,禁止見證人同時在不同的分杈上出塊,它可以基於一些證據來自動剔除作惡的見證人。它也由過去支援EVM計劃,改變為只支援EOS的原生智慧合約,目前支援用C語言寫的智慧合約。
image
這張圖是EOS網路整體架構,它是由所謂的超級節點,也就是出塊的節點,加上DApp的節點,可以是錢包,可以是一些應用,以及監控節點來構成的。
(2)區塊鏈中介軟體方向
它的目標實際上是為DApp提供底層的服務,並且支援不同的底層鏈。例如最近比較火的Ontology本體網路,它實際上是一個多鏈多系統融合的鏈群結構,也提供跨鏈跨系統的互動協議,分散式ID認證。這種交換和協同的定位來自於一箇中間件,類似的專案還有ArcBlock,也是提供中心化應用的生態系統,通過不同的介面卡來適配不同的底層區塊鏈。
(3)區塊鏈網路方向
區塊鏈網路方向可分為 鏈下網路、側鏈、模組化側鏈系統、側鏈,網路兼有、多層次區塊鏈網路、賬本互聯協議七大方向:
a. 鏈下網路方向~閃電網路
鏈下網路的目標是面向支付場景,在不影響主鏈架構的情況下為主鏈擴容。最典型的就是閃電網路,它於去年12月上線,現在應該已經超過一千多個節點執行在比特幣的主鏈。它主要通過構建主鏈下的點對點的支付,通道網路,把主鏈變成結算系統,使交易在點對點的這些支付通道上能夠進行。通過這些點對點的支付通道構建一個網路,實際上就是說如果從A到B有一個支付通道,從B到C有一個支付通道,那他們可以構建從A經過B到C的支付通道網路。
b. 側鏈方向~RootStock
它的目標是在不影響主鏈架構的前提下為主鏈擴容。它跟上邊所說的支付通道網路不一樣,它不單單是解決支付的問題,還要解決支援應用的問題。
-
比較典型的是RootStock,它跟比特幣雙向掛鉤,它的資產可以從比特幣轉到RootStock的側鏈,也可以回退。另外一個很重要的特點就是它支援智慧合約,可以把以太坊的指令集加在它的虛擬機器,所以可以相容以太坊的智慧合約。還有一個特點就是跟比特幣聯合挖礦,用比特幣的安全性來保證RootStock的安全性。它的交易是每秒300筆,以後會擴充套件到1000筆。
c. 模組化側鏈系統方向~Lisk
它的目標是提供一個容易開發應用的應用鏈,這裡面的典型代表是Lisk。
-
Lisk是提供一個模組化,讓使用者使用設計模組來構建DApp,非常的方便。
-
Lisk本身用Node.js編寫,但使用者DApp可以用JavaScript編寫,靈活方便,它的目標實際上是為了更方便的開發Dapp應用。
-
另外它也是一個側鏈系統,不同的DApp在不同的側鏈,這樣的話不用都在主鏈上面影響主鏈的效率,從而可以提升整個系統的效率。
-
它的共識機制類似位元股的DPoS,101個代理節點,出塊時間10秒,提供圖靈完備的虛擬機器。
d. 側鏈,網路兼有方向~Polkadot
它的目標是即自成網路又可以橋接主鏈。這裡面很典型的是一個由Web3基金會發起,由以太坊黃皮書作者開發的異構的多鏈的平臺,叫Polkadot。採用PoA(Proof of Authority)共識機制,即拜占庭容錯共識機制,它上面有很多平行鏈,這個平行鏈可以處理不同資產交易,共用平臺的PoA共識機制可以與中繼鏈進行無縫對接。中繼鏈提供平行鏈之間跨鏈互聯的功能來協調共識,也可以通過橋接去跟以太坊做連線,相當於做以太坊的側鏈。
e. 安全區塊鏈網際網路絡的方向~Tendermint Cosmos
它的目標是構建一個全新的安全區塊鏈互聯的網路,這裡比較有名的專案是Tendermint Cosmos,它也有並行多鏈的概念,它第一條鏈主鏈叫Hub,不同的主權鏈放在Zone空間,然後Hub這個樞紐提供不同的主權鏈的互聯互通,它通過區塊鏈間通訊IBC協議進行溝通。它的BFT PoS共識是第一個在PoS上支援BFT的共識演算法,就是防搗亂節點,拜占庭節點的共識演算法。
Tendermint的共識演算法是見證人抵押代幣來投票,多於2/3見證投票權則確認交易,如果見證人在多個分杈同時出塊,押金會被沒收,這個方式避免了以前PoS裡的最小成本搞破壞的問題。後來,包括EOS,甚至以太坊都在建Tendermint共識機制。但是Tendermint網路一直在推遲,到目前為止還還沒有釋出。
f. 多層次區塊鏈網路方向~AION
目標是構建多層次的區塊鏈網路互聯。其中一個代表叫AION,它是聯邦式的,使用者可以在這個網路裡面跟以太坊網路之間互相傳送資料和資產,同時,在這個可擴充套件性上面提供高TPS。它提供比較靈活的定製的方式,使用者可以在系統上面自建公鏈或者私鏈,或者聯盟鏈,使用者可以自由選擇治理模式,共識機制,同時可以跟其他的區塊鏈互操作,這個實際上是一個多層次的區塊鏈互連網路。
g. 賬本互聯協議方向~Ripple InterLedger
賬本互聯協議不是構建一個鏈或者一個網路,它實際上是構建類似網際網路的互聯賬本協議。這裡有Ripple InterLedger,它不是區塊鏈,它是互聯鏈的協議,實現在不同的賬本間能夠安全的轉帳。這些賬本不一定是區塊鏈,可以是傳統的賬本,包括支付寶、微信這種賬本,銀行的賬本,都可以參與使用這個互聯鏈的協議來進行不同賬本間的轉賬。
它的主件有傳送端,接收端,還有聯結器,聯結器就是連線不同的賬本。它分為四層,分別是應用層,傳輸層,互聯賬本層,賬本層。賬本層可以支援不同的賬本的標準協議,包括比特幣、以太坊,甚至傳統的微信,阿里的協議,賬本層是一個跨賬本互聯的協議。
未來我們非常需要這種跨賬本的互聯協議,它不但支援區塊鏈之間,也支援區塊鏈跟非區塊鏈賬本之間的資產的流轉,這些是非常重要的。
(4)分散式預言機方向~Aeternity
這裡面比較有名的區塊鏈專案叫Aeternity,它實際上是構建去中心化的預言機。一個很重要的驅動因素是怎麼保證資料的真實性,就是怎麼把現實世界的資料放到區塊鏈上面,所以在這個平臺,它的目標就是構建可擴充套件的智慧合約來連線現實世界的資料,讓資料上鍊。
它的特點是支援狀態通道,使用者交易不在主鏈,減輕主鏈的負擔,主鏈去做仲裁,它提供去中心化的預言機來保證資料真實上鍊,同時又避免傳統的中心化的權威機構。它的共識機制是PoW+PoS,治理機制是礦工投票,權益持有者共同決策,是一個比較有特色的平臺。
(5)企業級區塊鏈方向~Dfinity
在企業級區塊鏈這一塊,有構建去中心化雲端計算的Dfinity。它的目標是在P2P網路上面構建一個穩定的虛擬區塊鏈計算機,上面可以安裝執行軟體。它的共識機制包括隨機燈塔,與登記使用者聯合生成可靠的隨機數,採用BLS門限簽名演算法。
另外簡單的說一下超級賬本Fabric。Fabric在企業級區塊鏈這一塊基本屬於壟斷地位,它的特點就是從分散式賬本的角度,不發幣,沒有幣,是一個許可鏈,主要通過CA證書驗證身份來授權。另外一個特點就是它實際上是基於通道的多鏈網路結構,每一個通道相當於一條區塊鏈,它的智慧合約叫ChainCode,主要是在Docker容器上來執行。共識演算法現在採用Kafka排序,不支援拜占庭容錯,它的前提是假設這個環境是安全的,沒有故意搗亂的節點。
Fabric的優勢就是提供了交易的機密性,許可權管理和控制。它的架構設計裡面分離了共識和記帳的職能,節點數可以動態伸縮,也可以升級智慧合約,它的成員服務是高可用的。目前Fabric在企業級區塊鏈裡佔據主流的地位。
(6)帶科研烙印區塊鏈方向~Cardano
以這個方向以去年比較火的專案Cardano為例,它是學術範區塊鏈,跟傳統的區塊鏈不一樣,傳統的區塊鏈是弄一個白皮書就開始進行了,而它是一些科學家在做,比較嚴謹,它們的文件都要同行評審。它解決區塊鏈的三個問題,分別是擴充套件性,互操作性和可持續性。它採用一些可證明的特殊的共識演算法,就是數學的嚴格的證明,比較安全。它的網路有自己的協議,有資料的擴充套件,互操作性,它有自己的程式碼語言跟智慧合約的語言。
(7)場景適用性創新方向
場景適用性創新方向就是應用於不同的行業,在特定的場景下有適用性。
a.分散式賬本DLT
R3 Corda號稱不是區塊鏈,但是它借鑑了很多區塊鏈的思想。它實際上是一個金融行業分散式賬本和智慧合約平臺。它一個很大的特點就是不廣播,只是把這種交易發給相關方,點對點通訊,沒有原生的代幣。它企業級的設計主要為金融行業服務,它在每一個不同的場景做共識,支援不同的共識演算法,注重監管,注重法律相關,合約程式碼跟法律規則相關,而且強調現有的業界的技術容易整合。
b.不是區塊鏈的區塊鏈——DAG
還有一些創新不拘泥於區塊鏈的資料結構,像是DAG有向無環圖。這裡面有像IOTA Tangle,Byteball這些區塊鏈平臺。它的特點是一般來說不打包交易,每筆交易作為一個單元,不採用區塊結構,用後來交易節點驗證過往交易。這樣它就不需要專門的記帳節點,這種交易形成一個有向無環圖,提升交易頻率。
這裡面要解決的問題是一致性的問題,就是怎麼選擇主鏈,怎麼防止雙花,怎麼做共識見證,特別是在一些交易頻率低的時候,後面的這種交易怎麼去驗證,怎麼去確認,它就需要一些見證人的機制。還有一個問題就是它對智慧合約的支援現在還比較初級,很多不支援智慧合約。
很多人說DAG不是區塊鏈,但是這個事情我們兩看,其實區塊鏈是DAG特殊的形式。區塊鏈本身是一個有向無環圖,區塊鏈的交易要打包,但是有一些DAG的平臺是可以提供打包或者不打包的選擇的,像Spectre Protocle協議,它可以區塊跟DAG結合,就是又可以打包,又可以單個交易確認,比較靈活,是一個非常好的創新,特別對高併發,對現在物聯網的場景,DAG是一個很好的選擇。
c.不是區塊鏈的區塊鏈——Swirlds
還有一個更新的創新,Swirlds系統,它會不會成為區塊鏈真正的挑戰者呢?我們也拭目以待。這個系統的目標是提供在無伺服器的雲上構建完全分散式系統的軟體平臺,它的速度是25萬以上的TPS。它強調公平性,用共識時間戳來保證系統公平,在安全方面採用非同步通訊拜占庭容錯系統。通訊是叫Gossip about Gossip,實際上是一個協議,每個節點可以散佈從其它收到的節點簽名交易到隨機選擇的節點,直到整個網路中所有節點收到該交易。它也是類似有向無環圖這樣的一個形式。
(8)區塊鏈儲存方向
區塊鏈的儲存方向主要解決狀態資料儲存的問題。我們知道分散式儲存,那區塊鏈實際上在每個節點都要儲存這些狀態資料,這對節點的要求,實際上是資源上的要求會很高,未來是需要跟分散式儲存來結合的。目標實際上是把鏈上的資料分割成碎片,以去中心化的方式儲存在參與的節點裡面。
這裡面一個著名的例子就是IPFS,它原先跟區塊鏈關係不大,它是一個名稱叫DHT的檔案系統,一個去中心的檔案系統,它使用分散式雜湊的技術,加上版本控制Git技術,還有就是BitTorent技術,是基於內容的定址協議,它可能有望取代HTTP等基於域名的定址協議。
IPFS是一個儲存層,在去年IPFS專案裡面,有一波人基於IPFS做了一個激勵層,Filecoin,它實際上是IPFS跟區塊鏈的結合,它支援智慧合約,它的共識機制有Proof of Storage,這裡麵包含備份證明Proof of Replication,空間實踐證明Proof of Spacetime。它支援代幣的交易。IPFS上面的FileCoin在今年下半年可能會上線,現在很多人在佈局FileCoin的一些礦機。
我們提到以太坊上面有分散式的儲存,Swarm,它實際上是以太坊上的P2P的檔案共享協議,分散式儲存及分散式CDN。程式程式碼和資料儲存在主鏈之外的Swarm節點, Swarm節點與鏈上連線,鏈上可交換資料,共享儲存和頻寬,內建點對點記帳機制,激勵機制,交易易機制。這個可能也是在今年會有一個初始版本出來。
今年有很多區塊鏈的分散式儲存專案,它們大都有發幣,像
-
支援智慧合約來制定儲存規則和需求的Sia,使用者之間可以買賣儲存空間。
-
還有MaidSafe,使用者儲存資料可以通過彩票形式隨機獲得代幣,代幣的多少跟提供的資源和開機時間相關,它的定位是眾包網際網路,提供marketplace和代幣交易。
-
還有著名的Storj,它實際上是檔案和資料分片加密,並存儲在多個節點,但是它不支援智慧合約。還有一個比較有名的叫BurstCoin,BurstCoin基於NXT平臺,採用Proof of Capacity容量證明來挖礦。BurstCoin和Storj不太一樣,BurstCoin相對於Storj有些浪費儲存,這些儲存是拿來挖礦,而Storj是拿來共享,下一個版本的BurstCoin想改成支援共享儲存來獲得激勵的方式。
(9)密碼學及隱私方向
密碼學是區塊鏈安全的生命線。區塊鏈上很多專案實際上是以隱私保護的技術著稱。
-
門羅幣採用環簽名的方式來保護參與交易者的隱私。
-
零幣用的zk-SNARKs,一個無需互動的零(知識)證明體系。
-
最新的叫zk-STARKs,因為zk-SNARKs還需要一個可信的啟動狀態,理論上還有一些小的中心化和安全的隱患,但zk-STARKs不需要可信的啟動狀態。
還有一些像程式碼混淆,像ECDHM地址,都是隱私保護技術,還有就是密碼強度,比如達世幣X-11演算法。
我們可以看到有一些在隱私保護方面比較突出的幣種,幣值比較穩定,往往在其他幣大跌的時候,它們相對來說比較穩定,因為它們有比較好的隱私保護的技術,比較保值。
(10)抗量子演算法方向
大家都覺得量子演算法出來後,對區塊鏈技術有一個很大的挑戰,實際上是這樣,比特幣在設計的時候已經知道有量子演算法,量子演算法有一個Shor演算法,能夠攻破大部分的公鑰體系,比特幣做了相應的改動,比特幣實際上是用公鑰的雜湊做地址來降低被攻擊的風險。
量子演算法有一個Shor演算法,能夠攻破大部分的公鑰體系(PKI體系)
因為雜湊演算法相對於量子演算法只是稍微降低了一點複雜度,沒有大規模的降低複雜度,所以雜湊演算法對量子有一定的免疫力。
雜湊演算法本身具備一定抗量子攻擊的能力。
而且目前量子計算還是非常初級的階段,估計可能需要十到二十年的時間,這些量子計算機才能真正的商用,才能真正的對公鑰系統造成威脅。
在區塊鏈上可以有一些方法抵禦量子演算法,包括更換籤名的演算法,現在可以通過軟分叉來實現一個叫Lamport的簽名,這個簽名實際上可以抵禦量子演算法的攻擊,不過現在這個簽名有11k,稍微有些大。
總的來說量子演算法對區塊鏈的威脅相比對量子演算法對傳統的威脅來說不是特別大,所以我們不用太擔心,在這個過程中實時更新演算法。
附:以太坊區塊鏈3.0的專案
剛才我們說了很多不同的區塊鏈專案在向區塊鏈3.0這邊去發展,去解決目前區塊鏈平臺的一些限制、一些痛點。作為區塊鏈2.0的代表,以太坊當然也不甘落後,也在向區塊鏈3.0進發,這裡我們就介紹一下以太坊區塊鏈3.0的專案。
-
以太坊第一層擴容包括分片的技術,所謂第一層擴容,就是它比較基礎的層面擴容,需要硬分杈來升級。分片這個技術實際上是採用了傳統分散式資料庫裡面常用的一個分片,用這種理念來提高並行,提高效率。它主要是把狀態和歷史資料分成K份,每一份就是一片,分片的方法就是簡單的用地址段來進行分片,採用類似核證裡面的雜湊值,默克爾數來驗證。這裡面也要解決不同分片之間的通訊,也就是說主要採用這種時間來觸發,來保證跨分片之間的一些交易能夠正確執行。前一段時間以太坊測試了這個分片技術,當然對幣價有一定的正面影響。
-
以太坊的第二個擴容方案就是共識演算法,它也是第一層擴容,也需要硬分叉來升級。以太坊在設計之初就想到未來要向PoS升級,來提升效率,為什麼它先不用PoS?這主要還是從公平性這個角度來考慮,因為PoS本身一次把幣發出來就不是很公平,所以它原先的設想是先用PoW,等到這些幣挖得差不多,再採用PoS來做共識。但是它在轉PoS的時候碰到很多阻力,其中一個很重要的就是安全性。第二個是在礦工這個層面有很多的爭議。它現在第一個版本是建議PoW和PoS混合,就是使用PoW來驗證99%的區塊,最後一個也就是每一百個用PoS來做一個Checkpoint,就是永久的確認前一百個交易,同時它也借鑑Tendermint的BFT機制,採用押金和投票的方式保證見證人不能作惡。
-
以太坊的第三個擴容方案是在第二層擴容,這個不需要硬分杈,軟分杈就可以了。裡面有一個Plasma子鏈系統,它的思想是主網上可以把資金凍結,把這些作為鏈下的結算,然後很多的交易放在鏈下子鏈進行,如果在子鏈裡面有爭議,就拿到主鏈上仲裁。
另外兩個擴容方案分別是Truebit和狀態通道,它們也是屬於第二層擴容。
-
Truebit把大計算量的工作移到線下,這個主要是擴張智慧合約的計算能力,不受以太坊燃料的限制。因為在以太坊上面的智慧合約它是有燃料的限制,對於很大的任務來說,就很難通過智慧合約來做。所以它通過Truebit把執行這種計算任務放到鏈下,通過類似外包的方式來解決。那這裡面就有鏈外的節點可以執行,計算任務這個就要解決者通過解決問題的方式獲得獎勵,它也有驗證工作,驗證者來檢查這個解決者的工作。
-
狀態通道跟我們前面說的雷電網路裡面的支付通道有類似的地方,相對於雷電網路更強的地方在於它不僅支援支付狀態,還支援智慧合約,可以做任意的世界狀態的更新,所以它實際上是一個在應用層面支援擴容的很好的方式。
5,區塊鏈技術未來發展的思考
上面我們說了目前區塊鏈發展的各個不同的方向,也介紹了一些主流的專案。那下面我們就談談區塊鏈未來發展應該注意的一些方面。
區塊鏈很關鍵的是共識,共識機制決定區塊鏈的效能,安全性,去中心化程度。所有的這些需要做權衡,就是在去中心化,擴充套件性跟安全性方面,要根據實際應用場景來做權衡,不能走極端,特別是中心化跟去中心化實際上是一對矛盾,沒有絕對的去中心化。像比特幣它本身實際上是一個很去中心化的設計,但由於這種激勵,礦廠算力越來越集中,所以走向中心化。沒有絕對的去中心或者中心,要根據我們的實際應用場景來做一個權衡。
還有一點需要注意的就是架構設計裡,需要採用分而治之的架構原則,不要眉毛鬍子一把抓。像原先以太坊的願景很好,但是它把所有的東西都放在一個平臺上,這顯然是撐不住的,後面它自己也意識到這個問題,
-
所以它也要走類似分片、子鏈、狀態通道等擴容機制。
-
不同的應用、不同的場景,需要用不同的側鏈、分片、或者鏈下計算來處理。
最後就是權衡,我們要做一些取捨,做權衡,這個是去看待這些區塊鏈專案,包括設計這種區塊鏈架構,所需要遵循的一些原則。
在未來的發展上,我們認為區塊鏈實際上最大的意義是在構建一個誠信的商業體系,
-
這種體系會跟未來的網際網路基礎設施深度結合,它在網路的協議層上面提供一個信任機器,通過共識來建立信任。
-
還有一個就是區塊鏈與法律的深度結合,區塊鏈的一個很重要的應用是存證,存證這一塊能不能有法律的效應,這是需要去解決的問題。還有智慧合約,它是不是真正的合約,有沒有真正合約的意義,這一塊也是需要去跟法律結合的。
-
區塊鏈還要與監管結合,實際上區塊鏈也是一個很好的監管技術,結合它在共識機制上的約束以及它的可追溯性,它可以提供分散式監管的這樣一個機制。
-
最後是區塊鏈與物聯網,人工智慧的結合,如何把鏈下資料安全真實的移到鏈上,這個離不開物聯網的智慧裝置的支援,以後對物聯網智慧裝置的一些監控監管也有很大的應用場景。