顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

現在區塊鏈領域發展迅速,但總體還在初級階段。從底層的公鏈,到真正能實現各個 Dapp 們 “顛覆谷歌”、“顛覆Facebook” 的雄心壯志,中間還有不少的路要走。

而這 “不少的路”,指的其實就是中間層。

如何定義中間層

中間層是什麼?目前並沒有公認定義。不過,我們可以和傳統互聯網對比。

如果我們把傳統互聯網的結構分成五層的話,則有:

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

那麼相對應地,區塊鏈也可以分為五層:

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

硬件即挖礦與礦機,底層公鏈例如比特幣、以太坊、EOS 等,負責搭建基礎設施。而區塊鏈與 C 端的結合 —— 比如遊戲、物流等 —— 則是最上層的 DApp(Decentralized Application,分佈式應用)應用層。

因此我們也可以說,中間層要解決的問題,就是如何成為底層基礎設施和上層 DApp 之間的橋樑,讓區塊鏈技術能被真正運用到生活中。

在這個基礎上,我們又把中間層進一步分成了兩部分:面向公鏈的下層中間層,和麵向 DApp 的上層中間層。這篇文章主要討論面向公鏈的下層中間層。

中間層在解決的問題很多,此處我們主要探討下目前最熱門、最急需解決的三大問題:

擴容

鏈下計算和存儲

Oracle

下面,我們就結合每個領域有代表性的項目,說說這三部分的目前的發展趨勢。

擴容:區塊鏈技術落地最關鍵一步

我們這裡討論的擴容定義如下:如何在 DApp 增加的情況下,通過提高主網性能(比如提高吞吐量、降低延遲等)且不影響用戶體驗的辦法,適應新的用戶需求。

擴容是中間層發展裡,最關鍵、最需要解決的問題。如果擴容問題都沒解決,就開始談論計算儲存 oracle,那基本就是耍流氓。

說到擴容,不少人的第一反應都是解決比特幣擁堵問題的閃電網絡(Lightning Network),和其以太坊版本的雷電網絡(Raiden Network)。由於這兩種解決方式是對公鏈本身性能的補充,因此我們暫不把它們算作中間層,本文僅做簡單介紹。

我們知道,比特幣交易速度太慢一直是其致命弱點:每秒僅能處理 7 筆交易。這個速度讓每秒能處理 2.4 萬筆交易的 VISA 笑而不語 ...就連 Bitcoin Cash 這種比特幣的 “山寨幣”,都有每秒 61 筆的速度。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

為解決這個問題,有人提出,我們沒必要在區塊鏈上記錄每一筆交易,可以把這筆交易搬到鏈下,這就是 “閃電網絡” 的思路。換句話說,閃電網絡在比特幣的區塊鏈上又加了一層,用戶能在這個新添加的一層上,與任意其他用戶搭建起一條專門用於支付的 “快速通道”。由於這個通道是兩個人之間的特殊管道,因此有交易速度快、交易費用極低甚至免費的優點。

然而,主要解決支付問題的閃電網絡和雷電網絡也有它們仍未解決的問題。這就說到了下一代意在解決擴容問題的項目。

我們在這裡介紹兩個比較有代表性的項目:

Loom NetworkCeler Network

Loom Network 是以太坊側鏈平臺,意在把遊戲和社交功能從擁堵的以太坊網絡中分離出來,分擔以太坊主網數據負載,以解決以太坊擁堵。

記得 CryptoKitties 嗎?Loom Network 的誕生和它還很有關係呢!

去年年底,基於以太坊開發的雲擼貓遊戲 CryptoKitties 突然爆火,但由於以太坊主網是主要為解決金融交易而誕生、且大額和小額交易並無區分,因此 CryptoKitties 爆火後帶來的大量小額交易一下就讓以太坊吃不消了,發生了極為嚴重的擁堵問題

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

為解決以太坊的擁堵問題,Loom Network 團隊在以太坊的主鏈上開發了 Loom Network 側鏈,這一側鏈解決方案,V 神看了都說好。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

之所以得到 V 神垂青,是因為 Loom Network 很可能成為以太坊應用落地的關鍵。為什麼這麼說呢?

這裡我們要介紹一個新概念:DAppChains。DAppChains 是一個可運行在以太坊智能合約上、能大規模優化數據而非僅僅是金融交易的側鏈。而 Loom 的 DApp chains 是 Loom 針對以太坊主鏈單獨開發出來的側鏈,以成為以太坊網絡上的“遊戲”和“社交”的平臺。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

