林宏信

小工程師,就讀五專,喜好軟體開發、音樂創作、寫作、0 A. D.,經營部落格 WANcatServer 網貓伺服器。 website: wancat.cc keybase: https://keybase.io/wancat

〈IPFS 不是不能修改〉關於讓 Matters 「可修改」的構想

來自: https://www.mojix.com/wp-content/uploads/2017/08/blockchain08.jpg

內容的永久性是 Matters 與其他內容平台最大的不同,但也因此帶來「有時粗心的小錯卻永遠無法挽回」的遺憾。

我大致上了解 IPFS 技術上的困難,如果有詮釋錯誤之處,還望指教。

Matters 的內容存在 IPFS 星際文件系統上,IPFS 並不是區塊鏈,它是一個去中心化的內容傳遞網絡,也就是透過一個指紋,讓人找到內容的機制,而同一個內容可以在不同的節點上找到,因此極權政府無法透過「封鎖單一網站」或是「封鎖單一 IP」來將內容封鎖,一個節點不通,換一個就行了。

IPFS 到底是怎麼運作的?

IPFS 並沒有「礦工」,負責儲存的都是志願者,目前 IPFS 是沒有經濟誘因的,每個節點存自己想存的內容。說 IPFS 上的內容永遠不會消失,事實上也不完全正確,因為只要沒有人繼續存著(pin),這個檔案就會慢慢的從快取中刪除,像是被眾人遺忘了(怎麼有點悲悽?)。

實際上節點是怎麼運作的呢?以我自己的經驗大概像這樣:安裝好 go-ipfs 後電腦會去連結 IPFS 網絡,你開 IPFS 上的檔案就會由本地的 ipfs daemon 到各節點去抓,因此不需要依靠某個公共節點。事實上公共節點說穿了,就是幫別人到 IPFS 上撈檔案的人。

如果你覺得一個 IPFS 上的內容不錯,你可以按下「固定資源」或是類似的按鍵,這個檔案就會被長期儲存在你本地的 IPFS 檔案庫裡(不是在你的「下載」裡面,它藏在很神秘的 IPFS 資料庫裡,要由你的 IPFS 客戶端程式做管理),然後當其他人也想要這份內容時,可能就會從你這抓檔案過去,當其他節點都不繼續儲存時,只要你還在,這個檔案就不會被遺忘。

「這個世界上,只要還有一個人記得我,我就永遠存在」—— IPFS 上的檔案

IPFS 其實可以修改?

一個檔案被放到 IPFS 上時,它的「指紋」是透過特定的演算法產生(我們稱為 Hash),這個指紋和檔案內容有唯一的對應關係,因此當你修改檔案後,沒有辦法得到相同的指紋,會是完全不一樣的指紋,哪怕你只改了一個字。讀者如果用舊的指紋去找,他看到就會是舊的內容。

因此現在 IPFS 同時也在開發一套 IPNS 域名系統,IPNS 類似網址的概念,可以讓使用者「連結」到一個 IPFS 內容。只要重新設定 IPNS 指向的內容指紋,理論上使用者就能用同一個 IPNS 地址連到更新後的內容。

舉例來說,我在 IPFS 發布了一個文章,它的指紋是 QmXXX ,然後我把它 publish 到 IPNS 上,得到一個 QmAAA 的 IPNS 地址,然後我將 QmAAA 的地址分享給我的讀者。當我有天發現文章有錯字,於是又發布了新的文章,指紋是 QmYYY,接下來我將 QmAAA 這個 IPNS 紀錄重新連結到 QmYYY 上,這樣使用者打開 QmAAA 這個 IPNS 連結時,就可以看到新版的內容 QmYYY 了。

我曾經跟 @刘果 提過這個想法,不過他表示 IPNS 的技術尚未成熟,我也是門外漢,不清楚詳細情況為何,像是「修改 IPNS 的權限」掌握在誰手上就很重要。但是我們可以期待的是,在將來或許我們能透過這個方式來做到「技術上」的可更新、但又不可刪除。

未來或許能透過「消耗 MAT」的方式,來讓使用者進行文章修改,讓使用者知道「修改是件有代價的事」,更謹慎的面對修改,同時所有的版本也留下版本歷程紀錄,透過版本歷程紀錄,看見一篇作品進步的足跡。

能「修改」,才能讓 Matters 真正成為「孵出創作的平台」。

Matters讓你停留的原因是什麼?

如何使用自己的IPFS节点

發佈評論

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區