前一篇文章已為大家解析 Centrifuge 的基本框架,核心價值是將真實世界資產與鏈上 NFTs 錨定,抵押 NFTs 發行出 ERC-20 代幣,再抵押 ERC-20 (向 MakerDao)借出穩定幣。本文由 BSOS 區塊鏈後端工程師李彥寬投稿,超過 5 年區塊鏈研發經驗,過去曾參與 BSOS 與北富銀、國泰金等區塊鏈專案。
(新手必讀:什麼是NFT?— 區塊鏈與虛實整合的關鍵,萬物皆可幣?)
(事件背景:未來世界 | Nvidia 執行長黃仁勳對「元宇宙 Metaverse、NFT和以太坊」的觀點及展望)
為
了達到資產紀錄的不可篡改與資產所有權的唯一性,加上真實世界資產每一筆皆不相同,因此採用 NFTs 格式紀錄是很自然的作法。不過,過程中還是得需經過一連串格式化與代幣化流程,才能產生有效的資產代幣。本篇將探討生成資產代幣 NFTs 的過程,以及過程中安全及隱私的議題。
Centrifuge NFTs 設計架構
以上圖說明,Alice 是資產擁有者;Bob 是投資人。Alice 通過資產審核後,便可對該資產觸發鑄幣,其中資產的部分碎片 Hash 會註記在 NFTs 上以利往後驗證資料正確性。
若 Bob 對此資產有興趣,希望取得原始資產文件,可藉由 P2P protocol 鏈下加密通道從 Alice 的節點取得該資產 Document Data。與此同時,Bob 在鏈上合約中找到該資相關 Hash,便可透過 Anchor 合約與 Merkle Proof 等方法多重驗證,比對 Hash 結果是否一致,來確保 Document Data 的真實性。
在這個架構設計下,我們可以確保:
- 鏈上隱私性:鏈上的紀錄不會揭露資產的原始信息。Anchor 中紀錄的是加密後的資產 Hash;NFTs 中僅有非敏感的資產碎片 Hash,用於資料驗證。
- 資料一致性:Bob 從 Alice 節點取得的 Document Data,可透過鏈上資料碎片驗證其真實性,確認 Document Data 即是 Alice 鑄幣當下提交的資產文件。
- 資產自主性:Alice 是資產擁有者,一旦成功取得資產審核,只有 Alice 有權觸發鑄幣,產生的資產代幣所有權自然也是屬於 Alice 所有。
- 代幣錨定:NFTs、Anchor 與 Document 彼此強綁定,透過鏈上儲存的資料碎片 Hash,環環相扣,共同描述某一真實世界的資產。
在了解 Centrifuge NFTs 架構概念後,接下來我們以微觀的角度,解析在 Centrifuge 的設計中,資產的資料處理機制以及審核流程。
Centrifuge 資料處理機制
前一篇文章我們提到,同樣類型的資產進到 Centrifuge 會以一致的格式表達。
傳統資產有很多種形式,例如代表應收帳款的發票,或是串流媒體版稅的未付款紀錄等。這些實體資產通常是文件的形式,在資產上鏈的流程設計中,須訂定標準的格式。以發票資產為例,可能就包含以下資訊欄位:發票編號、買家資訊、供應商資訊、發票金額與付款日期等。Centrifuge 使用事前定義好的 schema 將傳統資產格式化,確保資產的唯一性。
格式化後的資產,會進一步進行結構化,將資料打碎組合成 Merkle Tree 的資料結構。
上圖是一筆發票資產的 Merkle Tree,藍色部分是這個 Tree 的 Leaf,每個 Leaf 是帶有真實意義的字段。Centrifuge 選用 schema 中部分 Leaf ,經過 Hash 後上鏈至 NFTs,作為 Merkle Proof 的驗證字段。
最上面的 Merkle Root 在資產審核階段會由資產擁有方透過 P2P 鏈下加密通道交付給審核方,審核方解密後可透過 Merkle Root 在節點上取得完整的 Document Data。
Centrifuge 資產審核流程
參與方身份
在 Centrifuge 世界中,參與方皆擁有身份,所有身份須由 IdentityFactory 合約產生 (可能會搭配鏈下的 KYC)。
不論何種資產都需存在審核方,以發票為例,審核方應是當初開立這張發票的組織,也就是供應鏈裡的買家。審核方是需要被准入的,本身也擁有身份。審核方透過 Identity 合約觸發 addKey 將公鑰上鏈,公開宣示未來通過審核的資產,將使用這把公鑰對應的私鑰進行簽名。
資產審核流程
- 資產擁有方取得資產的 Merkle Root 後,透過私鑰對 Merkle Root 產生 Sha3 Hash,稱為 Data Root。
- 資產擁有方發出審核需求,透過 P2P 鏈下通道提交 Document Data 與 Data Root 給審核方。
- 審核方審查 Document Data 內容,並確認 Data Root 是基於該資產產生的。若審核結果為通過,審核方會對 Data Root 簽名產生 Signature,Signature 透過 P2P 通道發給資產擁有方。
- Signature 做 Sha3 Hash 稱為 Sig Root。資產擁有方將 Data Root 與 Sig Root 進行 Hash 運算,產生 Doc Root 上鏈至 Anchor 合約,並取得對應的 AnchorID。Anchor 合約中的 checkAnchor 功能可驗證儲存於合約中的 Doc Root 是否合法。
- 此時已完成整個資產審核流程,資產擁有方獲得鑄造資產代幣的權利。提交 AnchorID、Data Root 與 Signature 便可觸發鑄幣,產生代表真實資產的 NFTs。
結語
NFTs 是 Centrifuge 設計中重要的元素,它錨定真實世界資產,並做一對一的對應。透過特殊的 NFTs 架構,可做到符合經由設計良好的資料處理機制與資產審核流程,可順暢連通真實世界與加密世界,做到鏈下資產、鏈上流通!
Centrifuge 的 NFTs 產生過程,涉及大量智能合約操作。為了平衡速度、交易成本、儲存效率與隱私等議題,Centrifuge 使用 Substrate 技術建立 Centrifuge Chain 公鏈,我們將在下一篇文章深入探討 Centrifuge Chain 的思維與佈局。
📍相關報導📍
CB Insight 旗下機構評選「全球區塊鏈 35 家潛力公司」,台灣供應鏈新創 BSOS 上榜!
Maker基金會將解散!MakerDAO邁向全去中心化、移交5億美元開發資金
DeFi 2.0來了?MakerDAO發行首筆以「真實世界資產」抵押的DAI貸款,MKR兩日飆漲45%
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務