除了強大的數據處理能力、Loom Network 還推出了軟件開發工具包 SDK,讓不懂底層區塊鏈架構的開發者也能開發 DApp,降低開發 DAPP 門檻;另外,Loom Network 還順手推出了 EthFiddle 和 SolidityX 兩款產品,讓程序員開發複雜項目更簡單。這些特點使不寫白皮書、只出產品的 Loom Network 被寄予厚望。Loom 的應用領域是大型在線遊戲以及社交應用,也就是說,以後區塊鏈上的魔獸世界、Fortnite、臉書微博,有可能都要跑在 Loom 上面。

現在我們再來說說 Celer Network。和剛才的 Loom Network 線下處理遊戲和社交功能不同,

Celer Network 是第一個具有連貫技術和經濟架構的脫鏈運營網絡,意在讓區塊鏈有互聯網級別的可擴展性。Celer Network 可橫向擴展到每秒數十億次的交易。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

Celer Network 實現這個目標的方法之一,就是對鏈下擴容的革新。這要從現在鏈下擴容的趨勢談起。鏈下擴容主要有兩個方向:狀態通道擴容(state channels)以及側鏈擴容,兩種方法各有利弊。

什麼叫狀態通道擴容呢?打個比方,你把一些錢從你的銀行賬戶轉到了支付寶上,以後每次你用支付寶買東西時,就直接在支付寶內加加減減,不用通知你的銀行,而你在支付寶內的交易也不會反映在你的銀行記錄裡,從銀行的角度看,就省了不少記賬的麻煩事。

這就是狀態通道的思路,在這個例子裡,銀行相當於公鏈,支付寶是每人自己的賬戶,不用每筆帳都麻煩公鏈記錄,公鏈可以做別的事情,也就相當於給公鏈擴容了。

不少人認為,狀態通道存在天然的侷限性,比如其更適用於固定交互雙方的高頻互動,而不適用於頻繁變動的交互雙方的低頻交互。小探在查資料時,也看到了這種說法頗為流行。

但 Celer Network 的團隊認為,這個論斷其實是不準確的,因其並沒有考慮到“網絡“的作用。誠然一個多邊狀態通道的參與方相對固定,但一旦狀態通道形成網絡,就可以非常靈活地與任意的網絡節點進行高頻或低頻的交互,且可以隨時變換交互方並同時與多方交互。這裡就如同家裡的電腦僅憑一根網線就可以任意遨遊互聯網一樣。支持這樣的網絡平臺正是 Celer Network 的重點工作方向之一。

與狀態通道擴容相對的是側鏈擴容。側鏈擴容使單個區塊的容量更多,即同時使用側鏈的人數更多,但單筆交易速度就會更慢。

而 Celer Network 則可以根據需要,自行在側鏈和狀態通道中做出選擇。

不論 Loom Network、Celer Network、或 Liquidity Network 等其他意在解決可擴展性的項目,可擴展性一直以來都是區塊鏈和加密貨幣領域的一個重要瓶頸。“高效” 和 “去中心化” 兩者不可兼得,而不同技術的解決方式都是在儘量平衡兩者。

解決可擴展性難度不小,但可擴展性是計算、存儲、以及 Oracle 的基礎。如果可擴展性不解決,區塊鏈的大規模應用也就遙遙無期。

計算:和 “1999年的手機一樣快”

現在以太坊慢到什麼地步呢?以太坊創始人 Vitalik 曾開玩笑說以太坊速度和 “1999年的手機”一樣快。顯然,對於自稱 “世界計算機” 的以太坊來說,這個速度遠遠不夠。

為了提速,以太坊社區沒少想辦法:從PoS 到雷電網絡、從分片技術(在我們之前的公鏈文章裡有提到)到狀態通道技術,不一而足。而區塊鏈項目 TrueBit 提出來了一種新的思路:

提高網絡本身的計算能力,而不僅僅是加快交易速度。

TrueBit 將算力移到鏈外,從而繞過以太坊運行被燃料費限制的這個瓶頸,以達到擴容的目的。理論上說,不論計算任務多大,TrueBit 都可以安全完成。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

