ウォレットの署名機能を使って、アドレスの所有者を証明してみよう!
monatrustの紹介です。(作者様 : じゅんじゅん(あーすちゃん)@jung2neko)
簡単な紹介
どんなことが出来るかと言うと、主に下の二つです。
①このアドレスは僕のアドレスだよ!とアドレス所持者しか作り出せない文字列(署名)で証明する。
②このアドレスは〇〇さんのアドレスだったよ!と自分のアドレスを使って署名する。
簡単に言えば、自分のアドレスを登録しておいて他の人に署名してもらえば、誰かがそのアドレスにモナコインを送る前に本人であることを確認しやすくなる(ここ難しいところ)のです。
細かな使い方はこの後に説明します。まずは使用例を上げてみましょう。
使用例1. ブログ用の寄付アドレスとTwitterのアドレスを使い分けるケース
ブログを書いているヘラさんは、Twitterに載せるアドレスとブログで投げ銭を募るアドレスを使い分けています。ブログ読者のヒュプノスさんは投げ銭を送ろうとしましたが、Twitterに載っているアドレスと違うので実は何か間違っているんじゃないかと不安です。でも本人に対して「投げ銭するけどこのアドレスは本人?」なんて聞けません……困った……。
そんなあなたにmonatrust!
ブログのアドレスをmonatrustに登録して、Twitterのアドレスで署名しておけば読者は簡単にそれがあなたのサブアドレスであることを確認できます。
使用例2. SNSのアドレスを信用できない場合
イオレーさんは、Twitterのプロフィールにモナコインのアドレスを載せています。
ヘラクレスさんはイオレーさんに投げ銭しようと思いましたが、あのモナコインアドレスが打ち間違えていないか、実は乗っ取られていないか、不安です。だけど「Twitterのプロフィールって本人ですか?」なんて聞いた時にはただのおかしい人か出会い厨です……困った……。
そんなあなたにmonatrust!
monatrustで検索したところ、よくやり取りしているメガラーさんが「このアドレスはイオレーさんのものだよ」と署名していました。メガラーさんのアドレスが正しいのはよくやり取りしているので確認済みです。
ということは、あのアドレスも信用できるはず!よかった!
使い方と解説
では、実際に試してみましょう。
monatrustにアクセス。
21/2/8追記 : モナカードで日本語化できるようになりました!
右上の「menu」から「insert」を選択して登録します。
ちなみにそれぞれ「search(検索する)」「insert(登録する)」「sign message(メッセージに署名する)」「verify signature(署名を検証する)」「setting(設定する)」「help(助けて!)」です。
ここでアドレスとそのアドレスがどのSNSで何のIDと紐づけられているか登録します。
ちなみにそれぞれ補足するとこんな感じ。「address(モナコインアドレス。mpurseボタンで入力できる)」「community(Twitterとかinstgramとか)」「id(@zugaaanzubababaみたいな、でも@は入れないほうが検索しやすいので抜こう)」「time(nowを押したら勝手に入る。登録した日時を署名に入れ込むことで登録した時刻も保証できる優れもの。)」「signature(署名。mpurseボタンを押せば勝手にやってくれる)」
入力するとこんな感じ。テスト用なのでcommunity,idは架空のものを入れて、オリオンさんのアカウントの紐づいたアドレスを登録してみます。
「sign(署名)」を押すと「Are you sure(ほんまにええんか?)」と聞かれるので「yes(かまへんよ)」を選択。
「Insert done(上手くいったわ!ほな!)」と出たら成功です。
これで「pixs_kaisetsu」でのオリオンさんのアカウント「@orion_kokode_orimasu」で使っているアドレスは「MWmCNAyXU27V5op3WNroAcekred4FjW7iz」であると、「MWmCNAyXU27V5op3WNroAcekred4FjW7iz」の持ち主が自己申告したことになります。
ここで注意してほしいのが、これを登録したのが「MWmCNAyXU27V5op3WNroAcekred4FjW7iz」の持ち主であることは間違いないですが、「MWmCNAyXU27V5op3WNroAcekred4FjW7iz」の持ち主がオリオンさんであるかどうかは分からないということ。
例えば上にあげたケース2のような運用をしたい場合は、このアドレスが正しいと確かめた人が、「このアドレスはオリオンさんのもので正しいですよ。」と署名する必要があります。逆に、本人を装って登録されている場合は「これはオリオンさんのじゃないよ!注意!」と認証しないこともできます。
では次にアルテミスさんになって、「このアドレスはオリオンさんのもので正しいですよ。」と署名してみます。
まずはアルテミスさんのアドレスを先ほど同様に登録します。
先ほどのメニューから、「search(検索する)」をクリック。
idに「@orion_kokode_orimasu」を入力。@は無い方が検索しやすいので抜いたほうがいいと思います。手遅れなのでこの記事ではそのまま。
ヒットしました。(21は登録番号ですので特に意味はありません。)
右下の「>>」を押すと画面が遷移します。
下に一つだけアドレスが表示されていますが、署名されるとここが増えていきます。
では、アルテミスさんのアドレスで、「このアドレスはオリオンさんのもので正しいですよ。」と署名してみます。
署名した後になんか変だな、と思ったら「revoked」で取り消すこともできます。
その場合でも履歴が残るので、急に取り消しが増え始めたアドレスには何かあったのかもしれません。(乗っ取りだけでなく、セルフGOXとか。)
(2020/1/25 コメントいただき修正)
消えかかっていますが、「Insert done(署名、完了しました。)」と出れば成功。
下の欄にアルテミスさんの署名が増えました。(左側です。)
この場合、オリオンさんのアドレスが信用できるか分からなくても、アルテミスさんのアドレスが信用できれば間接的にオリオンさんのアドレスも多分信用できることが分かります。
では、オリオンさんを調べて上の画像が出てきた場合はどうでしょうか?
知らない人から見ると、誰かが一人署名していることしか分かりません。
そんなときには、アドレス下の二つのアイコンをチェックしましょう。
左の署名しているマークをクリックすると、署名された日時が分かります。
また、右の人の形のアイコンをクリックすれば、そのアドレスの登録情報を検索できます。
このアドレスはアルテミスさんのもの(と自己申告している)で、オリオンさんのアドレスに2021/1/24に署名したことが分かりました。
このアルテミスさんが知らない人だった場合、同じ手順を繰り返して知っている人に辿り着くまで続けることが出来ます。
ただ、チェーンが繋がっていくほど関係は薄くなっていくので、遠くで知り合いを一人見つけたからと言って、そのチェーン全てが信頼できるかは微妙です。
基本的には、
・同じアドレスに対して信用できる(ここほんとに大事、量より質)アドレスからの署名が多いほど、信頼度が高まる。
・信用できるアドレスから署名のチェーンが離れていくほど、信頼度が下がる。
と考えてください。
あとがき
最後になりますが、高額の送金などでは直接本人に十分確認するのが大事です。
あくまで、信頼を補助する仕組みですので、上手く使ってみましょう。
P.S.
使用例については、開発者様のspotlight記事がありますので、併せてごらんください。
https://spotlight.soy/mypage?user_id=1650
P.P.S.
推し。
コメントを残す