憑借安全可信、分布式、難篡改等特點被廣泛關(guan) 注,隨著區塊鏈技術的快速發展和實踐應用,其數據存儲(chu) 代價(jia) 大、性能低、網絡延遲高等問題逐步凸顯。因此區塊鏈作為(wei) 一種機製,亟需解決(jue) 和性能問題,包括比特幣、以太坊等主要區塊鏈社區、開發團隊等紛紛開始區塊鏈擴容方案的研究。
一、為什麽擴容——區塊鏈擴容的需求分析
區塊鏈容量問題天然存在,隨著節點和交易量增多日益加劇。自中本聰發明比特幣以來,比特幣節點數量暴漲,鏈上的交易量劇增。比特幣網絡中的交易需經礦工打包成區塊後廣播給其他節點,由於(yu) 比特幣區塊大小1M的限製,單個(ge) 區塊隻能容納有限的交易事務,據統計,單個(ge) 區塊實際容納的交易數約為(wei) 1700多,區塊每隔10分鍾打包確認,因此比特幣交易速度約為(wei) 每秒3筆。而市場上常用的支付手段如VISA平均每秒處理5000到8000次交易,支付寶處理交易的峰值可達每秒近10萬(wan) 筆交易。比特幣緩慢的交易導致網絡中待確認的交易越來越多,造成網絡堵塞。
區塊鏈擴容需求廣泛存在,各界都在研究區塊鏈擴容方案。比特幣區塊鏈網絡中用戶為(wei) 加快交易速度,必須增加交易的手續費使礦工優(you) 先處理交易。大量的交易手續費和嚴(yan) 重的交易延遲限製比特幣的發展,這也是整個(ge) 區塊鏈技術發展麵臨(lin) 的問題。以太坊創始人維塔利克·布特林在以太坊說明文件中提到區塊鏈係統在“去中心化”、“可擴展性”和“安全”三方麵中隻能完美解決(jue) 兩(liang) 點,即“去中心化”和“安全”。但隨著網絡規模的擴展,區塊鏈係統必須考慮“可擴展性”問題的解決(jue) 方案。比特幣核心開發團隊提出如BIP101、隔離見證等多種擴容方案;比特幣新礦池ViaBTC部署Bitcoin Unlimited擴容方案,並得到澳大利亞(ya) 計算機科學家萊特支持;中科院袁勇團隊研究並提出平行擴容方案;康奈爾大學提出比特幣擴容方案Bitcoin-NG;金融密碼與(yu) 數據安全國際學術會(hui) 議上討論比特幣擴容方案;以太坊也提出分片、狀態通道、Plasma等擴容方案。
區塊鏈擴容方案實現複雜,是一個(ge) 複雜的關(guan) 聯性問題。在互聯網時代,應用軟件都是通過更新迭代的方式升級,來滿足用戶量日益增多和服務升級的需求。對應用軟件來說,軟件升級相對容易,係統升級通過更新升級服務器就能達到目的,性能低下通過增加服務器來支撐龐大的交易,但在區塊鏈場景中擴展升級十分複雜。區塊鏈基於(yu) 分布式的架構,具有眾(zhong) 多節點,每個(ge) 節點都部署服務和存儲(chu) 數據,區塊鏈升級需要每個(ge) 節點都升級本地係統才能完成整個(ge) 區塊鏈的升級。區塊鏈升級需修改底層源代碼,新舊版本的存在會(hui) 使得區塊鏈中打包出來的區塊存在兩(liang) 個(ge) 不同版本,各節點和礦池也會(hui) 選擇所支持的版本,進而導致硬分叉為(wei) 兩(liang) 條鏈甚至多條鏈,違背原本去中心化共識的思想。
二、如何擴容——區塊鏈擴容的技術方案
目前區塊鏈擴容方案主要有包括鏈內(nei) 擴展技術和鏈外擴展技術,也稱作第一層擴容技術和第二層擴容技術。

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