跳到主要內容

NFT 與其廣大宇宙的六大關係

Robert Mao (Chief Architect and CEO of ArcBlock)
DIDNFT StudioVerifiable Credential

作者:Robert Mao(ArcBlock 首席架構師暨執行長)

NFT 經歷了漫長的發展過程,才成為一項「新事物」。

雖然 NFT(Non-Fungible Token)最近才開始「爆紅」,但 NFT 其實並不是新概念。早在「Colored Coin」時代,類似 NFT 的早期應用與嘗試就已出現。人們透過「Colored Coin」技術在 Bitcoin 網路上發行新資產、產生類似股權憑證的紀錄,也有技術玩家把圖片等資訊儲存在 Bitcoin 資料中。這些都可視為 NFT 在「遠古」時代的雛形。

早在 2017 年 ArcBlock 專案剛成形時,第一個真正讓 NFT 進入大眾視野的 CryptoKitties,就曾造成 Ethereum 網路嚴重壅塞。一方面,人們驚訝於一款介於卡通收藏與養成遊戲之間的簡單「加密遊戲」,竟能引發如此高的關注;另一方面,人們更驚訝的是,立志成為「世界電腦」的 Ethereum,竟會被一款簡單遊戲嚴重拖慢,幾乎到了無法使用的程度。正因 CryptoKitties 對 Ethereum 的衝擊,我們在 2017 年底發布的 ArcBlock Whitepaper 中,特別指出區塊鏈產業普遍存在的問題,並以 CryptoKitties 說明 ArcBlock 平台致力解決的其中一項問題。

成立於 2017 年的 OpenSea,最近隨著 NFT 熱潮迅速走紅,成為至今最大的 NFT 交易平台;但事實上,他們早已在 NFT 交易領域默默耕耘多年。我很喜歡 OpenSea 為自己取的名字,它象徵 NFT 如星辰大海般,蘊含無限可能與包容性。

任何創新技術,從首次出現、迭代升級,到開始讓大眾感到「驚豔」或「眼前一亮」,往往需要多年時間。若從 Colored Coin 時代算起,NFT 已走過 8 年;即使從 CryptoKitties 首次進入主流算起,也已是第 5 年。NFT 是一套綜合性的技術與產品,目前仍處於探索與創新的早期階段,未來將迎來快速躍進。

NFT 與去中心化應用,以及熱門的 Web3.0 生態系有何關係?

NFT 的應用情境遠不只數位藝術品與收藏品;事實上,它擁有無限可能。

熟悉 ArcBlock 的朋友都知道,我們去年舉辦的 Developer conference 已使用 NFT 作為大會門票,並以 NFT 發放各項活動與駭客松獎項的徽章。在 DevCon 2020 上,我們也展示了 NFT 在各種應用中的可能性,包括用 NFT 兌換我們親筆簽名的實體書《Blockchain Battle: From Technological Innovation to Business Models》。

除了實用性之外,我們的 NFT 徽章也是數位藝術家運用雜湊計算方法生成的多層次藝術作品。每個人的紀念徽章都獨一無二,駭客松紀念徽章不僅各自唯一,還能將多枚組合。我們今年 6 月舉辦的 DevCon 2021,也將展示更多形式的 NFT 應用。

NFT 的應用情境遠遠不只如此。在 ArcBlock 的設計中,使用者在服務上的帳號與資料、節點或軟體的所有權、軟體著作權與授權等,全都是 NFT。我們的設計將去中心化身分(DID)、可驗證憑證(VC)與 NFT 結合,形成強大的應用能力,能為現實世界中的大量事物與應用流程建模,讓區塊鏈更有效地處理更多實際問題。

我們始終相信,大多數區塊鏈應用本質上都是 Token 的應用(NFT、FT 或兩者的組合)。失去 Token,區塊鏈也會失去許多意義。所幸,「無幣區塊鏈」的概念最近幾乎已無人理會,由 Token 應用帶來的繁榮時代即將到來。

在去中心化應用(DApps)與日益熱門的 Web 3.0 概念中,去中心化身分、由使用者掌控的資料,以及去中心化的服務部署,是實現去中心化願景的關鍵技術;而 NFT 非常適合作為落實這些技術細節的機制。我們最近發布的文章〈NFT 的偉大實驗:數位資產的所有權才剛開始〉指出,NFT 讓區塊鏈介入現實世界的所有權與驗證變得可行且標準化,有興趣的讀者可由此進一步了解。

NFT 是否完全存在於區塊鏈上?

許多人接觸 NFT 時可能沒有意識到,雖然目前有部分資料位於鏈上,但大多數實際資料仍在鏈下。

