iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 21
1

Day21 - 星際檔案系統 IPFS

今天來聊一個 區塊鏈 的好朋友 - IPFS
為什麼會說他是區塊鏈的好朋友呢?

假設說我們想要將圖片或文件檔案上傳至區塊鏈,已達到不可篡改,做得到嗎?

情境一 比特幣區塊鏈

以「比特幣區塊鏈」為例,以中本聰的論文為例每個區塊僅能存 1MB 之資料,那我們所謂的圖片、文件、檔案基本上都大於 1MB ,那 ... 區塊鏈只能存放文字記錄而已嗎 ... ?

: 對!
: 那我要換個主鏈來解決 !

情境二 以太坊區塊鏈

剛剛經歷了比特幣區塊鏈的失敗,那麼我們換到以太坊(Ethereum) ~

以「以太坊」為例,基本上就沒有 1MB 的限制了,只要我將資料上傳即可,傳了一個5mb的圖片,發現費用大概是10幾顆 ETH ... (假如說每個人都這樣上傳那大家很快就會破產了 XD)

那麼告訴我,我該怎麼做!!!

IPFS 誕生~

IPFS

IPFS全稱為 Interplanet File System,中文可以叫做星際文件系統,由 Protocol Labs 主導開發。它是目前最有希望能被用於解決這個問題的方案。IPFS 是一種點對點的傳輸協議,每個節點都存儲一系列通過 hash 索引的文件。當某個客戶端需要訪問這些文件的時候,只需要通過一個巧妙封裝過的抽象層,傳入文件的 hash 值。 IPFS 會通過這個 hash 值,從活躍的節點當中找到對應的文件,並返回文件內容給客戶端。

img from kknews
讓我們來看看,IPFS how to work?

  1. A 打算上傳一份 PDF 文檔到 IPFS
  2. 他首先把 PDF 文件放到電腦工作區
  3. 然後,使用IPFS相關命令添加這個文件,並且得到了文件的 hash 值。(IPFS 的 hash 值總是以 Qm 開頭,比較好認)
  4. 上面動作結束後,這個 PDF 文件就可以在 IPFS 上面被訪問了。

img from kknews
那麼這樣聽來,我是不是只要知道文件的 hash 值,我就能查看這份文件呢?
沒錯!

那這邊我們就可以透過非對稱金鑰加密來將此份文件的安全性增加!
img from kknews

這樣大家都可以有權力下載這份文件,但只有接收者拿自己的私鑰才能解開!
我們也能將 IPFS Output 的結果上傳至區塊鏈更加保護自己的文件,避免被有心人士獲取。

小結

我們今天小小聊了圖片及文件部署至區塊鏈上的問題,以及 IPFS 的小小介紹 XD

若文章有任何的問題或要討論的部分,歡迎在底下留言。
歡迎透過 Email: kiss851990@gamil.com 聯絡我。

資料來源


上一篇
#20 - Taipei Ethereum Meetup 活動介紹
下一篇
#22 - IOTA
系列文
五分鐘玩轉區塊鏈30

尚未有邦友留言

立即登入留言