SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

アプリケーション開発の最新トレンド(AD)

答えのない技術に挑む。CTC×慶応が産学連携で切り拓く、インターネットへの「信頼」の実装

次世代のデジタルアイデンティティ技術を手軽に実装できるOSS「VC Knots」の全貌とは?

EasyとSimpleを叶えた技術選定とVC Knotsの設計思想

──今回のテーマである「Verifiable Credentials(VC)」について解説をお願いします。

竹村:インターネット上のアカウント管理モデルは大きく変化しています。2000年代初頭はサイトごとにID・パスワードを設定していましたが、2010年代にはID連携が登場し、Googleなどのアカウントで外部サイトにログインできるようになりました。

 しかし、ID連携はGoogleアカウントが無効化されると、付随するサービスが使えなくなるという依存性の問題や、ユーザーの行動がプラットフォーマーに把握されるプライバシーの問題を抱えています。

 こうした課題を解決する新しいモデルとして登場したのが「Verifiable Credentials(VC)」です。最近標準化が進んでいる黎明期の技術ですが、急速に普及が始まっています。VCは「検証可能なデジタル証明書」であり、発行者(Issuer)、保有者(Holder)、検証者(Verifier)の3者が登場します。例えば、CTCが社員証を発行する場合は、CTCが発行者、社員が保有者、社員割引を提供する店舗などが検証者となります。

 重要なのは、VCを検証者に提示した際に、その事実が発行者に伝わらない仕組みである点です。また、社員番号を隠して年齢だけを開示する「部分開示」も可能です。さらに、発行者が倒産しても証明書は手元に残るため、転職時に過去の在籍を自律的に証明できます。このように、VCはプライバシーと依存性の課題を同時に解決できる技術となっています。

──今回OSSとして公開された「VC Knots」とは、どのようなものでしょうか。

萱間VC Knotsは、VCを扱うすべての方に向けたライブラリ群です。発行者、保有者、検証者のそれぞれがVCを活用したサービスを開発したいと考えた際、迅速かつ容易に実装できる環境の提供を目的としています。

 日本でVCに取り組む開発者はまだ多くありません。そのため、日本語のドキュメントが完備され、GitHub上で日本語のサポートを受けられる環境は、現時点では非常に貴重だといえます。

 また、VC Knotsは「簡単に作れる」ことを重視し、デザイン思想としても「Easy(簡単)」であることを徹底しています。PoC(概念検証)での利用を想定し、導入時の障壁を最小限に抑えました。

竹村:ウォレット側の開発にはGo言語を採用しました。ウォレットは、保有者が使う証明書管理アプリケーションなので、基本的にはスマートフォンで管理するシーンが多くなります。そのため、iOSやAndroidでの動作が必要となります。一方で、クラウド上で管理する「ホステッドウォレット」の需要もあります。こうした多様な実行環境に対応できる言語を選ぶ必要がありました。

 また、モバイルアプリから呼び出したり、多言語のアプリと共通利用したりすることを考慮し、FFI(Foreign Function Interface)による外部連携のしやすさも重視しました。

 最終的に、GoとRustが候補に残りましたが、より多くの開発者にとって学習コストが低く、親しみやすいGoを選定しました。

慶應義塾大学大学院 政策・メディア研究科 竹村太希氏
慶應義塾大学大学院 政策・メディア研究科 竹村太希氏

萱間:Go言語には「Make zero value useful(ゼロ値を有用にする)」という思想があります。特別な設定をしなくても、デフォルト状態で適切に動作するという考え方です。VC Knotsも、起動すればすべてのデータがインメモリ上で動作するように設計されています。本番運用には調整が必要ですが、まずは「動かせること」を最優先しました。

 ただし、簡便なだけでは実運用に耐えられません。そこで重要なのが「Simple(単純さ)」です。例えば、Google Cloudに載せる場合はFirestoreを使い、AWSならDynamoDBに切り替えるというように、クラウド固有のサービスを簡単に切り替えられる仕組みが必要です。一つ一つがシンプルであればあるほど切り替えやすくなります。

 「外側はEasyだが、内部はSimple」。この二段構えの構造により、初心者から熟練のエンジニアまで幅広くサポートできるライブラリを目指しています。

──VC Knotsをどういった開発者に使ってほしいと考えていますか。

萱間:技術に興味を持った方に、ぜひ自分事として触れていただきたいです。VCは医療や工業など多岐にわたる分野に応用可能です。「自分の専門領域ならこう使えるかもしれない」という発想を、VC Knotsですぐに形にしてほしいと考えています。

竹村:証明書の発行から検証までを一貫して試せるツールはまだ少ないのが現状です。「それなら自分たちで作ろう」という想いがVC Knotsの開発の原動力になっています。ですので、どんな開発者でも気軽に試してほしいです。

──CTCとしては、なぜOSSとして公開するのでしょうか。

萱間:インターネットの信頼は、一社では構築できません。だからこそ、広く仲間を募ることが重要です。まずはVCという技術を知り、触れられる状態にあることに気づいてもらいたい。

 普及が進み、多くの人が「インターネットの信頼」の重要性に気づけば、結果としてCTCのビジネス機会も増えると考えています。まずは技術の良さを広めるため、オープンソース化を選択しました。

次のページ
激しい仕様変更を乗り越える!産学連携で挑む実装の裏側と展望

関連リンク

この記事は参考になりましたか?

アプリケーション開発の最新トレンド連載記事一覧

もっと読む

この記事の著者

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

井山 敬博(イヤマ タカヒロ)

 STUDIO RONDINOのカメラマン。 東京綜合写真専門学校を卒業後、photographer 西尾豊司氏に師事。2008年に独立し、フリーを経て2012年からSTUDIO RONDINOに参加。 STUDIO RONDINO Works

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:伊藤忠テクノソリューションズ株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/23352 2026/03/05 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング