如果用此圖檔網址來發行 NFT,那些二級市場或是可瀏覽 NFT 的錢包會透過網址抓取到圖片顯示給使用者看,NFT 就做完了看起來沒問題。
但經過 N 年後的某天,這個虛擬主機與網域若沒有繼續租用了,這些 itechnote.co 開頭的網址對應到的網頁自然也就不復存在了,用這個網址發行的 NFT 更是不可能再找到對應的圖案,它會不會變成「404 not found」的打叉型 NFT 就非常值得深思。
如果圖片是放到雲端,也有可能因為科技公司倒掉或是他們進行了雲端業務調整使得圖片網址有更動,NFT 也會找不到對應的圖案。
存在個人網站或一些中心化的地方,很有可能因為服務停止或遭到攻擊導致資料無法讀取,那我們就不能保證未來五年十年這個 NFT 網址所對應到的圖片會不會消失,如果是使用 IPFS 來存放圖片,由於資料存放時會產生獨一無二的哈希值,並分散存放在礦工的硬碟節點之中,相較於中心化或私人化的儲存,存放於 IPFS 的儲存方式更不用擔心圖片丟失(但仍不能保證一定不會遺失)。
《二、IPFS 星際檔案系統》
IPFS (InterPlanetary File System)星際檔案系統是一種分散式檔案儲存系統,跟使用雲端服務差不多的地方就是你並不知道自己的檔案被存到哪裡去了,但與雲端服務的差別是雲端服務通常都需要有超大型的資料中心來保管資料,所以可以看成是中心化的儲存,而 IPFS 是去中心化的儲存,你的資料會儲存在非常多不同的節點,好處是資料不容易丟失(由於系統設計的機制不能保證資料一定不會遺失),但壞處是如果圖片檔案較大的話儲存時會被切割成比較多份,分開存放到不同的節點中,這導致資料讀取所需的時間可能會比較久。
IPFS 就像我們日常使用的 HTTP 一樣,本身算是一個網路協議,每個資料被儲存時會產生獨一無二的哈希值,這就像網域中的 IP 一樣是唯一的。
在網際網路的使用上 IP 很不好記憶,所以 IP 網域會透過網域名稱系統(DNS)轉換到一個網址,如果對網址不太熟悉沒關係你可以實作這個範例看看,一般來說我們要連上 Google 首頁,就會在瀏覽器上打上「google.com」,你可以嘗試看看在瀏覽器打上它背後的 IP 「142.250.179.206」,輸入後一樣可以連到 Google 首頁,這是因為當我們輸入 google.com 之後,瀏覽器會先去 DNS 找到 google.com 對應的 IP (142.250.193.206),再用此 IP 連線到 Google 的伺服器;IPFS 也有一樣的域名系統(IPNS)在做類似的事情,把哈希值轉換成更容易看懂的符號,提高資料讀取的效率。
就像大部分的人會使用 https 的網路協議服務一樣,人們往往不太需要了解背後的原理,很多時候面對這些新科技只要學著如何使用就足夠了,接下來會著重在如何將自己的圖片上傳到 IPFS ,我們現在只要知道 IPFS 是一個分散式儲存的網路協議,放在上面的資料比起一般私有或中心化的儲存方式更安全,但仍不能保證資料不會丟失。許多 IPFS 更細節的東西未來如果有機會再寫一篇文章介紹它。
正常來說,要使用 IPFS 星際檔案系統進行上傳或下載資料,就必須要在自己的電腦下載安裝並配置一個新的 IPFS 節點才能做到這件事情,我們只是想要上傳個圖片用來做 NFT ,卻要花費大量電腦資源部屬 IPFS 節點是不是有點小題大作了,部屬過程繁雜冗贅完全不符合效益,所以我們要使用一個免費的工具來上傳圖片到 IPFS 之中,它就是「Pinata」!
《三、Pinata》
Pinata 是一個能夠讓人將資料存放到 IPFS 上的服務,提供 1GB 的免費儲存空間可以使用,對於要做 NFT 的我們而言,這空間拿來存圖片綽綽有餘了。
網站網址是:
進去之後官網上看到大大的標語寫著「Your Home For NFT Media. The cloud wasn’t built for this. Pinata was. Managing your NFT media just got easier.」看來發 NFT 用 pinata 應該是選對了。
進到首頁以後,右上角「Try for free」先註冊登入成為 Pinata 的會員。