無論銘文還是符文,這些創新的資產發行方式已經非常成熟,從部署到 mint 、轉賬等平臺和工具也十分全面,而流動性一直以來最想解決的問題,目前除了已經上所的銘文符文代幣外,其他的都還是隻可以在 UniSat 、 OKX 以及 MagicEden 等平臺進行訂單簿式進行購買或者銷售,只可以買賣固定數量的代幣,同時如果想購買多個,則需要多筆交易費用。 如果之後這些代幣需要有更多的應用場景,Swap 則是最需要先解決的技術。

什麼是 BRC-20 Swap

BRC-20 Swap 是 UniSat 推出的新產品,旨在無需中間商的情況下,讓用戶能夠快速輕鬆地交換 BRC-20 代幣。從2023年10月到2024年5月,UniSat 持續推動 BRC-20 Swap 的發展。2023年10月,UniSat 宣佈了BRC-20 Swap 的發佈時間表,並在主網上線初期支持的初始可用資產。2024年4月,在比特幣減半期間,UniSat 更新了BRC-20 Swap 並推進了標準化工作。到2024年5月,UniSat 宣佈 BRC-20 Swap 的標準化狀態更新已經開源,並定義了相關規範。

BRC20 的主要維護者 @unisat_wallet 和 @bestinslotxyz 在6月6日與 @domodata 和 @isabelfoxenduke 一起討論新的 BRC20 “Swap 模塊” 升級,該升級將使得在 BRC20 協議內創建流動性池成爲可能。相信很快我們就可以看到這個功能產品的出現了。

技術詳情

BRC-20 Swap 是一個基於 AMM 的 DEX,它使用 x * y = k 公式來維持流動性池中兩種代幣的平衡。在該平臺上,交易者不需要等待對手方,而是與流動性池進行交易,並根據預設的數學公式獲得計算出的價格。和 DeFi 中的 AMM 基礎概念一樣,slippage 滑點是指實際交易價格與預期或報價價格之間的差異,通常在市場波動性高或流動性低時發生。不平衡的交易可能導致交易成本高於或低於預期。

每次交易都會收取 0.3% 的交易費用,其中 1/6 歸平臺所有,剩餘部分歸 LPs。LP 代幣代表池中資產的份額,隨着池中費用的積累,LP 代幣背後的 BRC-20 資產價值會自動增長,但需要考慮暫時性損失對盈利性的影響。

用戶餘額分爲三類:BRC-20 餘額、模塊餘額(module balance)和授權餘額(approved balance)。其定義了一組操作碼(OPs)來促進這些類別之間的餘額轉移。

  • deposit 允許用戶將BRC-20餘額轉移到批准餘額。

  • approve 和 conditional-approve 允許用戶將模塊餘額轉移到批准餘額。

  • withdraw 允許用戶將模塊餘額提取到BRC-20餘額。

一旦用戶的餘額進入授權餘額,他們就可以執行交換操作,這些操作將通過一個提交操作由排序器執行。其定義了一組子操作碼(Sub-OPs),允許用戶創建和操作交易對,包括 DeployPool、AddLiquidity、RemoveLiquidity 和 Swap。由於排序器負責最終的腳本生成和鏈上執行,排序器將對每個子操作碼收取一定數量的 sats 以覆蓋其成本。

UniSat 的模塊化提案

模塊化機制提供了一種新的方式,在現有的 BRC-20 框架內支持各種基於銘文的應用。模塊之間獨立運行,每個 Indexer 只需要解析與自己感興趣的模塊相關的數據,同時仍保持與其他 Indexer 的BRC-20 平衡一致性。BRC-20 的模塊化擴展是通過以下方式實現的:

無許可開發:開發 BRC-20 的新模塊是一個無需許可的過程,新模塊作爲黑模塊開始,天然與核心協議及其他模塊分離。

隔離執行:如果任何模塊的實現出現問題,黑模塊之間的隔離確保它不會影響核心協議和其他模塊的運行。

共識升級:當大多數索引器認可並實現對某個特定模塊的索引時,該模塊可以轉變爲白模塊,成爲 BRC-20 協議的自然組成部分。

