比特幣(Bitcoin),簡稱BTC,是一個基於區塊鏈去中心化共識並且應用點對點網絡通信的開源加密貨幣系統,由分佈在全球各地的計算機網絡和節點共同維護。
BTC 的白皮書由中本聰在2008 年10 月31 日發布,此後的2009 年1 月3 日,BTC 的共識鏈產生了第一個區塊。然而,隨著加密社區和生態日漸壯大繁榮,早期的BTC 技術已無法滿足用戶對加密貨幣系統可擴展性的需求。直接改進BTC 底層協議的複雜度高、社區阻力大,會增加BTC 系統的風險、導致硬分叉和社區分裂。
一個更加合適的方案是BTC Layer 2 ,即基於BTC 構建新的層級而不對BTC 進行改動,兼容BTC 的同時,滿足用戶對擴展性的需求。本文對BTC Layer 2 進行調查,綜合地闡述BTC 現狀、問題以及BTC Layer 2 的技術方案以及優劣性,並且對其未來進行展望。
一、BTC 的技術簡介
BTC 的核心是分佈式賬本技術,使用區塊鏈儲存交易數據。區塊鍊是基於哈希指針鍊錶結構,鍊錶的每節是一個數據區塊,包含上一個區塊的哈希值、交易數據、時間數據、挖礦參數和協議版本信息。 BTC 網絡中,新區塊鏈的寫入權力,即記賬權,由節點遵循工作量證明機制(Proof of Work, PoW) 依靠算力競爭得到。獲得記賬權的節點成功寫入新的區塊後,獲得一定的比特幣代幣作為獎勵,因此這個過程也被稱為挖礦。
BTC 的區塊數據結構,圖片來源:
https://www 3.ntu.edu.sg/home/ehchua/programming/blockchain/bitcoin.html
BTC 的記賬工作流圖片來源:
https://hackernoon.com/exploring-the-feasibility-of-transitioning-btc-from-pow-to-pos
BTC 採用基於轉賬記錄的賬本方案(Transcation-based ledger),只把轉賬信息記錄在區塊鏈中,而不維護賬戶餘額。因此,為了防範雙花攻擊,節點需要在本地維護一組未花費交易輸出數據(Unspent Transaction Outputs, UTXO),並且賬戶轉賬時需要提供資金來源,以便節點驗證交易的合法性。
單個賬戶的 UTXO 示意圖,圖片來源:
https://docs.safepal.io/blockchain-tutorials/utxo-what-is-it-and-how-to-use-it
BTC 使用非對稱加密和哈希算法來組織賬戶、保護和驗證交易。一個賬戶包括賬戶私鑰和賬戶公鑰。賬戶私鑰是一個隨機生成的私鑰,而賬戶的公鑰由橢圓曲線乘法處理私鑰後生成。此外,賬戶的地址由哈希散列算法處理公鑰後生成。交易被私鑰簽名後,通過點對點網絡廣播給節點。節點使用對應的公鑰驗證交易,驗證成功後,再將交易打包在新區塊中。
BTC 賬戶私鑰和公鑰的簽名與驗證,圖片來源:
Nakamoto, Satoshi. “Bitcoin whitepaper.”
BTC 的共識機制是PoW 。所有節點各自構造一個新的區塊頭,使得它的哈希值小於等於一個給定的目標值。率先找到符合條件區塊頭的節點,擁有下一個區塊的記賬權。通過調節目標值的大小,能夠間接調節出塊時間。目標值越大,挖礦越簡單,出塊時間越短;目標值越小,挖礦越難,出塊時間越長。 BTC 期望每個塊的出塊時間為10 分鐘,因此,BTC 每過2016 個區塊會重新調整目標值,即調整挖礦難度。
Proof Of Work 流程示例,圖片來源:
https://www.ledger.com/academy/blockchain/what-is-proof-of-work
二、BTC 的現狀和遇到的問題
BTC 是首個被全球加密貨幣社區廣泛認可的數字貨幣系統。自2013 年以來,BTC 的市值常年佔據加密貨幣總市值的一半以上,是當之無愧的加密貨幣龍頭。
BTC 市值佔比,來源:
https://www.coinglass.com/zh/pro/i/MarketCap
長期以來,BTC 以其首創地位和極高的安全性受到用戶的追捧,然而,隨著加密貨幣用戶的壯大,BTC 難以滿足用戶對加密貨幣系統低手續費、便利、即時、保護隱私、資產多樣和應用多樣日益增長的需求。長期來看,BTC 的市值佔加密貨幣總市值的比例,在慢慢下降。相比Ethereum 的繁榮生態、Solana 低手續費和高TPS (Transactions Per Second) 等各有千秋的公鏈,BTC 似乎除了知名度和安全性外,沒有其他核心競爭力,而面臨以下問題:
交易速度慢、確認時間長、不夠方便:
BTC 每個區塊容量為1 M,每筆交易的數據的大概是250 B,因此每個區塊最多包含4000 筆交易。按照期望出塊時間10 分鐘計算,BTC 的TPS 只有7 左右。 BTC 上的交易需要等待6 個塊進行可信確認,這導致約1 個小時的最終確認時間。此外,BTC 上轉賬只能一次性把餘額全部轉出,找零需要聲明轉回自己地址,否則作為獎勵給礦工。這無法滿足用戶對交易便利和即時的需求。
高昂的交易手續費:
用戶使用BTC 進行交易時,需要付出手續費吸引礦工打包交易,手續費越高,交易確認的速度越快。當交易擁堵時,手續費會變得額外昂貴,在2021 年一度達到60 多美金。自2020 年5 月14 日至2023 年5 月15 日,比特幣的交易手續費平均需要4.66 美金。這個手續費成本阻礙了很多用戶使用BTC。
不支持智能合約編程:
BTC 不支持直接構建複雜的應用,只能從協議層著手。然而從協議層開發應用的成本遠比通過標準化的智能合約的開發成本高。這限制了BTC 的應用多樣和資產多樣的發展。
BTC 手續費,來源:
https://bitinfocharts.com/zh/comparison/bitcoin-transactionfees.html#3 y
三、改進 BTC 的阻力與 Layer 2 方案
技術難度:
BTC 遇到的問題來源於老舊的技術方案不能滿足現在的需求,即使在BTC 上直接進行微調,也無法徹底解決問題,反而會衍生出新問題。如果對BTC 進行擴容,把每個區塊從1 M 提升為100 M,讓TPS 提高到700 ,會導致每年新產生近5 T 大小賬本數據,提高運行節點的門檻,影響系統的去中心化程度,增加系統風險。即使不考慮賬本數據大小的問題,按照互聯網帶寬中位數13 Mbps、區塊中每個交易大小為250 B 來計算,BTC 的TPS 上限為13 Mbps/8 Mb/250 B ≈ 6815 ,無法於Polkadot、Solana 等能夠支持上萬甚至數十萬TPS 的公鏈相競爭。 Bitcoin Cash (BCH) 對BTC 的區塊進行擴容,增大了BTC 的區塊大小,然而,BCH 的客戶端錯誤頻出,並且提高了全節點的運行成本,帶來中心化風險。在2019 年,為了對抗利用BCH 代碼漏洞的攻擊者,BCH 礦池發起51% 攻擊修改交易數據。
社區阻力:
在安全性和擴展性之間,BTC 社區以安全性優先。 BTC 核心開發者出於對技術風險的謹慎,使得面對直接對BTC 進行擴展的建議非常保守。最簡單的擴展,是增加BTC 每個區塊的大小。對提高BTC 區塊容量的建議自2015 年開始,獲得很多用戶、礦工和開發者的支持。提高區塊容量,用戶能夠獲得更快的交易速度,礦工則能收取更多的交易手續費。然而,以BTC 開發者團隊總負責人Wladimir van der Laan 為首的一些開發者不贊同這個擴容方式,支持隔離見證(Segregated Witness) 和閃電網絡(Lightning Network) 等方案。區塊擴容的爭論導致BTC 社區分裂,最終在BTC 引入隔離升級技術後,一部分人拒絕這次技術升級,在2017 年8 月造成BTC 硬分叉,衍生出BCH。 BCH 在硬分叉後,將區塊上限提高為8 M,後續又提高到32 M,平均TPS 在120 左右。此外,BCH 社區在2018 年,因為技術升級路線的分歧,再次分裂,硬分叉出BSV (Bitcoin Satoshi Vision)。這次分叉導致BCH 全網總算力暴跌,至今沒有再達到過分叉前的算力水平。 BSV 的區塊大小上限被提高至4 G,但是缺少礦工和用戶,遠不如BTC 安全。
BTC 的分叉歷史,圖片來源:
https://www.blocktempo.com/forks-history-5 years-review/
BCH 全網總算力歷史,圖片來源:
https://explorer.btc.com/zh-CN/bch/insights-hashrate
Layer 2 方案:
事實上,直接改動BTC 的複雜度高並且社區阻力大,更被社區接受的方案是基於BTC 構建新的層級, 既兼容並且不影響BTC 系統的同時,又解決以上問題。 BTC 具有極高的安全性,使用BTC 作為核心層,依靠BTC 區塊數據以及利用BTC 腳本程序,開發者能夠在BTC 的上層構建兼容BTC 的系統,把大量交易放在BTC 外面執行,而只把最終的狀態數據寫入BTC 中,這類方案被稱為BTC Layer 2 。
四、BTC 二層的目標和發展歷史
BTC Layer 2 是指比特幣(BTC)的第二層擴展技術,這類技術旨在提高比特幣的交易速度、降低手續費用,並增加可擴展性,解決BTC 面臨的一系列問題。
Layer 2 的發展目標:
提高交易速度:Layer 2 試圖通過優化交易處理方式來提高比特幣的交易速度,在鏈下對交易進行批量處理,使用最新對技術在鏈下同步和驗證每筆交易,從而擴大比特幣在全球範圍內的應用和推廣。
降低交易成本:Layer 2 通過在BTC 鏈下批量處理交易,只把交易完成後的最終狀態寫入BTC 中,最終狀態和初始狀態中的中間交易和狀態則存在鏈下不在BTC 上同步,降低了交易手續費,並減輕比特幣底層區塊鏈的負擔。
增加可擴展性:Layer 2 技術的引入旨在緩解比特幣底層區塊鏈的可擴展性問題,使其更具容量應對未來交易量的增長。
近年來,Layer 2 是crypto 行業最重要的投資主題之一,但是其在大部分場景中特指以太坊的Layer 2 擴容方案,然而,BTC 的擴容方案要遠早於以太坊擴容提議的出現,甚至以太坊也是因為Vitalik Buterin 對BTC 改進提議被拒絕後才創建的。
2012 年,Pegged Sidechains 的概念首次被提出,其派生自雙向錨定(Two-way Peg),它使得資產可以在兩條鏈上無縫轉移。這一提議為之後的側鏈技術奠定了基礎。
2014 年,Blockstream 成立,開始研究和開發側鏈技術,以提高比特幣的可擴展性。
2015 年,Lightning Network 白皮書發布,托普爾(Tadge Dryja)和波光(Joseph Poon)是該白皮書的作者。 Lightning Network 是一種將小額交易從主鏈上分離出來的解決方案,通過創建雙向付款通道,無需在區塊鏈上記錄中間交易,只需要在BTC 上記錄最終狀態。
由於BTC 的設計較為簡單,本身並不具有靈活的可拓展性,因此早期BTC Layer 2 方案難以真正嵌入比特幣,因此也未引起較大反響。
直到2017 年,SegWit(隔離見證)升級激活,解決了比特幣區塊鏈中的交易可塑性問題,為Layer 2 技術發展提供了可能。
2018 年以來,開發者逐漸開始部署Lightning Network 節點,並獲得了一定的用戶和支持。據bitcoinvisuals 網站統計,截至2023 年6 月4 日,閃電網絡的節點數量已經超過1 萬8 千個,可容納的支付通道超過7 萬個,網絡容量超過為5000 個比特幣,價值超過1 億美金。
近期,BRC-20 代幣標準的出現進一步豐富了比特幣的相關生態,同時讓BTC Layer 2 走進大眾視野。構建BTC Layer 2 的項目有不少,最知名的是閃電網絡。
五、閃電網絡
閃電網絡最早於2015 年由Joseph Poon 和Thaddeus Dryja 在其白皮書中率先提出。閃電網絡使用微支付(micro-payments) 通道技術,將大量交易放到比特幣區塊鏈之外進行,只把關鍵環節放到鏈上進行確認。其交易過程如下類比:需要交易的用戶,開闢一個房間進行線下交易,進入房間時用戶質押貨幣獲得票據,使用新票據分配雙方質押的貨幣,交易完成後,走出房間時,交易結算,用戶憑藉最新的票據贖回貨幣。
閃電網絡的技術簡介
為了構造安全可靠的微支付通道,閃電網絡採用可撤銷序列合約(Recoverable Sequence Maturity Contract, RSMC) 和時間鎖合約(Hashed Timelock Contract, HTLC) 作為關鍵技術。
RSMC 提供質押和結算功能,即一個多簽錢包資金池,交易雙方先預存一部分資金到資金池裡,初始情況下雙方的分配方案等於預存的金額。每次發生交易,需要對交易後產生資金分配結果共同進行確認,同時簽字把舊版本的分配方案作廢掉。任何一方需要提現時,可以將他手裡雙方簽署過的交易結果寫到區塊鍊網絡中,從而被確認。從這個過程中可以可以看到,只有在提現時候才需要通過BTC 交易。首先發起提現的一方晚於對方1000 個區塊到賬,這個時間窗口內對方可以進行反駁。
閃電網絡的交易過程,圖片來源:
https://ieeexplore.ieee.org/stamp/stamp.jsp? tp=&arnumber= 8962150
HTLC 則建立雙方的交易通道,類比交易房間,設置有效期,有效期滿自動結算。同時HTLC 也約定跨通道的交易規則,方便交易路由:在閃電網絡裡,建立交易通道需要成本,任意兩個用戶間可能沒有存在的交易通道,這個時候,可以使用與其他人存在的交易通道作為中介,進行交易。
閃電網絡的支付通道和路由,圖片來源:
https://cypherpunks-core.github.io/bitcoinbook/ch 12.html
然而,早期閃電網絡具有以下問題:
每次交易需要雙方操作:在通道內,每次交易都需要雙方進行簽名確認,不能單方轉賬
需要交易雙方博弈:如果A 和B 進行交易,A 使用舊的交易結果發起提現,B 只能在1000 個區塊時間內提交更新版本的交易結果作為反駁,否則A 的提現會生效
通道狀態管理: 用戶需要動態同步和備份通道的狀態,否則如果提交一個舊狀態,交易對手能夠發起欺詐反駁,請求索賠,獲得通道內所有資產
事實上,由於上述問題,早期的閃電網絡需要用戶運行全節點錢包或者使用完全託管錢包。全節點錢包需要用戶手動管理臨時私鑰和通道狀態,交易體驗並不算好。而完全託管型錢包,比如薩爾瓦多使用的Chivo,使用門檻低,託管方自動代替用戶操作,但是託管方擁有用戶賬戶私鑰的控制權,安全性堪憂。隨著開發者對閃電網絡的持續開發,上述問題正在逐漸解決,發展出了功能更加完善的閃電網絡以及配套設施,比如OmniBOLT 以及其團隊開發的OBAndroid 閃電網絡錢包。
OmniBOLT
Omni 是完整、全部的含義,而BOTL,是閃電網絡基礎(Basis of Lightning Technology) 的縮寫。 OmniBOLT 基於BTC 和Omni Layer,提出了一套完整的閃電網絡協議,在擴展閃電網絡支付BTC 功能的同時,也能夠基於Omni Layer 發行和交易多樣化資產,並且支持自動化做市商機制(AMM: Automated market makers),允許用戶在閃電網絡上,利用支付通道的資金池作為流動性,構建和使用去中心化交易所。 OmniBOTL 的願景很宏大,但是目前來看,技術複雜,涉及多個協議和系統,可能存在漏洞風險,需要更多的時間來檢驗其安全性。
OmniBOLT 協議架構,圖片來源:
https://omnilaboratory.github.io/obd/#/
OBAndroid 是一個功能齊全的閃電網絡全節點移動端錢包。在該錢包中,用戶具有私鑰控制權的同時,能夠自動監控交易、快速同步全節點數據、支持雲端和本地備份通道狀態。此外,OBAndroid 也支持Omnilayer 的資產通過OmniBOTL 進行交易。 OBAndroid 使得閃電網絡的交易體驗能夠被用戶接受,降低了閃電網絡的使用門檻。
OBAndroid 全節點錢包,圖片來源:
https://github.com/omnilaboratory/OBAndroid
六、其他 BTC Layer 2 項目
除了閃電網絡外,還有其他 BTC Layer 2 項目正在發展之中:
Syscoin 由SYSLab 團隊分叉BTC 源碼進行開發,旨在同時利用BTC 的安全性兼容以太坊生態。目前,SYSLab 團隊已上線NEVM (Network-Enhanced Virtual Machine),利用BTC 的PoW 的安全性構建的虛擬機,兼容以太坊智能合約。此外,SYSLab 團隊還計劃上線ZK 和Optimistic 的Rollup、攜帶鏈上數據證明(Proof of Data) 的Validium 等項目。 Syscoin 項目信息較少,難以從技術上評估其優劣,不過其源代碼庫更新頻繁,還在穩定開發之中。
Syscoin 的路線圖,圖源:
https://syscoin.org/news/syscoin-roadmap-2022
RGB (Really Good for Bitcoin) 是一個集成了閃電網絡的BTC 智能合約系統,由Giacomo Zucco 和Peter Todd 於2016 年提出。 RGB 利用BTC 來維護抗審查性和對抗雙花攻擊。在RGB 中,所有代幣的交易和驗證工作都放在鏈下處理,只需要接收支付的一方進行客戶端驗證。客戶端在BTC 中對支付方的資金來源進行核查,確定是有效交易後,直接修改交易雙方的UTXO,而不需要把交易數據寫入區塊鏈中,具有保護隱私的特性。除此之外,客戶端能夠直接引入智能合約的功能,對交易進行規則判斷,並且因為不需要全局狀態共識,因此智能合約的數據不需要上鍊,也能保障隱私特性。 RGB 社區已開發出圖靈完備的智能合約虛擬機AluVM (algorithmic logic unit VM),具有很不錯的可擴展性、安全性和隱私保護性。
RGB 上的交易與 BTC 上交易的對比,圖源:
https://medium.com/@FedericoTenga/understanding-rgb-protocol-7dc7819d3059
AluVM 與其他編程模式的對比,圖源:
https://www.rgbfaq.com/glossary/aluvm
七、BTC Layer 2 總結和展望
儘管比特幣作為全球最早、最安全、最知名以及市值最高的區塊鍊網絡,其生態發展一直在持續深化。例如,其最大的第二層網絡——閃電網絡的通道容量持續增長,Taproot 升級提升了比特幣的效率和隱私性,以及Taro 協議為閃電網絡引入了穩定幣支付和鏈上原生NFT。然而,與以太坊鏈上的比特幣數量相比,閃電網絡的比特幣容量相對較低,並且由於全節點數據同步和通道狀態管理,閃電網絡的使用門檻較高,用戶規模不如以太坊,但這種現狀可能預示著巨大的增長潛力,隨著閃電網絡相關生態的進一步發展,類似OmniBOLT 改進版本閃電網絡協議和降低使用門檻的OBAndroid 錢包持續開發,讓閃電網絡最終具備良好的安全性、可擴展性和易用性,被用戶們接受,或許能讓BTC 的市值再上一層樓。
同時也需要注意其他的Layer 2 項目發展,比如具備天然隱私保護的RGB 方案和兼容以太坊生態的Syscoin。這些項目不如閃電網絡有名,但是也能夠解決BTC 面臨的問題,並且具備其他方案無法相媲美的優點。然而,相比以太坊二層擴展項目,這些項目不夠知名,收穫的投資較少,也不像閃電網絡那樣得到BTC 核心開發團隊的支持,他們對BTC 的擴展落地,大概率會晚於以太坊擴展的落地,比如Syscoin 的Rollup 方案。在Layer 2 生態方面,似乎還是以太坊生態具備更好的良性循環,更受投資人的青睞。
在未來,我們可能會看到比特幣生態加速擴展。隨著閃電網絡基礎設施日漸完善並且吸引越多的關注,以閃電網絡為基礎的項目類似OmniBOLT、RGB,能夠從中收益,獲得更好的開發基礎、更多的用戶甚至更多投資。而Syscoin 這類兼容以太坊的BTC Layer 2 項目,也會從快速發展的以太坊二層生態中收益,加速其路線圖的進展。除此之外,對BTC 擴展方案的探討一直沒有停下: John Light 於2022 年提出的基於比特幣的zk-rollups 二層網絡將可能為比特幣帶來更多功能、更高的擴展性和更好的隱私性,同時保持其去中心化的本質;由前推特CEO Jack Dorsey 領導的公司Block 正在推動閃電網絡的流動性改進,這可能意味著比特幣生態將在支付、DeFi、NFT 等領域之外,開闢一條新的賽道,覆蓋更多的用戶。