2020年6月、Bitcoinのメインネット上に、Microsoftが中心になって開発を進めているブロックチェーンベースの分散型デジタルIDシステムION(Identity Overlay Network)のβ版がリリースされました。本記事では、Microsoftの分散型デジタルIDに関する取り組み、IONとブロックチェーン、IONの今後について解説します。
Microsoftと分散型IDプロジェクト
本題のIONについて説明する前に、Microsoftのブロックチェーンベースの分散型IDに関する取り組みについて触れておきましょう。
Microsoftの分散型デジタルIDに関する取り組みはIONだけでなく、2016年には国連が提唱する「すべての人に法的なIDを」という目標の達成を目指すID2020フォーラムで、BitcoinベースのデジタルID Onenameを開発するBlockstack社や、EthereumベースのデジタルID uPortを開発するConsensysとともにクロスチェーンデジタルIDシステムの開発を始めました。
Microsoftはオープンソースの分散型IDのエコシステム構築するDecentralized Identity Foundation (以下DIFと略します)の立ち上げメンバーでもあります。
DIF – Decentralized Identity Foundation
Microsoftと同じくDIFの立ち上げメンバーでもある国際的なコンサルティングファームAccentureとは、ID2020のデジタルIDシステムのプロトタイプを共同開発しました。
※ ID2020については本ブログの記事「デジタルIDで人権保護を目指すID2020」も参考にしてください。
MicrosoftのデジタルIDに特化した部門Identity Divisionでは、分散型やオープンソースのデジタルIDも含め、内外と連携しながら各種デジタルIDの開発に取り組んでいます。IONもIdentity Divisionが主導するプロジェクトのひとつです。IONはBitcoinネットワークのセカンドレイヤーとして構築が進められ、Bitcoinネットワークベースでありながら高い処理能力を持つオープンソースのデジタルIDシステムとして期待されています。
続いてIONについて詳しく見てみましょう。
IONとは
ION(Identity Overlay Network)はその名の通りBitcoinネットワークに新たなレイヤー、つまりセカンドレイヤーをかぶせて、分散型デジタルIDシステムを実現するものです。コア技術の構想は2016年に始まり、2019年5月にBitcoinのテストネットでIONのテスト版が公開され、2020年6月にBitcoinのメインネットを使ったIONのβ版が公開されました。2020年6月現在、2020年秋にバージョン1の最終版をリリースするための開発が進められています。
通常IONのような構想では、許可されたノードでネットワークを運用するコンソーシアム型のネットワークでセキュリティとスケーラビリティを担保しようとしますが、IONのネットワークは誰もがノードを立ち上げて参加できるパーミッションレスなパブリックネットワークです。このためノードの参加を許可する中央集権的な組織はなく、将来的にさまざまなノードがIONのネットワークに参加することで、IONは本当の意味で「分散型」のIDシステムとなる可能性があります。スケーラビリティについては、セカンドレイヤープロトコルSidetreeによってデジタルIDシステムに求められる秒間数万という処理能力を実現しようとしています。
IONの開発は、MicrosoftのIdentity Divisionのシニアプログラムマネージャーで、前出のDIFの運営委員会のメンバーでもあるDaniel Buchner氏が中心になって進めています。報道では「MicrosoftのION」と表現されることもありますが、MicrosoftとDIFが共同で開発を進めているオープンソースプロジェクトというのが正確なところです。IONのソースコードはDIFのGitHubのリポジトリで公開されています。
IONで使われているセカンドレイヤー技術「Sidetree」は、ブロックチェーンや分散型台帳に依存しないプロトコルで、DIFでBuchner氏らが中心となり開発とメンテナンスが行われています。IONにはElementという姉妹プロジェクトがあり、ElementはSidetreeをEthereumネットワーク上のセカンドレイヤーとして実現したものです。
DIF – Sidetree Development & Operating Group
IONとブロックチェーン
IONとブロックチェーンの関係について、2020年6月のBitcoinメインネットリリース時のMicrosoftのブログ記事と、2019年5月のテストネットリリース時のBuchner氏のブログ記事をもとに見てみましょう。
- ION – Booting up the network – Microsoft Tech Community – 1441552
- The Sidetree Protocol: Scalable DPKI for Decentralized Identity
IONはあくまでBitcoinネットワークのセカンドレイヤーで、合意形成を必要とするサイドチェーンではありません。IONが想定するデジタルIDのネットワークでは、個々のIDは互いに独立で、IDが移転されることはなく、トークンのような価値の交換が発生せず、「秘密鍵を持っている人がIDの所有者」であるため、合意形成の必要がないのです。
IONのネットワークを構成するノード(下図のIONノード)はID操作をバッチにまとめ、そのハッシュをBitcoinのブロックチェーンに書き込みます。同時にID操作のバッチをローカルに保存し、IPFSネットワークにもプッシュします(下図上部の緑色のCAS Network)。その他のノードはBitcoinのブロックチェーンを定期的にチェックし、ID操作のバッチをプッシュしたノードやIPFSネットワークから当該の情報を集めて検証します。
画像: IONの仕組み(IONメインネットリリース時のMicrosoftのブログ記事より。日本語の注釈は筆者が追記。)
IONのセカンドレイヤーでは合意形成が行われず、かつ各ノードがまとめて並行してID操作を扱えるため、秒間数万トランザクションを処理できます。
IDの保有者は、自身のデバイスのローカルで秘密鍵を使って署名し、IDを操作するため、IDの情報を操作できるのは秘密鍵を持っているIDの所有者のみになります。
2020年6月現在、すでにIONのノードを立ち上げてネットワークに参加することができます。DIFのGitHubのリポジトリには、Dockerを使う、または自分でIONに必要なコンポーネントをインストールしてノードを立ち上げる方法を紹介したチュートリアルがあります。
IONの今後
IONはテストネットからメインネットに移行し、現在2020年秋にバージョン1の最終版をリリースするべく開発が続けられています。今後数ヶ月かけて、コミュニティーを拡大し、コミュニティーからのフィードバックを受けてプロトコルが強化される計画です。また、ハッカソンなどを開催して、IONを使ったデモの開発やプロジェクトの立ち上げもコミュニティーと行っていくとしています。
IONは大手MicrosoftとDIFの協業でわずか1年のうちにBitcoinのメインネットでの公開にこぎつけました。現在も着実に開発が進んでいて、今後有力な分散型デジタルIDになる可能性があります。
おわりに
Microsoftは1981年に創業し、OSとオフィスソフトウェアでコンピューター業界を席巻してきました。クラウドサービスの全盛期にはMicrosoftの各種サービスを使える中央集権的なアカウントを発行し、現在も多くの人がこのアカウントを使い、サービスを利用しています。そのようなMicrosoftが他社に先駆けて分散型のIDを実用化しようとしているのは興味深い動向ではないでしょうか。Microsoftは新技術の採用に積極的な企業ではありますが、分散型IDに取り組む背景には「自分の手にIDを取り戻したい」というユーザーの思いを汲むだけでなく、情報流出やGDPR(EU一般データ保護規則)などIDにまつわる頭痛の種から企業を解放し新しいビジネスにつながるのではという思惑もあるのかもしれません。
IONは有力な分散型IDの候補である一方、IONには解決しなければならない課題もあります。ユーザー視点では、仮想通貨のウォレットでも明らかになっているように、IDの秘密鍵を自己責任で管理するのはハードルが高すぎます。また、ノードを運用するインセンティブも明らかではありません。ハッカソンやコミュニティーとのコラボレーションでこれらの課題の解決の糸口が見出されることに期待したいところです。
分散型IDは分散型のサービスが普及していく上で基盤となる重要な分野です。IONは分散型IDの標準となり、さらにIONをきっかけに分散型IDの利用は進むのでしょうか。まずは2020年秋のバージョン1の最終版のリリースが楽しみです。