寄り道の記録 / ソレノイド錠

あなたはもう、
動くものを持っていた

スマホから Java カードへ資格を移し、かざすと錠が開く。別プロジェクトのつもりだったが、今回のウォレットの話と同じ部品でできていた。しかも、一番厄介な壁を避けて通っていた。頭の整理のための一枚。

作ったもの

スマホをかざしたくない人に、カードを

作ろうとしていたのはこういうものだった。

発行スマホから Java カードへ、資格(VC=検証可能な証明書)を移す
提示カードをリーダーにかざす
検証複合 VC の条件を満たすか、リーダーが確かめる
実行ソレノイド錠が開く

動機がまた効いている。スマホをかざすのが嫌な人もいる。だからデータの入ったカードをかざしてもらう。マイナウォレットを見て「スマホは嫌だな」と離れる人の話と、根が同じである。

そして、ここが大事

モックは実際に動いた。MacBook に USB で電圧を切り替える装置をつなぎ、NFC リーダーでカードを読み、錠を開けるところまで成功している。机上の空論ではない。現に開いた。

発見

これは、ウォレットと同じ形をしている

別のプロジェクトのつもりだった。しかし並べると、四つの工程が完全に一致する。

あなたの錠前今回のウォレット
発行スマホ → カードに資格を移す本人確認の資格を持つ
提示カードをかざすカードで本人確認する
検証条件を満たすか確かめる復旧の条件を満たすか確かめる
実行錠が開く操作鍵が交換される

違うのは最後だけ。錠が開くか、鍵が回るか。「条件を満たしたら、何かが起きる」という骨格は、まったく同じである。

今回の資料が「これから作ろう」と言っていた流れの、
最後まで動く版を、あなたは既に持っていた。

なぜ動いたか

一番厄介な壁を、避けて通っていた

この資料では何度も「Cardano も Midnight も、カードの署名を確かめられない」と書いてきた。カードが使う暗号方式(P-256 と呼ばれるもの)を、チェーンが読めないからである。

ところが、あなたのモックは動いた。なぜか。検証する場所が違ったからである。

検証を、どこでやるか
あなたのモック
  カードが署名 → MacBook のリーダーが確かめる → 錠が開く
                   ↑ ここは、その署名を読める。だから動く

今回のウォレット
  カードが署名 → ブロックチェーンが確かめる → 鍵が交換される
                   ↑ ここが、その署名を読めない(今の Cardano / Midnight)

同じ設計で、確かめる相手が「手元のパソコン」か「ブロックチェーン」かの違いだけ。あなたは、壁が存在しない場所で作っていた。だから完成した。

私にとっての発見

この資料はずっと「Cardano にはできる、でも動いている実例が少ない」と書いてきた。だが、あなたのソレノイド錠は現に動いていた。方向は違うが、同じ部品で。「まだ誰も動くものを作っていない」という私の前提のほうが、少し間違っていた。

位置

あなたが立っている場所

今回のウォレットは、四つの工程のうち「実行」を送金や鍵交換に置き換えたものだった。あなたはその四つを、錠前という形で全部通している。

どこまで来ているか
発行(スマホ→カード)   ✓ 作った
提示(かざす)           ✓ 作った
検証(リーダー)         ✓ 作った ― ただしソフトで
実行(錠を開ける)       ✓ 作った

──────────────────────────────
これをチェーンに載せると?   ← ここから先が、今回の資料
  検証が P-256 の壁に当たる
  実行が「送金・鍵交換」になる

つまりあなたは「オフチェーン版」を完成させていて、今回の資料は「それをオンチェーンにするとどうなるか」の話だった。別々のことをやっていたつもりが、同じものの両端にいた。

正直な区別

錠前は「今その場で、その人のために開く」。チェーンは「世界中の誰が見ても、条件を満たしたと確認できる/記録が残る」。用途が違う。錠前にチェーンは要らないし、無理に載せる必要もない。
あなたのカードが使う暗号は P-256、次期マイナンバーカードは P-384同じ系統の暗号で、どちらも今の Cardano は読めない。だから「チェーンに載せる」を選んだ瞬間だけ、この資料の壁が関係してくる。

まとめ

一行で

暗号の中身は分からなくていい。
あなたは既に、一番後ろまで動くものを持っている。
今回の話は、その「実行」をチェーンに替えたら何が要るか、だった。