なぜ AUTHOR IDENTITY PROTOCOL (AIP)が本人である証明になるか

他所のこの人だなーこのコンテンツだなーっていうAIPをコピってですね。まるまるOP_RETURNにぶっこんでもそれ本人と言えるの??って単純な話です。AIPぶっこむ分データ量かかるわけですよ。

もちろんそんな誰でも思いつく偽装で問題でるはずないんですが、だと思うという理解で実装してもあたまおかしいので勉強することに。

AIPはルールで、肝はここ

[Signing Algorithm]
何のアルゴリズム使うの?

[Signing Address]
どのアドレスでそれしてんの?

[Signature]
その結果の著名はこれ

です。

アルゴリズム BITCOIN_ECDSA とは

BITCOIN_ECDSAでやる。それはマネボのbsv.jsでできる。
docs.moneybutton.com

privateKeyとpublicKeyがあります。秘密鍵と、公開鍵。sshと同じですね。

何らかのデータを秘密鍵を用いてECDSAで暗号化します。で、公開鍵で検証するとこれは正しいと判定できます。

どうやって判定するなどの理論はすっとばして、それを検証するプログラムがあるんです。

  • bsvには、bsv.crypto.ECDSAの署名と検証を含む、ECDSA と呼ばれるオブジェクトがあります。
  • 最も重要な2つの方法は sign、およびverifyです。
  • 署名を生成するには、秘密鍵とデータが必要です。
  • 署名を検証するには、公開鍵、署名、および検証するデータが必要です。

AIPのルールに従う必要があるのか?

暗号化と復号化以外にアドレスがあると、復号が万が一解かれてもそれがネックになる?...のであればまぁ分かる。でも出どころの保証ができてなくね?つまりAIPの形式が必要最低限って訳ではなさそう。

まるコピして本人になりすまして偽装txしたらをどうすんの?っていう問題はこの投稿内容をキーにしていればほぼ偽装防止できる。やっと合点いった。ずっと後回しにしていた。逆にそれをキーにして、ECDSAを発行することは最低必須条件になる。

あとは検証してみれば分かるけど、データ量に応じてECDSAも長くなるのかなぁ?ってこと。普通に考えるとそうなる。となるとデカい画像や動画にはまだコスト面で厳しそうだなぁ。

ちなみにほぼ偽装防止と言ったのは、発言内容を偽装してなりすますケースは防止できるけど、発言まで同じにしたら本人の発言として別のところに生むことができてしまう。これで困る事ってあまりないけど...だからSigning Addressをキッカケにするのかな?これがあるとどこの誰が著名の仕組みりようしているかアドレスで追いかけれて、「いや、それうちだけど、こんなところにtx残さないよー」「だったらこのtxと同じ著名を作ってみせてよ、あなたが本物ならね?」って確認取れるって話?それならすごいな。結局AIPのカタチがベストかも(笑)