目前的 NFT 大多分為鏈上與鏈下兩部分。鏈下部分通常是 NFT 的資料,而 Ethereum 上的鏈上部分通常只用來記錄 NFT 的所有權。雖然 CryptoPunk 等早期 NFT 曾嘗試把所有資料都放上區塊鏈,但目前的最佳實務是把資料存於鏈下,只將有限資訊放到鏈上。

有些 NFT 平台把資料存放在 IPFS 或 Swarm 等分散式儲存平台(例如 CryptoKitties 起初將資料存於 IPFS);另一些則只是網頁連結,採用 AWS S3 雲端服務或 Web 伺服器等傳統網際網路儲存方式(例如熱門的 Nifty,其 NFT 內容就存放在自家 Web 伺服器)。這種做法的風險在於:一旦這些公司或服務不復存在,即使鏈上紀錄顯示你擁有某個 NFT,NFT 本身的資料仍會遺失。這是 NFT 早期不完善的形式,已有愈來愈多人開始意識到這個問題。

「Not on IPFS,Not your NFT」

身為先驅與探索者,ArcBlock 的 NFT 技術也經歷了演進。最早版本的 NFT 設計將資料完全放在鏈上,因此我們把 NFT 資料大小限制在 1M 以內。這對憑證、徽章等應用綽綽有餘,但若用於數位藝術品,就必須能延伸到鏈下。因此,在 2021 年的新資產鏈升級中,我們擴充了 NFT 的資料格式,遵循 W3C 規範中擴充 Service Endpoint 的標準做法。這讓發行者能以最大的自由度控制 NFT,同時相容於純鏈上與鏈上/鏈下協作方式。ArcBlock 對 DID、MyData 等使用者自主擁有身分的支援,也為 NFT 的資料問題提供了完整解決方案。

NFT 能否跨鏈「互通」?

由於大量 NFT 資料位於鏈下,NFT 的鏈上資料需要「跨鏈」,是非常現實的需求。

目前 Ethereum 的 ERC721 與 ERC1155 協定和 ERC20 類似,只定義符合規範的標準介面。任何 NFT 只要在 Ethereum 上部署 smart contract,並提供符合 ERC721 或 1155 的介面,就能被 Ethereum 生態系認定為 NFT。在其他區塊鏈或 Layer 2 系統上實作的 NFT,只要支援 Ethereum ERC721 或 ERC1155 介面,就可能直接加入各種以 Ethereum 為基礎的生態系。目前各種 Layer 2 解決方案主要聚焦於 token 與轉移問題,我相信這會是未來 Layer 2 的發展方向。

目前 Ethereum ERC721 等 NFT 的 smart contract 所記錄的所有權,以 Ethereum address 為基礎。這讓採用不同 address system 的鏈之間,很難「跨鏈」記錄 NFT 所有權。即使使用相同的 address system,由於 NFT 所有權記錄在 ERC721 smart contract 的內部資料結構中,當不同鏈上的所有權不一致時,仍會出現所有權難以界定的問題。我認為,要徹底解決 NFT 的跨鏈所有權,就必須採用 DID 與可驗證憑證或類似技術。也就是說,NFT 所有權不能只來自 smart contract 的內部資料,而必須來自運用密碼學的可驗證證明。唯有如此,NFT 才能真正跨鏈存在。

ArcBlock 的 NFT 設計天生就能「跨鏈」。我們始終相信,「鏈網」架構是區塊鏈的未來形態。NFT 不僅能在 ArcBlock 的 ABT Chain Network 內自由跨鏈流通,也能以 Ethereum Layer 2 的形式存在並使用 Optimistic Rollup 技術。使用者可把 ArcBlock 的 NFT 放回 Ethereum,成為符合 ERC721 的資產,進而加入 Ethereum 生態系。

NFT 與去中心化身分(DID)、可驗證憑證(VC)有何關係?

如前所述,使用 DID 與 VC 判定 NFT 所有權,能讓 NFT 跨鏈存在成為可能。把 DID 引入區塊鏈是 ArcBlock 的創新之一,而把可驗證憑證與 NFT 結合,也是我們在 NFT 領域的創新。

目前 Ethereum 的 NFT 生態系雖有 ERC 721 等協定與規範,但這些協定只考慮 Ethereum 生態系本身,未涵蓋其他環境。ERC721 協定也只定義 NFT 的交易介面規範,沒有約定 NFT 本身的資料格式,因此目前各種 NFT 格式基本上都由各平台自行定義。多數做法採用 JSON 格式的 Meta Data,再附上外部媒體檔案的連結。這種做法最大的問題之一,是「鏈下」NFT 資料可以被複製,卻無法驗證。你花費數萬甚至數十萬美元取得的數位藝術品,其鏈上指向的資料往往任何人都能精準複製與下載,且無法驗證真偽。這與理想之間有巨大落差,也違背許多人認為 NFT 應具備的不可複製、不可竄改且易於驗證等特性。

自 2019 年起,ArcBlock 就從 DID 出發,把 DID 與可驗證憑證結合到 NFT 中。首先,我們把 NFT 的 owner 定義為 DID,而非特定 blockchain address。在此基礎上,我們將整個 NFT 設計成可驗證憑證;NFT 的可驗證範圍涵蓋其所有資料,包括媒體檔案,真正實現 NFT 的不可竄改、不可複製與可驗證性。

NFT 與 FT 能否互相組合?

NFT 與 FT(Fungible Token)其實是兩種互補的 token,並非非黑即白,而是可以彼此相容。

Ethereum 上的 smart contract 設計,讓 NFT 與 FT 能以非常巧妙的方式組合與重構。從這個角度看,早期 token 設計,甚至區塊鏈領域某些所謂的「Ethereum killers」,都欠缺這種彈性。這是因為在 Ethereum 中,smart contract 與持有 private key 的一般 account 並無區別,也就是 ERC721 smart contract 本身可以成為其他 token(FT 或 NFT)的 holder,而所持 token 的控制邏輯由 smart contract 自身決定。同樣地,ERC20 smart contract 也能持有其他 token,讓它能「拆分」所持資產。在知名去中心化交易所 Uniswap V2 的設計中,LP Tokens(liquidity provider tokens)是一種符合 ERC20 標準的 FT;每個交易對 contract 本身持有兩種用於交易的 token,投入這些 token 的人則會取得 LP Tokens。最新的 Uniswap V3 已改用 NFT 表示 LP Tokens 的不同部位。

NFT 與 FT 的組合能帶來廣泛的應用形式,包括有面額的禮物卡、彩券、股權證明、選擇權、不動產權狀、收益權合約等,都能以 NFT 與 FT 的組合建模。ArcBlock 的 token 設計充分汲取過往系統的優缺點,讓使用者不必撰寫複雜的 smart contract,也能輕鬆建立安全、好用的 FT 與 NFT,並可自由形成巢狀組合,以描述非常複雜的商業需求。

NFT 與 DeFi 有何關係?

若 DeFi(Decentralized Finance)被稱為「Money Lego」,那麼 NFT 可說是「萬物樂高」。毫無疑問,NFT 能與 DeFi 有機結合,形成大量創新應用。

運用前述 NFT 與 FT 的結合方式,可以採用電腦科學中常見且強大的「巢狀迴圈」設計模式,優雅地把簡單元件組合成高度複雜、功能強大的元件。例如,可以設計一個 NFT 來包含其他 Token(FT),輕鬆形成股權、選擇權等應用。此外,在法律許可範圍內,NFT 可透過 DAO(Decentralized Autonomous Organization)把所有權拆分為 FT,讓一群人共同擁有不可分割的實體資產,例如分時度假別墅。別墅的所有權可以是一個 NFT,再透過成立 DAO 組織,以 FT 分配這個 NFT,進而拆分使用權,甚至進行收益分配。利用類似方法,便能進行無限的組合與拆分,為 DeFi 帶來遠比目前「staking」與「yield farming」更有意義的創新。

Uniswap 最新版本的產品設計已採用 NFT 作為 LP Token,而不再使用先前的 ERC20 方式。先前的 ERC20 設計,讓 SushiSwap 能輕易直接發動「vampire attacks」;使用 NFT 則可有效防止這類問題。

我們期待 NFT 與 DeFi 結合的應用在這個領域湧現大量創新與耀眼成果。需要注意的是,要讓 NFT 在 DeFi 領域發展,NFT 本身的資料必須可靠、不可竄改且可驗證。這正是我們認為,結合 DID/VC 是 NFT 邁向更嚴謹應用的必經之路。

ArcBlock 的 NFT 技術發展路線圖

從 ArcBlock 創立之初,我們就意識到 NFT 是 Token 的重要形式。在 ArcBlock 的「programmable token」系統中,我們從一開始便對 NFT token 有非常清楚的定位與規畫。ArcBlock 區塊鏈上的 NFT 相關協定稱為 ABBA protocol(ArcBlock Blockchain Assets Protocol)。關於我們在 NFT 上的實踐,可參閱我們分別撰寫的兩本書:由 CITIC Publishing Group 出版的《Blockchain Practical Combat: From Technological Innovation to Business Models》,以及由 Posts and Telecommunications Press 出版的《2020 Blockchain Roaming Guide》。

ArcBlock 在 NFT 實作中導入了一些非常獨特且創新的設計,包括:

  • NFT 與 DID、VC 的完美結合:ArcBlock 的 NFT 結合 DID 與 VC 技術,因此在鏈下資料驗證、防竄改、資料可攜性及自主資料所有權等方面,具有無可比擬的優勢。我們相信這會是 NFT 未來的大方向。我們的設計符合 W3C DID 規範,具備良好的前瞻性與標準相容性。
  • NFT 鑄造與交易的原生能力:由於 NFT 與 FT 的重要性,我們在 ArcBlock 的資產鏈設計中,將 token minting 與不同 token 之間的 atomic exchange 納入原生協定;這與 Ethereum 等其他區塊鏈平台必須透過部署 smart contract 支援不同。此外,鑑於 NFT 交易的重要性與普遍性,我們以標準 Blocklet Service 的形式提供 NFT 交易基礎,讓開發者不必自行開發或依賴第三方,就能立即在 Dapps 中鑄造自己的 token,並實現去中心化的鏈上交易。
  • 原生 ABT「fuel」機制的開放經濟協定:在 ArcBlock 系統內,我們已將 NFT 使用的鑄造、儲存,以及 ABT nodes、Blocklets(cornerstone programs)等系統環節完全統一。事實上,ABT nodes 底層的各項業務,以及使用者透過 ABT 執行的 Blocklets,都已全面採用 NFT 交易與確認機制。透過以原生 ABT 為基礎、簡單一致的經濟協定,開發者能為使用者提供完整服務;ABT 的經濟協定還藉由 NFT 進一步將付款與底層業務供應隔離,這表示應用可讓終端使用者使用任何 token 支付方式(例如 BTC、ETH),甚至傳統付款方式(例如信用卡、Apple Pay)取得服務。這對簡化服務供應與業務「走出去」非常有幫助。我們在這方面有許多創新,日後將另行專文介紹。
  • 完善支援 NFT 的 wallet 生態系:缺乏充分的 wallet 技術支援,會是 NFT 的致命缺陷。這個問題在目前的 Ethereum NFT 生態系已清楚可見。其實 Ethereum 的 ERC 721 NFT 應用,如 CryptoKitties 與 POAP,很早就已出現;但由於缺少友善易用的 wallet 支援,終端使用者難以感知其存在,使 NFT 很難進入主流。ArcBlock 非常重視 wallet 生態系,ABT Wallet 已在 iOS、Android 以及純 Web 應用上推出。不同版本之間完全相容,並採用標準使用者體驗,這對未來許多 NFT 應用至關重要。
  • 功能豐富且支援 NFT 的 block explorer:過去 Ethereum 生態系的 NFT 有一項問題,就是 block explorer 對 NFT 不夠友善;使用者無法在常用的 block explorer 中一眼看懂 NFT 的交易資訊,也無法透過 block explorer 驗證 NFT 資料(因為目前許多外部設計的資料並未提供可驗證支援)。ArcBlock 的 block explorer 支援完整的 NFT 資料顯示,並可協助使用者驗證鏈下資料的一致性。ArcBlock 的 block explorer 是完全開源的 Blocklet 實作,這表示它不僅可用於官方部署,任何人也都能輕鬆部署 block explorer,實現更加去中心化的驗證。
  • 作為 Ethereum Layer 2 通往 Ethereum 生態系的閘道:ArcBlock 的 NFT 是獨立的,但使用者能透過 rollup 技術,把 ArcBlock 系統上的 FT/NFT 映射成 Ethereum 生態系中的 ERC20 與 ERC721 Tokens,進而融入 Ethereum 生態系。

ArcBlock 設計的 NFT 系統具備上述眾多獨特功能。由於我們研發時間長、投入龐大,許多設計已在實際應用中經過多次迭代與改善;當 NFT 真正走向更廣泛的應用時,這將帶給我們更大的先行優勢。

本頁涉及

產品

  • NFT Studio active

    製作和發行 NFT,以及給持有者使用它們的介面。

術語

  • DID

    DID 是一種數位身分標識。它幫助持有者和驗證方確認某個身分由誰控制,也讓一項聲明有明確的關聯對象。帳戶、登入和授權各自仍有自己的角色。

  • 可驗證憑證

    可驗證憑證是簽發方就某個主體作出的帶簽名聲明。它讓需要判斷的一方能看到聲明來自誰、說的是什麼,而不是只收到一段脫離來源的轉述。