突破比特幣瓶頸:BTC Layer2擴展技術的全面審計指南

中級Aug 27, 2024
本文討論了比特幣Layer2擴展解決方案,包括閃電網絡、側鏈、Rollup等技術,通過不同機制實現快速和低成本的交易,同時確保比特幣網絡的去中心化和安全性。閃電網絡通過其支付通道和離鏈交易改進了交易速度和隱私,而CKB和Stacks等側鏈通過雙向鉤定提供獨立和創新功能。Rollup技術通過在鏈外處理大量交易來提高吞吐量,儘管面臨結算時間和計算資源方面的挑戰。
突破比特幣瓶頸:BTC Layer2擴展技術的全面審計指南

比特幣 (BTC) 作為世界上第一個加密貨幣,自2009年問世以來,逐漸成為數字資產和去中心化金融的基石。然而,隨著使用者數量和交易量的增加,比特幣網絡的問題變得日益顯著,主要表現為:

  • 交易手續費高:當比特幣網絡擁塞時,用戶需要支付更高的手續費,以確保交易能夠盡快得到確認。
  • 交易確認時間:比特幣區塊鏈平均每10分鐘產生一個新區塊,這意味著在鏈上的交易通常需要等待多個區塊確認才被視為最終。
  • 智能合約的限制:比特幣的腳本語言功能有限,實現複雜的智能合約很困難。

在本文章中,我們將閃電網路(閃電網絡)、側鏈、Rollup和其他技術被統稱為BTC第二層擴展解決方案。它們在實現快速低成本交易的同時,保持了BTC網絡的分散性和安全性。引入第二層技術可以提高交易速度,降低交易成本,優化用戶體驗和擴展網絡容量,為BTC未來發展提供重要的技術支持和創新方向。

目前,Beosin已成為BTC Layer2的官方安全合作夥伴,例如Merlin Chain,審核了多個BTC生態協議,如Bitmap.Games、Surf Protocol、Savmswap、Mineral。在過去的審核中,許多知名的公共鏈都通過了Beosin的公共鏈安全審核,包括Ronin Network、Clover、Self Chain、Crust Network等。Beosin現在為BTC Layer2推出了審核解決方案,為整個BTC生態系統提供全面可靠的安全審核服務。

閃電網絡

閃電網絡最早的概念稱為“支付通道”。其設計思想是通過交易替換持續更新未確認交易狀態,直到最終廣播到比特幣網絡。在創建比特幣時,中本聰已經提出了付款通道的想法,並在比特幣1.0中包括了付款通道的草案代碼,允許用戶在交易被網絡確認之前更新交易狀態。然而,直到發布了《比特幣閃電網絡:可擴展的場外即時支付》白皮書,閃電網絡才真正誕生並進入公眾視野。

如今,支付通道和閃電網絡的實現非常成熟。截至目前,閃電網絡總共有13,325個節點,49,417個通道,並且已經抵押的BTC總數達到4,975。


https://1ml.com/

在閃電網絡中,確保用戶資產在轉移過程中的安全非常重要。以下將解釋閃電網絡的運作方式以及如何根據網絡節點的規模保護用戶資產的安全。

雙方用戶向比特幣主網路提交兩筆交易:一筆是開啟通道的交易,另一筆是關閉通道的交易。大致可分為以下三個步驟:

1. 開通通道:

首先,雙方用比特幣向閃電網絡的多簽錢包進行抵押。一旦比特幣成功抵押並鎖定,支付通道就會打開,雙方可以在該通道進行離鏈交易。

2. 鏈外交易:

一旦通道打開,用戶之間的所有轉帳交易將在閃電網絡中進行處理,這些離鏈交易的數量沒有限制。當然,這些交易不需要立即提交到比特幣主網,而是通過閃電網絡的離鏈機制立即完成。

這種離線處理方法顯著提高了交易速度和效率,避免了比特幣主網的擁堵和高交易費用。

3.通道關閉和分類帳結算:

當雙方用戶決定退出通道時,將進行最終帳本結算。這個過程確保通道中的所有資金都被最新分配。同時,雙方用戶將從多重簽名錢包中提取結算後的餘額,這反映了通道關閉時資金的實際分配。最終,通道將向比特幣主網提交帳本交易的最終狀態。

閃電網絡的優點是:

  • 交易速度提高。閃電網絡允許用戶進行離鏈交易,這意味著交易幾乎可以立即完成,而無需等待區塊確認時間。這可以實現二級交易速度,大大提高了用戶體驗。
  • 增強隱私。閃電網路的鏈下交易不需要公開記錄在比特幣主鏈上,提高了交易的隱私性。只有通道的開收都需要記錄在主鏈上,所以使用者的交易行為不會完全公開。
  • 微支付支持。閃電網絡非常適合處理小額支付(微支付),如內容支付、物聯網設備支付等。傳統的比特幣交易由於高手續費不適合頻繁的小額支付,而閃電網絡解決了這個問題。

閃電網絡面臨的挑戰:

  • 網絡流動性問題:閃電網絡依賴比特幣預先鎖定在通道中。這意味著用戶必須提前將足夠的比特幣存入其支付通道,以便進行交易。流動性不足可能導致支付失敗,尤其是在較大的支付上。
  • 路由問題: 從付款發送者到接收者找到一條有效路徑可能是一個復雜的問題,特別是在更大的網絡規模下。隨著網絡節點和通道數量的增加,確保付款順利完成的難度也增加。
  • 基金保管信任問題:節點可能受到惡意攻擊,用戶需要相信他們連接的節點不會試圖竊取資金。節點能夠防止私鑰洩露嗎?
  • 技術標準和互通性:不同閃電網絡實現之間需要一致的技術標準和協議,以確保互通性。目前,有多個開發團隊正在研究閃電網絡的不同實現,這可能導致兼容性問題。
  • 隱私問題:儘管閃電網絡改善了比特幣交易的隱私性,交易信息仍可能被追踪或分析。此外,網絡節點運營商可以看到通過其節點傳遞的交易,可能揭示某些私人信息。

閃電網路的安全直接影響比特幣的離鏈可擴展性和用戶資金的安全。因此,除了公鏈的一般審計項目(詳見本文末附錄)之外,閃電網路還需要注意以下重要的安全風險:

  • 通道擁堵:檢查閃電網絡系統的設計是否全面,以及是否會因為悲傷攻擊而導致通道擁堵。
  • 通道干擾:檢查閃電網絡通道結構的安全性,以及它是否會受到通道干擾攻擊的影響。
  • 通道資產鎖定和解鎖:審查閃電網絡中資產鎖定和解鎖的過程,以確保在打開或關閉支付通道時,鏈上和鏈下資金的轉移安全可靠。
  • 狀態更新與關閉:評估通道的狀態更新流程和強制關閉機制,確保在發生異常情況時能夠正確識別和執行最新的狀態。
  • 時間鎖定和哈希鎖定合約(HTLC):評估HTLC的實施,以確保時間鎖定和哈希鎖定條件能夠正確執行,以防止由時間窗口問題造成的資金損失。
  • 區塊鏈時間戳依賴性:評估閃電網路對比特幣區塊鏈時間戳的依賴,以確保鏈上和鏈下時間可以正確協調,以防止時間攻擊。
  • 路由算法安全性:檢查路由算法的效率和安全性,以防止用戶隱私曝光和惡意路由操作風險。
  • 通道存儲和數據恢復:檢查通道的存儲機制和數據恢復策略,確保在節點故障或意外斷開連接時能夠恢復通道狀態,避免資金損失。

側鍊

與閃電網絡不同,側鏈是一個獨立的區塊鏈,與主鏈(如比特幣區塊鏈)平行運行,並通過雙向錨定(Two-Way Peg)與主鏈互操作。側鏈的目的是在不改變主鏈協議的情況下實現更多功能並提高可擴展性。

作为一条独立的区块链,侧链具有自己的共识机制、节点和交易处理规则。它可以根据特定应用场景的需要采用不同于主链的技术和协议。通过双向锚定机制(2WP),侧链与主链通信,以确保资产可以在两者之间自由、安全地转移。双向锚定机制(2WP)的操作机制大致如下:

  1. 用戶在主鏈上鎖定BTC,受信任的機構1獲取並使用SPV驗證2來確保用戶的鎖定交易是否已確認。

  2. 受信任的機構將在側鏈上向用戶發行等值代幣。

  3. 免費交易後,用戶將剩餘代幣鎖定在側鏈上。

  4. 在驗證交易的合法性後,受信任的機構將BTC在主鏈上解鎖並將相應價值的BTC釋放給用戶。

注意1:值得信賴的機構在雙向錨定機制中扮演著重要角色,負責管理資產的鎖定和釋放。這些機構需要具備高度的可信度和技術能力,以確保用戶資產的安全。

註2:SPV驗證允許節點在不下載完整區塊鏈的情況下驗證特定交易的有效性。SPV節點只需要下載塊標題並通過Merkle Tree驗證該交易是否包含在該塊中。

側鏈的代表性項目:

CKB(Nervos Network)

Nervos Network是一個開源的公共區塊鏈生態系統,旨在利用BTC的POW共識機制的安全性和去中心化優勢,同時引入更具可擴展性和靈活性的UTXO模型來處理交易。其核心是Common Knowledge Base(CKB),这是一个建立在RISC-V上,并使用PoW(工作量证明)作为共识机制的Layer 1区块链。它将UTXO模型扩展为Cell模型,使其能够存储任何数据并支持在链上编写任何语言的脚本作为智能合约执行。


堆疊

Stacks通過其PoX(Proof of Transfer)機制將每個Stacks區塊與比特幣區塊相連接。為了開發智能合約,Stacks設計了專門的Clarity編程語言。在Clarity中,get-burn-block-info?函數允許傳入比特幣區塊高度並獲取該區塊的標頭哈希。同時,burn-block-height關鍵字可以獲取比特幣鏈的當前區塊高度。這兩個函數使Clarity智能合約能夠讀取比特幣基礎鏈的狀態,使比特幣交易成為合約觸發器。通過自動執行這些智能合約,Stacks擴展了比特幣的功能。

有關Stacks的詳細分析,您可以閱讀Beosin的先前研究文章:“Stacks是什麼?BTC第2層網絡Stacks可能面臨哪些挑戰?

側鏈的優勢是:

  • 側鏈可以使用不同的技術和協議進行各種實驗和創新,而不會影響主鏈的穩定性和安全性。
  • 側鏈可以引入主鏈沒有的功能,例如智能合約、隱私保護、代幣發行等,從而豐富區塊鏈生態系統的應用場景。

面臨的側鏈挑戰:

  • 側鏈具有獨立的共識機制,可能不像BTC主鏈一樣安全。如果側鏈的共識機制脆弱或存在漏洞,可能導致51%攻擊或其他形式的攻擊,影響用戶資產的安全性。BTC主鏈的安全性依賴於其龐大的計算能力和廣泛的節點分佈,而側鏈可能無法達到同樣的安全標準。
  • 雙向銜接機制的實現需要複雜的加密算法和協議。如果它們存在漏洞,可能會導致主鏈和側鏈之間的資產轉移出現問題,甚至可能導致資產的損失或盜竊。
  • 為了在速度和安全性之間找到平衡,大多數側鏈的中心化程度高於主鏈。

Layer2 是一個完整的區塊鏈系統,因此公鏈的一般審計項目也適用於側鏈。詳細信息請參見本文末尾的附錄。

同時,由於其特殊性質,側鏈也需要一些額外的審計:

  • 共識協定安全性:審查側鏈的共識協定(如PoW、PoS、DPoS)是否已經完全驗證和測試,以及是否存在潛在的漏洞或攻擊向量,例如51%攻擊、遠程攻擊等。
  • 共識節點安全:評估共識節點的安全性,包括密鑰管理、節點保護和冗餘備份,以防止節點被侵犯或濫用。
  • 資產鎖定和釋放:審查資產在側鏈和主鏈之間的雙向鏈接機制,以確保鎖定和釋放資產的智能合約是安全可靠的,防止雙重花費、資產損失或鎖定失敗。
  • 跨鏈驗證:檢查跨鏈驗證的準確性和安全性,確保驗證過程是去中心化和防篡改的,防止驗證失敗或惡意驗證。
  • 合約代碼審計:對運行在側鏈上的所有智能合約進行深入審計,以檢測可能存在的漏洞或後門,特別是在處理跨鏈操作時的合約邏輯。
  • 升級機制:檢查智能合約的升級機制是否安全,以及是否存在適當的審計和社區共識流程,以防止惡意升級或合約篡改。
  • 節點間通信:檢查側鏈節點之間的通信協議是否安全,以及是否使用加密通道來防止中間人攻擊或數據泄露。
  • 跨鏈通信:檢查側鏈和主鏈之間的通信通道,以確保數據的完整性和真實性,並防止通信被劫持或篡改。
  • 時間戳和區塊時間:驗證側鏈的時間同步機制,確保區塊生成時間的一致性和準確性,防止因時間差異而引起的攻擊或區塊回滾。
  • 鏈上治理安全:審查側鏈的治理機制,確保投票、提案和決策過程的透明度和安全性,防止惡意控制或攻擊。
  • Token經濟審計:檢查側鏈的代幣經濟模型,包括代幣分配、激勵機制和通膨模型,以確保經濟激勵不會導致惡意行為或系統不穩定。
  • 費用機制:檢查側鏈的交易費機制,以確保其符合主鏈和側鏈用戶的需求,以防止費用操縱或網絡擁塞。
  • 資產安全:審計鏈上資產管理機制,確保資產的存儲、轉移和銷毀過程安全可靠,並且沒有未經授權的存取或盜竊風險。
  • 金鑰管理:檢查側鏈的金鑰管理政策,確保私鑰的安全和存取控制,防止金鑰洩漏或被竊取。

Rollup

Rollup是一種第二層擴容解決方案,旨在提高區塊鏈交易吞吐量和效率。它通過打包(“Rollup”)大量交易並在鏈外處理,只將最終結果提交到主鏈,從而顯著減輕了主鏈的負擔。

Rollup主要分為zk-Rollup和op-Rollup。但與ETH不同,由於BTC的圖靈不完備性,不可能在BTC上使用合約進行零知識證明驗證。傳統的zk-Rollup方案無法在BTC上實現。那麼如何使用zk-Rollup實現BTC Layer2呢?接下來,以B² Network項目為例:

為了在比特幣上完成零知識證明驗證,B² Network 創建了 Taproot 腳本,該腳本結合了 zk-Rollup 的零知識證明驗證和 op-Rollup 的激勵挑戰。其運作機制大致如下:

  1. B² Network 首先捲起所有由使用者啟動的交易。

  2. 在使用分拣器对Rollup交易进行排序后,将Rollup交易保存在去中心化存储中,并同时交给zkEVM进行处理。

  3. 在zkEVM同步BTC鏈狀態之後,它處理合約執行、合併和打包結果,然後將它們發送給聚合器。

  4. Prover生成零知識證明並將其發送給聚合器。聚合器聚合交易並將證明發送給B²節點。

  5. B²節點執行零知識證明驗證,並根據去中心化存儲中的匯總數據創建Taproot腳本。

  6. Taproot 是一個價值 1 satoshi 的 UTXO。其數據結構中的 B² 銘文存儲了所有 Rollup 數據,而 Tapleaf 則存儲了所有驗證數據。通過激勵挑戰機制後,它將作為基於 zk proof 的承諾驗證後發送到比特幣 (BTC)。

Rollup的優勢在於:

  • Rollup繼承了主鏈的安全性和去中心化特性。通過定期將交易數據和狀態提交到主鏈,確保數據的完整性和透明度。
  • Rollup可以無縫集成到現有的區塊鏈網絡,如以太坊,使開發人員可以輕鬆利用其優勢,而無需顯著修改現有的智能合約和應用程式。
  • 通過在鏈外處理大量交易並將它們打包成一批提交到主鏈,Rollup大大提高了交易處理能力,顯著增加了每秒交易數(TPS)。
  • 匯總交易只需要在鏈下處理,大大減少了鏈上交易所需的計算資源和存儲空間,從而大大降低了使用者交易費用。

Rollup面臨的挑戰:

  • 如果離線數據不可用,用戶可能無法驗證交易並恢復狀態。
  • 匯總交易需要分批處理,最後提交到主鏈,這可能會導致結算時間更長。特別是在op-Rollup中,存在爭議期,使用者可能需要等待很長時間才能最終確認交易。
  • 儘管 ZK Rollup 提供了更高的安全性和即時確認,但其計算和存儲需求較高,生成零知識證明需要大量的計算資源。

由於所採用的解決方案是 Rollup,其主要的安全審計項目基本上與 ETH Layer2 相同。

其它(巴比倫)

除了傳統的BTC Layer2之外,最近還出現了一些與BTC生態系統相關的新概念第三方協議,比如巴比倫:

巴比倫的目標是將2100萬比特幣轉換為去中心化的權益份額。與其他BTC的第2層不同,巴比倫不會擴展BTC鏈。它本身是一個獨特的鏈,具有特殊的BTC抵押協議。主要目的是與PoS鏈相連。抵押BTC以為PoS鏈提供更強大的安全性,解決來自鏈的遠程端和集中問題的風險。

架構分為三個層次:

比特幣層:這是巴比倫堅實的基礎,利用比特幣的知名安全性,確保所有交易都像在比特幣網絡上一樣超級安全。

巴比倫層: 在巴比倫的核心是巴比倫層,這是一個自定義區塊鏈,將比特幣連接到各種PoS(權益證明)鏈。它處理交易,運行智能合約,並確保整個生態系統運行順利。

PoS 鏈層: 頂層由多個 PoS 鏈組成,每個 PoS 鏈都是根據其獨特優勢而選擇的。這使 BabylonChain 具有驚人的可擴展性和靈活性,讓用戶能夠享受不同 PoS 區塊鏈的最佳功能。

其工作方式是使用在BTC鏈上簽署的最終區塊來保護PoS鏈。這基本上是通過額外的簽署輪次來擴展基礎協議。最終+1輪的這些簽名具有獨特特徵:它們是可提取一次簽名(EOTS)。目的是將PoS檢查點集成到BTC中,以解決PoS的長時間解綁期和遠程攻擊問題。

Babylon的優勢在於:

  • 加快 PoS 的解綁期
  • 由於BTC是質押的,價格與BTC挂鉤,可以減輕相應PoS網路的通脹壓力。
  • 為比特幣收益開拓新途徑

巴比倫面臨的挑戰:

  • 經濟設計,如抵押回報率,對比特幣的抵押熱情有著更大的影響。
  • PoS鏈之間缺乏獎勵一致性規定

根據其實施方式,第三方協議具有不同的安全要點。以巴比倫為例,需要注意的一些安全審計項目如下:

  1. 智能合約安全:BTC上的抵押合約是通過UTXO腳本實現的,其安全性需要引起關注。

  2. 簽名演算法安全性:簽名在合約中用於管理用戶的承諾,其演算法的安全性與簽名的生成和驗證有關。

  3. 協議經濟模型的設計:協議的經濟模型在獎懲方面是否合理設置,是否會導致用戶資產流失。

附錄:

公鏈和Layer2一般審計項目

  • 整數溢位:檢查整數溢位和整數下溢
  • 無限循環:檢查程式的循環判斷條件是否合理
  • 無限遞歸調用:檢查程式遞歸調用的退出條件是否合理
  • 競態條件:檢查共享資源的存取操作在並發情況下
  • 異常崩潰: 檢查允許程序主動退出的例外拋出代碼
  • 除以0的漏洞:檢查是否存在除以0的情況
  • 類型轉換:檢查類型轉換是否正確,以及在轉換過程中是否丟失重要信息
  • 陣列越界:檢查是否訪問了陣列邊界之外的元素。
  • 反序列化漏洞:檢查反序列化過程中是否存在任何問題
  • 功能實現安全性:檢查每個RPC接口實現中是否存在安全風險,以及其是否與RPC接口功能一致。
  • 可以設計成相配
  • 敏感的RPC接口权限设置是否合理:检查敏感RPC接口的访问权限设置
  • 加密傳輸機制:檢查是否使用了加密的傳輸協定,如TLS等。
  • 請求數據格式解析:檢查請求數據的格式解析過程
  • 錢包解鎖攻擊:當節點解鎖其錢包時,它會被RPC要求竊取資金。
  • 傳統網絡安全: 檢查以下漏洞: 跨站腳本 (XSS) / 模板注入
  • 第三方組件漏洞 / HTTP參數污染 / SQL注入 / XXE實體注入 反序列化
  • 漏洞/SSRF漏洞/代碼注入/本地文件包含/遠程文件包含/命令執行注入和其他傳統漏洞
  • 網路節點身份認證和識別機制:檢查是否有節點識別機制,是否可以繞過節點識別機制。
  • 路由表污染: 檢查路由表是否可以隨機插入或覆蓋數據
  • 節點發現算法:檢查節點發現算法是否平衡且不可預測,例如不平衡的距離算法和其他問題
  • 連接數量佔用審計: 檢查P2P網絡連接節點數量的限制和管理是否合理
  • Eclipse attack: 評估日蝕攻擊的成本和危害,如有必要,提供定量分析
  • Sybil攻擊:評估投票共識機制並分析投票資格檢查策略
  • 竊聽攻擊:檢查通信協議是否存在隱私洩漏
  • 外星人攻擊:評估節點能否識別相似的鏈節點
  • 時間劫持:檢查節點的網絡時間計算機制
  • 內存耗盡攻擊:檢查大內存消耗的地方
  • 硬盤耗盡攻擊: 檢查大文件存儲的位置
  • Socket壓力攻擊:檢查連接數量限制政策
  • 核心處理程序耗盡攻擊:檢查核心處理程序創建的限制,例如文件處理程序等。
  • 持續的記憶體洩漏:檢查記憶體洩漏
  • 哈希算法安全性:檢查哈希算法的碰撞抗性
  • 數字簽名演算法安全:檢查簽名演算法的安全性和演算法實現的安全性
  • 加密演算法安全性:檢查加密演算法安全性,演算法實作安全性
  • 隨機數生成器安全性:檢查關鍵的隨機數生成算法是否穩固
  • BFT 實現安全性:評估 BFT 演演演算法的實現安全性
  • 分叉選擇規則:檢查分叉選擇規則以確保安全
  • 中心化檢測:識別系統設計中是否存在過度集中化
  • 激勵審計:評估激勵措施對安全性的影響
  • 雙花攻擊:檢查共識是否能夠防禦雙花攻擊
  • MEV攻擊審計: 檢查塊打包節點對鏈公平性的MEV影響
  • 區塊同步過程審計:在同步過程中檢查安全問題
  • 塊格式解析過程審核:檢查格式解析過程中的安全問題,例如解析錯誤導致崩潰
  • 區塊產生過程審計:檢查區塊產生過程中的安全問題,包括 Merkle 樹根構建方法是否合理。
  • 區塊驗證過程審核: 檢查區塊簽名內容項目和驗證邏輯是否足夠
  • 區塊確認邏輯審核:檢查區塊確認演算法和實現是否合理
  • 區塊雜湊碰撞:檢查區塊雜湊碰撞的構造方法以及碰撞的處理是否合理。
  • 區塊處理資源限制: 檢查是否合理設置了資源限制,例如孤立區塊池、驗證計算、硬碟定址等。
  • 交易同步過程審計:檢查同步過程中的安全問題
  • 交易哈希碰撞: 檢查交易哈希碰撞的構建方法和碰撞處理
  • 交易格式解析: 在格式解析過程中檢查安全問題,例如解析錯誤導致崩潰
  • 交易合法性驗證:檢查每種類型的交易簽名內容項和驗證邏輯是否足夠
  • 事務處理資源限制:檢查事務池、驗證計算、硬碟尋址等資源限制是否合理。
  • 事務延展性攻擊:事務能否在不影響事務有效性的情況下更改內部欄位(如 ScriptSig)來更改事務哈希?
  • 交易重播攻擊審計:檢查系統對交易重播的檢測
  • 合約字節碼驗證: 檢查合約虛擬機驗證過程的安全問題,如整數溢出、無窮迴圈等。
  • 合約位元組碼執行:檢查虛擬機執行位元組碼過程中的安全問題,如整數溢出、無限迴圈等。
  • 瓦斯模型:检查事务处理/合约执行的每个原子操作所对应的手续费是否与资源消耗成比例
  • 記錄完整性:檢查是否記錄了金鑰資訊
  • 日誌記錄安全:檢查日誌處理過程中是否存在處理不當導致的安全問題,如整數溢出等。
  • 日誌包含私有資訊:檢查日誌是否包含金鑰等私有資訊
  • 日誌存儲:檢查日誌記錄的內容是否過多,導致節點資源消耗
  • 節點代碼供應鏈安全:檢查所有第三方庫、元件及公鏈框架對應版本的已知問題

Beosin是全球首批從事正式驗證的區塊鏈安全公司之一。專注於“安全 + 合規”全生態業務,已在全球10多個國家和地區設立分支機構。其業務涵蓋了項目上線前的代碼安全審計、項目運營期間的安全風險監控和阻擋、盜竊恢復,“一站式”區塊鏈合規產品+符合當地監管要求的虛擬資產反洗錢(AML)和合規評估等安全服務。歡迎具有審計需求的項目方聯繫Beosin安全團隊。

免責聲明:

  1. 本文轉載自 [Beosin].所有版權歸原作者所有 [Beosin]. 如果對此轉載有異議,請聯繫 門學習團隊會儘快處理。
  2. 責任聲明:本文所表達的觀點和意見僅代表作者個人觀點,並不構成任何投資建議。
  3. 文章到其他語言的翻譯由Gate Learn團隊完成。除非另有說明,否則禁止複製、分發或抄襲翻譯后的文章。

突破比特幣瓶頸:BTC Layer2擴展技術的全面審計指南

中級Aug 27, 2024
本文討論了比特幣Layer2擴展解決方案,包括閃電網絡、側鏈、Rollup等技術,通過不同機制實現快速和低成本的交易,同時確保比特幣網絡的去中心化和安全性。閃電網絡通過其支付通道和離鏈交易改進了交易速度和隱私,而CKB和Stacks等側鏈通過雙向鉤定提供獨立和創新功能。Rollup技術通過在鏈外處理大量交易來提高吞吐量,儘管面臨結算時間和計算資源方面的挑戰。
突破比特幣瓶頸:BTC Layer2擴展技術的全面審計指南

比特幣 (BTC) 作為世界上第一個加密貨幣,自2009年問世以來,逐漸成為數字資產和去中心化金融的基石。然而,隨著使用者數量和交易量的增加,比特幣網絡的問題變得日益顯著,主要表現為:

  • 交易手續費高:當比特幣網絡擁塞時,用戶需要支付更高的手續費,以確保交易能夠盡快得到確認。
  • 交易確認時間:比特幣區塊鏈平均每10分鐘產生一個新區塊,這意味著在鏈上的交易通常需要等待多個區塊確認才被視為最終。
  • 智能合約的限制:比特幣的腳本語言功能有限,實現複雜的智能合約很困難。

在本文章中,我們將閃電網路(閃電網絡)、側鏈、Rollup和其他技術被統稱為BTC第二層擴展解決方案。它們在實現快速低成本交易的同時,保持了BTC網絡的分散性和安全性。引入第二層技術可以提高交易速度,降低交易成本,優化用戶體驗和擴展網絡容量,為BTC未來發展提供重要的技術支持和創新方向。

目前,Beosin已成為BTC Layer2的官方安全合作夥伴,例如Merlin Chain,審核了多個BTC生態協議,如Bitmap.Games、Surf Protocol、Savmswap、Mineral。在過去的審核中,許多知名的公共鏈都通過了Beosin的公共鏈安全審核,包括Ronin Network、Clover、Self Chain、Crust Network等。Beosin現在為BTC Layer2推出了審核解決方案,為整個BTC生態系統提供全面可靠的安全審核服務。

閃電網絡

閃電網絡最早的概念稱為“支付通道”。其設計思想是通過交易替換持續更新未確認交易狀態,直到最終廣播到比特幣網絡。在創建比特幣時,中本聰已經提出了付款通道的想法,並在比特幣1.0中包括了付款通道的草案代碼,允許用戶在交易被網絡確認之前更新交易狀態。然而,直到發布了《比特幣閃電網絡:可擴展的場外即時支付》白皮書,閃電網絡才真正誕生並進入公眾視野。

如今,支付通道和閃電網絡的實現非常成熟。截至目前,閃電網絡總共有13,325個節點,49,417個通道,並且已經抵押的BTC總數達到4,975。


https://1ml.com/

在閃電網絡中,確保用戶資產在轉移過程中的安全非常重要。以下將解釋閃電網絡的運作方式以及如何根據網絡節點的規模保護用戶資產的安全。

雙方用戶向比特幣主網路提交兩筆交易:一筆是開啟通道的交易,另一筆是關閉通道的交易。大致可分為以下三個步驟:

1. 開通通道:

首先,雙方用比特幣向閃電網絡的多簽錢包進行抵押。一旦比特幣成功抵押並鎖定,支付通道就會打開,雙方可以在該通道進行離鏈交易。

2. 鏈外交易:

一旦通道打開,用戶之間的所有轉帳交易將在閃電網絡中進行處理,這些離鏈交易的數量沒有限制。當然,這些交易不需要立即提交到比特幣主網,而是通過閃電網絡的離鏈機制立即完成。

這種離線處理方法顯著提高了交易速度和效率,避免了比特幣主網的擁堵和高交易費用。

3.通道關閉和分類帳結算:

當雙方用戶決定退出通道時,將進行最終帳本結算。這個過程確保通道中的所有資金都被最新分配。同時,雙方用戶將從多重簽名錢包中提取結算後的餘額,這反映了通道關閉時資金的實際分配。最終,通道將向比特幣主網提交帳本交易的最終狀態。

閃電網絡的優點是:

  • 交易速度提高。閃電網絡允許用戶進行離鏈交易,這意味著交易幾乎可以立即完成,而無需等待區塊確認時間。這可以實現二級交易速度,大大提高了用戶體驗。
  • 增強隱私。閃電網路的鏈下交易不需要公開記錄在比特幣主鏈上,提高了交易的隱私性。只有通道的開收都需要記錄在主鏈上,所以使用者的交易行為不會完全公開。
  • 微支付支持。閃電網絡非常適合處理小額支付(微支付),如內容支付、物聯網設備支付等。傳統的比特幣交易由於高手續費不適合頻繁的小額支付,而閃電網絡解決了這個問題。

閃電網絡面臨的挑戰:

  • 網絡流動性問題:閃電網絡依賴比特幣預先鎖定在通道中。這意味著用戶必須提前將足夠的比特幣存入其支付通道,以便進行交易。流動性不足可能導致支付失敗,尤其是在較大的支付上。
  • 路由問題: 從付款發送者到接收者找到一條有效路徑可能是一個復雜的問題,特別是在更大的網絡規模下。隨著網絡節點和通道數量的增加,確保付款順利完成的難度也增加。
  • 基金保管信任問題:節點可能受到惡意攻擊,用戶需要相信他們連接的節點不會試圖竊取資金。節點能夠防止私鑰洩露嗎?
  • 技術標準和互通性:不同閃電網絡實現之間需要一致的技術標準和協議,以確保互通性。目前,有多個開發團隊正在研究閃電網絡的不同實現,這可能導致兼容性問題。
  • 隱私問題:儘管閃電網絡改善了比特幣交易的隱私性,交易信息仍可能被追踪或分析。此外,網絡節點運營商可以看到通過其節點傳遞的交易,可能揭示某些私人信息。

閃電網路的安全直接影響比特幣的離鏈可擴展性和用戶資金的安全。因此,除了公鏈的一般審計項目(詳見本文末附錄)之外,閃電網路還需要注意以下重要的安全風險:

  • 通道擁堵:檢查閃電網絡系統的設計是否全面,以及是否會因為悲傷攻擊而導致通道擁堵。
  • 通道干擾:檢查閃電網絡通道結構的安全性,以及它是否會受到通道干擾攻擊的影響。
  • 通道資產鎖定和解鎖:審查閃電網絡中資產鎖定和解鎖的過程,以確保在打開或關閉支付通道時,鏈上和鏈下資金的轉移安全可靠。
  • 狀態更新與關閉:評估通道的狀態更新流程和強制關閉機制,確保在發生異常情況時能夠正確識別和執行最新的狀態。
  • 時間鎖定和哈希鎖定合約(HTLC):評估HTLC的實施,以確保時間鎖定和哈希鎖定條件能夠正確執行,以防止由時間窗口問題造成的資金損失。
  • 區塊鏈時間戳依賴性:評估閃電網路對比特幣區塊鏈時間戳的依賴,以確保鏈上和鏈下時間可以正確協調,以防止時間攻擊。
  • 路由算法安全性:檢查路由算法的效率和安全性,以防止用戶隱私曝光和惡意路由操作風險。
  • 通道存儲和數據恢復:檢查通道的存儲機制和數據恢復策略,確保在節點故障或意外斷開連接時能夠恢復通道狀態,避免資金損失。

側鍊

與閃電網絡不同,側鏈是一個獨立的區塊鏈,與主鏈(如比特幣區塊鏈)平行運行,並通過雙向錨定(Two-Way Peg)與主鏈互操作。側鏈的目的是在不改變主鏈協議的情況下實現更多功能並提高可擴展性。

作为一条独立的区块链,侧链具有自己的共识机制、节点和交易处理规则。它可以根据特定应用场景的需要采用不同于主链的技术和协议。通过双向锚定机制(2WP),侧链与主链通信,以确保资产可以在两者之间自由、安全地转移。双向锚定机制(2WP)的操作机制大致如下:

  1. 用戶在主鏈上鎖定BTC,受信任的機構1獲取並使用SPV驗證2來確保用戶的鎖定交易是否已確認。

  2. 受信任的機構將在側鏈上向用戶發行等值代幣。

  3. 免費交易後,用戶將剩餘代幣鎖定在側鏈上。

  4. 在驗證交易的合法性後,受信任的機構將BTC在主鏈上解鎖並將相應價值的BTC釋放給用戶。

注意1:值得信賴的機構在雙向錨定機制中扮演著重要角色,負責管理資產的鎖定和釋放。這些機構需要具備高度的可信度和技術能力,以確保用戶資產的安全。

註2:SPV驗證允許節點在不下載完整區塊鏈的情況下驗證特定交易的有效性。SPV節點只需要下載塊標題並通過Merkle Tree驗證該交易是否包含在該塊中。

側鏈的代表性項目:

CKB(Nervos Network)

Nervos Network是一個開源的公共區塊鏈生態系統,旨在利用BTC的POW共識機制的安全性和去中心化優勢,同時引入更具可擴展性和靈活性的UTXO模型來處理交易。其核心是Common Knowledge Base(CKB),这是一个建立在RISC-V上,并使用PoW(工作量证明)作为共识机制的Layer 1区块链。它将UTXO模型扩展为Cell模型,使其能够存储任何数据并支持在链上编写任何语言的脚本作为智能合约执行。


堆疊

Stacks通過其PoX(Proof of Transfer)機制將每個Stacks區塊與比特幣區塊相連接。為了開發智能合約,Stacks設計了專門的Clarity編程語言。在Clarity中,get-burn-block-info?函數允許傳入比特幣區塊高度並獲取該區塊的標頭哈希。同時,burn-block-height關鍵字可以獲取比特幣鏈的當前區塊高度。這兩個函數使Clarity智能合約能夠讀取比特幣基礎鏈的狀態,使比特幣交易成為合約觸發器。通過自動執行這些智能合約,Stacks擴展了比特幣的功能。

有關Stacks的詳細分析,您可以閱讀Beosin的先前研究文章:“Stacks是什麼?BTC第2層網絡Stacks可能面臨哪些挑戰?

側鏈的優勢是:

  • 側鏈可以使用不同的技術和協議進行各種實驗和創新,而不會影響主鏈的穩定性和安全性。
  • 側鏈可以引入主鏈沒有的功能,例如智能合約、隱私保護、代幣發行等,從而豐富區塊鏈生態系統的應用場景。

面臨的側鏈挑戰:

  • 側鏈具有獨立的共識機制,可能不像BTC主鏈一樣安全。如果側鏈的共識機制脆弱或存在漏洞,可能導致51%攻擊或其他形式的攻擊,影響用戶資產的安全性。BTC主鏈的安全性依賴於其龐大的計算能力和廣泛的節點分佈,而側鏈可能無法達到同樣的安全標準。
  • 雙向銜接機制的實現需要複雜的加密算法和協議。如果它們存在漏洞,可能會導致主鏈和側鏈之間的資產轉移出現問題,甚至可能導致資產的損失或盜竊。
  • 為了在速度和安全性之間找到平衡,大多數側鏈的中心化程度高於主鏈。

Layer2 是一個完整的區塊鏈系統,因此公鏈的一般審計項目也適用於側鏈。詳細信息請參見本文末尾的附錄。

同時,由於其特殊性質,側鏈也需要一些額外的審計:

  • 共識協定安全性:審查側鏈的共識協定(如PoW、PoS、DPoS)是否已經完全驗證和測試,以及是否存在潛在的漏洞或攻擊向量,例如51%攻擊、遠程攻擊等。
  • 共識節點安全:評估共識節點的安全性,包括密鑰管理、節點保護和冗餘備份,以防止節點被侵犯或濫用。
  • 資產鎖定和釋放:審查資產在側鏈和主鏈之間的雙向鏈接機制,以確保鎖定和釋放資產的智能合約是安全可靠的,防止雙重花費、資產損失或鎖定失敗。
  • 跨鏈驗證:檢查跨鏈驗證的準確性和安全性,確保驗證過程是去中心化和防篡改的,防止驗證失敗或惡意驗證。
  • 合約代碼審計:對運行在側鏈上的所有智能合約進行深入審計,以檢測可能存在的漏洞或後門,特別是在處理跨鏈操作時的合約邏輯。
  • 升級機制:檢查智能合約的升級機制是否安全,以及是否存在適當的審計和社區共識流程,以防止惡意升級或合約篡改。
  • 節點間通信:檢查側鏈節點之間的通信協議是否安全,以及是否使用加密通道來防止中間人攻擊或數據泄露。
  • 跨鏈通信:檢查側鏈和主鏈之間的通信通道,以確保數據的完整性和真實性,並防止通信被劫持或篡改。
  • 時間戳和區塊時間:驗證側鏈的時間同步機制,確保區塊生成時間的一致性和準確性,防止因時間差異而引起的攻擊或區塊回滾。
  • 鏈上治理安全:審查側鏈的治理機制,確保投票、提案和決策過程的透明度和安全性,防止惡意控制或攻擊。
  • Token經濟審計:檢查側鏈的代幣經濟模型,包括代幣分配、激勵機制和通膨模型,以確保經濟激勵不會導致惡意行為或系統不穩定。
  • 費用機制:檢查側鏈的交易費機制,以確保其符合主鏈和側鏈用戶的需求,以防止費用操縱或網絡擁塞。
  • 資產安全:審計鏈上資產管理機制,確保資產的存儲、轉移和銷毀過程安全可靠,並且沒有未經授權的存取或盜竊風險。
  • 金鑰管理:檢查側鏈的金鑰管理政策,確保私鑰的安全和存取控制,防止金鑰洩漏或被竊取。

Rollup

Rollup是一種第二層擴容解決方案,旨在提高區塊鏈交易吞吐量和效率。它通過打包(“Rollup”)大量交易並在鏈外處理,只將最終結果提交到主鏈,從而顯著減輕了主鏈的負擔。

Rollup主要分為zk-Rollup和op-Rollup。但與ETH不同,由於BTC的圖靈不完備性,不可能在BTC上使用合約進行零知識證明驗證。傳統的zk-Rollup方案無法在BTC上實現。那麼如何使用zk-Rollup實現BTC Layer2呢?接下來,以B² Network項目為例:

為了在比特幣上完成零知識證明驗證,B² Network 創建了 Taproot 腳本,該腳本結合了 zk-Rollup 的零知識證明驗證和 op-Rollup 的激勵挑戰。其運作機制大致如下:

  1. B² Network 首先捲起所有由使用者啟動的交易。

  2. 在使用分拣器对Rollup交易进行排序后,将Rollup交易保存在去中心化存储中,并同时交给zkEVM进行处理。

  3. 在zkEVM同步BTC鏈狀態之後,它處理合約執行、合併和打包結果,然後將它們發送給聚合器。

  4. Prover生成零知識證明並將其發送給聚合器。聚合器聚合交易並將證明發送給B²節點。

  5. B²節點執行零知識證明驗證,並根據去中心化存儲中的匯總數據創建Taproot腳本。

  6. Taproot 是一個價值 1 satoshi 的 UTXO。其數據結構中的 B² 銘文存儲了所有 Rollup 數據,而 Tapleaf 則存儲了所有驗證數據。通過激勵挑戰機制後,它將作為基於 zk proof 的承諾驗證後發送到比特幣 (BTC)。

Rollup的優勢在於:

  • Rollup繼承了主鏈的安全性和去中心化特性。通過定期將交易數據和狀態提交到主鏈,確保數據的完整性和透明度。
  • Rollup可以無縫集成到現有的區塊鏈網絡,如以太坊,使開發人員可以輕鬆利用其優勢,而無需顯著修改現有的智能合約和應用程式。
  • 通過在鏈外處理大量交易並將它們打包成一批提交到主鏈,Rollup大大提高了交易處理能力,顯著增加了每秒交易數(TPS)。
  • 匯總交易只需要在鏈下處理,大大減少了鏈上交易所需的計算資源和存儲空間,從而大大降低了使用者交易費用。

Rollup面臨的挑戰:

  • 如果離線數據不可用,用戶可能無法驗證交易並恢復狀態。
  • 匯總交易需要分批處理,最後提交到主鏈,這可能會導致結算時間更長。特別是在op-Rollup中,存在爭議期,使用者可能需要等待很長時間才能最終確認交易。
  • 儘管 ZK Rollup 提供了更高的安全性和即時確認,但其計算和存儲需求較高,生成零知識證明需要大量的計算資源。

由於所採用的解決方案是 Rollup,其主要的安全審計項目基本上與 ETH Layer2 相同。

其它(巴比倫)

除了傳統的BTC Layer2之外,最近還出現了一些與BTC生態系統相關的新概念第三方協議,比如巴比倫:

巴比倫的目標是將2100萬比特幣轉換為去中心化的權益份額。與其他BTC的第2層不同,巴比倫不會擴展BTC鏈。它本身是一個獨特的鏈,具有特殊的BTC抵押協議。主要目的是與PoS鏈相連。抵押BTC以為PoS鏈提供更強大的安全性,解決來自鏈的遠程端和集中問題的風險。

架構分為三個層次:

比特幣層:這是巴比倫堅實的基礎,利用比特幣的知名安全性,確保所有交易都像在比特幣網絡上一樣超級安全。

巴比倫層: 在巴比倫的核心是巴比倫層,這是一個自定義區塊鏈,將比特幣連接到各種PoS(權益證明)鏈。它處理交易,運行智能合約,並確保整個生態系統運行順利。

PoS 鏈層: 頂層由多個 PoS 鏈組成,每個 PoS 鏈都是根據其獨特優勢而選擇的。這使 BabylonChain 具有驚人的可擴展性和靈活性,讓用戶能夠享受不同 PoS 區塊鏈的最佳功能。

其工作方式是使用在BTC鏈上簽署的最終區塊來保護PoS鏈。這基本上是通過額外的簽署輪次來擴展基礎協議。最終+1輪的這些簽名具有獨特特徵:它們是可提取一次簽名(EOTS)。目的是將PoS檢查點集成到BTC中,以解決PoS的長時間解綁期和遠程攻擊問題。

Babylon的優勢在於:

  • 加快 PoS 的解綁期
  • 由於BTC是質押的,價格與BTC挂鉤,可以減輕相應PoS網路的通脹壓力。
  • 為比特幣收益開拓新途徑

巴比倫面臨的挑戰:

  • 經濟設計,如抵押回報率,對比特幣的抵押熱情有著更大的影響。
  • PoS鏈之間缺乏獎勵一致性規定

根據其實施方式,第三方協議具有不同的安全要點。以巴比倫為例,需要注意的一些安全審計項目如下:

  1. 智能合約安全:BTC上的抵押合約是通過UTXO腳本實現的,其安全性需要引起關注。

  2. 簽名演算法安全性:簽名在合約中用於管理用戶的承諾,其演算法的安全性與簽名的生成和驗證有關。

  3. 協議經濟模型的設計:協議的經濟模型在獎懲方面是否合理設置,是否會導致用戶資產流失。

附錄:

公鏈和Layer2一般審計項目

  • 整數溢位:檢查整數溢位和整數下溢
  • 無限循環:檢查程式的循環判斷條件是否合理
  • 無限遞歸調用:檢查程式遞歸調用的退出條件是否合理
  • 競態條件:檢查共享資源的存取操作在並發情況下
  • 異常崩潰: 檢查允許程序主動退出的例外拋出代碼
  • 除以0的漏洞:檢查是否存在除以0的情況
  • 類型轉換:檢查類型轉換是否正確,以及在轉換過程中是否丟失重要信息
  • 陣列越界:檢查是否訪問了陣列邊界之外的元素。
  • 反序列化漏洞:檢查反序列化過程中是否存在任何問題
  • 功能實現安全性:檢查每個RPC接口實現中是否存在安全風險,以及其是否與RPC接口功能一致。
  • 可以設計成相配
  • 敏感的RPC接口权限设置是否合理:检查敏感RPC接口的访问权限设置
  • 加密傳輸機制:檢查是否使用了加密的傳輸協定,如TLS等。
  • 請求數據格式解析:檢查請求數據的格式解析過程
  • 錢包解鎖攻擊:當節點解鎖其錢包時,它會被RPC要求竊取資金。
  • 傳統網絡安全: 檢查以下漏洞: 跨站腳本 (XSS) / 模板注入
  • 第三方組件漏洞 / HTTP參數污染 / SQL注入 / XXE實體注入 反序列化
  • 漏洞/SSRF漏洞/代碼注入/本地文件包含/遠程文件包含/命令執行注入和其他傳統漏洞
  • 網路節點身份認證和識別機制:檢查是否有節點識別機制,是否可以繞過節點識別機制。
  • 路由表污染: 檢查路由表是否可以隨機插入或覆蓋數據
  • 節點發現算法:檢查節點發現算法是否平衡且不可預測,例如不平衡的距離算法和其他問題
  • 連接數量佔用審計: 檢查P2P網絡連接節點數量的限制和管理是否合理
  • Eclipse attack: 評估日蝕攻擊的成本和危害,如有必要,提供定量分析
  • Sybil攻擊:評估投票共識機制並分析投票資格檢查策略
  • 竊聽攻擊:檢查通信協議是否存在隱私洩漏
  • 外星人攻擊:評估節點能否識別相似的鏈節點
  • 時間劫持:檢查節點的網絡時間計算機制
  • 內存耗盡攻擊:檢查大內存消耗的地方
  • 硬盤耗盡攻擊: 檢查大文件存儲的位置
  • Socket壓力攻擊:檢查連接數量限制政策
  • 核心處理程序耗盡攻擊:檢查核心處理程序創建的限制,例如文件處理程序等。
  • 持續的記憶體洩漏:檢查記憶體洩漏
  • 哈希算法安全性:檢查哈希算法的碰撞抗性
  • 數字簽名演算法安全:檢查簽名演算法的安全性和演算法實現的安全性
  • 加密演算法安全性:檢查加密演算法安全性,演算法實作安全性
  • 隨機數生成器安全性:檢查關鍵的隨機數生成算法是否穩固
  • BFT 實現安全性:評估 BFT 演演演算法的實現安全性
  • 分叉選擇規則:檢查分叉選擇規則以確保安全
  • 中心化檢測:識別系統設計中是否存在過度集中化
  • 激勵審計:評估激勵措施對安全性的影響
  • 雙花攻擊:檢查共識是否能夠防禦雙花攻擊
  • MEV攻擊審計: 檢查塊打包節點對鏈公平性的MEV影響
  • 區塊同步過程審計:在同步過程中檢查安全問題
  • 塊格式解析過程審核:檢查格式解析過程中的安全問題,例如解析錯誤導致崩潰
  • 區塊產生過程審計:檢查區塊產生過程中的安全問題,包括 Merkle 樹根構建方法是否合理。
  • 區塊驗證過程審核: 檢查區塊簽名內容項目和驗證邏輯是否足夠
  • 區塊確認邏輯審核:檢查區塊確認演算法和實現是否合理
  • 區塊雜湊碰撞:檢查區塊雜湊碰撞的構造方法以及碰撞的處理是否合理。
  • 區塊處理資源限制: 檢查是否合理設置了資源限制,例如孤立區塊池、驗證計算、硬碟定址等。
  • 交易同步過程審計:檢查同步過程中的安全問題
  • 交易哈希碰撞: 檢查交易哈希碰撞的構建方法和碰撞處理
  • 交易格式解析: 在格式解析過程中檢查安全問題,例如解析錯誤導致崩潰
  • 交易合法性驗證:檢查每種類型的交易簽名內容項和驗證邏輯是否足夠
  • 事務處理資源限制:檢查事務池、驗證計算、硬碟尋址等資源限制是否合理。
  • 事務延展性攻擊:事務能否在不影響事務有效性的情況下更改內部欄位(如 ScriptSig)來更改事務哈希?
  • 交易重播攻擊審計:檢查系統對交易重播的檢測
  • 合約字節碼驗證: 檢查合約虛擬機驗證過程的安全問題,如整數溢出、無窮迴圈等。
  • 合約位元組碼執行:檢查虛擬機執行位元組碼過程中的安全問題,如整數溢出、無限迴圈等。
  • 瓦斯模型:检查事务处理/合约执行的每个原子操作所对应的手续费是否与资源消耗成比例
  • 記錄完整性:檢查是否記錄了金鑰資訊
  • 日誌記錄安全:檢查日誌處理過程中是否存在處理不當導致的安全問題,如整數溢出等。
  • 日誌包含私有資訊:檢查日誌是否包含金鑰等私有資訊
  • 日誌存儲:檢查日誌記錄的內容是否過多,導致節點資源消耗
  • 節點代碼供應鏈安全:檢查所有第三方庫、元件及公鏈框架對應版本的已知問題

Beosin是全球首批從事正式驗證的區塊鏈安全公司之一。專注於“安全 + 合規”全生態業務,已在全球10多個國家和地區設立分支機構。其業務涵蓋了項目上線前的代碼安全審計、項目運營期間的安全風險監控和阻擋、盜竊恢復,“一站式”區塊鏈合規產品+符合當地監管要求的虛擬資產反洗錢(AML)和合規評估等安全服務。歡迎具有審計需求的項目方聯繫Beosin安全團隊。

免責聲明:

  1. 本文轉載自 [Beosin].所有版權歸原作者所有 [Beosin]. 如果對此轉載有異議,請聯繫 門學習團隊會儘快處理。
  2. 責任聲明:本文所表達的觀點和意見僅代表作者個人觀點,並不構成任何投資建議。
  3. 文章到其他語言的翻譯由Gate Learn團隊完成。除非另有說明,否則禁止複製、分發或抄襲翻譯后的文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!