黑模塊:模塊作爲黑箱

當一個模塊是黑模塊時,模塊化擴展模型存在一個缺點,即無法實現自由提取,如下圖所示:

這是因爲當一個模塊作爲黑模塊運行時,主要的索引器不承認其操作的可靠性。對其來說,這個模塊是一個黑箱,其內部狀態不被認爲是有效的 BRC-20 狀態。因此,計算的餘額不被視爲有效的 BRC-20 餘額,該模塊內的資產不能自由提取到 BRC-20。

如果黑模塊可以任意擴展 BRC-20 協議,開發者可能會創建類似 BRC-20 的 100x 的模塊,允許用戶接收存款金額的一百倍。例如,如果你存入 5 個 $ordi,你將收到 500 個 $ordi,這樣的無限制通脹對於核心 BRC-20 協議來說是不可接受的。因此所有未經驗證的黑模塊及其內部機制都被視爲不可信任的。

白模塊:共識升級

當一個模塊在現實世界中被執行後,其行爲逐漸變得可靠。隨着更多索引器逐漸接受該模塊的行爲,它最終被認爲是可靠的,並轉變爲白模塊,成爲升級共識的一部分。轉換爲白模塊意味着其計算的餘額被廣泛認可,並可以與 BRC-20 主網絡安全地交互。也就是說用戶可以安全、自由且隨時地提現到 BRC-20 主網絡(如圖所示)。黑模塊和白模塊的根本區別在於是否允許用戶自由提取。

從黑模塊中提取資產

從功能角度來看,只允許存款而不允許提現的系統是不可接受的。受到了 UniSat Marketplace 活動中匹配機制的啓發。動態匹配用戶 A 的提現請求和用戶 B 的存款請求,使系統能夠利用存款交易來滿足提現需求。該過程如下圖所示:

用戶 A 提出 80 個 $ordi 的提現請求,而用戶 B 提出 20 個 $ordi 的存款請求。此時,系統動態匹配他們的需求,使用用戶 B 的 20 個 $ordi 存款來滿足用戶 A 的部分提現請求(20/80)。用戶 B 可以繼續等待其他用戶的存款以實現更多的提現。

去中心化

在 BRC-20 開發的早期階段,UniSat 爲用戶提供了完整的交易和餘額查詢索引服務,這引發了中心化擔憂:如果系統依賴 UniSat 進行規則解釋和執行,UniSat 是否會擁有某種形式的集中權力,可能導致 BRC-20 協議被單一開發團隊控制?關於這個問題,有三個層面的理解:

非強制性:索引主要涉及對鏈上數據的分析和組織,使其更易於被用戶理解,並依賴於協議的預定義規則。它操作的是不可變數據,無法更改過去的交易。UniSat 的索引和執行代碼是開源的,任何人都可以檢查它以確保其符合 BRC-20 規則。

競爭和穩健性:隨着多個索引服務提供商的出現,增加了可靠性。一個索引提供商的結果錯誤更容易被其他提供商識別出來。如果任何一個索引器停止運行,不會影響整體結果。實際上,即使所有索引器都停止工作,brc-20 也能繼續穩健運行,用戶仍然可以照常 DEPLOY / MINT / TRANSFER。沒有關鍵操作僅僅依賴於索引支持。

治理和共識:鑑於多個索引器參與系統,實施的模塊機制允許不同的服務提供商有效學習如何以可管理的方式治理和擴展 brc-20 協議。

在模塊架構中,服務提供商索引數據的門檻進一步降低。過去,索引器需要準確處理所有網絡交易才能被視爲有效索引器。現在,只需要在他們自己的黑模塊中索引數據即可開始提供索引服務,這比處理網絡上所有 brc-20 數據所需的努力要少得多。因此,隨着模塊的廣泛採用,預計索引數量將顯著增加,一些服務可能逐漸演變爲提供全面的數據索引。

最近 UniSat 的空投第一個五字符的 BRC-20 銘文 $pizza 在市場上引起了fomo 情緒,可能會對整個銘文市場有着促進的作用,期待之後 Swap 功能板塊的上線,使比特幣生態更加繁榮和有着更多的應用場景。