Cloudflare, ENSとIPFSを統合した分散型Webゲートウェイを発表
TL;DR
Cloudflareが分散型Webゲートウェイの提供を発表
Cloudflareのサービスは、ENSが運営するeth.linkに代わるものとなる
新しいゲートウェイにより、分散型Webドメインへのアクセスのアップタイムとスケーラビリティが向上
本文
Ethereum Name Systemは、Ethereumスマートコントラクト上に構築されたDNSのEthereumバージョンである。DNSでは、例えば216.58.196.227というipアドレスにgoogle.comという名前が与えられ、ユーザーはIPアドレスの代わりにURLを入力することでウェブサイトにアクセスが可能になるのと同様にENSでも0x05Dxxxxxxxxのようなアドレスに、例えばlayerx.ethという名前をつけることで、ブロックチェーン上のデータへのアクセスが容易にできる。これにより、検閲に強い情報をブロックチェーン上で共有しやすくなり、アドレスの誤入力によるミスを防ぐことができる。しかし、ENSアドレス(layerx.ethなど)は、専用の分散型ウェブブラウザやMetaMaskウォレットのような拡張機能を備えたウェブブラウザのみアクセス可能である。これに対し、今回の新しいゲートウェイは一般的なウェブブラウザから、例えばlayerx.eth.linkのようにURLの末尾に「.link」をつけることによって誰でもアクセス可能になる。
cipepser.icon linkドメイン取ったんですね。試しにdig eth.linkしてみたらGoogle Cloudが管理してるAレコードでした。
ENS公式ブログによると、ENSのCOOであるBrantly Millegan氏は、ENSチームとCloudflareは2020年2月から協業体制を作っており、eth.linkがCloudflareのリゾルバに転送されてからは、ネットワークのアップタイムの高速化やスケーラビリティの向上だけでなく、すべてのサイトが公開されるようになったと述べている。また、 ネットワークのアップタイムの高速化とスケーラビリティの向上に加えて、すべてのサイトにHTTPSが導入され、ネットワークのセキュリティがさらに強化されているという。 ENSチームは2019年にProtocol Labsからスタートし、利用が急増したため、ENSの開発に専念するためにインフラを提供するCloudflareと業務を分割したとMilligan氏は説明している。今後の動向に注目していきたい(文責・金) Appendix
IPFS(InterPlanetary FileSystem)とは
分散ファイルシステム上にコンテンツを保存するためのP2Pネットワーク
共通のアドレスシステムの使用してコンテンツを保存し、中継するノードと呼ばれるコンピュータのセットで構成される
IPFSで使われている
識別子はコンテンツ事態から派生されるものであり、自己記述的な識別子
例: QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6ucoはwikipedia-on ipfsホームページのCIDバージョン0(CIDv0)
フォーマット
例えばQmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6ucoを2進数に変換したのが下記の図
------------------------1----------------------------------------2------------------------------------------3-----------------------------
https://blog.cloudflare.com/content/images/2021/01/image2-1.png
1: Hash algorithm
CIDを生成するためのアルゴリズム
2. Length of the hash in bytes
エンコードされた内容の長さ
3: Hash on <length> bytes
内容そのもの
ENS
DNSのEthereum版
0x1111のようなアドレスを文字として登録可能(例: privacy-pass.eth)
https://blog.cloudflare.com/content/images/2021/01/image1-3.png
基本的には上記の図がすべて
用語
Alice
ユーザ
Registry
ドメインリストと各ドメインに関する情報(所有者とドメインリゾルバ)を管理するスマートコントラクト。所有者は自分自身のアドレスを用いてサブドメインを作成したり、ドメイン所有権を変更したり、リゾルバを変更することが可能
Resolver
記録を保持する役割を持ちつつ、ブロックチェーンアドレスに名前を関連付けるだけでなく、IPFSコンテンツ識別子に名前を関連付けることができるスマートコントラクト。リゾルバアドレスはレジストリに保存される。ユーザはレジストリにRequestを送信し、名前に関連付けられたリゾルバーを取得
Aliceがprivacy-pass.ethのEthereumアドレスを取得する例
1. AliceはENS Registryに対してResolver処理を実行し、Resolverアドレを取得
2. 取得したResolverアドレスから対象のResolverに対してaddr処理を実行し、Ethereumアドレスを取得
ユーザがipfsアドレス取得する処理はEhtereumアドレスを取得する処理の流れと同じ(ただし、Resolverに対する処理実行時の処理と、戻り値のデータ形式が異なる)
https://blog.cloudflare.com/content/images/2021/01/image5.png
Cloudflareの分散型Webリゾルバ
urlの末尾に.linkをつけることで一般的なウェブブラウザからEthereumまたはIPFSのアドレスが取得可能
https://blog.cloudflare.com/content/images/2021/01/image3.png
Alice
ユーザ
Worker
Ethereum(またはIPFS)へのプロキシ。Worker上にEthLink(ENS)が構築されている
Ethereum Gateway
Ethereumネットワークにアクセスし、ステートを取得するためのGateway(ENS Registryにアクセスするため)
IPFS Gateway
IPFSネットワークにアクセスし、ステートを取得するためのGateway(IPFS Registryにアクセスするため)
処理の流れ
1. Aliceはprivacy-pass.eth.linkにアクセス
2. WorkerはEthereumからCIDを取得
3. 取得したCIDに一致するコンテンツをIPFSに送信
4. 最終結果をAliceに返す