NEMのアドレスを知られると残高も知られることへの対処を考える

NEMは、入金アドレスを知っていれば、アカウントの所有者以外も残高を知ることができます。アドレスだけ見ても個人の特定はできません。しかし投げ銭を受けるために自分のアドレスをブログに貼るなどすると、アドレスを他人に公開することになります。

しかし、アカウントのPoIを上げるために投げ銭を受け取るというのは、ひとつの有力な手段だと思います。よって、最低1つのアドレスの公開は必要になります。

ビットコインのように1アカウントでアドレスを複数持つこともできない?ようです。(APIにそれらしき機能は見当たりません)

そこで自分の総残高をできるだけ知られないようにする方法を考えます。

複数アカウントを作る

  • ブログに貼る投げ銭受け取り用のアカウントA
  • 自分だけが知っている貯金用アカウントB

アカウントAのアドレスはブログで公開するので、そのアカウントの残高は他人も知ることができます。しかし、アカウントBのアドレスは公開しないので自分しか知りません。では、Aで投げ銭を受け取ったら、すぐさまBへ送金し、常にAはわずかな残高しか無いようにすれば良いのではないか?

残念ながらこれではだめです。なぜなら、Aがどのアドレスのアカウントに、いつ・いくら送金したかの記録も、他人が見ることができるからです。よってAから毎回Bへ送金していることもすぐわかり、BとAの持ち主は同じだと推測できてしまいます。

そして、Bのアドレスから残高を確認すれば、あなたの残高がわかってしまいます。

たくさんアカウントを作り送金を分散する

アカウントはいくつでも取れるので、Bだけでなく100個くらい作って、毎回違うところへ送るようにする方法も考えられます。他人が送金記録を見た時、本人以外のアカウントにも送金している可能性も考えるので、総残高はわかりにくくなります。

しかしたくさんアカウントを作ると管理が困難です。プログラムを書ければ何とかなりますが・・・

取引所を仲介して送金する

zaifなど取引所に開設してある自分の口座に送金する際は、取引所が入金用に指定しているアドレスに送金します。このアドレスは取引所のもので自分のものではありません。

  • ブログにアドレスを貼ったアカウントAから取引所のアカウントXへ送金
  • 取引所のアカウントXから誰にも教えていないアカウントBへ送金
    • 取引所によっては入金と出金のアドレスが別の場合もあるかもしれません

このように取引所を仲介すると、他人からAとBの持ち主が同じであることを判別するのは難しくなります。取引所のアドレスからの出金記録はたくさんあるからです。

もちろん、取引所のユーザーアカウントのパスワードがバレて、ログインされたら今までBというアカウントに送金し続けてきたこともバレてしまいますが。

いずれにせよ、取引所を仲介するのは手軽に誰でもできることで、良い方法ではないでしょうか。

ちなみにzaifの入金用のアドレスからその残高がわかるのですが、2017年10月現在、4億XEMありました(笑)PoIは380。毎月どれくらいのハーベストがあるんですかね・・・

tipnemを使う

twitterで投げ銭を受け取ることができるtipnemというサービスがあります。このサービスを使うとtwitterの返信経由でXEMを受け取ったり、相手に送金することができます。アカウントのアドレスを公開する必要はありません。

twitterユーザーで、かつ、tipnemを使っているユーザーからのみXEMを受け取ることができるという条件になります。また、twitterの返信経由で行われるので、他のユーザーから誰にいくら渡したか見えます。

tipnemに送金する際に、tipnemから送られてきたユーザー識別番号をメッセージに含めますが、このメッセージは暗号化しておいたほうが良いでしょう。暗号化しないメッセージは誰でも見られます。twitter上でtipnemからの返信として受け取ったユーザー識別番号も他のユーザーが見ることができます。よって、どのtwitterアカウントがどのNEMアドレスなのかも調べればわかります。

あとtipnemを運営している人は見ようと思えば、どのtwitterユーザーが、どのアドレスなのかは全てわかるはずですが・・・

まとめ

  • アドレスさえわかればアカウントの残高を誰でも見ることができる
  • 残高を知られたくないアカウントのアドレスは自分とひもづく形で公開しない
    • ブログに貼るなどしない
  • 取引所を経由して送金した先のアドレスは、他人から自分が所有者だとわかりにくい
  • tipnemを使って公開していないアドレスで、投げ銭を受け取る方法もある