但 TrueBit 依然需要驗證一個計算是否正確。為了讓礦工能在有限帶寬下驗證計算,TrueBit 設計了一套制度:TrueBit 對正確完成計算任務的礦工進行獎勵,以此調動積極性。但計算任務完成得正不正確,誰說了算呢?為此,TrueBit 設計了 TrueBit 合約,誰去驗證合約,誰就能得到獎勵。如果出現爭議,TrueBit 會以 “驗證遊戲” 的方式檢查合約中的細節。

需要注意的是,TrueBit 的這套機制不是為了找出哪些節點誠實可信,而是通過假設所有節點都想利益最大化,去獲得利益最大化的外部計算機資源,用這種方式提高計算能力。

作為以太坊智能合約的一種,其他以太坊智能合約可以把 TrueBit 作為子程序,因此 TrueBit 就能增加每一個以太坊網絡可以正確處理的區塊數量,以達到提升以太坊容量的目的。

Plasma 和 TrueBit 想法類似,都是通過設立獎勵機制達到擴容目的,但具體思路有不同,因為篇幅緣故就不在本文多做介紹。

看來,不論用哪種方法,以太坊的擴容問題需要解決已是社區內的普遍觀點。

存儲:應對數據井噴,只能是去中心化存儲

隨著人工智能、物聯網等的發展,我們產生的數據呈幾何式增長。據估計,2020 年時(也就是一年半以後...),全球聯網的設備數量將超過 200 億臺。此外,基於區塊鏈技術的眾多 DApp 也將使用和產生大量數據。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

這麼多數據,都存放在哪兒呢?而且就算找到地方存儲這些數據,隨著數據井噴,如果我們想找某個數據,又該如何從海量數據裡迅速準確地再把它找出來?

目前普遍認為,去中心化存儲是解決方案。類似於區塊鏈的分佈式賬本技術,去中心化存儲也可以把數據放到多個、而不是單個網絡節點上。

與去中心化存儲相對應的,當然是中心化存儲 —— 這也是現在存儲數據的主要方式。無論是單系統存儲、還是雲端存儲(比如亞馬遜的 AWS),都是高度中心化的。中心化的系統往往脆弱而高效,而去中心化存儲則不會有這個問題。

但是,隨著區塊鏈交易量逐漸上漲、可擴展性問題還沒解決,“把大量數據都存儲在區塊鏈上” 這種思路就越發行不通。

而 Swarming(運用大量節點)和 Sharding(分片),這兩項重要的互補技術提出了 “分區的集中存儲” 這一解決去中心化存儲問題的思路。在上一篇文章裡,我們談到了 Sharding 技術,在此就不再贅言。

那麼 swarming 是什麼意思呢?Swarm 在英語裡是 “蜂群” 的意思,正像很多蜜蜂一起合作、有條不紊地朝著同一個目標工作一樣,去中心化存儲裡 swarming 這種方式也是利用龐大的節點組對數據進行存儲和管理,而每個節點就叫做 swarm —— 這麼看來,swarm 這個名字倒是起得很恰當。

檢索數據時,每個節點 —— 也就是 swarm —— 從離它最近、最快的節點進行搜索,通過這種方式大幅提高速度(是的,聽起來很像 torrents)。 而且,由於一個 swarm 裡包含了很多個離它很近、但各自不同的節點,因此其可靠性也更強。

說完了 Swarming,我們再來說說去中心化存儲領域裡兩個比較有特點的項目:IPFS 和 Storj。

如果你沒聽說過 IPFS,那你一定聽說過它要取代的對象:統治互聯網的超文本傳輸協議的 HTTP。Http 看著眼熟?沒錯,就是任何網址前面的那個 https://,比如你打開百度,地址欄就會顯示 https://www.baidu.com/。但是,HTTP 也有一些廣為詬病的弱點,比如其超中心化的趨勢、效率不高、數據中心的運作嚴重依賴 Internet 主幹網絡等問題。

那麼,IPFS 又是什麼呢?

IPFS(InterPlanetary File System),也叫星際文件系統,名字聽起來就很炫酷。IPFS 是一個面向全球的、點對點的分佈式版本文件系統。IPFS 把所有具有相同文件系統的計算設備連接在一起。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

也就是說,IPFS 徹底改變了 “查找文件” 的方式。我們現在熟悉的 HTTP 用基於域名的地址查找文件(比如輸入網址),而 IPFS 則是以儲存在某個地方的內容作為線索尋找。結果就是 IPFS 提高網絡速度的同時,還能更加安全。

