比特幣|BRC-20 基礎設施不完善所產生的安全風險是什麼?

在近期 BRC-20 市場熱絡之下,Ordinals 機制衍伸的相關安全問題也再次被社群搬到檯面上討論,BRC-20 有什麼安全問題?身為持有者有什麼絕對需要知道的事情?

內容目錄

BRC-20 背景知識

在討論 BRC-20 安全問題之前,需要先稍微理解 Ordinals 協議與 BRC-20 的運作原理,就可以輕鬆深入理解。

Ordinals

Ordinals 是今年一月由軟體工程師 Casey Rodarmor 開發並開源的專案,該協議可以追蹤比特幣網路上的所有的比特幣,追蹤的單位是比特幣的最小單位「聰 (satoshi)」。

Ordinals 協議可以提供用戶與開放者,將任何資訊寫入聰的交易備註欄位中,讓特定的聰可以關聯外部的元資料,例如圖片或是文字等等,進而開啟 Bitcoin 上的 NFT 時代。這個紀錄對應資料的動作稱之為銘刻 (inscribe)。

因為比特幣網路並沒有原生虛擬機與智能合約系統,因此這些資料是連結到鏈下的伺服器做管理,這都還好,但直到出現了 BRC-20。

BRC-20

隨後在今年三月份,一個名為 @domodata 利用 Ordinals 協議製作了 BRC-20 標準,也就是將刻上去的文字以 JSON 檔案的形式,將代幣的資料紀錄,範例如下:

鑄造 ORDI 代幣的JSON 資訊

上述有說明比特幣網路沒有智能合約系統,所有資訊其實都是放在交易備註欄位之中。因此定義 BRC-20 的鑄造、轉移、銷毀的機制,當然也是寫文字上去並沒有實質效力,需要有其他機制協助運算與結算,現階段都是是利用鏈下的伺服器與索引器 (indexer) 去追蹤與管理所有紀錄。

例如小明要轉帳給小美 10 PEPE 代幣,那麼就需要將 PEPE 的轉帳資訊,利用 JSON 的形式寫入轉移聰交易備註欄中,等待確實打包出塊之後,等待 indexer 追蹤到 JSON 檔案內的資訊,再從 indexer 的帳本中扣除小明的 PEPE 代幣,並增加小美的 PEPE 代幣紀錄。

因此,需要有可以追蹤 BRC-20 代幣交易資訊的交易所與錢包,目前有支援 BRC-20 代幣的服務如下:

  • OKX Wallet
  • UniSat Wallet
  • Magic Eden

BRC-20 衍生問題

可以發現 BRC-20 的機制有明顯的安全問題,持有者需要對於 indexer 有信任,才可以完成這些交易,如果這些 indexer 作惡、異常、被駭客入侵等等,那麼用戶資產就會面臨安全風險。

利用這種機制可能衍生出有人拿空氣跟自己買代幣 (無中生有),或者有人拿固定量的代幣跟別人做多次交易 (雙花問題),以下分別說明。

無中生有

社群成員 Sam 於 X (Twitter) ,假設駭客想要小明手上的 A 代幣,若此時駭客正好有能力駭入某個知名的 indexer,並且有能力控制它一個小時,在這一小時裡,他先給自己憑空增加了 B 代幣 ( 竄改indexer資料庫即可 ),然後把代幣 B 轉給小明。

小明很謹慎,他在瀏覽器上也能看到自己得到了代幣 B,於是放心的把代幣 A 轉給對方,在一個小時結束後 indexer 發現被入侵並重新同步了數據,此時小明刷新瀏覽器會發現代幣 B 不見了,且代幣 A 也消失了。

為什麼會發生這種事?原因如下:

  • 駭客和小明連接了同樣的 indexer 伺服器,小明和駭客看到的前端資料始終是一樣的,包括被駭前後和被駭的過程。
  • 駭客轉給小明的代幣 B 並未發生在比特幣鏈上,此次交易資訊只發生在 indexer 伺服器裡,駭客可以改資料庫裡面的數據。因為此時小明信任這個 indexer,所以看到 indexer 瀏覽器更新的資料便認為代幣 B 的交易已經完成。
  • 就算小明直接去比特幣網路查銘文,但駭客完全可以發一筆交易,上頭刻著駭客自己寫的 JSON 資訊 (indexer不會認可) 給小明查。
  • 小明給駭客的代幣 A 的交易確實在鏈上發生了,且因為小明確實有足夠多的代幣 A,所以即便 indexer 發現被駭後進行回滾,小明的這筆交易還是會被成功執行。

客手上都沒有代幣 B,為什麼這筆交易能發成功?原因是比特幣網路沒有虛擬機跟智能合約,只是記錄了一個數據,整個合法性校驗完全是靠indexer 來完成的,而此時 indexer 已經被黑客控制了。

雙花問題

除了駭客的問題之外,過往也有出現過多個索引器版本差異導致雙花問題的風險,也就是因為不同索引器版本差異,使得一個資產有機會有多次交易的可能,但是當這些主流索引器同步共識後,就會使買到非共識資產的持有者資產損失。

延伸閱讀:

24H當舖這麼多間?哪一家才是有政府立案呢?刷卡換現金到底安不安全?理財專家現身分析說明!夏小姐提供線上刷卡換現金服務,3D驗證刷卡換現金超有保障。未上市股票風險大嗎?投資必讀10大攻略!不限車種桃園當舖免留車助你安心借款,立即解決你的資金問題!屏東軍公教借款各家評價及利息一覽表。提供多種借貸服務給客戶選擇,士林汽車借款貸款車分期車皆可。中和當舖利息如何計算?抵押期限多久?未上市股票買賣運作流程及應注意事項為何?想知道更多屏東當舖可安心借貸,政府合法立案當舖在哪裡嗎?中山區當舖借款最快何時可撥款?老字號中和當舖推薦.專業公營當舖借貸流程懶人包,資金有缺口?台北借錢火速放款助你短期周轉.房屋二胎借款流程資訊整合.企業周轉問題,支票借款讓你放心借貸是優質合法當舖政府立案合法成立的合法當舖、正派經營,以專業、負責且積極的態度來 服務我們每一位客戶。提供多種借貸服務給客戶選擇,24小時當舖汽機車借款申辦時要注意的三件事;高雄機車借錢,高雄汽車借款免留車案例分享。最新年度二胎房貸比較;高雄免留車當舖有規定哪種車款才能借貸嗎?急需現金,松山區汽車借款。鉅泓資融辦理台北支票貼現台北票貼借錢,票期長短皆可全額貼。

現階段該怎麼保護自己

多注意社群的更新動向,通常 Twitter 消息最靈通,確保自己交易資產時 indexer 是可以信任的。

期待未來可以有更好的基礎設施,可以降低 BRC-20 的安全風險。

社群潛在解決方案

上述問題出在現階段生態 indexer 數量太少,如果有 100個 indexer,那麼駭客根本不知道小明會用哪個 indexer,小明也可以隨時切換到其它 indexer 去做多重驗證,此時駭客做壞事的成本就會提高,高到幾乎不想做壞事。

需要用經濟機制去解決問題。實際上會有多少 indexer 在運行,取決於 indexer 運營商可以得到多少利潤,利潤夠高自然會去運行,數量就會提升,如同現在大多數去中心化網路節點的運作模式,數量夠多就足以去中心化、去信任化,不用擔心節點的故障或是作惡問題。

ORDI 作為治理代幣創造對應協議

有社群成員提出使用最早的 BRC-20 代幣 — ORDI,並建構一套治理機制,所有 indexer 都需要質押 ODRI 代幣才可以營運,若成功交易給予代幣獎勵,若其作惡則沒收代幣。

不過現階段 ORDI 代幣發展至今,大動作改變其代幣經濟不容易維持社群共識,因此推動非常困難。

較期待有新的協議與代幣擁有足夠多的共識來解決這個問題,也開始有團隊著手嘗試,有人提出了 TRAC。

TRAC 去中心化索引網路協議

包含一個去中心化網路、對應的客戶端、代幣治理經濟模型,目標是打造一個去中心化的 indexer 網路,預期利用代幣獎勵與懲罰機制,強化 BRC-20 網路安全。

不過目前該專案共識是否足以推動願景仍是未知數,因為需要大多主流的 indexer 都願意加入響應才有機會做到。

期待更多 BRC-20 基礎設施發展

其實上述這些衍生問題與資產面臨的風險,歸根究底的原因其實就是:

因為 BRC-20 沒有智能合約支持。

因此需要重新打造一條去中心化網路,搭配激勵機制,以提供安全的 indexer 執行層。

不過既然都要重頭開始,為什麼不一次到位,做一個專為比特幣執行的去中心化虛擬機執行層呢?更符合成本效益。因為要重新打造一條去中心化網路就需要一個新的經濟模型去維持,由過往區塊鏈、去中心化儲存網路到預言機領域的發展歷史,可以得知從零打造一個去中心化網路與共識是一件非常困難的事情。比起技術,筆者認為共識是更加可貴、更困難達到的,若有能力凝聚共識,就把技術補足吧。

預期未來將可以看到比特幣的智能合約層。

不論接下來 BRC-20 的發展發向與結果如何,可以看到許多人正在努力嘗試優化現有生態,期待可以看到 BRC-20 更加成熟的一天。

衍伸閱讀

https://abmedia.io/what-are-the-security-risks-from-inadequate-brc-20-infrastructure