【CTO Tech Blog】GoogleのLongfellow-ZKのRubyバインディングを作ってmdocの選択的開示を試してみた
- CTO Tech blog

当社のCTO、安土 茂亨がクラウドやBlockchainについて書き連ねるブログ Develop with pleasure! から最新記事をご紹介するCTO Tech Blog。
今回は「GoogleのLongfellow-ZKのRubyバインディングを作ってmdocの選択的開示を試してみた」というタイトルの記事をご紹介!!
📦 ブログ記事の概要
📄 概要
Googleが公開しているゼロ知識証明ライブラリ「longfellow-zk」のRubyバインディングをgemとして実装し、longfellow-zk同梱のテスト用モバイル運転免許証(mDL/mdoc)から「18歳以上である」ことだけを証明する選択的開示**を実際に検証した事例を紹介しています。
⚙️ 技術的ポイント
- Ruby-FFIを利用して、C++製のlongfellow-zkをRubyから利用可能にした。
- mdoc本体を開示せず、「age_over_18 = true」だけをゼロ知識証明できる。
- 検証対象の回路は、ECDSA署名検証回路(sig) と SHA-256+CBOR解析回路(hash) の2つで構成される。
- 照明システムは、LigeroによるコミットメントとSumcheckによる検証を組み合わせて証明を生成。
- 異なる有限体上で動作する2つの回路を、96バイトのMACで接続している。
💡 技術的意義
既存のmDLで広く利用されているP-256 ECDSA署名を変更することなく、プライバシーを保った属性証明を実現できる点が大きな特徴です。
また、論文だけでは分かりにくい回路構造やプルーフ生成の流れを、実際のログや実測値を通して具体的に確認できる内容となっています。
📌 まとめ
本記事は、デジタルID、Verifiable Credentials、ゼロ知識証明の実装に関心のあるエンジニアにおすすめです。特に、既存の認証基盤を活かしながら選択的開示を実現したい開発者にとって参考になる内容です。
🔗元記事へのリンク
Chaintopeでブロックチェーンの未来を共に創りませんか?

Chaintopeは、独自のブロックチェーン「Tapyrus(タピルス)」と、開発プラットフォーム「Tapyrus Platform」を活用し、デジタル社会の信頼基盤を構築しています。
私たちは、ブロックチェーン技術の可能性を最大限に引き出し、社会に新しい価値を提供することを目指しています。
募集職種:
- ブロックチェーンエンジニア
- アプリケーションエンジニア
- インフラ・保守エンジニア
- プロジェクトマネージャー
- フィールドセールス
Chaintopeで働く魅力:
- 最先端のブロックチェーン技術に触れる機会
- リモートワークやフレックスタイム制による柔軟な働き方
- 専門性の高いチームとの協働
ブロックチェーン技術に情熱を持つあなたのスキルを、私たちのチームで活かしませんか?
↓↓詳細は、採用情報をご覧ください↓↓


