背景
なるべくダウンせずに永続的に使える(非中央集権管理された)ドメインで情報公開したい.
特に頻繁に変更はない + 静的サイト(単純 html, PDF とか画像のホスト)で十分
法人の電子公告のためのサイトとか.
手間暇かけず 3~5 年はダウンせずに動いてほしいようなもの.
Decentralizing your Website
https://towardsdatascience.com/decentralizing-your-website-f5bca765f9ed
IPFS + ENS Everywhere: Introducing EthDNS
ENS+IPFSでページ作ってみた
https://dev.to/dongri/ens-ipfs-3mb
Vue.jsのプロジェクトをIPFS上にホスティングし、ENS(Ethereum Name Service)でアクセス可能にする
https://qiita.com/toshiaki_takase/items/1075e534e8ce7ce00476
ありがとうございます.
ENS: Ethereum 上でのドメインネームサービス
IPFS: 最近のナウでヤングな分散ファイルシステムプロトコル. Brave ブラウザで対応. 今後主要ブラウザでも対応するやも?
ENS ドメインの取得
文字数によって費用がかかります. 3~4 文字数ですと gas 代ふくめお高いです(1 年 3~5 万円くらい(2021/04/15 時点))
8 文字くらいだと 1 年 4~5 千円, 10 年で 1.5 万円くらいです.
ブロックチェーンで永続性高いとはいえ, 10 年後は Ethereum もどうなっているかわかりませんのでとりあえずは 10 年未満でドメイン購入がよいのではと思います.
IPFS
分散ファイルシステム的なプロトコル
ブロックチェーンみたいに永久にファイルが残りそうな感があるが, そんなことはない(人気のないファイルは時間が経つと消える. 伝播させたくないファイルがあったらホスティングをやめる(そのままでは, 各ノードが永続的にファイルをホスティングするインセンティブが無い))
pin したとしても, 自身が頑張って IPFS ノードを建てて定期的に(だいたい一日おきくらい?)アップロードする必要がある.
IPFS 自体はプロトコルなので, 実データは Filecoin のストレージに記録して, 適宜 $FIL
を払うなり Filecoin のマイニングして永続化を頑張るのが 2021 年時点の推奨でしょうか.
Filecoin 自体は Chia のようにストレージ領域を提供することでマイニングできるっぽい
(日本語だと検索するとゴミな結果しか表示されず本当につらい )
Unmineable で $FIL
を CPU/GPU マイニングできるとうれしいところであるが, 現状は対応していない.
ファイルが公開されているかの確認
たとえば https://ipfs.io
など
とりあえずは Brave で確認するのがよいでしょう.
ipfs://QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg
Hosting サービス
ipfs のサービスは自前で建てるのもできますが, Fleek などのホスティングサービスを利用もできます(50 GB, 及び転送量? 50 GB/month まで無料). とりあえずはホスティングサービスを使うのが楽でしょうか. ENS との連携も楽にできます.
ちなみに ENS 連携は 2021/09/14 時点で 3,500 円くらい ETH の fee がかかりました
注意点
ipfs で publish してもすぐには反映されません.
ネットワーク浸透?のため数十分から数時間は待つ必要があります.
自前 ipfs ノード建てた場合, ポートブロックとかでうまくいっていないのか単に反映が遅いだけなのかわかりずらいです.
ENS と連携した場合, DNS(?)の浸透に 24 時間くらいかかります.
すぐには反映されないので注意しましょう(12 時間ごとにリフレッシュしているっぽい)
(could not resolve name
みたいなエラーが出る)
懸念点
現状なんでもアップロードできてしまう(ipfs 自体は protocol のため, content が何かは問わない).
ファイルを消したい場合, 各ノードが頑張って消す(伝播させない)必要があるので, 人気のあるファイルをアップロードしてしまうと消すのに時間かかるかも?
たまに could not resolve ...
になります. あまりアクセスがないから IPFS ノードからキャッシュが消されたのか, ENS 周りの不調なのか...
(あとは IPFS ホスティングを利用している場合, ホスティング側の問題があるかもしれません)
1, 2 日程度のダウンはありえるのを考えておいたほうがよさそうです. 安定稼働にはもう少し技術の熟成をまつ必要がありそうです.
(電子公告だと基本ダウンしていないことが求められるが, とりあえず数日ならそのぶん公告を延長することで許容されそう...? URL が変わることはないので)
TODO
-
電子公告関連のサービスを ENS + IPFS で対応し, 処理を自動化して電子公告ホスティング代行でがっぽがっぽする
- IPFS + Filecoin でデータの永続化を考える