如何理解「圖幣二象性」創新代幣 @Pandora_ERC404? 其讓 FT 和 NFT 擁有共生關係,以此來解決 NFT 流動性差的難題。

作者:Haotian

如何理解「圖幣二象性」創新代幣 @Pandora_ERC404? 其讓 FT 和 NFT 擁有共生關係,以此來解決 NFT 流動性差的難題。 技術角度看,讓 FT 和 NFT 兩種原生矛盾 Token 能被混合應用,新奇且有趣。

ERC404 標準有啥創新之處? 是一次資產發行新範式嗎? 結合 @SmartLayer 的 TokenScript 會有妙用? 接下來,我談談我的理解:

首先,需要說明 ERC404 目前只是一個 Experiment 實驗性標準,並沒有納入正式的乙太坊 EIP 提案。 Pandora 是基於該新實驗標準創建的首個代幣。 ERC404 目標要解決原先 ERC20 同質化代幣標準,和 ERC721 非同質化代幣標準二者水火不相融的問題。

舉個例子,用戶同時持有 FT 代幣 和 NFT 代幣,當使用者選擇要賣出 NFT 代幣時,合約如何判斷使用者的意圖是賣 NFT 而非 FT,即使判斷對了,合約如何在存儲數據狀態區分更新不同的數據狀態而不出錯?  是不是,很抽象?

通俗來說,智能合約在 ERC20 代幣標準下,只需要管理代幣的餘額狀態就行,增加和減少餘額的存儲數據邏輯簡單清晰,若讓智慧合約在 ERC721 代幣標準下管理狀態餘額也很簡單,Transfer 指向哪個 Token ID 就增減哪個 NFT。

現在要讓智慧合約同時處理 ERC20 和 ERC721 就麻煩了:

合約先要判斷使用者 Transfer 調用的是 FT 還是 NFT,此外要改變 NFT 狀態時還得判斷到底選擇哪個 Token ID,由於 Uniswap 等這類智慧合約並無法直接處理 NFT 交易,還需要給 FT 和 NFT 之間建立一層 Mapping 映射對應關係,進而實現交易 FT 的同時也完成了 NFT 的交易。

ERC404(實驗)標準的核心黑科技就在於此,它通過有損編碼方案讓 ERC20 代幣的數量和 ERC721 代幣的唯一 ID 能夠在合約存儲中使用相同的數據結構,同時又能保持它們的區分和獨立性。

比如,假設你有 2.9 個魔法豆(ERC20),同時又擁有 2 個魔法卡(ERC721,ID 101 和 ID 102),有損編碼要同時管理兩種類型的數據,可以直接把魔法豆的數量 2.9 作為一個數據整體存儲,同時可以給魔法卡的 ID 號加一個特殊的標記,比如 10000000000000,這個標記甚至遠超 Token 的 Supply, 這樣合約在調用數據時很容易區分開 ERC20 和 ERC721 了。

完成這一步後,要有效管理 FT 和 NFT 的共生關係需要給合約編寫一套 Mapping 邏輯關係,比如,你有 1 個 FT 代幣,合約會自動向你 mint 一個 NFT,當你持有 2 個 FT 代幣時,合約再自動增發 1 個 NFT,但當你 FT 餘額不足 1 個時合約會將你的 NFT 銷毀掉。 這一套對應關係不難理解。

那麼,如何實現讓 NFT 代幣在 Uniswap 這種只支援 FT 代幣的協定中交易呢? 答案:利用 Mapping 對應關係。 讓 Uniswap 正常處理 FT 代幣就好,NFT 代幣自動會跟隨轉變歸屬狀態。  比如,你想賣掉 NFT 代幣,可直接把 FT 代幣賣掉,合約會自動記錄你錢包裡的 FT 減少了 1 個,並銷毀掉你錢包里的一個 NFT。

細心的朋友應該發現問題了,若使用者持有 2.9 個 FT 代幣,和 2 個 NFT 代幣,當使用者賣掉 1 個 FT 後,合約該銷毀兩個 NFT 當中的哪個呢?  這其實是個相當複雜的問題,因為合約無法判定賣掉的部分到底是哪個 FT 代幣,也就無法對應其相應的 NFT,嚴格來說這其實算 ERC404 實驗標準的一個 “缺陷”。

