區塊鏈憑借安全可信、分布式、難篡改等特點被廣泛關注,隨著區塊鏈技術的快速發展和實踐應用,其數據存儲代價大、性能低、網絡延遲高等問題逐步凸顯。因此區塊鏈作為一種可信數據管理機制,亟需解決可擴展和性能問題,包括比特幣、以太坊等主要區塊鏈社區、開發團隊等紛紛開始區塊鏈擴容方案的研究。
一、為什么擴容——區塊鏈擴容的需求分析
區塊鏈容量問題天然存在,隨著節點和交易量增多日益加劇。自中本聰發明比特幣以來,比特幣節點數量暴漲,鏈上的交易量劇增。比特幣網絡中的交易需經礦工打包成區塊后廣播給其他節點,由于比特幣區塊大小1M的限制,單個區塊只能容納有限的交易事務,據統計,單個區塊實際容納的交易數約為1700多,區塊每隔10分鐘打包確認,因此比特幣交易速度約為每秒3筆。而市場上常用的支付手段如VISA平均每秒處理5000到8000次交易,支付寶處理交易的峰值可達每秒近10萬筆交易。比特幣緩慢的交易導致網絡中待確認的交易越來越多,造成網絡堵塞。
區塊鏈擴容需求廣泛存在,各界都在研究區塊鏈擴容方案。比特幣區塊鏈網絡中用戶為加快交易速度,必須增加交易的手續費使礦工優先處理交易。大量的交易手續費和嚴重的交易延遲限制比特幣的發展,這也是整個區塊鏈技術發展面臨的問題。以太坊創始人維塔利克·布特林在以太坊說明文件中提到區塊鏈系統在“去中心化”、“可擴展性”和“安全”三方面中只能完美解決兩點,即“去中心化”和“安全”。但隨著網絡規模的擴展,區塊鏈系統必須考慮“可擴展性”問題的解決方案。比特幣核心開發團隊提出如BIP101、隔離見證等多種擴容方案;比特幣新礦池ViaBTC部署Bitcoin Unlimited擴容方案,并得到澳大利亞計算機科學家萊特支持;中科院袁勇團隊研究并提出平行擴容方案;康奈爾大學提出比特幣擴容方案Bitcoin-NG;金融密碼與數據安全國際學術會議上討論比特幣擴容方案;以太坊也提出分片、狀態通道、Plasma等擴容方案。
區塊鏈擴容方案實現復雜,是一個復雜的關聯性問題。在互聯網時代,應用軟件都是通過更新迭代的方式升級,來滿足用戶量日益增多和服務升級的需求。對應用軟件來說,軟件升級相對容易,系統升級通過更新升級服務器就能達到目的,性能低下通過增加服務器來支撐龐大的交易,但在區塊鏈場景中擴展升級十分復雜。區塊鏈基于分布式的架構,具有眾多節點,每個節點都部署服務和存儲數據,區塊鏈升級需要每個節點都升級本地系統才能完成整個區塊鏈的升級。區塊鏈升級需修改底層源代碼,新舊版本的存在會使得區塊鏈中打包出來的區塊存在兩個不同版本,各節點和礦池也會選擇所支持的版本,進而導致硬分叉為兩條鏈甚至多條鏈,違背原本去中心化共識的思想。
二、如何擴容——區塊鏈擴容的技術方案
目前區塊鏈擴容方案主要有包括鏈內擴展技術和鏈外擴展技術,也稱作第一層擴容技術和第二層擴容技術。
圖1 區塊鏈擴容技術方案
1. 鏈內擴展技術
鏈內擴展技術主要是基于對區塊鏈自身進行改進,主要包括區塊擴容和隔離見證。
(1)區塊擴容:是一種最直接的擴容方式,即增加區塊大小,如將比特幣當前區塊大小從1MB擴展到2MB,區塊大小的擴展可以使每秒交易處理增加。理論上,區塊容量越大,交易處理速度就越快,但在實踐中,若塊容量太大,礦工打包塊的速度會變慢,區塊在網絡傳輸過程中因網絡無法對大文件進行快速傳輸,又會出現新的問題,因此直接對區塊大小進行擴容的方案是有限度的。2017年8月,比特幣硬分叉為比特幣(BTC)和比特幣現金(BCC),BCC實現區塊大小從1MB到8MB的擴容。
(2)隔離見證:字面意思就是將見證的內容隔離開來。區塊中存儲的是交易數據,隔離見證通過縮小交易數據的尺寸,使每個區塊可容納更多的交易來達到擴容的目的。比特幣交易是發起者通過簽署UTXO(未花費交易輸出,類似于支票)并填寫接受者地址而建立的,這個過程就是“見證”。為保證交易事務唯一性,比特幣對每條交易事務數據進行哈希計算得到交易事務ID。交易事務中的關鍵數據包括簽名、接收方和交易金額,其中簽名占據了大量存儲空間,而該簽名信息的作用是由礦工見證交易數據來源的合法性,普通節點并不驗證簽名信息,因此簽名數據部分就可被隔離存儲到其他區域,節省了區塊的存儲空間,也就實現了隔離見證。2017年5月萊特幣通過用戶激活軟分叉方案,繞過礦工和礦池的支持,完成了隔離見證。
(3)分片技術:是將網絡中的節點分成不同碎片,各分片處理不同交易數據,每個片區內部共同處理同一交易事件,網絡中可并行處理交易大大提高網絡并發量。為了實現節點隨機分配和片區驗證者分配,需再建立一條單獨的區塊鏈(以太坊2.0中稱為信標鏈),負責執行維護整個網絡所需的操作。這種方式即為二次方分片,是通過網絡雙層設計增加交易量。具體地,將以太坊網絡上的節點分成100片,分片系統由主鏈上發布的校驗器管理合約(VMC)進行維護,每個片區都是獨立存在的,當以太坊中有交易時,只選擇其中一個分片處理,如果網絡內有M件事務待處理,現在每個節點只需要處理M/100件即可,之后這些打包的子區塊的數據組成一個主鏈上的區塊,相當于主鏈區塊容量擴大了100倍。目前以太坊2.0信標鏈還未正式上線發布。另外EOS采用的DPOS共識機制中只有部分節點參與造塊,而且沒有挖礦競爭,更注重擴展性,和以太坊的分片技術異曲同工。
2. 鏈外擴展技術
改進區塊鏈本身的鏈上擴展技術有很多局限性,因此在鏈外使用技術手段進行擴容的方案逐步出臺,鏈外擴展技術主要包括側鏈技術、閃電網絡和多鏈擴展。
(1)側鏈技術:是在區塊鏈的主鏈之外引入側鏈,在側鏈上完成數據(價值)分流。側鏈協議可以實現多個區塊鏈之間的交易和價值轉移,側鏈是相對于主鏈而言的,多個可以實現價值轉移的區塊鏈之間可以互為側鏈。側鏈技術實現區塊鏈擴展是采用雙向錨定的思想,在主鏈上凍結一定價值的資產,由礦工確認凍結的資產在側鏈上的對等價值,兌換后用戶在側鏈上使用對等價值的資產。側鏈有兩種實現方式,一種是單一托管,即將主鏈上的資產發送到一個單一托管的機構控制并凍結資產,然后在側鏈上激活,這種實現方式是中心化的,存在安全風險;另一種是多重簽名,主鏈上凍結的資產通過多重簽名的地址控制,資產交易消息需要經過多方的簽名才有效合法,大大提高了安全性。側鏈技術可以實現完全不同架構、技術和共識的區塊鏈間交易,是一種解決區塊鏈擴容的較理想方案。
(2)閃電網絡:是一個點對點的對等網絡,完全去中心化的數字貨幣微支付系統。閃電網絡在區塊鏈外開辟一個基于買賣雙方的獨立雙向支付通道,通道創建初期記錄一個原始資金分配方案保存雙方的初始資金,交易記錄經雙方簽名更新在資產分配方案中。在鏈下的支付通道中可以發生一次或多次交易,這些交易在支付通道關閉之前都只在閃電網絡的資產分配方案中更新,不會在鏈上共識,直到交易結束后將最終余額分配結果更新到鏈上共識。頻繁交易記錄在鏈下進行大大減少了主鏈上交易次數,可以顯著提高容量、可擴張性、交易吞吐量,且通過閃電網絡通道進行的所有微支付幾乎都無法被追蹤,保障交易更加匿名安全。但閃電網絡是基于智能合約建立的雙向支付通道,需要智能合約的支持,對于比特幣區塊鏈的實現較為復雜,且在實現閃電網絡過程中需要打開和關閉支付通道,頻繁操作通道可能會加劇網絡擁堵。以太坊使用類似思想并升級懲罰機制的雷電網絡作為一種鏈外擴展技術。
(3)多鏈互聯:是利用跨鏈連接器連接多條區塊鏈,實現不同業務鏈價值交互的多鏈架構理念。跨鏈連接器類似于“中間件”,負責定義各鏈之間進行交互的數據交換標準規范,多鏈結構中每條鏈都是一個單獨的體系,鏈內可以自主共識、記賬、查詢、校驗,鏈間通過跨鏈連接器進行跨鏈交易、價值轉換。整個多鏈架構根據業務功能需求搭建并實現,整個體系可以實現多鏈業務協同,鏈間數據隔離,極大提高價值網絡并行計算能力,保證良好的可擴展性和可利用性。
三、總結
習近平總書記在2019年10月24日主持中共中央政治局第十八次集體學習時指出“要把區塊鏈作為核心技術自主創新重要突破口”。為貫徹落實習總書記工作要求,發揮區塊鏈在技術創新和產業發展方面的作用,擴容問題就成為區塊鏈新型基礎設施、助力產業實踐必須重視的關鍵問題。在此背景下,產業各方推動區塊鏈技術發展,商業規模化應用落地,區塊鏈擴容問題解決方案呈現遍地開花的局面。
各方案優劣勢分析。對比分析各擴容方案,區塊擴容和隔離見證方案局限性較大,會造成硬分叉和中心化問題,影響到整個區塊鏈網絡的平衡。側鏈技術可以很好地幫主鏈做分流,但側鏈作為一條獨立運行的鏈,沒有足夠算力保證交易和區塊鏈的安全,攻擊者可以使用較小的代價對側鏈展開51%攻擊。閃電網絡主要采用通道技術,因建立支付通道需要先投入一部分資金,適合于可支配的資金較富余且交易頻繁的節點,因此支付通道交易也一般是礦池,礦池持續性鏈下交易會導致“中心化”問題,且支付通道交易的匿名性違背區塊鏈“交易可追蹤”的理念。
擴容方案發展趨勢。目前分片技術和多鏈互聯是研究的熱點方向,但在實際應用中,單純地使用某一種技術方案是不夠的。目前,國內各大區塊鏈平臺系統主要采用鏈下擴容技術,并將多種方案融合在系統中使用,如采用側鏈等跨鏈技術、升級優化國內共識算法、提高硬件性能等多種手段共同提升區塊鏈底層平臺性能。分片技術也是多數區塊鏈平臺未來的重點發展方向,該技術在邏輯上簡單但技術實現難度大,如何合理的計算分片規模、分片數量得到區塊鏈網絡分片最優解還需各方研究。
根據應用平衡選擇擴容。區塊鏈作為分布式系統,占有硬件和服務資源量較大,盲目擴展會付出巨大的資源代價。從應用場景的角度來看,實際應用場景中應根據業務需求對區塊鏈性能進行必要的擴展,做好服務器資源和鏈上的效益平衡。且從區塊鏈系統 “去中心化、安全性、可擴展”三大特性來看,也需根據實際應用平衡三者關系。如在規模化數字支付場景對性能要求較高,但在一些企業聯盟鏈低頻次大額交易中,性能并非首要問題,應更加注重安全性。