時間:2023-07-15|瀏覽:256
首先,如果NFT要保留其價值,則必須將其存儲在某個地方——如果所有副本都被刪除,那么就沒有任何東西可擁有!這要求我們考慮許多問題,從誰應該負責存儲,到所需的冗余級別、可訪問性和存儲數據的壽命。所有這些方面都與持久性問題有關:確保內容仍然可用,在某種程度上,它對我們在互聯網上看到的典型故障非常有效。今天鑄造的許多NFT完全基于這些考慮。
確保資產在NFT的整個生命周期內存儲的一種方法是將資產也存儲在區塊鏈上,利用區塊鏈是復制給每個參與者的分類賬這一事實。它還通過隱式地讓網絡中的每個節點負責資產的維護來解決責任問題。
不幸的是,正是因為區塊鏈在每個網絡參與者之間復制,所以在一個參與者上存儲數據非常昂貴。因此,將最微不足道的數據存儲在鏈上通常成本過高。我們需要將數據保存在其他地方,這意味著我們需要鏈接到它。
其次,我們需要解決的第二個問題是尋址:我們需要一種明確識別數據內容的方法。
HTTPURL有兩個令人不安的特性,這些特性會影響它們由基于HTTP預測的NFT創建的所有權概念非常脆弱。
在HTTP之上開發NFT破壞了所有關于永久性和不變性的承諾。
這導致我們對HTTP尋址的第二個關注點:集中控制。一個人或實體對鏈接背后的內容擁有完全的權力和單一的責任。這對鏈接的長期生存能力具有非常嚴重的影響。
總之,將數據存儲在區塊鏈上可以讓我們對數據進行不可變的引用,但成本太高;從區塊鏈存儲數據可以避免這種成本,但傳統的鏈接是集中的、可變的引用。這就是我們的困境:我們需要一種對鏈下存儲的數據進行不可變引用的方法。
幸運的是,這是我們可以毫不妥協地實現我們所追求的兩個屬性的問題之一:解決方案是使用稱為內容地址的東西來識別和鏈接到資產。
某些數據的內容地址是僅從該數據派生的鏈接——最基本的形式是數據的散列。我們可以將內容地址視為指紋:理想情況下,在給定內容尋址方案的上下文中,地址應該唯一標識一段數據。綜合起來,這意味著內容地址是一個永遠不會改變的鏈接,并且是一個各方都可以達成共識的鏈接:這正是我們所追求的去信任的明確性!
這是一個很好的開始,但請注意,原始哈希與內容地址不同,內容地址具有可以用作鏈接的附加含義。用戶無法在瀏覽器中輸入原始哈希值并取回文件。上面的記錄允許我們驗證客戶擁有什么,但不允許任何人檢索該數據。
解決IPFS尋址問題
必須創建額外的基礎設施來啟用散列,或任何此類地址來填補鏈接的角色。幸運的是,我們不必從頭開始創建我們自己的內容地址基礎設施。在星際文件系統(IPFS)生態系統一直在開發內容地址的一個特別強大的形式,內容標識符或CID。
在IPFS的上下文中,CID唯一標識了一條數據。基于該原語,IPFS實現了一個全球分布式數據共享網絡。網絡節點可以通過其CID廣播數據請求,任何擁有此文件的節點都可以為該請求提供服務。這正是我們要尋找的——讓我們調整我們的NFT記錄以使用CID。
除了為CID本身奠定基礎之外,IPFS還擁有龐大的支持生態系統。它提供的一個主要優勢是它自己的國際公認的URI:除了廣泛使用的瀏覽器的現有兼容層之外,這個URI最近開始獲得本地瀏覽器支持。
IPFS為我們提供了不可變的、廣泛支持的鏈接,其方式反映了區塊鏈的去信任、分布式性質:它是解決我們上面確定的問題的直接解決方案。
當我們通過使用IPFSCID引用資產來構建NFT時,我們既保留了資產的完整性,也保留了通過鏈下存儲和鏈接到資產而獲得的優勢。