放上 IPFS,然後呢?-關於分佈式內容平台的認知與想法
神經病如我又來自言自語了,最近在把玩 IPFS 和一些應用(也是因為這樣所以又跑回來摸 Matters),加上最近對數位資產/收藏品有一些接觸,順道記錄一下目前的認知與想法。
首先,IPFS 是什麼?
IPFS 實際上就是一種傳遞網路,但與傳統不同點在於網路的索引是雜湊值,以往我們熟悉的 https://some.web.site/some/resource 中,可以辨別出這個資源處於 some.web.site 上。到了 IPFS,則會長得像是 ipfs://QmQZyKaGVMi4BaDidLoU2UVoUHWbrULDqn9E3z32j7azVX,當需要這個資源時,就向網路上的鄰居問看看有沒有,如果鄰居沒有的話也會再幫你問問看他的鄰居,直到最後找到誰有並獲得資源,或者超時然後放棄。
這樣的好處就是不會有 some.web.site 倒閉時檔案就消失的問題,只要這個網路還有這個資源,總有一天會取的到。這時候就衍伸出下一個問題:那這個網路中,到底誰會有這個資源?如果只有一個人有,這個人離開網路(暫時或永久)不也就沒了資源?
IPFS 的暫存機制
IPFS 的機制是節點會有機會暫存某個資源,這使得單一節點暫時離線時可以從其他節點暫時取用。舉例來說,假設今天 Matters 自己營運 IPFS 節點,稱為 .Main(目前看來不是),接著台北有個節點 .Taipei 專門提供台北的使用者,因為台北使用者詢問了 .Taipei,而 .Taipei 會去找 .Main 拿資料並暫存,當 .Main 離線時 .Taipei 還可以維持提供。同時日本使用者詢問 .Japan,.Japan 手上沒有但聯絡不上 .Main,於是就會嘗試問其他鄰居,問到 .Taipei 時就可以取得位於其上的暫存,藉此提供給日本使用者。
暫存既然叫做暫存,便會有清除的時間,對一般節點而言,資料大多數都是經過,就沒必要分辨哪些該留、哪些該走。但例如前面的例子,可以顯見 .Taipei 和 .Japan 有更高的動機保持來自 .Main 的資料,此時就會通過 Pin 的機制來維持檔案。當節點決定 Pin 住一個檔案時,這個檔案就不會被回收機制給丟棄。
至此,可以大概想像出一個分佈式內容平台的運作:在 IPFS 的網路下有個子網路,例如 Matters,並且有多個專門維持 Matters 內容的節點,例如 .Main、.Japan、.Taipei、.American 等等。
分佈式平台,內容就不會消失?
在上面我們以 Matters 為例,只是例子,並沒有 .Taipei、.Japan 的存在。我們接著想:如果 Matters 在這一秒消失了呢?
以現在而言,Matters 似乎會在許多個 Pin Service 上發請求,使這些服務商幫忙 Pin 住這些文章(可以想像成 .ServiceA、.ServiceB)。但是大多數 Pin Service 是要收錢的,就像是 Google 雲端硬碟、AWS EC2 等等,畢竟維護節點也是需要電費、設備的。在消失的隔天,這些 Pin Service 還會幫忙保留資料。
消失後的一個月到一年,因為沒有人給錢了,他們也不再 Pin 著,因此持有資源的節點會迅速減少,當最後一個服務商 Unpin、清除暫存後,這個內容也就消失了。
因此,到目前為止,分佈式內容平台與過去中心式內容平台的不同幾乎只在於:用 IPFS、比較不會瞬間消失。
數據回歸創作者的第二步
Matters 在關於頁面上的理念提到「實現作品內容的分佈式存儲,完成將數據回歸創作者的第一步。」過去,我們所發表的內容經常會進入 Facebook、Blogger 等等網站的資料庫。當閱讀者想要檢視這些內容時,就需要到這些網站去索取,同時帶來了監管、廣告等等。現在有了分佈式內容平台,閱讀者有更多選項,創作者也稍微減少了對單一網站的依賴。
而以 IPFS 為基礎的分佈式平台中,數據的掌控權回歸到創作者了。同時,責任也回歸到創作者了,當數據消失時不再有一個人/網站可以指責,只有創作者自己能保證這些數據不會消失,也才符合分佈式存儲的意義。或許數據回歸創作者的第二步便是讓創作者意識到這件事,並建立能夠獨立掌控的 IPFS 節點。
或許在未來也不再是內容平台,而是成為聚合平台。而我們現在所習慣的收藏,將會變成幫忙創作者 Pin 住內容的行為,如此一來,就真正的成為分佈式的內容平台了。
數位資產與 IPFS
最近在研究數位收藏品(NFT),ERC 721 的 Metadata Extension 規格裡面有個函數是 tokenURI,代表這個 NFT 的資料要到哪邊取得,再看了我收到的幾個,無一例外都是 http。起初聽見 NFT 時,許多人都說可以掌控自己的數位資產,但卻不在意資產實際上仍然在其他人手上,真是奇妙。
按照上文所述,或許未來這些資料將存放在 IPFS 上,而當購買某個資產時,錢包就會自動 Pin 住資產資料,也才真的成為去中心化的數位資產吧?
寫在最後
其實沒什麼想寫的。不過如果寫文章/工具來教/幫助創作者們可以更容易的 Pin 自己的文章或許不錯?以及就是未來想做的東西又多出來了。