“擴容三難困境”破局新法:“十倍協議”已落地區塊鏈遊戲
擴容難題是現階段絕大多數區塊鏈企業的核心關注點。一個普遍共識是,只有在安全性前提下,妥善解決了交易速度和規模問題,區塊鏈才能在商業應用中大展身手。
近期以太坊創始人Vitalik頻繁出席各類行業會議介紹以太坊擴容方案Sharding和Casper,並多次在公開場合表示解決擴容問題是當前的核心工作。位元大陸吳忌寒也在2018年第4屆全球區塊鏈峰會上強調,“效能擴充套件問題”是區塊鏈技術未來10年的重要發展主線。
小蔥特此 梳理出目前市場上就區塊鏈擴容問題所提出的種種解決方案 (包括Plasma、State Channel、Lightening Network、Truebit等),對比分析各類方案的優劣情況、適用範圍及發展狀況,同時就今年 8月底新興的擴容方案“十倍協議(Tenfold Protocol)”的實用性與適用性 進行探討。
區塊鏈擴容難題由來已久
區塊鏈的擴容挑戰通常指的是系統處理高業務量的能力。一般而言, 擴容方案需要解決的問題包括 :提升區塊鏈系統的效能處理能力,降低使用區塊鏈系統的交易/燃料費用,最終推動區塊鏈技術落地大規模商用。
以太坊創始人Vitalik 最先提出“擴容三難困境(Scalability Trilemma)”,認為區塊鏈系統一般只能實現去中心化、安全性和擴容中的兩個屬性。若想達到顯著擴容,必然會在其他領域(安全性、去中心化、計算能力等)上有所捨棄。
比特幣和以太坊為代表的第一代公鏈重點關注的便是“安全性”和“去中心化”,而將速度和擴容體驗放在了第二位。隨著網路的發展壯大,交易速度緩慢、吞吐率低,交易費用高昂等缺陷日漸凸顯。
當然,正因為擴容難題的長期存在,留給區塊鏈創業公司較多發展空間,許多新興區塊鏈專案往往把效能提升作為差異化競爭點。他們 或通過建立新的高效能公鏈 , 或通過開發一些軟體協議 ,試圖能讓區塊鏈像中心化網際網路那樣快速工作。
既有擴容方案的分類集錦
目前市場上的區塊鏈擴容實施方案可大致分為兩類:1)鏈上擴容,即第一層(Layer1)擴容;2)鏈下擴容,即第二層(Layer2)擴容。
Layer1 擴容:增加底層區塊鏈本身的容量
Layer1擴容是針對底層區塊鏈本身進行“改造”,使其能支援更多更快的鏈上交易。主要包括常見的擴塊、改進共識演算法以及以太坊分片(Sharding)幾種方案。
擴塊
例如Bitcoin Gold的做法,將比特幣每個區塊2M的大小擴充套件到8M。但它犧牲了一定的去中心化,由於每個節點的工作量增加,效能要求更強,那些算力小的計算機可能會退出網路,它可能帶來礦機生產和運營的專業化和集中化;此外,於公鏈全網共識而言,區塊可擴充套件的容量有限。
改進共識演算法
即通過改進第一代區塊鏈的共識演算法建立替代性的、高效能公鏈,如EOS、DIFINITY、Cosmos等後起專案。從POW發展到POS、甚至DPOS,但它們多是犧牲了一些“去中心化”特性來換取的效能提升,依舊沒能走出“三難困境”。
以太坊分片
分片是以太坊正在研究的、一種旨在提升協議基礎層容量的擴容技術。該方案將區塊鏈系統分成不同部分,各部分獨立處理交易,通過多個網路計算機來分配交易負載,允許更多交易在同一時間得到確認,據V神自己說,吞吐量的擴充套件是沒有上限的。
不過分片技術是一項頗為浩大的工程,目前而言實施該方案還存在諸多難點。比如首先需要有完善的機制合理安排哪個節點執行哪個片區,且不同片區的節點也要有合適的共識機制;其次,以太坊分片依賴於Casper PoS共識演算法的實施,此前以太坊相關人員曾透露,以太坊分片擴容方案預計將在Casper實施後,分兩個階段分別在2020年和2021年完成部署。
Layer2 擴容:把部分鏈上交易置於鏈下處理,釋放底層區塊鏈的容量
Layer2的擴容技術其實都是一種 鏈下技術 , 通過把區塊鏈系統內很大一部分交易事務從鏈上轉移到鏈下執行以提升效能 。稱作第二層解決方案,是因為它們構建在既有第一層區塊鏈(如比特幣和以太坊)之上,無需更改基層協議,既能維持主鏈的公平性與穩定性,又可增加鏈下的高效和靈活性。代表性的方案有:比特幣的閃電網路(Lightning network)、以太坊的Plasma、狀態通道(State Channel)以及Truebit,各有特色和利弊。
閃電網路
閃電網路是由Joseph Poon和Thaddeus Dryja在2015年針對比特幣主鏈轉賬速度慢、成本高等問題提出的鏈下交易網路,運用了一種支付通道(payment channels)技術。通過在比特幣上新建立一層,將小額交易放在比特幣區塊鏈之外處理,實現鏈上的快速和廉價交易與淨結算。閃電網路由使用者生成的通道組成,這些通道中,使用者能以安全和去信任的方式來回傳送支付。
但閃電網路主要是一個資產轉移技術,無法進行程式設計。此外,目前大多數閃電網路使用者仍然是技術開發者,其使用多帶有實驗性質,並且閃電網路上關於路由、隱私等風險問題都有待解決。
狀態通道
2015年Ledger 實驗室的創始人Jeff Coleman首次詳細描述了狀態通道技術。概括而言, 狀態通道是為希望進行交易通訊的兩個使用者之間開啟的雙向通道 。通道中每個參與者都需要用私鑰簽署這些交易以確保交易真實性。這些通道是鏈下的和私有的,只有參與者知道,參與者之間可以進行即時和匿名交易。
由於狀態通道是執行鏈下計算的一種安全方法,並且可以實現狀態更新。目前已有Funfair和Celer Network等企業在使用該技術實施擴容。當然它也存在幾個眾所周知的侷限:
通訊參與者需要能事先確定:對於新使用者加入或現有使用者離開,要通過鏈上交易實現,需更改鏈上合約。
通訊複雜程度高,通訊開銷花費高:因為狀態通道里每筆交易(通訊)都要被通道內所有參與者簽名。所以狀態通道往往只適用於使用者較少的應用,大型社交網路或遊戲平臺難以處理。
開發限制較多:首先狀態通道需在諸如Solidity這樣的智慧合約語言中部署實施,因為涉及的爭議必須在鏈上解決;其次,狀態通道本身是全域性響應的,在狀態通道上編寫一個程式往往需要完成支援鏈上執行和鏈下執行的兩部分編寫工作,從而實現鏈上鍊下的互聯互通。
Plasma
Plasma是2017年8月Vitalik Buterin 和 Joseph Poon提出的一種擴容技術,它同樣是一種鏈下交易的技術,同時依託以太坊公鏈來保證安全與信任。Plasma 從一個新的方向實現了狀態通道,它允許在以太坊主鏈上巢狀“子鏈”,這些子鏈也可以產生他們自己的子鏈,等等,如此便能 優化跨多層區塊鏈的交易負荷 ,可以在子鏈級別執行很多複雜操作,只需要與以太坊主鏈進行儘可能少的互動。
正在研發中的Plasma具有較多的預期效用:加速交易;節點數量較少,費用越低,操作越順暢;節省大量的處理能力和記憶體;相容各種鏈上量化解決方案(如分片)等;通過高資料儲存容量提高區塊鏈應用的分類帳可擴充套件性。
不過就目前看來,Plasma 僅支援數字資產的安全轉移,無法用於執行一般的狀態升級更新,它不支援程式設計 (類似比特幣和以太坊的差異,比特幣只適用於做資產轉移,而以太坊上能程式設計寫智慧合約),開發者可以利用Plasma實現快速的鏈下資產轉移,並節省燃料費,但無法在Plasma上寫一些功能邏輯,也因此,其目前多侷限在去中心化交易所等應用上。
Truebit
Truebit 是 一種幫助以太坊進行繁重、複雜計算的計算市場 。與狀態通道和Plasma不同,Truebit設計初衷是解決以太坊智慧合約的gas限制,提高網路可以實現的計算量上限,而不僅僅是加快交易速度,重點針對如視訊廣播、機器學習等繁重的計算工作。
該方案的實現原理是,使用者上傳所需執行的程式碼,由某個服務外包商執行並賺取佣金,其它人監督程式碼執行的正確性,以太坊通過智慧合約進行終極仲裁併獎善罰惡。鏈上節點無需完整驗證,從而大大減輕了鏈上計算負擔,也降低了使用者gas消耗。
不過由於市場本身在鏈上,釋出任務和接收結果都會存在很大延遲,這也導致Truebit的應用有一定侷限性,不太適合類似區塊鏈遊戲這樣的互動式應用。且Truebit目前還在開發過程中,離投放市場還有一定週期。
“十倍協議”:一個關於“可擴充套件性三難困境”的新考量
“十倍協議(Tenfold Protocol)”是區塊鏈初創企業Binary Mint於今年8月底釋出的一項新型擴容方案,它用於安全地維持一個鏈下狀態機,同時能在鏈上讀取其狀態。Tenfold允許開發者使用任何程式語言構建大型複雜的區塊鏈應用,相容任何支援智慧合約的區塊鏈(包括以太坊及新一代主打效能的公鏈)。目前,Tenfold已部署至“雲鬥龍(Hyper Dragons)”這一區塊鏈戰鬥類遊戲上,據小蔥瞭解,部署了Tenfold的新版雲鬥龍將在效能上和遊戲體驗上獲得極大提升,同時燃料費用會大幅縮減。
小蔥特此約訪了Tenfold協議的開發團隊,創始人Derek Chiang(姜恩池)指出,Tenfold是一種 專為“消費者級別的區塊鏈應用”打造的Layer2擴容方案 。此處“消費者級別”的應用指的是需要很多使用者同時使用的區塊鏈應用,如遊戲、社交網路平臺、即時通訊平臺等等。
設計Tenfold之前,Derek及其團隊分析了所有消費者級別的區塊鏈應用,認為這些應用中涉及的“區塊鏈交易”可以劃歸為兩類: 無限價值交易 (Unbounded Transactions)和 有限價值交易 (bounded Transactions)。意思是,他們認為區塊鏈應用中每個交易/事物所涉的經濟價值(economic value)有所差異,比如,去中心化交易所中每筆“交易”的經濟價值可無限大(在於使用者自己需要/願意交易多少金額);而戰鬥類遊戲中,每砍一刀、升級一次、拿到新裝備等類似“交易”都只有有限的甚至沒有經濟價值。
顯然,這兩類交易對安全性、去中心化程度,以及交易速度的需求也有所分化:“無限價值交易”需最大程度地提升安全性,而“有限價值交易”則往往更注重效能提升,也對燃料費用較為敏感。
Tenfold首先瞄準的正是“有限價值交易”應用程式的擴容需求,目前主要活躍於區塊鏈遊戲行業,不過據Derek表示,“未來 所有需要‘狀態轉換(state update)’的、面對消費者的區塊鏈應用都會使用到Tenfold技術 ”。通過將這些“有限價值交易”安全轉移至鏈下執行,Tenfold能實現交易效能的大幅提升以及燃料費用的大幅縮減,並且這些鏈下處理的交易可以被主鏈訪問,能實現較高的互操作性。
據小蔥瞭解,區塊鏈戰鬥類遊戲“雲鬥龍”已在其競技場模組率先部署了Tenfold,據云鬥龍官方公告顯示,新版“火箭競技場”已於9月14日完成更新升級。
雲鬥龍競技場的戰鬥類操作皆在鏈上執行,燃料費用很高,且每個區塊都有gas限制,導致戰鬥能處理的玩家數量非常有限。此前,競技場每場戰鬥僅能容納32條龍,每天支援3場戰鬥。據小蔥瞭解,部署Tenfold第二層擴容方案後,新版雲鬥龍將得到以下提升:
每局戰鬥能同時容納多達 2,048條龍 ;
理論上每天可執行 無限場次 的戰鬥,但具體要看使用者活躍度及遊戲產品設計;
遊戲消耗的燃料成本降低了 95%以上 。
此外,由於新版雲鬥龍將即時戰鬥過程從鏈上遷移到了鏈下執行(鏈上能看到執行狀態),可便於開發者頻繁更新和升級。
Tenfold 與其他擴容方案的差異化分析
Tenfold 與Layer1方案:相輔相成
作為Layer2 的解決方案,Tenfold與Layer1擴容方案是相輔相成的關係,各自從不同角度推動區塊鏈的效能提升。
Layer1的擴容方案往往存在研發週期較長,更新迭代較慢也難以達成升級迭代共識等侷限,且往往僅適用於其獨立的公鏈生態,缺少通用性。這也是為什麼許多人傾向於在Layer2上構建擴容方案。Layer1作為底層區塊鏈設施,需要維持相對的穩定性,不方便頻繁的更新迭代,而在Layer2上則可以做更多靈活性操作與設計(在不影響Layer1的基礎上完成快速迭代),也更容易落地和投放市場。當然,這兩層的解決方案並非互斥,而是相輔相成的關係。
Derek告訴小蔥,若以太坊分片技術得以實施,且以太坊上的區塊鏈應用同時部署了Tenfold,兩種方案在效能上的提升效果是可以相乘的。
Tenfold 與Layer2方案:“‘有限價值交易’的消費級區塊鏈應用”上適用性更高
Tenfold與Truebit、閃電網路、狀態通道、Plasma一樣都是基於以太坊區塊鏈的Layer2解決方案,Truebit的重點在於提高以太坊網路的計算能力; 閃電網路和Plasma更多的是一種資產轉移技術 ,需進行價值轉移的應用多會採用這兩項擴容方案,但它們都難以編寫更多的操作邏輯,實現狀態轉換;
需要實現一定程式設計邏輯的應用會考慮使用狀態通道技術, 狀態通道比較適用於那些有高安全性需求、同時又能事先確定每組參與者的應用 。但狀態通道由於存在通訊複雜程度高、開銷花費高、開發限制較多等侷限性,也影響了其推廣與普及。
相比之下,新興的 Tenfold協議更適合那些需要大規模和極快速交易的消費者級別的應用 (如遊戲、社交媒體、即時通訊平臺)。與狀態通道相比,Tenfold能極大降低通訊複雜度及通訊開銷,同時它 類似一個API ,允許開發者使用任何傳統的程式語言(技術)實現核心程式邏輯,後續的更新和升級也更便捷。但Tenfold並不適合類似去中心化的交易所這類涉及更多金融、支付交易的應用,該類場景(也即“無限價值交易”應用)更適用Plasma。
不過Tenfold能完全相容Plasma,小蔥獲悉,Tenfold團隊的終極目標正是要 構建一個既支援Plasma又支援Tenfold的一元化平 臺,打造一種能同時適用於“有限價值交易”和“無限價值交易”的區塊鏈應用擴容方案。
或許,比起很多目前尚在開發中的擴容方案,Tenfold 一個比較明顯的優勢在於 ,它已完成開發,作為一項成熟的擴容方案被部署至區塊鏈遊戲應用之中。據小蔥瞭解,Mixmarvel(一個基於區塊鏈的多人聯網遊戲社群)遊戲社群在為雲鬥龍競技場部署Tenfold擴容方案後,將繼續改造整個雲鬥龍遊戲,乃至Mixmarvel生態的所有遊戲。 Tenfold究竟能否率先實現區塊鏈遊戲效能的新突破,市場也將很快有所反饋 。
小結
區塊鏈技術的潛力是無限的,儘管目前區塊鏈擴容挑戰仍在,儘管區塊鏈應用在效能上距離中心化應用仍有很大距離,但新的理論和技術方案正不斷浮出水面,全球區塊鏈技術開發者們正從不同角度發力,推動實現區塊鏈系統內交易速度與吞吐量的提升、交易成本的降低以及開發體驗的改善。
目前而言,無論是Layer1的分片擴容技術、“新一代”高效能公鏈的嘗試,還是Layer2 的種種或適用“有限價值交易”,或適用“無限價值交易”的擴容技術,它們都有所侷限性,都只能解決特定用例中的技術擴充套件性問題。區塊鏈技術發展的過渡期,各類應用需要根據自身對安全性、交易效能與計算能力的不同需求選用契合的技術方案;與此同時,隨著各項擴容技術的相互融合與借鑑,相信市場很快會迎來具有更強通用性和擴容性,同時兼具安全性與開發便捷性的解決方案。