スマホから Java カードへ資格を移し、かざすと錠が開く。別プロジェクトのつもりだったが、今回のウォレットの話と同じ部品でできていた。しかも、一番厄介な壁を避けて通っていた。頭の整理のための一枚。
作ろうとしていたのはこういうものだった。
動機がまた効いている。スマホをかざすのが嫌な人もいる。だからデータの入ったカードをかざしてもらう。マイナウォレットを見て「スマホは嫌だな」と離れる人の話と、根が同じである。
モックは実際に動いた。MacBook に USB で電圧を切り替える装置をつなぎ、NFC リーダーでカードを読み、錠を開けるところまで成功している。机上の空論ではない。現に開いた。
別のプロジェクトのつもりだった。しかし並べると、四つの工程が完全に一致する。
| あなたの錠前 | 今回のウォレット | |
|---|---|---|
| 発行 | スマホ → カードに資格を移す | 本人確認の資格を持つ |
| 提示 | カードをかざす | カードで本人確認する |
| 検証 | 条件を満たすか確かめる | 復旧の条件を満たすか確かめる |
| 実行 | 錠が開く | 操作鍵が交換される |
違うのは最後だけ。錠が開くか、鍵が回るか。「条件を満たしたら、何かが起きる」という骨格は、まったく同じである。
今回の資料が「これから作ろう」と言っていた流れの、
最後まで動く版を、あなたは既に持っていた。
この資料では何度も「Cardano も Midnight も、カードの署名を確かめられない」と書いてきた。カードが使う暗号方式(P-256 と呼ばれるもの)を、チェーンが読めないからである。
ところが、あなたのモックは動いた。なぜか。検証する場所が違ったからである。
あなたのモック
カードが署名 → MacBook のリーダーが確かめる → 錠が開く
↑ ここは、その署名を読める。だから動く
今回のウォレット
カードが署名 → ブロックチェーンが確かめる → 鍵が交換される
↑ ここが、その署名を読めない(今の Cardano / Midnight)同じ設計で、確かめる相手が「手元のパソコン」か「ブロックチェーン」かの違いだけ。あなたは、壁が存在しない場所で作っていた。だから完成した。
この資料はずっと「Cardano にはできる、でも動いている実例が少ない」と書いてきた。だが、あなたのソレノイド錠は現に動いていた。方向は違うが、同じ部品で。「まだ誰も動くものを作っていない」という私の前提のほうが、少し間違っていた。
今回のウォレットは、四つの工程のうち「実行」を送金や鍵交換に置き換えたものだった。あなたはその四つを、錠前という形で全部通している。
発行(スマホ→カード) ✓ 作った 提示(かざす) ✓ 作った 検証(リーダー) ✓ 作った ― ただしソフトで 実行(錠を開ける) ✓ 作った ────────────────────────────── これをチェーンに載せると? ← ここから先が、今回の資料 検証が P-256 の壁に当たる 実行が「送金・鍵交換」になる
つまりあなたは「オフチェーン版」を完成させていて、今回の資料は「それをオンチェーンにするとどうなるか」の話だった。別々のことをやっていたつもりが、同じものの両端にいた。
錠前は「今その場で、その人のために開く」。チェーンは「世界中の誰が見ても、条件を満たしたと確認できる/記録が残る」。用途が違う。錠前にチェーンは要らないし、無理に載せる必要もない。
あなたのカードが使う暗号は P-256、次期マイナンバーカードは P-384。同じ系統の暗号で、どちらも今の Cardano は読めない。だから「チェーンに載せる」を選んだ瞬間だけ、この資料の壁が関係してくる。
暗号の中身は分からなくていい。
あなたは既に、一番後ろまで動くものを持っている。
今回の話は、その「実行」をチェーンに替えたら何が要るか、だった。