此外,IPFS 也改變了存儲的方式。與比特被的 “每個節點都存儲所有內容” 不同,IPFS 認為,節點的所有者可以自由選擇想要存儲的數據,換句話說,節點憑自覺自願,為其他內容提供服務。當然,“自覺自願” 聽上去不錯,但缺乏獎勵機制也是個問題。加上獎勵機制的 IPFS 基本就是 Filecoin。

而以成為基於區塊鏈技術的、去中心化版 Dropbox 起家的 Storj,則是想成為一個 “可以不被審查和永不停機的” 雲存儲平臺。Storj 也是第一個使用區塊鏈和加密技術來保護文件的分散式點對點加密雲存儲。

Storj 的使用流程如下:首先,文件會在計算機客戶端上被打散、分解成加密數據塊,然後,這個已經被加密過的文件再通過 Storj 網絡分散存儲 —— “網絡” 指的是由分散於全球各地的用戶運行的節點組成,他們通過把自己閒置的硬盤空間出租給 Storj 獲益。因此,Storj 比傳統的雲存儲平臺更快捷、更便宜、更安全。

和擴容問題相比,區塊鏈的存儲問題挑戰相對較小。目前有加密學、糾刪碼技術(erasure coding)、零知識證明(Zero-Knowledge Proof)等方法解決。去中心化數據存儲在最近一兩年裡的迅速發展,讓人對這個領域的未來十分期待。

Oracle:把真實世界裡的信息告訴區塊鏈

我們在區塊鏈白皮書裡,經常會看到 oracle 預言機這個詞,指的可不是硅谷的科技公司甲骨文哈。區塊鏈裡的 oracle,指的是為區塊鏈提供外部數據的信息平臺或技術

這是啥意思?

在區塊鏈上有很多 “如果條件 A 滿足,則 B 發生” 的智能合約,比如一款放在區塊鏈上的航班延誤險的智能合約可能就是 “如果航班延誤超過 X 小時,則自動理賠給乘客 XX 元”。

顛覆 Google、Facebook 前,區塊鏈項目先要解決這3個問題

那麼,我們怎麼把現實世界裡 “航班延誤” 這件事告訴區塊鏈裡呢?這就是通過 oracle。換句話說,oracle 是把真實世界裡的信息彙報給區塊鏈的橋樑,這也就是為什麼我們說它是 “為區塊鏈提供外部數據的信息平臺或技術。”

與剛才提到的擴容、計算與存儲問題相比,oracle 是這三大種類問題裡相對已經解決得最好的一個,因此我們只通過兩個領先項目 Augur 和 ChainLink 做簡單介紹。

Augur(意即占卜師)是基於以太坊的去中心化預測平臺。Augur 的創始人估計是聽過 “三個臭皮匠頂個諸葛亮” 這句話,因為這就是 Augur 的思路。Augur 認為,一群人的智慧會高於這群人中最聰明的人,因此一群人的預測結果往往比較準確。Augur 的這種模式,除了使區塊鏈上的事實和真實生活中的事實更吻合,還能大大降低服務器的中心化風險。但是,這種 “多數人應該就是對的” 制度顯然也不是萬無一失的。

而區塊鏈項目 ChainLink,則是提供讓區塊鏈的智能合約調用外部數據的中間件。

普遍認為智能合約前景廣闊,但這需要建立在 “區塊鏈能穩定、大量地獲得外部數據” 這個前提條件之上,但這個條件目前還不滿足。ChainLink 提出的解決思路是,給智能合約的制定者們提供多個可靠的外部數據庫,用戶可以在一個合約中調用一個或幾個數據庫,兼聽則明,讓數據儘量準確可信。

看到了嗎,這兩個項目其實都在解決 “如何確保區塊鏈上的信息、數據真實可信” 這個問題,這也就是我們剛才說的 “把真實世界裡的情況如實反應在區塊鏈上” 的意思。

不過,雖然 oracle 已經取得了一些發展,但還有兩個問題需要解決:一是 oracle 的安全性還是不夠,不能完全杜絕現實生活裡被騙的可能性;二是成本高,智能合約使用 oracle 的花費的時間和投入,比在現實世界中獲取信息要高得多。

區塊鏈的中間層雖然不如 DApp 直觀,也不如底層公鏈廣受關注,但它卻是區塊鏈想要大規模應用(mass adoption)的必經之路。


分享到:


相關文章: