Bitcoinのブロックチェーンを利用した分散型インターネットBlockstackのID基盤「Onename」について紹介します。
Onenameとは
Onenameは、ニューヨークに拠点をおくスタートアップBlockstackが開発する社名と同名の分散型の新しいインターネットBlockstack上に構築されたデジタルIDサービスです。ここまでインターネットが普及したところで“新しいインターネット”などというと突飛に聞こえるかもしれませんが、BlockstackはベンチャーキャピタルY!Combinatorのプログラムの卒業生で、2017年年初の400万ドルの投資を含めこれまでに545万ドル以上を集めたれっきとしたプロジェクトです。
Blockstackのことばを借りるとOnenameは「ネットワーク上の戸籍」のようなもので、その履歴はパブリックなBitcoinのブロックチェーンを利用して記録されます。このため、従来のインターネットにおける個人認証基盤とは異なり、データの改ざんが非常に難しく、データが特定のサービス提供者に所有されることがなく、また、運用面では管理者なしで運用できるといった特徴が挙げられます。
TEDxNewYorkでBlockstackの共同創業者のMuneeb Ali氏がスクリーンショットを交えてBlockstackとOnenameについて語っています。
公開から2年強でOnenameには約70000のIDが登録され、中にはウェブを考案したティム・バーナーズ=リー氏、AmazonのCTOのヴェルナー・フォーゲルス氏といった著名人のIDも存在します。
Onenameとブロックチェーン
Onenameの概要を見てみましたが、Blockstackおよびブロックチェーンとどのような関係になっているのでしょうか。サービス開発の経緯をひもといてみるとOnenameとBlockstack、ブロックチェーンの関係が理解しやすくなります。
Blockstackは当初Namecoinのブロックチェーンを利用してブロックチェーンに直接ID情報を書き込む形でデジタルIDサービスOnenameを構築していました。この初期Onenameの運用でブロックチェーンのデータ容量、データ更新に時間がかかるといった技術的な課題が見つかります。また、CoinDeskの記事によると、IDを使える場所があってこそのID基盤というサービスとしての問題にも直面したようです。これらの経験からBlockstackはより汎用な分散型の新しいインターネットBlockstackの開発に舵を切ります。
最新のBlockstackのアーキテクチャがGitHubで公開されています。
画像: Blockstackのアーキテクチャ(GitHub – blockstack/blockstack architecture-diagram5.png)
ブロックチェーンにはBlockstackに対して行われた操作について書き込み、バーチャルチェーンレイヤーという新たなレイヤーを設けてスケーラビリティーやパフォーマンスの改善をほどこしています。また、Blockstack固有の処理をブロックチェーンから切り分けることで異なるブロックチェーンへサービスを移行しやすくなります。システムは複雑に見えますが、肝はBlockstackがインターネットにおけるDNSをブロックチェーンを利用して完全に分散型で実現しているところで、Blockstackが分散型の新しいインターネットと呼ばれるゆえんです。
ここでOnenameに話を戻しましょう。OnenameはBlockstackのid名前空間([ユーザー名].id)を利用したデジタルIDサービスとしてBlockstackのメンバーによって開発が続けられています。デジタルIDという視点で見てみると、Onenameはインターネットにおける「ドメインとIPアドレス」の関係を、Blockstackの「名前/idとアドレスの関係」で再現していることになります。認証局などが不要な分散型のID基盤としてのOnenameの革新性がここにあります。
Blockstackが直面したこれまでに問題やその解決策など技術的な詳細については、Blockstackのウェブサイトで論文として公開されています。
Papers: Blockstack – The New Decentralized Internet
Onenameを使ってみる
Blockstackを利用するには専用のブラウザが必要ですが、OnenameのIDは通常のインターネットブラウザから作成し利用することができます。IDの作成はインターネット上のサービスでアカウントを作るのと何ら変わりません。ただし、Bitcoinのアドレス、アプリの暗号鍵などが記載されたバックアップファイルはパスワードをリセットする際に必要になるので大切に保存する必要があります。ブラウザからIDを作成する背後ではBitcoinブロックチェーンやOnenameのシステムへの書き込みが行われています。
Onename上のプロフィールはhttps://onename.com/gaiax_aram_mineのようにhttps://onename.com/[ユーザー名]でアクセスできます。Blockstackブラウザからはid名前空間のデータとして[ユーザー名].idでアクセスできます。
基本情報に加えてBitcoinのアドレスを公開プロフィールに登録すると、Bitcoinを送るボタンが表示されます。また、Twitter、Facebook、GitHubのアカウントを登録してOnenameのIDをひもづけることもでき、インターネット上の誰なのかがわかりやすくなるだけでなく、プロフィールの信頼度の向上にもつながります。
こうしてできたIDの用途として、OnenameはFAQでシンプルな個人のウェブページとしての用途を挙げています。他のウェブページにデータを埋め込むこともできるようです。本来のデジタルIDとしての用途については将来的なものとしつつ、マイクロソフトとのパートナーシップが発表されていることからもデジタルIDとしての利用もそう遠くはないのではないでしょうか。
Onenameの今後
OnenameのデジタルIDはBlockstackと合わせて真価を発揮することから、インターネットが普及したようにBlockstackが広く普及し、Onenameがその個人認証の基盤となることが期待されます。2017年初には投資の報道が出て、コードも活発に更新されています。Blockstackのアプリケーション開発のチュートリアルも最近公開されました。
Blockstack – Announcing the Hello Blockstack Tutorial
Blockstackはまだ開発の途上にありますが、90年代のインターネット黎明期のわくわく感のようなものも感じられます。OnenameとBlockstackの今後に注目したいところです。