10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝

區塊鏈的應用也正從利益驅動階段向技術驅動階段邁進,未來有可能變成需求驅動,實現大規模商業應用落地和社會效益,這既是全行業的期待,也是當前區塊鏈行業發展的瓶頸。

近日,以“跨鏈&聯盟鏈及商業級應用”為主題的CSDN區塊鏈技術沙龍上,姜恩池針對當前區塊鏈最令人頭痛的擴容問題,詳細分析了主流的“第一層”(layer-1)與“第二層”(layer-2)的擴容解決方案。


10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝


姜恩池(Derek Chiang)美國科技公司Binary Mint的創始人,目前致力於開發商業級第二層擴容方案Tenfold Protocol(十倍協議)。曾就讀於康奈爾大學,並先後在DFINTY,ThunderCore等重量級的區塊鏈擴容技術公司擔任要職。


以下內容為姜恩池現場分享實錄,由區塊鏈大本營整理發佈。

大家好,我今天講的內容主要是關於區塊鏈第一層與第二層技術。而我個人主要研究區塊鏈擴容技術,目前是一家高性能供應鏈公司的創始人。那麼,區塊鏈第一層與第二層技術和擴容有什麼關係呢?下面請聽我一一道來。

01

第一層與第二層擴容技術

首先,我們都知道擴容是區塊鏈目前最緊迫的問題。如果比特幣、以太坊想達到十倍交易,肯定需要增加TPS。而擴容本身有其發展的方向和設計的方案,目前比較通用的一種分類方法,就是

第一層和第二層擴容技術

所謂第一層擴容技術,即改進區塊鏈自身,把區塊鏈自身變的更快、容量變的更大。其實,區塊鏈是一個項目,它本身是由很多個部分組成的。由下往上分別是P2P的網絡、共識機制、虛擬機、區塊鏈的編程語言,每一部分都有很大的發展和改進的空間。而區塊鏈的擴容方案是怎麼樣改進?對於第一層擴容技術來說,其實都是在共識這個部分改進的。


10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝


第二層擴容技術,目的是把計算移到鏈下。怎麼來理解第二層擴容技術呢?舉一個例子,最近有一個比較火的雲鬥龍區塊鏈遊戲,遊戲玩家通過讓龍去戰鬥,讓龍升級,然後得獎金。龍的整個戰鬥過程,如果放到鏈上,玩家在玩遊戲的時候就需要很多的燃料費,並且還要花時間等交易的確定,遊戲體驗非常不好。因此使用第二層擴容技術,把戰鬥過程放到鏈下,最後只把結果給存到鏈上,這樣就會大大改善遊戲的體驗。這就是第二層技術的一個基本思路。


10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝



02

側鏈

下面我們先來講一下傳統的第二層擴容技術,就是側鏈。這裡舉一個簡單的應用場景,幫助大家理解側鏈。假設你們公司有一百個員工,因為需要協同工作等原因,員工之間可以通過發一點比特幣作為回報,但是你不想每一筆交易都發到鏈上,而是希望員工之間可以自由的進行交易,同時速度也非常的快。基於這種場景,一種非常直接的交易方式就是所謂的側鏈。


10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝



首先,你們公司得有自己的一個區塊鏈,然後決定礦工以及服務器的數量。假設我是公司裡的一名員工,需要先把比特幣存進多重簽名錢包裡面,這個多重簽名錢包需要礦工的簽名同意,才能使用裡面的資金。所以,員工第一步就是把錢存到這個錢包裡面,由礦工簽名,簽完名之後員工自己在這個公司裡面就有了一個錢包。通過這種方式,員工就把主鏈上的幣轉到側鏈上。而側鏈上支撐的功能和主鏈是一樣的,可以交易,所以交易速度就可以更快。而側鏈是公司自己跑的,也不會收取你的手續費。

顯然,對於用戶來說,側鏈的優勢很明顯。不過,因為側鏈只是在公司內部跑,服務器比較少,會不會很容易受到黑客攻擊呢?其實,這也是傳統側鏈的問題,很可能礦工把你的資產給偷走了,這就需要你信任礦工。對於這個問題,新型第二層擴容技術可以解決。



03

Plasma

在新型的第二層擴容技術中,包含多種技術,首先給大家介紹Plasma。Plasma現在普及率還不是很高,我個人認為它是區塊鏈最潛力的技術之一。Plasma也有很多不同的發展方向,今天因為時間原因,我們只講一個方向,就是Plasma Cash


10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝



Plasma Cash怎麼理解呢?我們也來舉一個例子,首先你在鏈上鎖定資產,接下來在鏈下轉移資產。轉移資產是發給一箇中心化的服務器,你把錢轉給某個人,你在告訴他,轉移了這個交易籤個名,這個服務器內部有一個小小的區塊鏈,每個區塊在鏈上都有個Mekle(是一個數據結構)。比如你在鏈下有100萬個交易,你不能把他存在鏈上,但是你可以通過證明的方法,證明你的交易是在這100萬個區塊裡面。因為鏈下的服務器會產生區塊,每個區塊有一個哈希值,最後你在鏈上可以通過哈希值驗證這個交易是否在哈希值裡面。

