為什麼說索引才是銘文的共識層?
作者: 0xmiddle
玩銘文的朋友,肯定經常聽到「索引」這個詞。無論是項目方,還是技術大佬,在銘文語境中,都經常用到這個詞。它到底是什麼呢?為什麼銘文的存在,除了依賴區塊鏈,還會依賴索引?
我們要理解的是,銘文的本質是把區塊鏈當硬碟,在原有的交易數據的「備註」字段去存儲一個新的帳本,從而實現代幣的發行。這個帳本並不會被區塊鏈本身驗證和計算。
如果有人 transfer 一筆自己本不擁有的資產,或者 mint 已經被鑄造完的代幣,這道銘文依舊會上鏈,但它是無效的。也就是說,銘文在區塊鏈上存儲的是一個「髒帳本」,裡面同時存在有效數據和無效數據。
那麼誰來負責甄別有效數據,並計算每個人的餘額呢?這就是「索引」幹的事情。當然,索引必須根據一套已形成社會共識的規則來做這件事。對於銘文而言,區塊鏈只是 DA 層,索引才是真正的共識層。
如果索引分叉,那麼共識就會分叉,銘文就會分叉。如果各錢包、瀏覽器、交易市場等索引服務者在索引升級時沒有很好地協調,或者對索引規則存在分歧,這種情況會出現。
比特幣 BRC20 銘文已多次出現這種情況。去年10月份,有用戶發現,各大交易所運行著不同版本的 Ordinals 索引器,有的銘文在較新的 v0.9.0中會被索引,在更早的版本中則不會,導致了同一賬戶的餘額在不同客戶端顯示不一致。後經協調,各方決定以 v0.9.0 為準,且凍結後續升級。
然而今年 1月份,風波再起,最大的 BRC20 錢包服務商 Unisat 宣布單方面更新索引器,市場上再度出現兩種索引規則。對此事件,社區分化出不同派別,有反對升級的凍結派,有支持穩健升級的升級派,也有支持分叉的共存派。後續會如何,猶未可知。
現在我們理解了,索引是銘文的共識層。而且這種共識更多是一種社會共識。社會共識不一定不牢固,但在升級過程中,往往會經歷較長時間的拉扯和混亂,才能形成某種程度的"最終確定性"。而這種混亂可能會給用戶帶來資產的損失。
我們有沒有辦法,把社會共識轉化為鏈上共識呢?直覺上似乎沒有,因為任何銘文都沒有辦法要求其依託的公鏈去驗證銘文的有效性。但我們似乎可以另辟蹊徑:如果把索引規則也放到鏈上呢?例如我們把 Ordinals 協議當前的共識版本放到比特幣鏈上?
如果這麼做,鏈上就會存在一份唯一有效的索引規則,任何人都可以基於鏈上數據和鏈上規則,運行出有效的、一致的最終狀態。當然,這樣也不能完全杜絕分叉,不同利益方還是可以上傳不同版本的索引。但這種形式最起碼會成為一種更有效的協調和確認機制,避免社會共識形成過程中的混亂。
這種形式的最早提出者是永久存儲服務商 Arweave,該模式被稱為存儲共識範式,即 Storage-Based Consense Paradim (SCP),據稱,Arweave 鏈上首個銘文項目 $ARIS,將採用該機制,將索引上傳到 Arweave,成為首個「純鏈上共識」的銘文。
筆者認為, SCP 範式的潛力,絕不止於銘文。它事實上創造了一種區別於 Rollup 的全新 L2 模型。
這種模型比 L2 更加靈活,它不需要一定是鏈的形態,它可以是任何形態,對於 Web2 服務而言,可以通過 SCP 的方式,直接的切換成 Web3 服務,獲得抗審查、不可篡改等特性。另外,相比 Rollup 模型,SCP 在擴容上的效果更佳顯著,可以達到 Web2 級別的資源效率。
目前看來,SCP 範式在理論上是 Web2 應用向 Web3 大規模遷移的最佳路徑。筆者看好 $ARIS 正在實踐的「純鏈上共識銘文」,它代表著銘文範式的轉換。同時,筆者看好 SCP 的前景,期待 SCP 範式能被更多開發者落地實踐,將更多形式的應用帶到 Web3 生態中來。