但技術遇上 Tokenomics 產生了神奇的化學反應。

一個討巧的方法是,設計一套 NFT 稀有刷新機制,鼓勵使用者不停將疊加的 FT 代幣進行轉移,每轉移 1 次 FT 就相當於實現了一次 NFT 代幣的銷毀和新增發操作,也就等同於刷新了一次稀有度,這樣使用者就傾向於把 FT 代幣分開,然後以此來避免稀有 NFT 被銷毀,同時又能刷新新 NFT 稀有度。

你看,原本是一個技術邏輯 Bug,通過一層稀有度的運營設計,還真的可以有效化解。  當然,使用者如果非要較真,要在一個錢包內疊加多個 FT 代幣,而且又要讓已有的 NFT 代幣根據自己意願(非隨機)銷毀,怎麼做呢?

現有做法有兩種,1)根據 Token ID 順序執行,很可能把稀有特性的 NFT 被銷毀掉; 2)指定 Burn 接近 floor price 的 NFT,不過這其實是一層鏈外邏輯,很可能會因 oracle 喂價延遲問題導致銷毀非意願。 而且那個 NFT 接近地板價其實也要使用者提前掛單來定義,相當於又接入了 NFT 市場的數據。

與其這樣複雜,還不如直接讓使用者在錢包端編輯並選擇。  那就必須得引入一種為 FT 代幣實現可程式設計前端的 TokenScript 方案,這樣使用者可以在錢包端自主選擇當交易 FT 代幣的時候,優先銷毀哪個 NFT 代幣,保留哪個稀有度的 NFT 代幣,也正是我開篇提到的 @SmartLayer 目標要實現的功能。

關於 Smartlayer,其實和 ERC404 並沒關係,只不過 ERC404 目標要讓代幣具有對應 NFT 圖片的基礎功能,而 Smartlayer 則是一套融合了 ERC-5169 和 TokenScript 的標準,本質上是要達成 FT 代幣的可程式設計執行屬性。 兩者在能力層面不謀而合,後者還要更複雜一些。

簡單來說:TokenScript 是一個開源框架,旨在為數位代幣提供標準化的方式來定義代幣的行為和交互邏輯,代幣發行者可以為其代幣設計一套可程式設計的前端。  比如,在 ERC404 場景下,使用者可以基於 Smartlayer 的前端選擇優先銷毀哪個 NFT,給稀有 NFT 標記避免被銷毀等個人化功能,又比如在更廣泛的遊戲場景下,可以餵養、撫摸自己錢包中的 NFT 寵物,為其 NFT 增加升級、反覆運算等屬性。

原本我在研究 Smartlayer 所做的事情時,一些可程式設計代幣,智慧代幣,Token 外接可執行腳本等等概念著實燒腦上頭,當看到 ERC404 標準代幣的出現時,有種豁然開朗的感覺,ERC404 實驗狀態中最後一環的 NFT 區分問題,不正可以用 Smartlayer 的這套智慧代幣前端解決嗎?

以上

讀完有沒有,“一文雙吃” 的感覺,既大致明白了 Token404 標準下的 Pandora,又深刻認識了即將 TGE 的 Smartlayer。

事實證明,圍繞資產發行的創新每一次都會產生相當長時間的敘事發酵效應,無論是比特幣生態的銘文,還是這次乙太坊生態的混合標準代幣或可程式設計代幣,在我看來都會持續衍生出形形色色的創新和玩法。  我不確定 ERC404 的下一步會怎麼演變,以及會不會和 Smartlayer 互通有無產生一些創新火花,但這種把原先水火不容的 Token 標準放置到一套智能合約下的管理辦法,確確實實稱得上是一次資產發行範式創新。

Note:ERC404 標準還處於實驗階段,可能還會存在不少邏輯反覆運算,本文僅做科普説明大家初步理解,不作為該類技術標準的最終解釋內容。 更多內容,我會進一步跟進分析。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。