轉自:
作者:大聖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,區塊鍊技術未來發展的思考
上面我們說了目前區塊鍊發展的各個不同的方向,也介紹了一些主流的項目。那下面我們就談談區塊鍊未來發展應該注意的一些方面。
區塊鍊很關鍵的是共識,共識機制決定區塊鍊的性能,安全性,去中心化程度。所有的這些需要做權衡,就是在去中心化,擴充性跟安全性方面,要根據實際應用場景來做權衡,不能走極端,特别是中心化跟去中心化實際上是一對沖突,沒有絕對的去中心化。像比特币它本身實際上是一個很去中心化的設計,但由于這種激勵,礦廠算力越來越集中,是以走向中心化。沒有絕對的去中心或者中心,要根據我們的實際應用場景來做一個權衡。
還有一點需要注意的就是架構設計裡,需要采用分而治之的架構原則,不要眉毛胡子一把抓。像原先以太坊的願景很好,但是它把所有的東西都放在一個平台上,這顯然是撐不住的,後面它自己也意識到這個問題,
- 是以它也要走類似分片、子鍊、狀态通道等擴容機制。
- 不同的應用、不同的場景,需要用不同的側鍊、分片、或者鍊下計算來處理。
最後就是權衡,我們要做一些取舍,做權衡,這個是去看待這些區塊鍊項目,包括設計這種區塊鍊架構,所需要遵循的一些原則。
在未來的發展上,我們認為區塊鍊實際上最大的意義是在建構一個誠信的商業體系,
- 這種體系會跟未來的網際網路基礎設施深度結合,它在網絡的協定層上面提供一個信任機器,通過共識來建立信任。
- 還有一個就是區塊鍊與法律的深度結合,區塊鍊的一個很重要的應用是存證,存證這一塊能不能有法律的效應,這是需要去解決的問題。還有智能合約,它是不是真正的合約,有沒有真正合約的意義,這一塊也是需要去跟法律結合的。
- 區塊鍊還要與監管結合,實際上區塊鍊也是一個很好的監管技術,結合它在共識機制上的限制以及它的可追溯性,它可以提供分布式監管的這樣一個機制。
- 最後是區塊鍊與物聯網,人工智能的結合,如何把鍊下資料安全真實的移到鍊上,這個離不開物聯網的智能裝置的支援,以後對物聯網智能裝置的一些監控監管也有很大的應用場景。