原文作者:Haotian(X:@tmel0211)

如何理解「圖幣二象性」創新代幣@Pandora_ERC 404 ?其讓FT 和NFT 有共生關係,以此解決NFT 流動性差的難題。從技術角度來看,讓FT 和NFT 兩種原生矛盾Token 能被混合應用,新奇又有趣。
ERC 404 標準有啥創新之處?是資產發行新範式嗎?結合@SmartLayer 的TokenScript 會有妙用?接下來,我談談我的理解:
首先,需要說明ERC 404 目前只是一個Experiment 實驗性標準,並沒有納入正式的以太坊EIP 提案。 Pandora 是基於此新實驗標準創建的首個代幣。ERC 404 目標要解決原先ERC 20 同質化代幣標準,和ERC 721 非同質化代幣標準二者水火不相融的問題。
舉個例子,用戶同時持有FT 代幣和NFT 代幣,當用戶選擇要賣出NFT 代幣時,合約如何判斷用戶的意圖是賣出NFT 而非FT,即使判斷對了,合約如何在儲存數據狀態區分更新不同的資料狀態而不出錯?是不是,很抽象?
通俗來說,智慧合約在ERC 20 代幣標準下,只需要管理代幣的餘額狀態就行,增加和減少餘額的儲存數據邏輯簡單清晰,若讓智慧合約在ERC 721 代幣標準下管理狀態餘額也很簡單,Transfer 指向哪個Token ID 就增減哪一個NFT。
現在要讓智慧合約同時處理ERC 20 和ERC 721 就麻煩了:
合約先判斷用戶Transfer 呼叫的是FT 還是NFT,此外要改變NFT 狀態時還要判斷到底選擇哪個Token ID,由於Uniswap 等這類智慧合約並無法直接處理NFT 交易,還需要在FT 和NFT 之間建立一層Mapping 映射對應關係,進而實現交易FT 的同時也完成了NFT 的交易。
ERC 404 (實驗)標準的核心黑科技就在於此,它透過有損編碼方案讓ERC 20 代幣的數量和ERC 721 代幣的唯一ID 能夠在合約儲存中使用相同的資料結構,同時又能維持它們的區分和獨立性。
例如,假設你有2.9 個魔法豆(ERC 20),同時又擁有2 個魔法卡(ERC 721 ,ID 101 和ID 102),有損編碼要同時管理兩種類型的數據,可以直接把魔法豆的數量2.9 作為一個資料整體存儲,同時可以給魔法卡的ID 號加一個特殊的標記,例如1000000000000 ,這個標記甚至遠超Token 的Supply,這樣合約在調用數據時很容易區分開ERC 20 和ERC 721 了。
完成這一步後,要有效管理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,嚴格來說這其實算ERC 404 實驗標準的一個「缺陷」。
但技術遇上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 目標要實現的功能。
關於Smart Layer,其實和ERC 404 並沒關係,只不過ERC 404 目標要讓代幣具有對應NFT 圖片的基礎功能,而Smart Layer 則是一套融合了ERC-5169 和TokenScript 的標準,本質上是要達成FT 代幣的可編程執行屬性。兩者在能力層面不謀而合,後者還要更複雜。
簡單來說:TokenScript 是一個開源框架,旨在為數字代幣提供標準化的方式來定義代幣的行為和互動邏輯,代幣發行者可以為其代幣設計一套可編程的前端。
例如,在ERC 404 場景下,用戶可以基於Smart Layer 的前端選擇優先銷毀哪個NFT,給稀有NFT 標記避免被銷毀等個性化功能,又例如在更廣泛的遊戲場景下,可以餵養、撫摸自己錢包中的NFT 寵物,為其NFT 增加升級、迭代等屬性。
原本我在研究Smart Layer 所做的事情時,一些可編程代幣,智能代幣,Token 外接可執行腳本等等概念著實燒腦上頭,當看到ERC 404 標準代幣的出現時,有種豁然開朗的感覺,ERC 404 實驗狀態中最後一環的NFT 區分問題,不正可以用Smart Layer 的這套智慧代幣前端解決嗎?
讀完有沒有,「一文雙吃」的感覺,既大致明白了Token 404 標準下的Pandora,又深刻認識了即將TGE 的Smart Layer。
事實證明,圍繞資產發行的創新每一次都會產生相當長時間的敘事發酵效應,無論是比特幣生態的銘文,還是這次以太坊生態的混合標準代幣或可編程代幣,在我看來都會持續衍生出形形色色的創新和玩法。
我不確定ERC 404 的下一步會怎麼演變,以及會不會和Smart Layer 互通有無產生一些創新火花,但這種把原先水火不容的Token 標準放置到一套智能合約下的管理辦法,確確實實稱得上是資產發行典範創新。
Note:ERC 404 標準還處於實驗階段,可能還會存在不少邏輯迭代,本文僅做科普幫助大家初步理解,不作為該類技術標準的最終解釋內容。更多內容,我會進一步跟進分析。


