W3C:DIDのためのユニークな標準化へ
ティム・バーナーズ・リー氏は1994年10月に、CERN(欧州原子核研究機構)を退社する前にワールド・ワイド・ウェブ・コンソーシアム 「W3C」を創設した。*1 NPO(非営利団体で)であるWC3のミッションは、Web技術の標準化を推進するために新たな標準に合意し、互換性・均一化を確保することだ。
W3Cはマサチューセッツ工科大学のコンピュータ科学研究所 (MIT/LCS)で生まれたが、1995年からにフランス国立情報学自動制御研究所 (INRIA) が欧州担当の運営組織(ホスト)になり、1996年には慶應義塾大学がアジア担当のホストとなった。
1990年代後半以降に普及したインターネットのため、W3CはWebガイドライン(標準)を開発し、世界中に広めた。国際的な参画を促進する為、現在20カ国と地域にW3C事務局を92支局開設している。
WC3はインターナショナル的な組織になり、450社を超えるパートナー企業と共に、WC3チャーター(特許)の規則が尊重される。未来のインターネットの新しい標準を確立するスタッフは60人が在籍している。
URIとDIDの標準作成
スタンダード(標準化)
ワールド・ワイド・ウェブのための普遍的で規範的なストラクチャーを作成することを目的としてW3Cは創設された。このように、W3CはWebの世界の標準化に貢献しようとする技術力のおかげで、使用や開発が可能となった。
「ワールド・ワイド・ウェブとは、インターネット全体とURI (ユニフォーム・リソース・アイデンティファイア) により参照されるすべてのリソースを含むユニバーサルスペース」として定義されている。
ティム・バーナーズ・リー氏の初期案及びWebの初めての実装によると、それは少数の技術を用いたものだった:ユニフォーム・リソース・アイデンティファイア(URI)、ハイパーテキストトランスファープロトコル (HTTP) および ハイパーテキスト・マークアップ・ランゲージ(HTML)を使用した。 *2
W3Cが、多くのWeb開発者によって日常的に使用される標準(CSSやXMLなど)を持っている技術としてよく知られている。しかし、Webデザインと、アプリケーション、Internet of Things(IOT)、Webアーキテクチャ、ソーシャルWebプロトコル、セマンティックWeb、サービスのWeb、ブラウザー、オンライン支払いなどを含めて、これまでW3Cメンバーはあまり知られていない多くのスタンダードを開発している。
ワーキンググループ
新しいW3C標準は、特定の「チャーター」(憲章) によって管理されるテーマ別ワーキンググループ内で開発されている。このチャーターは、ミッションの範囲、使用される方法および各グループの運用ルールを指定する。
グループの構造は、W3Cが採用した「スタッフ・コンタクト」とW3Cメンバーである1人または2人の会長より運営される。さらに、10~100名以上の人が参加することが可能になり、基本的に、非常に能動的な参加となり、スタッフメンバーの方は、「オブザーバー」というもっと受動的な役割を果たす。専門家を招待する場合もあり、メンバーとしてディスカッションへ参加することができる。
分散型ID(DID)ワーキンググループは、以前Evernym社で働いた、現在チェアマンのBrent Zundel氏、専門家Daniel Burnett氏および「スタッフ・コンタクト」の担当者 Ivan Herman氏で構成されている。さらに、グループ内には、97人の参加者もいる(5人の専門家を代表する40組織を含む)。
W3C DID ワーキンググループ:ストラクチャー&メソドロジー
2019年より、W3CワーキンググループはDIDのためのスタンダード(標準)を作成している。*3(XSL Labが掲載した記事にて解説した*4) 実は、DIDの本質的な構造はURIというWeb のSEO(検索エンジン最適化) の構造と同じような仕組みである。
「URIは、 HTTPとHTMLに不可欠となり, 全体のインターネットリソース(ドキュメント、人等のリソース)を参照する単純な文字列である。さらに、URIはWebのすべての部分を一緒に抱える「ノリ」」である*2 つまり、DIDはURIのように、リソースを参照する文字列である。DIDドキュメントと検証可能なで構成されるシステムと関連し、URIが開発される「環境」のおかげで、この特定のURIを分散型の識別子にすることができる。
DIDワーキンググループは、分散型の識別子のために理論的・技術的な標準を定義することを目的としており、各メンバーは、共通する標準の作成に貢献している。
特に、ワーキンググループは DIDメソッドの相互運用性(インターオペラビリティー)を保証し、ルールを設定するため、開発されたさまざまなDIDのために共通の技術基盤を提供できる。 DIDの均質性を保つために、及び世界の人々が「同じ言語を話す」ために、W3Cはワークプロトコルを設定し、現在の標準に準拠するのに開発者に対して「検証ツール」も提供している。
SDIの相互運用性を向上するために、XSL LabsはW3C標準に基づいたソリューションを開発している。
W3Cは「仲裁人」の役割を果たし、ワーキンググループの作業標準書に従うだけではなく、新しい標準の開発プロセスに適用される基準に従ってイノベーションを検証する役割も果たす。
DIDワーキンググループの場合、一番使われているツールはメーリングリストである。さらに、毎週、会議(オンラインミーティングが多い)を行う。週報はパブリックであるので、DIDスタンダードに興味があるコミュニティー(一般の人)はメーリングリス・議事録の内容などを閲覧することができる。つまり、コミュニティーは、グループへ提案・意見を共有するおかげで、標準の開発に直接貢献することができる。
さらに、ワーキンググループはGitHubを頻繁に利用している。 *5
つまり、DIDのための新しいW3Cスタンダードは、完全に参加型でインタラクティブな方法で開発されている。今年下期にXSL LabsはDIDワーキンググループのメンバーになることを予定している。しかし、W3C勧告よりサポートされる前に、開発中のスタンダードは、さまざまな承認フェーズを経る必要がある。
スタンダードの作成への必要なステップ
W3C勧告は、Webの仕様を標準化するための、W3Cワーキンググループ承認プロセスへの最終ステップである。「W3C勧告」の資格認定プロセスとは、ドキュメントがW3Cメンバーおよび一般の人に提出され、審査されたことと、合意を得たこととの意味である。他の業界が公開した技術標準(テクニカル・スタンダード)ドキュメントと同じようである。
合意を得ることができない場合、グループの会長は投票を依頼することができ、競合が発生する場合、W3Cのディレクタ、ティム・バーナーズ・リー氏が仲裁人として職務を果たし、最終決定を下すことになる。
各グループの会長の役割は、賛成意見と反対意見を考慮に入れ、グループ内で議論を行うことが必要かどうかを判断する。決定に対する合理的な批判がそれ以上ない場合、合意に達したと見なされる。
W3C手順書により、勧告は「作業草案、最終草案、勧告候補、勧告案」と必要なステップを行い、段階的な「審議」を経てW3C勧告へと至る。
・作業草案 – ワーキングドラフト (WD)
最初の「勧告」の準備ができたら(開発済み)、ワーキンググループは最初のドキュメントを公開する。 このステップでは、作業草案 (ワーキングドラフト 「WD」)と言う。次、作業草案の開発の第一段階として、レビュー、コメントおよびフィードバックのために、「コミュニティー」(W3Cメンバー、他の組織、一般の人々)によるスタンダード・ドキュメントをレビューする。
ドキュメントの一部について合意に達していない可能性があり、または、ドキュメント新バージョンと旧バージョンの変更が多くある場合、作業草案の最新バージョンが再発行され、同じレビュー・プロセスになる。ワーキングドラフトの最終版についてやっと合意に達したら、勧告候補 ドキュメント(CR)として公開される。
このステップでは、仕様書は最終版と大きく異なる場合がある。DIDの場合は、言うまでもなく、この予備標準に従って開発された分散型の識別子は、最終標準に準拠するために変更する必要がある。
・勧告候補– カンディデート・リコメンデーション (CR)
勧告候補は、ワーキングドラフトよりも「堅固」なバージョンである。標準を担当するワーキンググループは、標準が機能的であると見なす。CRの目的は、実装の実現可能性をテストすることである。
標準ドキュメントを変更することがまだ可能であるが、コア機能の構造は変更できない。機能の模様を、ソフトウェアにおける実装からのフィードバックに基づいて、変更する可能性がある。
・勧告案 – プロポーズド・リコメンデーション (PR)
勧告案とは、標準の新しいバージョンに近い:フィードバックが可能であり、標準が実装されたとのことである。 これで、ドキュメントは最終承認のためにW3C諮問委員会に提出される。
ここが重要なステップである。しかし、通常、次のステップに進むときに標準が大幅に変更されることはほとんどない。
・W3C勧告 (REC) – リコメンデーション
これは、開発についての最も「成熟した」段階である。 標準は、すでに理論的・実際的なレビューやテストされた階段である。ドメインで広く使用できる標準としてW3Cによってサポートされる。
・勧告の修正
勧告の新版が作成される前に、別紙Errata付き W3C勧告を更新することが可能である(現在、XMLの場合、第5版になっている)。さらに、W3Cは、さまざまな情報やノート(標準ではない)も公開している*6
DIDのステータスはどうなっているか?
「W3C分散型識別子ワーキンググループ」は、勧告候補としてドキュメント(CR)を公開する。さらに、ソフトウェア開発者と「DIDメソッド仕様」の作成者は、ドキュメントでのすべての機能の実装性をテストするように設計された実験的な実装を提供することをワーキンググループに求められる。
W3C勧告候補フェーズを終了するために、W3C DIDワーキンググループは、次の2点を要求する:
1:マシンでのテスト可能な「規範的ステートメント」の場合、機能ごとに少なくとも2つの相互運用可能な実装が必要となる。
2:マシンでのテスト不可能な規範的ステートメントの場合、機能ごとに少なくとも2つの実装の証明が必要となる。
機能は、仕様内の1つ以上の機能的に関連する規範的ステートメントとして定義される。
現在、DIDメソッド仕様トライアル82件、DIDメソッドドライバーの実装トライアル32件、およびある実装はこの仕様に準拠しているかどうかを判断する「勧告候補テストスイート」1件が存在している。*7
説明した通り、DIDワーキンググループは、RECステータスに到達するまでにはまだまだ道のりは長である。実際、標準の実装可能性と相互運用性を実証するのはかなり大変でややこしいプロセスである。勧告候補(CR)と勧告案(PR)の段階で大幅に修正された標準は、特にテストフェーズが数回失敗した場合、作業草案段階に降格され、もう一度すべての段階をクリアする必要になる可能性がある。
しかし、W3C勧告の「堅牢性」を保証するのは、とても長いプロセスである。余計な憶測、誤解が生じないように、多くの専門家が審査を行うし、各単語の使用が確認され、正確であるか・解釈の余地がないことを徹底的に見直す。
したがって、すべてのメンバーの貢献を通じて、未来のインターネットのための自己主権型アイデンティティ(SSI)技術を開発するため、W3Cの DIDワーキンググループは標準へのアクセス・相互運用性を完璧に開発することを目的としており、XSL Labsは積極的に貢献していきたいと考えている。