【ITニュース解説】Building Digital Identity Tools - Why We Open-Sourced Our SSI SDK
2025年09月16日に「Dev.to」が公開したITニュース「Building Digital Identity Tools - Why We Open-Sourced Our SSI SDK」について初心者にもわかりやすく解説しています。
ITニュース概要
EUのデジタルID規制に対応するため、TypeScript開発者向けに新たなSSI SDKをオープンソース化した。既存SDKの課題を解決し、純粋なTypeScriptでモジュール化。最新標準に準拠し、現代のシステムに組み込みやすい設計で、企業が効率的にデジタルID機能を導入できるよう支援する。
ITニュース解説
デジタル化が進む現代社会では、インターネット上での「自分」を証明する技術、デジタルアイデンティティが非常に重要だ。ヨーロッパ連合(EU)では2026年までに新規則「eIDAS 2.0」により、デジタルアイデンティティウォレットが義務化される。これは、企業や個人が安全に本人確認を行い、様々なサービスを利用するための基盤であり、多くの企業が今からこの準備を急いでいる。
この背景のもと、本人確認プラットフォームBlockia IDを開発するチームは、独自のデジタルアイデンティティ技術SSI(自己主権型アイデンティティ)のSDK(ソフトウェア開発キット)をオープンソースとして公開した。SSIは、個人が自身のデジタル身分証明書を自ら管理し、必要な情報だけを選んで相手に提示できる、プライバシー重視の仕組みだ。しかし、すでに多くのSSI SDKが存在する中で、なぜこのチームは新しいものを作る必要があったのだろうか。
彼らのチームは、TypeScriptとNode.jsを使う純粋なTypeScript開発チームだった。企業クライアントは、システム基盤の大きな変更や、ブロックチェーン技術への依存を嫌う傾向があった。既存のSSI SDKはそれぞれ優れており、特定の用途には適している。例えばWalt.idは高機能だがJVMの専門知識とインフラが必要、Sphereonは機能豊富だがアーキテクチャの柔軟性に欠けた。Veramoは拡張性が高いが、一からカスタムソリューションを構築したいチーム向けであり、既存システムへのスムーズな統合を求めるBlockia IDチームには最適ではなかった。
さらに彼らは、EUのデジタルアイデンティティウォレットで使われる最新の国際標準、OpenID4VCI Draft-17やOpenID4VP Draft-24への対応が必要だった。本番環境でのソフトウェアサイズ(バンドルサイズ)最小化も要求された。そして何より、開発者は複雑なアイデンティティプロトコルの専門家になるのではなく、ビジネスロジック、つまりユーザーに価値を提供する機能の開発に集中したかった。既存SDKではこれらの要件全てを満たすものがなく、多くのTypeScript開発チームが同様の課題に直面していると彼らは気づいた。
そこで彼らは、独自のSSI SDK開発にあたり、いくつかの重要な設計思想を掲げた。 一つ目は「モジュール性」だ。必要な機能だけを使えるよう、全体の機能を11個の独立したNPMパッケージ(JavaScriptのライブラリ)に分割した。これにより、デジタル身分証明書発行機能だけ使うチームはウォレットのコードをインストール不要で、余分なコードを含まず軽量なシステムを構築できる。 二つ目は「TypeScriptネイティブ」であること。他の言語からの呼び出しではなく、純粋なTypeScriptで開発した。これにより、TypeScriptの型情報による強力なサポートを最大限に活用でき、開発ツール(IDE)がコードの誤りを素早く指摘したり、自動補完機能がより正確に動作したりするなど、開発効率が大幅に向上する。 三つ目は「標準ファースト」であること。単に機能が多いだけでなく、前述のOpenID4VCI Draft-17やOpenID4VP Draft-24といった最新の国際標準に厳密に準拠している。これにより、今後導入されるEUのデジタルアイデンティティウォレットとの互換性が保証され、将来にわたって安心して利用できる基盤となる。さらにW3C VC 2.0(分散型資格情報標準)やDID Core 1.0(分散型識別子標準)といった、デジタルアイデンティティの根幹をなす重要な標準にも対応している。 四つ目は「本番環境重視」という考え方だ。新しい技術の可能性を探るよりも、実際に製品として出荷し、安定して動作することを最優先した。シンプルで堅実なアプローチが、プロダクトの安定稼働と長期運用には不可欠であるという哲学だ。
Blockia IDでの半年間の本番運用を通じて、彼らはいくつかの重要な学びを得た。 まず、ほとんどの企業はシステム根幹の「革命的な」アーキテクチャ変更を望んでおらず、既存システムに「差し込むだけ」でSSI機能が使えるようになることを求めている。 次に、開発者は複雑なデジタルアイデンティティプロトコルの専門家になることを望まず、資格情報の発行といったシンプルな操作を実行し、すぐにビジネスロジック開発に戻りたいと考えている。統合が簡単であればあるほど、採用の可能性が高まる。 そして、機能の多さよりも、国際標準に準拠していることが何よりも重要だ。最新のOpenID4VCドラフト対応は、今後登場するEUのデジタルウォレットとの互換性を意味し、これは多くの「珍しい機能」よりもはるかに価値がある。
彼らが開発したSDKは、合計11個のNPMパッケージから構成され、すべてをまとめてもたった89KBという非常に軽量なサイズだ。各パッケージは、資格情報の発行・検証、ウォレット操作、DID(分散型識別子)管理、鍵管理、資格情報失効処理など、特定の機能を効率的に実行する。これにより、開発者は必要な機能だけを選んで導入できる。
このSDKはすでにBlockia IDで本番稼働しており、毎日多くの本人確認処理を行っている。現状では、デジタルな資格情報の発行から検証、失効までの完全なライフサイクルに対応し、HDウォレット実装、DID:keyやDID:webといった代表的なDIDメソッドをサポートし、最新のOpenID4VC標準にも対応している。今後は、さらに多くのDIDメソッドや、プライバシーを強化する高度な機能、多様な資格情報形式への対応も視野に入れている。
このSDKを内部で使い続ける選択肢もあったが、彼らはオープンソースとして公開することを選んだ。SSI技術エコシステム全体が、互いの解決策を共有することでより良くなると信じているからだ。どのチームも同じ問題をゼロから解決し直す必要はない。また、彼らの視点だけでは気づけない課題や改善点、あるいは想像もしなかった新しい統合方法が、TypeScriptコミュニティからのフィードバックを通じて見つかることへの期待も大きい。
このSSI SDKは、既存インフラを大きく変えることなく、デジタルアイデンティティ機能をシステムに組み込みたいTypeScript開発チームにとって非常に役立つだろう。限られたリソースでEUのデジタルアイデンティティ要件に対応するチームにとっては、開発期間を数ヶ月短縮できる可能性もある。もし既存のSSIソリューションに満足しているならそれを使い続けるのが最善であり、このSDKは既存を置き換えるのではなく、特定の課題を抱えるチームに新たな選択肢を提供することを目指している。
このSDKはApache 2.0ライセンスで公開され、GitHubでコード、ドキュメント、NPMパッケージが利用可能だ。彼らは、本番ユーザーからのフィードバック、必要な機能提案、効果的な統合パターン、優先すべき標準など、コミュニティからの積極的な参加を歓迎している。
まとめると、彼らが開発したこのSDKは、革命的でも高機能でもない。しかし、小さく、実用的で、そして何よりも安定して動作する。デジタルアイデンティティの未来を形作る一歩として、多くの開発者の手に届けられることを期待している。