Plasma解決的就是容量的問題,因為你在鏈上存的就是哈希值,在鏈下可以進行無限筆交易,雖然每筆交易等的時間和鏈上交易的時間是一樣的,但是我在鏈下交易的量就比鏈上大的多。所以別人是沒有辦法把你的資產拿走的,雖然是中心化的服務器來解決,但是它本質是解決信任問題,不需要任何人去保護你的資產,你的資產由自己的簽名和密鑰控制。

但是Plasma也存在一些問題,第一個是你只能用來做資產交易;第二個問題是需要等待在鏈上確認交易;第三個想要確保你的資產安全,你需要一直監視主鏈,你如果沒有監視,你的資產還是可能會被偷走。

04

狀態通道

相對於Plasma只能用來做資產交易這個痛點,狀態通道可以通過寫一個智能合約,可以讓你在鏈下執行任意程序。不過,發起一筆交易時,狀態通道首先要在鏈上創造一個多重簽訂合約;接下來,是在鏈下接受這筆交易或者狀態的更新,每一筆交易多重合約裡面所有人都要簽名;而合約發佈最終的更新,會檢查所有人是否都簽名了。

但是,狀態通道還是有些問題,一個最明顯的問題就是用戶的數量需要固定,假如用戶不固定的,毫無安全性可言。第二個問題是每一筆交易都需要所有人簽名,比如玩一個遊戲,每一筆交易都需要幾千人簽名,這筆交易就行不通了。第三個問題你還是需要監視主鏈,比如想讓一些老的交易退出來,你自己需要用更新的交易去挑戰之前的老交易,所以這樣三個問題。

05

十倍協議

以上不管是Plsama還是狀態通道都有很大的問題,像Plsama不能支持幾萬人的擴容,我們怎樣去支持大型的擴容?在消費者應用中絕大多數交易的經濟價值是有限的,比如雲鬥龍在鏈下的戰鬥,我的龍砍了你的龍一刀,像這些交易相對是較低的。在這些大型的消費者應用中,絕大多數交易的經濟價值都是有限,

我們如何用一個經濟模型來擴容?其實,我們只要打造這樣一個系統,確保系統本身交易的價值大於攻擊本身的價值。


10分鐘搞懂區塊鏈擴容,4個解決方案拿走不謝



對於上邊這個問題,第二層擴容技術的十倍協議是一種解決方案。首先你在鏈上鎖定資產,在鏈下將交易通過P2P網絡廣播給驗證者,這些驗證者可以通過一個去中心化的文件系統,去下載應用的本身。比如,每個驗證者都會在本地跑一套雲鬥龍這款遊戲,鏈下的交易是通過P2P廣播的,每一個驗證者都可以知道雲鬥龍的情況。

假如你的龍變成二十級了,有人質疑你的龍實質上是十五級。這時,你可以發起一個挑戰,挑戰的過程中可以放進一部分抵押金,如果有一些質疑者想要挑戰,也是可以放進一部分抵押金,雙方都把抵押金放進去之後,經濟體裡有厲害關係的人就可以投票了,每一個驗證者都知道這個龍的情況,最終得票少的一方就會損失掉押金。

如果有惡意攻擊者想要作惡,必須要佔有超過50%的經濟。假設攻擊者買了雲鬥龍這款遊戲超過50%的經濟,他是否會攻擊成功?結果是是的。但是你會發現,假如你攻擊成功,這個經濟體會縮水的,為什麼?因為我們有一個鏈下的廣播系統,每個人都可以成為驗證者,最後通過攻擊得到的這樣一個系統,你雖然可以在鏈上保證不正確的狀態,但是實際上所有人在鏈下都可以看到這是假的,就會導致對整個應用失去信心,從而從這個經濟體退出,這個經濟體本身就會縮水。而攻擊者本身擁有50%的經濟,所以攻擊者本身是最大的受害群體。因此,這個系統,

只要我們保證交易習慣的價值小於攻擊者所需要失掉的價值就是可運行的了。

和所有的系統一樣,十倍協議也有問題。假如你買超過50%的經濟體,確實可以攻擊這個系統;另外需要解決怎麼樣激勵驗證者

最後總結一下,今天我主要講了第二層的幾個解決方案。包括傳統的第二層擴容技術側鏈,有一個信任問題;而新型的擴容技術,講到Plasma、狀態通道和十倍協議,十倍協議是可以移到鏈下,擴容的量比狀態通道大很多。如果你想要攻擊十倍協議,可以通過購買超過50%的經濟體來攻擊十倍協議,就是這幾個主要的擴容方案。


分享到:


相關文章: