RGB、BitVM、Nostr 的詳解入門

進階2/9/2024, 1:45:49 AM
本文深入探索了 RGB、BitVM 以及基於閃電網絡的 Nostr 這三個潛力巨大的 BTC L2 解決方案。

RGB 協議

什麼是 RGB

RGB 是一套適用於比特幣和閃電網絡的可擴展且保密的智能合約協議,由 LNP/BP 標準協會開發。它採用了私有和共同所有權的概念,是一種圖靈完備的、無信任的分布式計算形式,不需要引入代幣的非區塊的去中心化協議。需要明確的是,RGB 中沒有網路,也沒有區塊鏈,它是一種客戶端驗證技術,是一個部分狀態智能合約系統。

RGB 協議發展歷程

RGB 協議歷史

RGB 最初由來自 BHB Network 的 Giacomo Zucco 於 2016 年設想爲“基於非區塊鏈的資產系統”,同年,Peter Todd 提出了一次性密封(Single-use seal)和客戶端驗證(Client-Side Validation)的概念。受到這些重要思想的啓發,RGB 於 2018 年被提出。2019 年,核心開發者 Maxim Orlovsky 開始推動 RGB,並參與了了絕大部分 RGB 協議的代碼開發和底層標準設計。Maxim Orlovsky 和 Giacomo Zucco 共同成立了 LNP/BP 標準協會(https://www.lnp-bp.org),旨在推動 RGB 從概念誕生到實際應用的階段。該協會得到 Fulgur Ventures 、 Bitfinex 、Hojo 基金會、Pandora Prime 和 DIBA 的支持。經過大量開發工作, 2023 年 4 月,RGB 發布了版本 V0.10 ,這是第一個穩定可用的版本。2024年1月,RGB 核心開發者表示會在上半年盡早推出版本V0.11。

RGB 協議最新進展

RGB V0.10 的新特性介紹,在其他研報中已有詳細分析。而 V0.11 目前尚未正式推出,這裏展示一些開發者和社區的最新動態:

  • 即將增加對於 L-BTC 的支持
  • RGB 資產與 Liquid 的資產的互操作性和跨鏈橋會有更新

但是, RGB V0.11 將與 V0.10 不兼容,這會導致目前的項目遷移成本很大,同時由於開發進度緩慢,目前很多項目都處於坐等 V0.11 發布的狀態。

RGB 設計思想和運行原理

RGB 智能合約採用客戶端驗證,這意味着所有數據都保存在比特幣交易之外,即比特幣區塊鏈或閃電通道狀態。這使得系統能夠在閃電網絡之上運行,而無需對 BTC 主網或閃電網絡協議進行任何更改。這爲協議的可擴展性和隱私性奠定了基礎。

RGB 使用在比特幣 UTXO 上定義的一次性密封,這爲擁有智能合約狀態歷史記錄的任何一方提供了驗證其唯一性的能力。換句話說,RGB 利用比特幣腳本來實現其安全模型以及所有權和訪問權的定義。

RGB 是狀態轉換的有向無環圖(DAG),其中合約彼此完全隔離,除了合約所有者(或所有者向其披露合約信息的各方)之外,沒有人知道它的存在。

這樣的設計確保了狀態傳遞中的承諾是唯一且不可篡改的,防止了雙花,實現了狀態轉移的有效和一致。

深入 RGB 合約

在了解 RGB 架構設計的基本思想後,我們來看合約部分。在當前的智能合約世界中,要求智能合約創建者組織或自行執行智能合約代碼的開發。在 RGB 的設計哲學中則認爲,這是一種不好的做法,會導致更高的合約代碼漏洞和多次黑客攻擊。故 RGB 意在降低開發中的漏洞風險與審計需求,引入了「合約模式(Schema)」的概念。「合約模式」是智能合約的實際代碼,發行者可以將其用作“合約模板”,無需他們對某個隨機外包商爲其編寫的定制代碼進行編碼或審核。

靈活的可擴展性和良好的互操作性

RGB 合約是通過聲明式的方式定義的,而非命令式編程。這意味着合約的邏輯不是通過一系列命令或步驟定義的,而是通過一套規則來描述其行爲和狀態轉換,是一個狀態變化的有向無環圖(DAG)。而局部狀態操作,則是 Schema 的關鍵所在。RGB 合約中的操作是局部的,而不是全局的。每個節點(或狀態)都有自己的規則,並且只負責自己的狀態轉換。這與以太坊等平台上的全局算法不同,後者要求每個狀態都遵循相同的算法。這一特性使得 RGB 足夠靈活可擴展,同時也兼具良好的互操作性。

簡易的智能合約編寫

Schema 定義了狀態轉換中允許哪些類型的全局和擁有的狀態、密封、元數據。RGB 使用 Contractum 語言來編寫程序 RGB Schemas 和 AluVM(算術邏輯單元虛擬機),從而簡化 RGB 智能合約的編寫。AluVM 基於寄存器設計,不提供隨機內存訪問,非常適合智能合約、遠程代碼執行、分布式和邊緣計算等領域,爲各種高級智能合約的用例提供了基礎。

RGB 如何確保安全和隱私

從 RGB 自身設計上看

  • 非全局廣播的隱私性:上面我們已經提到,RGB 的客戶端驗證意味着驗證過程僅發生在直接涉及的對等點之間,而不是整個網路。這種並非全局廣播的方法增強了隱私性和抗審查性,因爲合約狀態的細節僅對相關參與者可見,礦工也無法看到交易細節。
  • 沙盒環境的數據私有性:另一方面,RGB 將所有操作數據存儲在 stash 中。由於 RGB 不是基於區塊鏈的,存儲不會復制到其他對等節點。由用戶本地控制的存儲減少了外部攻擊和數據泄露的風險,確保了數據的私有性。RGB 是一個計算平台,RGB 將每個程序(“智能合約”)隔離在其沙箱環境中,這比基於區塊鏈的平台提供了更好的可擴展性和安全性。
  • 同樣,鏈下數據也就意味着存在丟失風險。
  • 驗證和存儲以外,發票系統也能確保安全和隱私。RGB 中的合約操作通過創建發票來進行,發票可以包含多種合約操作請求。通過讓用戶明確指定和驗證合約操作,提高了操作的準確性和安全性。同時,發票系統支持在用戶之間私下傳輸合約操作請求,增強交易隱私。通過發票和特定的命令來執行狀態轉移,如代幣轉移。

從與 BTC 交互的層面來看

  • RGB 的設計是與 UTXO 高度綁定的。與 BTC 主網交互過程中,用戶創建鏈下合約來發行 RGB 資產並將它們分配給比特幣的 UTXO,這一點和閃電網絡非常像,隨後在鏈下通過上面介紹的方式進行資產轉移、合約交互和驗證。
  • RGB 受益於 Schnorr 籤名帶來的更好的多籤、基於適配器的籤名協議和點時間鎖合約(PTLC),但它的收益純粹是基於比特幣的收益(即間接的)。RGB 內部沒有任何需要籤名的內容(因此 Schnorr 在內部沒有進行任何更改),也沒有使用比特幣腳本(因此新的 Tapscript 沒有任何用處)。

由 ScaleBit 聯合發起成立的 BTC Security Lab,是一家專門成立的 BTC 安全實驗室,正在致力於研究 RGB 協議的最新進展,旨在保護其合約安全,共同推動 RGB 協議的日益更新壯大及 BTC 生態的基礎設施建設。

RGB 生態項目一覽

  • BiHelix

官網:https://www.bihelix.net/

BiHelix是一個基於比特幣原生區塊鏈,結合RGB協議和閃電網絡構建優化節點的比特幣生態基礎設施。旨在讓開發者更易於使用,增加比特幣的使用場景,並解決了比特幣區塊鏈面臨的可擴展性和圖靈不完備性的挑戰。爲礦工、驗證者、節點服務商、交易所、用戶打造更加公平的去中心化加密世界。作爲第一個基於 RGB 協議構建的基礎設施,BiHelix 將打造下一代比特幣大規模應用場景。目前項目暫未開啓交互,處於研發階段,敬請期待。

項目特點

  • 低用戶門檻

使用 SLR(Security-Lightning-RGB)協議,將RGB和閃電網絡重新封裝,引入閃電節點的創新解決方案,實現全球通用支付。

  • 高可靠性和高可擴展性

採用成熟的雲服務架構,充分利用rust-lightning的特性,以支持通道工廠的功能,高效地管理通道,批量創建通道。

  • 安全和隱私保護

將狀態數據進行鏈下傳輸和存儲,採用遞歸零知識證明等技術令多部分支付和路徑選擇隨機化從而實現隱私保護。

  • 開發者友好

提供完備的開發工具,包括開源的開發文檔、工具等,同時引入Schema社會共識機制,以便開發者可以輕鬆構建應用程序。

  • Iris Wallet

官網:https://play.google.com/store/apps/details?id=com.iriswallet.testnet&pli=1

IRIS Wallet,Bitfinex 團隊開發的第一個 Android 錢包,致力於 RGB 集成和 RGB 相關工具,支持可替代和不可替代資產(fungible and non-fungible assets)。 Iris Wallet 支持從發行到支出和接收的 RGB 資產操作,將所有功能包裝在一個熟悉的錢包應用程序中,並盡可能多地抽象出技術細節。目前這還是一個實驗性應用程序,建議僅用於少量比特幣和低價值資產。

  • DIBA

官網:https://diba.io/

DIBA 是第一個在比特幣上使用 RGB Protocol 的智能合約和閃電網絡的 NFT 市場。它旨在幫助塑造人們對比特幣區塊鏈上非托管藝術資產的理解。

  • Bitmask

官網:https://bitmask.app/

該錢包由 DIBA 創建,是 RGB 生態的首個 NFT 錢包,可在 Web 瀏覽器中運行,並與類似以太坊上的 MetaMask 一樣與 RGB 合約進行交互。目前更新頻繁,等待 V0.11發布。

  • Pandora Prime Inc

官網:https://pandoraprime.ch/

Pandora Prime 是一家位於這是一家總部位於 Verify Valley 的瑞士公司,同時也是 LNP/BP 的創始成員。

Pandora Prime 致力於使用 RGB 智能合約和閃電網絡的結合來開創比特幣金融(Bitcoin Finance)。他們從比特幣上的可編程資產 (RGBTC 和 CHFN )開始,這些資產可以通過閃電網絡在交易吞吐量方面擴展到 VISA/MasterCard 級別,同時提供輕鬆交換這些資產的設施。目前,他們的產品包括 MyCitadel(錢包)、RGB Explorer(瀏覽器)和 Pandora Network 等。

  • MyCitadel

官網:https://mycitadel.io/

MyCitadel 是 Pandora Prime 的一個品牌,MyCitadel 是第一個支持 RGB 的圖形用戶界面錢包,由 RGB 開發人員於 2021 年創建。它提供跨平台桌面錢包和 iOS/iPad 錢包。移動錢包可以處理可替代性的 RGB 資產。

  • RGB Explorer

官網:https://rgbex.io/

RGB Explorer 是由 Pandora Prime 開發的第一個提供 RGB 資產註冊和智能合約的瀏覽器。目前支持 RGB 20、RGB 21、RGB 25 ,可以顯示的資產有 LNPBP、RGBTC、dCHF 和 RGBEX 這四種。

  • Bitlight Labs(舊名 Cosminmart)

官網:https://bitlightlabs.com/

Bitlight Labs 開發基於 RGB 協議的基礎設施,預備在閃電網絡上部署多個應用程序,包括 RGB 實用錢包 Bitlight Wallet 以及在閃電網絡和 RGB 協議上建立 BitcoinFi 自動化做市商的 Bitswap。

    1. RGB Memes& NFT

10.1 PPRGB

X: @PepeRgb20

PPRGB 目前在 Liquid 網路發行,等待RGBV0.11版本後會映射到 rgb上,(RGB v0.11版本也在做和 Liquid 對接相關代碼功能)。

10.2 MRGB 銘文

MRGB銘文是一種基於RGB協議的客戶端狀態驗證和智能合約系統的通證。該通證在比特幣生態系統的第二層和第三層(鏈外)運行,並且將提供開源底層協議代碼,使所有 BRC20 公鏈能夠直接使用該系統。

這一創新將爲BRC20公鏈帶來巨大的潛力,包括降低GAS消耗、加快交易速度以及提升整 體性能。通過採用MRGB系統,BRC20公鏈將能夠更高效地處理交易,並降低用戶的交易成本。與此同時,MRGB 銘文通證還將作爲交易過程中的消耗品,從而增加了BTC的流動性和可擴展性。

10.3 Single-Use-Seal

X: @Single_Use_Seal

海豹 ,是 RGB20 和 RGB21 上 10k PFP 集合、稀有 UDA 和代幣,命名取自 Peter Todd 提出的 Single Use Seal(一次性密封),目前在等待 Bitlight 和 Bitmask 錢包更新 v0.11 RGB 版本,之後會在上面發行。

10.4 Bitman

X: @bitmancity

會在diba上發行 10k UDA,可能是是 wl+public sale,宗旨是“傳遞btc的精神”,項目立意不錯,會發 wl 給 BTC 生態貢獻者,公售大部分捐給 LNP/BP。

BitVM

Why BitVM?

BitVM(Bitcoin Virtual Machine) 引入了一個系統,可以在比特幣區塊鏈上驗證任何計算,並且不會影響其安全性或改變網路。這一發展爲復雜計算(例如圖靈完備的智能合約)打開了大門,所有計算都在鏈外進行處理,以減少比特幣區塊鏈的擁塞。

「簡單概括,BitVM 是一個能在比特幣網路上表達圖靈完備合約的計算模型。」與 RGB 一樣,BitVM 無需修改網路的共識規則。

2023 年 10 月 9 日,區塊鏈開發商 ZeroSync 的聯合創始人 Robin Linus 公布了 BitVM 的白皮書。相比於 RGB,BitVM 年輕許多 。

BitVM 的設計架構

架構

與樂觀 Rollup(Optimistic Rollups)和 MATT 提議(Merkelize All The Things)相似,基於欺詐證明和挑戰-響應協議,不需要改變比特幣的共識規則。BitVM 證明了比特幣在編碼欺詐證明的大型 Taptrees 中是圖靈完備的。

門電路設計

Bit Value Commitment 是最基本的組件,允許提交者設置特定位的值爲“0”或“1”。任何可計算函數都可以表示爲布爾電路,構成邏輯門承諾。通過 NAND 門(通用邏輯門)來構建,每個門都有自己的承諾。通過組合門承諾來表達任何電路。每個執行步驟都在 Tapleaf 中被承諾,並且在同一個 Taproot 地址中組合。

BitVM 利用比特幣的 Taproot 升級,通過創建一個類似於二進制電路的結構(稱爲 taptree)來實現其功能。在這個系統中,每個 UTXO 的花費條件,由 Script 腳本中的指令表示,形成程序的基本單元。這些指令在 Taproot 地址內生成二進制輸出(0或1),從而構建出整個 taptree。taptree 的輸出可以被視作一個二進制電路的運行結果,類似於一個可執行的程序。taptree 能夠執行的程序復雜度取決於組成它的 Taproot 地址的數量和復雜性。簡而言之,BitVM 通過將比特幣的 Script 指令轉化爲二進制操作,實現了在比特幣網路上運行更復雜程序的能力。

參與角色爲兩方

目前模型局限於兩方,目前無法擴充參與者。此外,爲了使 BitVM 正常工作,需要進行大量的預籤名(鏈下計算),這導致 BitVM 實際相當復雜,可能存在效率不足的問題。

欺詐證明與挑戰-響應協議

證明者與挑戰者進行都在一個交易中存入同等數量的 BTC 進行對賭 ( 作爲輸入 ),而這個交易輸出將包含一個邏輯電路。通過在設置階段預籤名一系列交易來實現對於錯誤聲明的反駁。BitVM 被比作 Optimistic Rollups(樂觀卷積),因爲它在鏈外執行大部分計算,並且在出現爭議時將其中一些計算提交到鏈上以解決爭議。

  • 樂觀匯總是一種第 2 層擴展解決方案,它通過將計算和數據存儲移至鏈下來減輕基礎層的負載。然後它捆綁多個交易並將它們發布到主鏈。
  • 樂觀匯總假設所有交易都是有效的。然而,如果網路參與者意識到發生了不誠實行爲,他們可以發起欺詐證明。欺詐證明是某人計算不準確的證據。它們是在檢查後產生的。

鏈下計算

BitVM 上的幾乎所有活動都在鏈外進行。這包括啓動計算任務、共享數據和驗證提交的聲明。BitVM 通常不在比特幣區塊鏈上運行計算。僅當因涉嫌欺詐而存在爭議時,計算活動和驗證才會在鏈上發布。然而,如果存在爭議,爭議程序的一小部分確實在鏈上運行,僅足以找出哪一方不誠實。

有了上述前置知識,我們可以更好地理解 BitVM 兩方互動的具體原理。

BitVM 的兩方互動模型,涉及一個證明者(Prover)和一個驗證者(Verifier)。在這個系統中,證明者首先創建並提交智能合約或程序,隨後將資金發送到一個共同控制的主根地址。這些資金被以 2-of-2 多重籤名的方式保管。證明者還需向驗證者共享足夠的信息,以證明他們的程序能產生承諾的輸出。

驗證者的任務是運行證明者的代碼,並驗證輸出是否符合預期。如果輸出不符合預期,驗證者將對證明者發起挑戰。這一挑戰-響應的交互過程涉及在鏈下的數據交換和預籤名交易的使用,以驗證計算的正確性。

在發現計算錯誤時,驗證者可以通過鏈上的欺詐證明來公開證明者的不誠實行爲。在BitVM系統中,如果證明者的響應被證實是錯誤的,他們將輸掉賭注並喪失資金。相反,如果所有答案都是正確的,證明者將保留他們的資金。這種經濟激勵機制旨在防止不誠實行爲。

最終,這種互動保證了只有在出現爭議時,計算驗證才會轉移到比特幣區塊鏈上,從而在鏈外執行絕大多數計算。這種設計既保持了比特幣網路的高效性,又提供了在比特幣上運行更復雜程序的能力。

BitVM 的安全性

從架構設計角度分析,BitVM 的安全性主要基於以下幾個方面:

欺詐證明(Fraud Proofs)

在發生爭議時,驗證者可以通過欺詐證明來挑戰提出者的錯誤聲明。這種機制類似於 Optimistic Rollups ,不需要改變比特幣的共識規則。

挑戰-響應協議

BitVM 使用挑戰-響應協議,其中提出者和驗證者在協議的設置階段預先籤署一系列交易。這些交易在爭議發生時用於解決問題。

鏈外計算與鏈上確認

BitVM 允許在鏈外執行復雜計算,而只有在出現爭議時,相關的驗證和解決才會在鏈上進行。這種方法減少了鏈上資源的消耗,同時保持了比特幣區塊鏈的完整性和安全性。

存款和懲罰機制

如果提出者作出不正確的聲明,驗證者可以沒收其存款。這種機制確保了攻擊者總是會因爲錯誤的行爲而損失存款。

雙方合約機制

使得 BitVM 上隱私性更佳,降低了交易成本,但是相比 EVM 的多方機制,通用性有所下降。

Nostr 協議

什麼是 Nostr 協議

Nostr 全名爲「Notes and Other Stuff Transmitted by Relays」,直譯爲「中繼器傳輸的筆記與其他內容」。從協議全稱不難看出,這是一個傳輸協議,並且,有中繼器存在,說明這並不是一個 P2P 傳輸協議。Github 代碼更新記錄顯示,這一項目啓動於 2020 年 11 月。該協議旨在創建一個抵制審查的全球社交網絡的最簡單的開放協議, 是一個去中心化的社交協議,它允許用戶創建、發布和訂閱任何類型的內容,而不受任何中心化的平台或機構的控制或幹預。Nostr 的靈感來自於比特幣與閃電網絡,它使用了類似的密碼學和共識機制,以及一種基於事件的數據結構,稱爲 Nostr 網路(Nostr Network)。

Nostr 協議的組成

公私密鑰對

一個公私密鑰對即是一個 Nostr 帳戶。Nostr 帳戶並不基於傳統的用戶名、密碼體系,而是使用類似加密貨幣的公鑰、私鑰體系。爲方便理解,可以把公鑰當成用戶名,把私鑰當成密碼。要注意的是,私鑰一旦丟失無法像密碼那樣可以重置。公鑰以 npub1 爲前綴,私鑰以 nsec1 爲前綴。使用前要確保公鑰、私鑰妥善保存,因爲其一旦丟失無法找回。

客戶端

Nostr 本身只是一種協議,用來在互聯網上發送信息。用戶需要一款客戶端軟件來使用 Nostr 協議。客戶端可以是網頁、桌面軟件或者手機 App。客戶端從中繼器讀取信息,並且將新生成的數據發送給中繼器以便其他客戶端讀取。信息包含籤名,這些籤名可以確保數據由真實的發送方發送。客戶端使用私鑰來創建籤名。第一次使用桌面或者手機客戶端,需要將私鑰存儲其中。通過私鑰可以得到公鑰。如果使用網頁客戶端,不推薦直接將私鑰保存其中,最好使用插件來保存私鑰。

中繼器

可以將中繼器理解爲 Nostr 協議的後端服務器。Nostr 客戶端將信息發送給中繼器,中繼器會(也可能不會)存儲這些信息並將信息廣播給所有與他們相連的客戶端。需要注意的是,中繼器並非一成不變,相反他們會隨着時間的推移變動很大。Nostr 協議依賴中繼器來存儲和檢索數據,如果用戶感覺自己的客戶端速度很慢,那是因爲所連接的中繼器速度慢,可以考慮增加一些其他的中繼器。

NIPs

Nostr 實施標準(A Nostr Implementation Possibilty, 簡稱 NIP),用來規範兼容 Nostr 的中繼器和客戶端軟件,哪些必須、哪些應當、哪些可以實施。「NIP 」是概述 Nostr 協議工作原理的參考文檔。Nostr 是一種去中心化協議,並不被某一個中心化機構所壟斷(比如推特)。這意味着協議的發展方向取決於所有參與者,我們可以建議和倡導變革,並對他人提供的想法提供反饋。作爲協議社區的積極成員,大家對Nostr 網路的後續發展方向都有一定的話語權。主代碼庫中的 NIPs 已經通過,可以通過 pull request 添加新的想法。

以下列舉一下較爲重要的 NIPs:

  • NIP-04: 消息加密,利用 secp256k1 算法來完成 Diffie-Hellman 密鑰交換,點對點加密
  • NIP-05: 映射公鑰到域名,方便記憶,比如作者的公鑰是 npub10jprg9n3ecjlpez0fyg7y7yvpl66drtjv8rv0hfllxpdxhesuwzs4c2kw6,映射到了@NomandJames 這個域名上面
  • NIP-06: 助記詞,和加密貨幣錢包的助記詞類似
  • NIP-13: 工作量證明。此概念的提出早於比特幣的出現,現被廣泛應用在區塊鏈 POW 共識層中,以太坊 whisper 協議中也有應用。它的原理是在客戶端發送消息之前,要先完成一個計算密集型的工作量證明,接受信息的中繼服務器會驗證這個證明的有效性。提供這個證明意味着花費了算力,提高了發送垃圾信息堵塞中繼的門檻。
  • NIP-22: 消息時間戳。告知中繼服務器消息創造的時間,以便中繼選擇性的接收消息。時間戳可以設置爲過去或者未來。
  • NIP-40: 過期時間。告知中繼服務器消息過期的時間,以便中繼刪除。
  • NIP-57: 閃電網絡打賞連結。
  • NIP-65: 中繼服務推薦列表。

事件

事件是 Nostr 上唯一的Object結構。每一個事件結構都有一個類別(kind)。類別用來標記事件的種類(用戶實施了哪種操作或者接收了哪種信息)。

Nostr 協議的運作

Nostr 協議是通過中繼器運作的。這些中繼器允許同一個中繼器上的用戶間互相發送 Json 文件。

將通過下面簡化的圖文舉例,來方便大家理解:

圖表中包含3個中繼器(Relay)和3個用戶(Client)。圖中每一位用戶使用的客戶端都不相同(也不在同一個平台)。

圖表中的讀、寫情況如下:

  • Bob 可以看到 Alice 的所有推文,但無法看到 Mary 的任何推文(Bob甚至不知道 Mary 的存在)。
  • Alice 可以看到 Bob 的所有推文,但無法看到 Mary 的任何推文(Alice也不知道 Mary 的存在)。
  • Mary 可以看到 Bob 和 Alice 的推文。因爲 Mary 只向中繼器3寫入數據,她可以從中繼器2(保存 Bob 和 Alice 的數據)讀取數據。

深入 Nostr 合約

鑑於 Nostr 協議作爲一個非常輕量級的開放協議,爲去中心化的社交媒體平台提供了協議規範,我們試做簡單的協議代碼分析:

該協議的基礎是一個 WebSocket 服務器(稱爲 nostr-relay),它的處理和存儲是一個非常簡單的數據結構,稱爲 Event。它如下所示:

{

“id”: <32-bytes sha256 of the the serialized event data>

“pubkey”: <32-bytes hex-encoded public key of the event creator>,

“created_at”: <unix timestamp in seconds>,

“kind”: <integer>,

“tags”: [

["e", &lt;32-bytes hex of the id of another event>, &lt;recommended relay URL>],

["p", &lt;32-bytes hex of the key>, &lt;recommended relay URL>],

... // other kinds of tags may be included later

]

“content”: <arbitrary string>,

“sig”: <64-bytes signature of the sha256 hash of the serialized event data, which is the same as the “id” field>,

}

事件始終是籤名的(使用 Schnorr 類型籤名),並且它們之中包含可能具有不同語義含義的結構化數據。BIP340 中定義的 Schnorr 類型 XOnlyPubkeys(目前與比特幣 Taproot 一起使用)在整個協議中用作“身分”。

nostr-client 是一個 APP,可以與 nostr-relay 通信,並可以使用訂閱器訂閱任何一組事件。

篩選器表示客戶端感興趣的所有 Nostr 事件集。

客戶無需註冊或創建帳戶,因爲客戶端會使用用戶的公鑰進行標識。每次客戶端連接到中繼時,它都會提交用戶的訂閱篩選器,只要它們已連接,中繼就會將“感興趣的事件”流式傳輸到客戶端。

中繼可以緩存客戶端訂閱,但並非必須如此。客戶端應該在“客戶端”處理所有事情,而中繼可能像石頭一樣愚蠢。

Clients之間不會互相交談。但 Relays 可以。這將允許中繼爲客戶端獲取它沒有的數據,而客戶端可以訂閱其連接的中繼之外的事件。

乍一看,這給人一種 Nostr 作爲協議毫無用處的形象,(爲什麼不直接籤署和轉儲原始 JSON 並讓客戶端弄清楚呢?),但更深入地看,“啞服務器,智能客戶端”模型可以在去中心化協議設計中,發現具有一些巨大優勢的工程。

充分去中心化爲 Nostr 主要特點

Nostr 作爲社交應用的協議層,該協議通過 Relay 傳輸 Notes 和其他 Stuff,不依賴於任何中心化服務器,其充分的去中心化,允許任何 App 應用自由的接入,通過分布式網路提供一個開放且無需許可的社交平台。因此,Nostr 甚至並不爲用戶提供可以直接操作的 C 端產品,而是專注於在協議層實現社交的必要基礎設施。而產品化的能力則由第三方 App 提供。且各款不同 App 之間的用戶,其社交行爲是可互通的。

Nostr 的優勢在於它提供了一種真正的自由和開放的社交網絡,它不受任何中心化的權力或利益的影響或威脅,用戶可以自由地表達自己的觀點和信仰,不用擔心被審查、封禁或取消;內容創作者可以自由地設置自己的激勵模式,不用擔心被剝奪收入或受到不公平的競爭。Nostr 的用戶還可以自由地選擇自己的社交圈子,不用擔心被操縱、誤導或剝奪隱私。

Nostr 與傳統的社交媒體有很大的不同,它還有以下幾個特點和優勢:

去中心化

Nostr 不依賴任何中心化的服務器或平台,而是通過比特幣網路來傳輸和存儲信息。這樣,用戶就不用擔心自己的數據被竊取、審查或刪除,也不用受制於任何第三方的規則或政策。

自主

Nostr 讓用戶自己控制自己的數據和身分,用戶可以自由地選擇自己想要關注和信任的人,也可以自由地表達自己的觀點和想法。用戶不用擔心被封號、屏蔽或降級,也不用忍受廣告或推薦的幹擾。同時對特定用戶的可認證性,使用戶易於識別垃圾信息和機器人信息。

開放

Nostr 是一個開放的協議,任何人都可以參與和貢獻。用戶可以自己開發和使用不同的客戶端,也可以自己搭建和運行節點(node),節點是一種可以轉發和存儲 Nostr 信息的服務器。

用戶還可以自己創建和使用不同的類型(type)和標籤(tag),這些是用於區分和分類 Nostr 信息的元數據。簡潔靈活的事件(Event)格式支持各種類型的發布:社交媒體帖子、長格式內容、富媒體、電子商務等。同時Nostr與閃電網絡相結合,實現了新的[物超所值(value-for-value)、更加公平的商業模式。

Nostr 協議的安全隱患

私鑰管理

Nostr 協議使用公私密鑰對作爲帳戶,用戶需要自己妥善管理私鑰。私鑰一旦丟失,就無法找回。這對於大多數用戶來說可能是一個挑戰,因爲他們可能沒有足夠的技術知識和經驗來安全地管理私鑰。

中繼器選擇

在 Nostr 協議中,用戶需要自己選擇和驗證中繼器。如果用戶選擇了一個不可信或者惡意的中繼器,他們的信息可能會被泄露、篡改或者刪除。

信息傳播

在 Nostr 協議中,用戶發送的信息不會在多個中繼之間傳播。這意味着,如果用戶的信息沒有被足夠多的中繼接收和存儲,那麼他們的信息可能會丟失或者無法被其他用戶看到。

孤島效應加劇

在 Nostr 協議中,中繼器可以自由地選擇是否接收和存儲用戶的信息。這可能導致一些中繼器選擇只接收和存儲他們認爲有價值或者符合他們利益的信息,而忽視或者拒絕其他的信息。

惡意協議擴展

Nostr 協議定義了一些基本的事件類型和功能,但是它也允許客戶端和中繼器選擇性地實現一些額外的功能。這可能導致一些客戶端和中繼器實現了一些不安全或者惡意的功能,從而影響用戶的安全和隱私。

信息處理方面

礙於 Nostr 協議沒有共識層,對於時間戳和 UNIX 時間差距很大的消息,一些中繼並沒有進行處理,這使得客戶端存在利用時間差僞造消息的可能。

Nostr 生態一覽

Nostr 協議主要支持者爲 Twitter 聯合創始人 Jack Dorsey,早在2022 年 12 月,Dorsey 向 Nostr 捐贈了 14.17 個比特幣(約合 245,000 美元),以支持其開發,在他的 X 個人資料上,至今仍高調的顯示着其個人 Nostr 地址,可見其對協議的喜愛。

Damus⚡️:Nostr 協議的主要應用

X:https://twitter.com/damusapp

Damus 是一個支持基於閃電網絡的比特幣小費打賞社交 App,以打賞的方式來取代目前更爲常見的「Like」或點讚,而閃電網絡的低費率也讓打賞的網路成本低到可以幾乎忽略不計。

Nostr 協議的應用除了 Damus 之外,還有通訊工具 Anigma、文本共享工具 Sendtr、在線下棋小遊戲 Jeste 等。

TGFB:Nostr 協議的主要合作媒體

官網:https://tgfb.com/

TGFB 是一個基督教的比特幣教育平台,它的目標是教育和裝備基督徒理解比特幣,並用它來宣傳上帝榮耀和造福全人類。

其中很大一部分板塊是留給Nostr協議的內容宣傳播客,由 Jon 和 Jordan 主持,從基督教的角度探討 Nostr 這個去中心化的社交協議的內涵和外延。作爲歐美乃至全球都傳教甚廣的基督教,與美國全民皆知,且sec通過了etf的Bitcoin,加上基於用戶體量龐大的閃電網絡之上建立的Nostr社交協議,三者結合,將帶來一大批Nostr協議的擁護者和支持者,這無疑對Nostr協議生態的發展起到絕佳的推動作用。

Nostr 衍生協議

Nostr + Taproot assets

Nostr Assets Protocol 是一個開源協議,它將 Taproot 資產和以 Satoshis (Sats,聰)爲單位的原生比特幣支付引入 Nostr 生態系統,同時該協議支持與包括閃電網絡和 Taproot 資產在內的其他支付協議進行交互。

用戶一旦引入資產,就可以使用 Nostr 的公鑰和私鑰在 Nostr 協議層發送和接收它們。而資產的結算和安全仍然依賴於閃電網絡,畢竟 Nostr 資產協議本身並不發行資產,只是通過協議將資產引入 Nostr 資產平台。

Nostr Assets 通過用 Nostr 消息來控制(托管)錢包,即幫助用戶更好的進行轉帳/交易等基礎功能,建立在 Nostr 的技術之上,但是跟 Nostr 是兩個完全不同的協議。

Nostr Assets Protocol 的全托管服務是指用戶將自己的比特幣或其他資產存入一個由 Nostr Assets Protocol 控制的錢包,然後通過 Nostr 消息來發送指令,進行代幣的部署、鑄造和轉移。

需要注意的是,全托管服務存在一定的爭議:Nostr Assets Protocol 的托管錢包可能存在安全風險,用戶無法完全控制自己的資產,如果平台被黑客攻擊或者跑路,用戶可能會損失所有的資產。

同時,Nostr 在10月30日上線後資產充值人數較多,多次出現網站關停維護的情況,引發了用戶對其團隊背景、項目可靠性的質疑。11月8日,Nostr Assets Protocol 官方帳號在一篇推文下回復了中文評論,目前部分用戶對該項目方的真實身分和靠譜程度存疑。 而 Nostr 官方也一直對該 拓展協議中跟協議同名的 Token 持極爲強烈的反對態度。

Nostr + Inscription

Noscription 是一個基於 Nostr 的實驗性代幣協議,它允許用戶在 Nostr 上創建和交易類似於 brc-20 的代幣,而非類似Taproot assets的代幣。

三者對比

協議落地

BitVM 對於計算能力提出極高要求,目前僅有理論可執行性。商業落地方面 RGB 更勝一籌,且已經有很多應用。(RGB 的技術組織 LNP/BP 中開發人員很少且非盈利,開發進度緩慢)。Nostr礙於Socialfi通用的瓶頸同樣未能進一步推進協議應用生態。

隱私保護

RGB 和 BitVM 都是鏈下計算,但是 RGB 協議意味着第三方無法跟蹤 RGB 資產在區塊鏈上的歷史,只有當用戶收到資產時,才會了解資產的歷史。這點 BitVM 無法做到。Nostr協議作爲社交協議,傳播信息的中繼器具有極高未知性,可能出現信息泄露,閉塞,丟失等問題,以及利用漏洞惡意篡改的惡劣行爲

BTC 原生性

RGB 和 BitVM 都不需要對比特幣進行協議更改;Nostr則建立在原生閃電網絡的基礎上,原生性都相對較好,開發體驗絲滑

協議的安全性

RGB 協議在鏈下執行,沙盒環境保證了數據的安全。發票系統也從設計上保證了數據的安全。與 BTC 交互層面來看,使用類似於閃電網絡的模式進行資產發行。

BitVM 採用 Rollup 的模式,同樣是數據鏈下執行。虛擬機的特性加上欺詐證明與挑戰-響應模式確保了 BitVM 的安全。

Nostr 採用中繼器的模式,中繼器間信息傳遞的巧妙設計加上加密算法,使得 Nostr 協議中的信息足夠安全。

在Web3行業中,目前並沒有一家專門關注比特幣生態安全的實驗室。BTC Security Lab 的成立填補了這一空白,爲比特幣生態提供了專業的安全支持與研究。ScaleBit 與 BiHelix 希望能夠引領比特幣生態安全賽道,爲整個行業樹立安全標準,推動生態系統的健康發展。

生態與商業化

Nostr 協議作爲社交協議,其用戶體量和流量熱度能超過 Bit VM和 RGB 協議二者,其生態的協議拓展和應用商業化相對剩餘二者更加完善。

RGB 協議發布已久,目前生態項目也比較多,很多都處於等待 RGB V0.11 發布的狀態。

BitVM 白皮書發布距今只有幾個月,目前生態還沒有建立。

三者協議未來會應運而生諸多Socialfi、GameFi、DeFi 領域的 Dapp,爲 BTC 生態帶來新一波的熱度。

特別感謝 Ausdin.eth, 0xLayman, Echo, Venus 對本次報告作出的貢獻。

聲明:

  1. 本文轉載自[chaincatcher],著作權歸屬原作者[浙大鏈協,BiHelix,ScaleBit & BTC Security Lab],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。

RGB、BitVM、Nostr 的詳解入門

進階2/9/2024, 1:45:49 AM
本文深入探索了 RGB、BitVM 以及基於閃電網絡的 Nostr 這三個潛力巨大的 BTC L2 解決方案。

RGB 協議

什麼是 RGB

RGB 是一套適用於比特幣和閃電網絡的可擴展且保密的智能合約協議,由 LNP/BP 標準協會開發。它採用了私有和共同所有權的概念,是一種圖靈完備的、無信任的分布式計算形式,不需要引入代幣的非區塊的去中心化協議。需要明確的是,RGB 中沒有網路,也沒有區塊鏈,它是一種客戶端驗證技術,是一個部分狀態智能合約系統。

RGB 協議發展歷程

RGB 協議歷史

RGB 最初由來自 BHB Network 的 Giacomo Zucco 於 2016 年設想爲“基於非區塊鏈的資產系統”,同年,Peter Todd 提出了一次性密封(Single-use seal)和客戶端驗證(Client-Side Validation)的概念。受到這些重要思想的啓發,RGB 於 2018 年被提出。2019 年,核心開發者 Maxim Orlovsky 開始推動 RGB,並參與了了絕大部分 RGB 協議的代碼開發和底層標準設計。Maxim Orlovsky 和 Giacomo Zucco 共同成立了 LNP/BP 標準協會(https://www.lnp-bp.org),旨在推動 RGB 從概念誕生到實際應用的階段。該協會得到 Fulgur Ventures 、 Bitfinex 、Hojo 基金會、Pandora Prime 和 DIBA 的支持。經過大量開發工作, 2023 年 4 月,RGB 發布了版本 V0.10 ,這是第一個穩定可用的版本。2024年1月,RGB 核心開發者表示會在上半年盡早推出版本V0.11。

RGB 協議最新進展

RGB V0.10 的新特性介紹,在其他研報中已有詳細分析。而 V0.11 目前尚未正式推出,這裏展示一些開發者和社區的最新動態:

  • 即將增加對於 L-BTC 的支持
  • RGB 資產與 Liquid 的資產的互操作性和跨鏈橋會有更新

但是, RGB V0.11 將與 V0.10 不兼容,這會導致目前的項目遷移成本很大,同時由於開發進度緩慢,目前很多項目都處於坐等 V0.11 發布的狀態。

RGB 設計思想和運行原理

RGB 智能合約採用客戶端驗證,這意味着所有數據都保存在比特幣交易之外,即比特幣區塊鏈或閃電通道狀態。這使得系統能夠在閃電網絡之上運行,而無需對 BTC 主網或閃電網絡協議進行任何更改。這爲協議的可擴展性和隱私性奠定了基礎。

RGB 使用在比特幣 UTXO 上定義的一次性密封,這爲擁有智能合約狀態歷史記錄的任何一方提供了驗證其唯一性的能力。換句話說,RGB 利用比特幣腳本來實現其安全模型以及所有權和訪問權的定義。

RGB 是狀態轉換的有向無環圖(DAG),其中合約彼此完全隔離,除了合約所有者(或所有者向其披露合約信息的各方)之外,沒有人知道它的存在。

這樣的設計確保了狀態傳遞中的承諾是唯一且不可篡改的,防止了雙花,實現了狀態轉移的有效和一致。

深入 RGB 合約

在了解 RGB 架構設計的基本思想後,我們來看合約部分。在當前的智能合約世界中,要求智能合約創建者組織或自行執行智能合約代碼的開發。在 RGB 的設計哲學中則認爲,這是一種不好的做法,會導致更高的合約代碼漏洞和多次黑客攻擊。故 RGB 意在降低開發中的漏洞風險與審計需求,引入了「合約模式(Schema)」的概念。「合約模式」是智能合約的實際代碼,發行者可以將其用作“合約模板”,無需他們對某個隨機外包商爲其編寫的定制代碼進行編碼或審核。

靈活的可擴展性和良好的互操作性

RGB 合約是通過聲明式的方式定義的,而非命令式編程。這意味着合約的邏輯不是通過一系列命令或步驟定義的,而是通過一套規則來描述其行爲和狀態轉換,是一個狀態變化的有向無環圖(DAG)。而局部狀態操作,則是 Schema 的關鍵所在。RGB 合約中的操作是局部的,而不是全局的。每個節點(或狀態)都有自己的規則,並且只負責自己的狀態轉換。這與以太坊等平台上的全局算法不同,後者要求每個狀態都遵循相同的算法。這一特性使得 RGB 足夠靈活可擴展,同時也兼具良好的互操作性。

簡易的智能合約編寫

Schema 定義了狀態轉換中允許哪些類型的全局和擁有的狀態、密封、元數據。RGB 使用 Contractum 語言來編寫程序 RGB Schemas 和 AluVM(算術邏輯單元虛擬機),從而簡化 RGB 智能合約的編寫。AluVM 基於寄存器設計,不提供隨機內存訪問,非常適合智能合約、遠程代碼執行、分布式和邊緣計算等領域,爲各種高級智能合約的用例提供了基礎。

RGB 如何確保安全和隱私

從 RGB 自身設計上看

  • 非全局廣播的隱私性:上面我們已經提到,RGB 的客戶端驗證意味着驗證過程僅發生在直接涉及的對等點之間,而不是整個網路。這種並非全局廣播的方法增強了隱私性和抗審查性,因爲合約狀態的細節僅對相關參與者可見,礦工也無法看到交易細節。
  • 沙盒環境的數據私有性:另一方面,RGB 將所有操作數據存儲在 stash 中。由於 RGB 不是基於區塊鏈的,存儲不會復制到其他對等節點。由用戶本地控制的存儲減少了外部攻擊和數據泄露的風險,確保了數據的私有性。RGB 是一個計算平台,RGB 將每個程序(“智能合約”)隔離在其沙箱環境中,這比基於區塊鏈的平台提供了更好的可擴展性和安全性。
  • 同樣,鏈下數據也就意味着存在丟失風險。
  • 驗證和存儲以外,發票系統也能確保安全和隱私。RGB 中的合約操作通過創建發票來進行,發票可以包含多種合約操作請求。通過讓用戶明確指定和驗證合約操作,提高了操作的準確性和安全性。同時,發票系統支持在用戶之間私下傳輸合約操作請求,增強交易隱私。通過發票和特定的命令來執行狀態轉移,如代幣轉移。

從與 BTC 交互的層面來看

  • RGB 的設計是與 UTXO 高度綁定的。與 BTC 主網交互過程中,用戶創建鏈下合約來發行 RGB 資產並將它們分配給比特幣的 UTXO,這一點和閃電網絡非常像,隨後在鏈下通過上面介紹的方式進行資產轉移、合約交互和驗證。
  • RGB 受益於 Schnorr 籤名帶來的更好的多籤、基於適配器的籤名協議和點時間鎖合約(PTLC),但它的收益純粹是基於比特幣的收益(即間接的)。RGB 內部沒有任何需要籤名的內容(因此 Schnorr 在內部沒有進行任何更改),也沒有使用比特幣腳本(因此新的 Tapscript 沒有任何用處)。

由 ScaleBit 聯合發起成立的 BTC Security Lab,是一家專門成立的 BTC 安全實驗室,正在致力於研究 RGB 協議的最新進展,旨在保護其合約安全,共同推動 RGB 協議的日益更新壯大及 BTC 生態的基礎設施建設。

RGB 生態項目一覽

  • BiHelix

官網:https://www.bihelix.net/

BiHelix是一個基於比特幣原生區塊鏈,結合RGB協議和閃電網絡構建優化節點的比特幣生態基礎設施。旨在讓開發者更易於使用,增加比特幣的使用場景,並解決了比特幣區塊鏈面臨的可擴展性和圖靈不完備性的挑戰。爲礦工、驗證者、節點服務商、交易所、用戶打造更加公平的去中心化加密世界。作爲第一個基於 RGB 協議構建的基礎設施,BiHelix 將打造下一代比特幣大規模應用場景。目前項目暫未開啓交互,處於研發階段,敬請期待。

項目特點

  • 低用戶門檻

使用 SLR(Security-Lightning-RGB)協議,將RGB和閃電網絡重新封裝,引入閃電節點的創新解決方案,實現全球通用支付。

  • 高可靠性和高可擴展性

採用成熟的雲服務架構,充分利用rust-lightning的特性,以支持通道工廠的功能,高效地管理通道,批量創建通道。

  • 安全和隱私保護

將狀態數據進行鏈下傳輸和存儲,採用遞歸零知識證明等技術令多部分支付和路徑選擇隨機化從而實現隱私保護。

  • 開發者友好

提供完備的開發工具,包括開源的開發文檔、工具等,同時引入Schema社會共識機制,以便開發者可以輕鬆構建應用程序。

  • Iris Wallet

官網:https://play.google.com/store/apps/details?id=com.iriswallet.testnet&pli=1

IRIS Wallet,Bitfinex 團隊開發的第一個 Android 錢包,致力於 RGB 集成和 RGB 相關工具,支持可替代和不可替代資產(fungible and non-fungible assets)。 Iris Wallet 支持從發行到支出和接收的 RGB 資產操作,將所有功能包裝在一個熟悉的錢包應用程序中,並盡可能多地抽象出技術細節。目前這還是一個實驗性應用程序,建議僅用於少量比特幣和低價值資產。

  • DIBA

官網:https://diba.io/

DIBA 是第一個在比特幣上使用 RGB Protocol 的智能合約和閃電網絡的 NFT 市場。它旨在幫助塑造人們對比特幣區塊鏈上非托管藝術資產的理解。

  • Bitmask

官網:https://bitmask.app/

該錢包由 DIBA 創建,是 RGB 生態的首個 NFT 錢包,可在 Web 瀏覽器中運行,並與類似以太坊上的 MetaMask 一樣與 RGB 合約進行交互。目前更新頻繁,等待 V0.11發布。

  • Pandora Prime Inc

官網:https://pandoraprime.ch/

Pandora Prime 是一家位於這是一家總部位於 Verify Valley 的瑞士公司,同時也是 LNP/BP 的創始成員。

Pandora Prime 致力於使用 RGB 智能合約和閃電網絡的結合來開創比特幣金融(Bitcoin Finance)。他們從比特幣上的可編程資產 (RGBTC 和 CHFN )開始,這些資產可以通過閃電網絡在交易吞吐量方面擴展到 VISA/MasterCard 級別,同時提供輕鬆交換這些資產的設施。目前,他們的產品包括 MyCitadel(錢包)、RGB Explorer(瀏覽器)和 Pandora Network 等。

  • MyCitadel

官網:https://mycitadel.io/

MyCitadel 是 Pandora Prime 的一個品牌,MyCitadel 是第一個支持 RGB 的圖形用戶界面錢包,由 RGB 開發人員於 2021 年創建。它提供跨平台桌面錢包和 iOS/iPad 錢包。移動錢包可以處理可替代性的 RGB 資產。

  • RGB Explorer

官網:https://rgbex.io/

RGB Explorer 是由 Pandora Prime 開發的第一個提供 RGB 資產註冊和智能合約的瀏覽器。目前支持 RGB 20、RGB 21、RGB 25 ,可以顯示的資產有 LNPBP、RGBTC、dCHF 和 RGBEX 這四種。

  • Bitlight Labs(舊名 Cosminmart)

官網:https://bitlightlabs.com/

Bitlight Labs 開發基於 RGB 協議的基礎設施,預備在閃電網絡上部署多個應用程序,包括 RGB 實用錢包 Bitlight Wallet 以及在閃電網絡和 RGB 協議上建立 BitcoinFi 自動化做市商的 Bitswap。

    1. RGB Memes& NFT

10.1 PPRGB

X: @PepeRgb20

PPRGB 目前在 Liquid 網路發行,等待RGBV0.11版本後會映射到 rgb上,(RGB v0.11版本也在做和 Liquid 對接相關代碼功能)。

10.2 MRGB 銘文

MRGB銘文是一種基於RGB協議的客戶端狀態驗證和智能合約系統的通證。該通證在比特幣生態系統的第二層和第三層(鏈外)運行,並且將提供開源底層協議代碼,使所有 BRC20 公鏈能夠直接使用該系統。

這一創新將爲BRC20公鏈帶來巨大的潛力,包括降低GAS消耗、加快交易速度以及提升整 體性能。通過採用MRGB系統,BRC20公鏈將能夠更高效地處理交易,並降低用戶的交易成本。與此同時,MRGB 銘文通證還將作爲交易過程中的消耗品,從而增加了BTC的流動性和可擴展性。

10.3 Single-Use-Seal

X: @Single_Use_Seal

海豹 ,是 RGB20 和 RGB21 上 10k PFP 集合、稀有 UDA 和代幣,命名取自 Peter Todd 提出的 Single Use Seal(一次性密封),目前在等待 Bitlight 和 Bitmask 錢包更新 v0.11 RGB 版本,之後會在上面發行。

10.4 Bitman

X: @bitmancity

會在diba上發行 10k UDA,可能是是 wl+public sale,宗旨是“傳遞btc的精神”,項目立意不錯,會發 wl 給 BTC 生態貢獻者,公售大部分捐給 LNP/BP。

BitVM

Why BitVM?

BitVM(Bitcoin Virtual Machine) 引入了一個系統,可以在比特幣區塊鏈上驗證任何計算,並且不會影響其安全性或改變網路。這一發展爲復雜計算(例如圖靈完備的智能合約)打開了大門,所有計算都在鏈外進行處理,以減少比特幣區塊鏈的擁塞。

「簡單概括,BitVM 是一個能在比特幣網路上表達圖靈完備合約的計算模型。」與 RGB 一樣,BitVM 無需修改網路的共識規則。

2023 年 10 月 9 日,區塊鏈開發商 ZeroSync 的聯合創始人 Robin Linus 公布了 BitVM 的白皮書。相比於 RGB,BitVM 年輕許多 。

BitVM 的設計架構

架構

與樂觀 Rollup(Optimistic Rollups)和 MATT 提議(Merkelize All The Things)相似,基於欺詐證明和挑戰-響應協議,不需要改變比特幣的共識規則。BitVM 證明了比特幣在編碼欺詐證明的大型 Taptrees 中是圖靈完備的。

門電路設計

Bit Value Commitment 是最基本的組件,允許提交者設置特定位的值爲“0”或“1”。任何可計算函數都可以表示爲布爾電路,構成邏輯門承諾。通過 NAND 門(通用邏輯門)來構建,每個門都有自己的承諾。通過組合門承諾來表達任何電路。每個執行步驟都在 Tapleaf 中被承諾,並且在同一個 Taproot 地址中組合。

BitVM 利用比特幣的 Taproot 升級,通過創建一個類似於二進制電路的結構(稱爲 taptree)來實現其功能。在這個系統中,每個 UTXO 的花費條件,由 Script 腳本中的指令表示,形成程序的基本單元。這些指令在 Taproot 地址內生成二進制輸出(0或1),從而構建出整個 taptree。taptree 的輸出可以被視作一個二進制電路的運行結果,類似於一個可執行的程序。taptree 能夠執行的程序復雜度取決於組成它的 Taproot 地址的數量和復雜性。簡而言之,BitVM 通過將比特幣的 Script 指令轉化爲二進制操作,實現了在比特幣網路上運行更復雜程序的能力。

參與角色爲兩方

目前模型局限於兩方,目前無法擴充參與者。此外,爲了使 BitVM 正常工作,需要進行大量的預籤名(鏈下計算),這導致 BitVM 實際相當復雜,可能存在效率不足的問題。

欺詐證明與挑戰-響應協議

證明者與挑戰者進行都在一個交易中存入同等數量的 BTC 進行對賭 ( 作爲輸入 ),而這個交易輸出將包含一個邏輯電路。通過在設置階段預籤名一系列交易來實現對於錯誤聲明的反駁。BitVM 被比作 Optimistic Rollups(樂觀卷積),因爲它在鏈外執行大部分計算,並且在出現爭議時將其中一些計算提交到鏈上以解決爭議。

  • 樂觀匯總是一種第 2 層擴展解決方案,它通過將計算和數據存儲移至鏈下來減輕基礎層的負載。然後它捆綁多個交易並將它們發布到主鏈。
  • 樂觀匯總假設所有交易都是有效的。然而,如果網路參與者意識到發生了不誠實行爲,他們可以發起欺詐證明。欺詐證明是某人計算不準確的證據。它們是在檢查後產生的。

鏈下計算

BitVM 上的幾乎所有活動都在鏈外進行。這包括啓動計算任務、共享數據和驗證提交的聲明。BitVM 通常不在比特幣區塊鏈上運行計算。僅當因涉嫌欺詐而存在爭議時,計算活動和驗證才會在鏈上發布。然而,如果存在爭議,爭議程序的一小部分確實在鏈上運行,僅足以找出哪一方不誠實。

有了上述前置知識,我們可以更好地理解 BitVM 兩方互動的具體原理。

BitVM 的兩方互動模型,涉及一個證明者(Prover)和一個驗證者(Verifier)。在這個系統中,證明者首先創建並提交智能合約或程序,隨後將資金發送到一個共同控制的主根地址。這些資金被以 2-of-2 多重籤名的方式保管。證明者還需向驗證者共享足夠的信息,以證明他們的程序能產生承諾的輸出。

驗證者的任務是運行證明者的代碼,並驗證輸出是否符合預期。如果輸出不符合預期,驗證者將對證明者發起挑戰。這一挑戰-響應的交互過程涉及在鏈下的數據交換和預籤名交易的使用,以驗證計算的正確性。

在發現計算錯誤時,驗證者可以通過鏈上的欺詐證明來公開證明者的不誠實行爲。在BitVM系統中,如果證明者的響應被證實是錯誤的,他們將輸掉賭注並喪失資金。相反,如果所有答案都是正確的,證明者將保留他們的資金。這種經濟激勵機制旨在防止不誠實行爲。

最終,這種互動保證了只有在出現爭議時,計算驗證才會轉移到比特幣區塊鏈上,從而在鏈外執行絕大多數計算。這種設計既保持了比特幣網路的高效性,又提供了在比特幣上運行更復雜程序的能力。

BitVM 的安全性

從架構設計角度分析,BitVM 的安全性主要基於以下幾個方面:

欺詐證明(Fraud Proofs)

在發生爭議時,驗證者可以通過欺詐證明來挑戰提出者的錯誤聲明。這種機制類似於 Optimistic Rollups ,不需要改變比特幣的共識規則。

挑戰-響應協議

BitVM 使用挑戰-響應協議,其中提出者和驗證者在協議的設置階段預先籤署一系列交易。這些交易在爭議發生時用於解決問題。

鏈外計算與鏈上確認

BitVM 允許在鏈外執行復雜計算,而只有在出現爭議時,相關的驗證和解決才會在鏈上進行。這種方法減少了鏈上資源的消耗,同時保持了比特幣區塊鏈的完整性和安全性。

存款和懲罰機制

如果提出者作出不正確的聲明,驗證者可以沒收其存款。這種機制確保了攻擊者總是會因爲錯誤的行爲而損失存款。

雙方合約機制

使得 BitVM 上隱私性更佳,降低了交易成本,但是相比 EVM 的多方機制,通用性有所下降。

Nostr 協議

什麼是 Nostr 協議

Nostr 全名爲「Notes and Other Stuff Transmitted by Relays」,直譯爲「中繼器傳輸的筆記與其他內容」。從協議全稱不難看出,這是一個傳輸協議,並且,有中繼器存在,說明這並不是一個 P2P 傳輸協議。Github 代碼更新記錄顯示,這一項目啓動於 2020 年 11 月。該協議旨在創建一個抵制審查的全球社交網絡的最簡單的開放協議, 是一個去中心化的社交協議,它允許用戶創建、發布和訂閱任何類型的內容,而不受任何中心化的平台或機構的控制或幹預。Nostr 的靈感來自於比特幣與閃電網絡,它使用了類似的密碼學和共識機制,以及一種基於事件的數據結構,稱爲 Nostr 網路(Nostr Network)。

Nostr 協議的組成

公私密鑰對

一個公私密鑰對即是一個 Nostr 帳戶。Nostr 帳戶並不基於傳統的用戶名、密碼體系,而是使用類似加密貨幣的公鑰、私鑰體系。爲方便理解,可以把公鑰當成用戶名,把私鑰當成密碼。要注意的是,私鑰一旦丟失無法像密碼那樣可以重置。公鑰以 npub1 爲前綴,私鑰以 nsec1 爲前綴。使用前要確保公鑰、私鑰妥善保存,因爲其一旦丟失無法找回。

客戶端

Nostr 本身只是一種協議,用來在互聯網上發送信息。用戶需要一款客戶端軟件來使用 Nostr 協議。客戶端可以是網頁、桌面軟件或者手機 App。客戶端從中繼器讀取信息,並且將新生成的數據發送給中繼器以便其他客戶端讀取。信息包含籤名,這些籤名可以確保數據由真實的發送方發送。客戶端使用私鑰來創建籤名。第一次使用桌面或者手機客戶端,需要將私鑰存儲其中。通過私鑰可以得到公鑰。如果使用網頁客戶端,不推薦直接將私鑰保存其中,最好使用插件來保存私鑰。

中繼器

可以將中繼器理解爲 Nostr 協議的後端服務器。Nostr 客戶端將信息發送給中繼器,中繼器會(也可能不會)存儲這些信息並將信息廣播給所有與他們相連的客戶端。需要注意的是,中繼器並非一成不變,相反他們會隨着時間的推移變動很大。Nostr 協議依賴中繼器來存儲和檢索數據,如果用戶感覺自己的客戶端速度很慢,那是因爲所連接的中繼器速度慢,可以考慮增加一些其他的中繼器。

NIPs

Nostr 實施標準(A Nostr Implementation Possibilty, 簡稱 NIP),用來規範兼容 Nostr 的中繼器和客戶端軟件,哪些必須、哪些應當、哪些可以實施。「NIP 」是概述 Nostr 協議工作原理的參考文檔。Nostr 是一種去中心化協議,並不被某一個中心化機構所壟斷(比如推特)。這意味着協議的發展方向取決於所有參與者,我們可以建議和倡導變革,並對他人提供的想法提供反饋。作爲協議社區的積極成員,大家對Nostr 網路的後續發展方向都有一定的話語權。主代碼庫中的 NIPs 已經通過,可以通過 pull request 添加新的想法。

以下列舉一下較爲重要的 NIPs:

  • NIP-04: 消息加密,利用 secp256k1 算法來完成 Diffie-Hellman 密鑰交換,點對點加密
  • NIP-05: 映射公鑰到域名,方便記憶,比如作者的公鑰是 npub10jprg9n3ecjlpez0fyg7y7yvpl66drtjv8rv0hfllxpdxhesuwzs4c2kw6,映射到了@NomandJames 這個域名上面
  • NIP-06: 助記詞,和加密貨幣錢包的助記詞類似
  • NIP-13: 工作量證明。此概念的提出早於比特幣的出現,現被廣泛應用在區塊鏈 POW 共識層中,以太坊 whisper 協議中也有應用。它的原理是在客戶端發送消息之前,要先完成一個計算密集型的工作量證明,接受信息的中繼服務器會驗證這個證明的有效性。提供這個證明意味着花費了算力,提高了發送垃圾信息堵塞中繼的門檻。
  • NIP-22: 消息時間戳。告知中繼服務器消息創造的時間,以便中繼選擇性的接收消息。時間戳可以設置爲過去或者未來。
  • NIP-40: 過期時間。告知中繼服務器消息過期的時間,以便中繼刪除。
  • NIP-57: 閃電網絡打賞連結。
  • NIP-65: 中繼服務推薦列表。

事件

事件是 Nostr 上唯一的Object結構。每一個事件結構都有一個類別(kind)。類別用來標記事件的種類(用戶實施了哪種操作或者接收了哪種信息)。

Nostr 協議的運作

Nostr 協議是通過中繼器運作的。這些中繼器允許同一個中繼器上的用戶間互相發送 Json 文件。

將通過下面簡化的圖文舉例,來方便大家理解:

圖表中包含3個中繼器(Relay)和3個用戶(Client)。圖中每一位用戶使用的客戶端都不相同(也不在同一個平台)。

圖表中的讀、寫情況如下:

  • Bob 可以看到 Alice 的所有推文,但無法看到 Mary 的任何推文(Bob甚至不知道 Mary 的存在)。
  • Alice 可以看到 Bob 的所有推文,但無法看到 Mary 的任何推文(Alice也不知道 Mary 的存在)。
  • Mary 可以看到 Bob 和 Alice 的推文。因爲 Mary 只向中繼器3寫入數據,她可以從中繼器2(保存 Bob 和 Alice 的數據)讀取數據。

深入 Nostr 合約

鑑於 Nostr 協議作爲一個非常輕量級的開放協議,爲去中心化的社交媒體平台提供了協議規範,我們試做簡單的協議代碼分析:

該協議的基礎是一個 WebSocket 服務器(稱爲 nostr-relay),它的處理和存儲是一個非常簡單的數據結構,稱爲 Event。它如下所示:

{

“id”: <32-bytes sha256 of the the serialized event data>

“pubkey”: <32-bytes hex-encoded public key of the event creator>,

“created_at”: <unix timestamp in seconds>,

“kind”: <integer>,

“tags”: [

["e", &lt;32-bytes hex of the id of another event>, &lt;recommended relay URL>],

["p", &lt;32-bytes hex of the key>, &lt;recommended relay URL>],

... // other kinds of tags may be included later

]

“content”: <arbitrary string>,

“sig”: <64-bytes signature of the sha256 hash of the serialized event data, which is the same as the “id” field>,

}

事件始終是籤名的(使用 Schnorr 類型籤名),並且它們之中包含可能具有不同語義含義的結構化數據。BIP340 中定義的 Schnorr 類型 XOnlyPubkeys(目前與比特幣 Taproot 一起使用)在整個協議中用作“身分”。

nostr-client 是一個 APP,可以與 nostr-relay 通信,並可以使用訂閱器訂閱任何一組事件。

篩選器表示客戶端感興趣的所有 Nostr 事件集。

客戶無需註冊或創建帳戶,因爲客戶端會使用用戶的公鑰進行標識。每次客戶端連接到中繼時,它都會提交用戶的訂閱篩選器,只要它們已連接,中繼就會將“感興趣的事件”流式傳輸到客戶端。

中繼可以緩存客戶端訂閱,但並非必須如此。客戶端應該在“客戶端”處理所有事情,而中繼可能像石頭一樣愚蠢。

Clients之間不會互相交談。但 Relays 可以。這將允許中繼爲客戶端獲取它沒有的數據,而客戶端可以訂閱其連接的中繼之外的事件。

乍一看,這給人一種 Nostr 作爲協議毫無用處的形象,(爲什麼不直接籤署和轉儲原始 JSON 並讓客戶端弄清楚呢?),但更深入地看,“啞服務器,智能客戶端”模型可以在去中心化協議設計中,發現具有一些巨大優勢的工程。

充分去中心化爲 Nostr 主要特點

Nostr 作爲社交應用的協議層,該協議通過 Relay 傳輸 Notes 和其他 Stuff,不依賴於任何中心化服務器,其充分的去中心化,允許任何 App 應用自由的接入,通過分布式網路提供一個開放且無需許可的社交平台。因此,Nostr 甚至並不爲用戶提供可以直接操作的 C 端產品,而是專注於在協議層實現社交的必要基礎設施。而產品化的能力則由第三方 App 提供。且各款不同 App 之間的用戶,其社交行爲是可互通的。

Nostr 的優勢在於它提供了一種真正的自由和開放的社交網絡,它不受任何中心化的權力或利益的影響或威脅,用戶可以自由地表達自己的觀點和信仰,不用擔心被審查、封禁或取消;內容創作者可以自由地設置自己的激勵模式,不用擔心被剝奪收入或受到不公平的競爭。Nostr 的用戶還可以自由地選擇自己的社交圈子,不用擔心被操縱、誤導或剝奪隱私。

Nostr 與傳統的社交媒體有很大的不同,它還有以下幾個特點和優勢:

去中心化

Nostr 不依賴任何中心化的服務器或平台,而是通過比特幣網路來傳輸和存儲信息。這樣,用戶就不用擔心自己的數據被竊取、審查或刪除,也不用受制於任何第三方的規則或政策。

自主

Nostr 讓用戶自己控制自己的數據和身分,用戶可以自由地選擇自己想要關注和信任的人,也可以自由地表達自己的觀點和想法。用戶不用擔心被封號、屏蔽或降級,也不用忍受廣告或推薦的幹擾。同時對特定用戶的可認證性,使用戶易於識別垃圾信息和機器人信息。

開放

Nostr 是一個開放的協議,任何人都可以參與和貢獻。用戶可以自己開發和使用不同的客戶端,也可以自己搭建和運行節點(node),節點是一種可以轉發和存儲 Nostr 信息的服務器。

用戶還可以自己創建和使用不同的類型(type)和標籤(tag),這些是用於區分和分類 Nostr 信息的元數據。簡潔靈活的事件(Event)格式支持各種類型的發布:社交媒體帖子、長格式內容、富媒體、電子商務等。同時Nostr與閃電網絡相結合,實現了新的[物超所值(value-for-value)、更加公平的商業模式。

Nostr 協議的安全隱患

私鑰管理

Nostr 協議使用公私密鑰對作爲帳戶,用戶需要自己妥善管理私鑰。私鑰一旦丟失,就無法找回。這對於大多數用戶來說可能是一個挑戰,因爲他們可能沒有足夠的技術知識和經驗來安全地管理私鑰。

中繼器選擇

在 Nostr 協議中,用戶需要自己選擇和驗證中繼器。如果用戶選擇了一個不可信或者惡意的中繼器,他們的信息可能會被泄露、篡改或者刪除。

信息傳播

在 Nostr 協議中,用戶發送的信息不會在多個中繼之間傳播。這意味着,如果用戶的信息沒有被足夠多的中繼接收和存儲,那麼他們的信息可能會丟失或者無法被其他用戶看到。

孤島效應加劇

在 Nostr 協議中,中繼器可以自由地選擇是否接收和存儲用戶的信息。這可能導致一些中繼器選擇只接收和存儲他們認爲有價值或者符合他們利益的信息,而忽視或者拒絕其他的信息。

惡意協議擴展

Nostr 協議定義了一些基本的事件類型和功能,但是它也允許客戶端和中繼器選擇性地實現一些額外的功能。這可能導致一些客戶端和中繼器實現了一些不安全或者惡意的功能,從而影響用戶的安全和隱私。

信息處理方面

礙於 Nostr 協議沒有共識層,對於時間戳和 UNIX 時間差距很大的消息,一些中繼並沒有進行處理,這使得客戶端存在利用時間差僞造消息的可能。

Nostr 生態一覽

Nostr 協議主要支持者爲 Twitter 聯合創始人 Jack Dorsey,早在2022 年 12 月,Dorsey 向 Nostr 捐贈了 14.17 個比特幣(約合 245,000 美元),以支持其開發,在他的 X 個人資料上,至今仍高調的顯示着其個人 Nostr 地址,可見其對協議的喜愛。

Damus⚡️:Nostr 協議的主要應用

X:https://twitter.com/damusapp

Damus 是一個支持基於閃電網絡的比特幣小費打賞社交 App,以打賞的方式來取代目前更爲常見的「Like」或點讚,而閃電網絡的低費率也讓打賞的網路成本低到可以幾乎忽略不計。

Nostr 協議的應用除了 Damus 之外,還有通訊工具 Anigma、文本共享工具 Sendtr、在線下棋小遊戲 Jeste 等。

TGFB:Nostr 協議的主要合作媒體

官網:https://tgfb.com/

TGFB 是一個基督教的比特幣教育平台,它的目標是教育和裝備基督徒理解比特幣,並用它來宣傳上帝榮耀和造福全人類。

其中很大一部分板塊是留給Nostr協議的內容宣傳播客,由 Jon 和 Jordan 主持,從基督教的角度探討 Nostr 這個去中心化的社交協議的內涵和外延。作爲歐美乃至全球都傳教甚廣的基督教,與美國全民皆知,且sec通過了etf的Bitcoin,加上基於用戶體量龐大的閃電網絡之上建立的Nostr社交協議,三者結合,將帶來一大批Nostr協議的擁護者和支持者,這無疑對Nostr協議生態的發展起到絕佳的推動作用。

Nostr 衍生協議

Nostr + Taproot assets

Nostr Assets Protocol 是一個開源協議,它將 Taproot 資產和以 Satoshis (Sats,聰)爲單位的原生比特幣支付引入 Nostr 生態系統,同時該協議支持與包括閃電網絡和 Taproot 資產在內的其他支付協議進行交互。

用戶一旦引入資產,就可以使用 Nostr 的公鑰和私鑰在 Nostr 協議層發送和接收它們。而資產的結算和安全仍然依賴於閃電網絡,畢竟 Nostr 資產協議本身並不發行資產,只是通過協議將資產引入 Nostr 資產平台。

Nostr Assets 通過用 Nostr 消息來控制(托管)錢包,即幫助用戶更好的進行轉帳/交易等基礎功能,建立在 Nostr 的技術之上,但是跟 Nostr 是兩個完全不同的協議。

Nostr Assets Protocol 的全托管服務是指用戶將自己的比特幣或其他資產存入一個由 Nostr Assets Protocol 控制的錢包,然後通過 Nostr 消息來發送指令,進行代幣的部署、鑄造和轉移。

需要注意的是,全托管服務存在一定的爭議:Nostr Assets Protocol 的托管錢包可能存在安全風險,用戶無法完全控制自己的資產,如果平台被黑客攻擊或者跑路,用戶可能會損失所有的資產。

同時,Nostr 在10月30日上線後資產充值人數較多,多次出現網站關停維護的情況,引發了用戶對其團隊背景、項目可靠性的質疑。11月8日,Nostr Assets Protocol 官方帳號在一篇推文下回復了中文評論,目前部分用戶對該項目方的真實身分和靠譜程度存疑。 而 Nostr 官方也一直對該 拓展協議中跟協議同名的 Token 持極爲強烈的反對態度。

Nostr + Inscription

Noscription 是一個基於 Nostr 的實驗性代幣協議,它允許用戶在 Nostr 上創建和交易類似於 brc-20 的代幣,而非類似Taproot assets的代幣。

三者對比

協議落地

BitVM 對於計算能力提出極高要求,目前僅有理論可執行性。商業落地方面 RGB 更勝一籌,且已經有很多應用。(RGB 的技術組織 LNP/BP 中開發人員很少且非盈利,開發進度緩慢)。Nostr礙於Socialfi通用的瓶頸同樣未能進一步推進協議應用生態。

隱私保護

RGB 和 BitVM 都是鏈下計算,但是 RGB 協議意味着第三方無法跟蹤 RGB 資產在區塊鏈上的歷史,只有當用戶收到資產時,才會了解資產的歷史。這點 BitVM 無法做到。Nostr協議作爲社交協議,傳播信息的中繼器具有極高未知性,可能出現信息泄露,閉塞,丟失等問題,以及利用漏洞惡意篡改的惡劣行爲

BTC 原生性

RGB 和 BitVM 都不需要對比特幣進行協議更改;Nostr則建立在原生閃電網絡的基礎上,原生性都相對較好,開發體驗絲滑

協議的安全性

RGB 協議在鏈下執行,沙盒環境保證了數據的安全。發票系統也從設計上保證了數據的安全。與 BTC 交互層面來看,使用類似於閃電網絡的模式進行資產發行。

BitVM 採用 Rollup 的模式,同樣是數據鏈下執行。虛擬機的特性加上欺詐證明與挑戰-響應模式確保了 BitVM 的安全。

Nostr 採用中繼器的模式,中繼器間信息傳遞的巧妙設計加上加密算法,使得 Nostr 協議中的信息足夠安全。

在Web3行業中,目前並沒有一家專門關注比特幣生態安全的實驗室。BTC Security Lab 的成立填補了這一空白,爲比特幣生態提供了專業的安全支持與研究。ScaleBit 與 BiHelix 希望能夠引領比特幣生態安全賽道,爲整個行業樹立安全標準,推動生態系統的健康發展。

生態與商業化

Nostr 協議作爲社交協議,其用戶體量和流量熱度能超過 Bit VM和 RGB 協議二者,其生態的協議拓展和應用商業化相對剩餘二者更加完善。

RGB 協議發布已久,目前生態項目也比較多,很多都處於等待 RGB V0.11 發布的狀態。

BitVM 白皮書發布距今只有幾個月,目前生態還沒有建立。

三者協議未來會應運而生諸多Socialfi、GameFi、DeFi 領域的 Dapp,爲 BTC 生態帶來新一波的熱度。

特別感謝 Ausdin.eth, 0xLayman, Echo, Venus 對本次報告作出的貢獻。

聲明:

  1. 本文轉載自[chaincatcher],著作權歸屬原作者[浙大鏈協,BiHelix,ScaleBit & BTC Security Lab],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!