tipnemの仕組みについて解説する

twitterアカウントの返信で相手にXEMを投げ銭できるtipnem。tipnemがどういう仕組で成り立っているのか気になる人もいると思うので、そのことについて書いてみました。

私はtipnemの開発者ではないので、外から見てだいたいこのように動いているだろうという憶測で書いているので、実体とズレてる箇所もあるかもしれません。その辺はご了承ください。(開発者の方に、だいたいそんな感じですとご確認は頂きましたが)

また以下、XEMを入金、出金と書いていますが、実際はXEM以外のモザイクにも当てはまります。tipnemはXEM以外のモザイクも対応しているからです。

tipnemのアカウント管理

あまり意識しないかもしれませんが、tipnemでは一応アカウント作成のようなことが行われています。tipnem登録時にtwitterアカウントとユーザー識別タグのひもづけが行われ、tipnemのシステムで保存されています。

tipnemアカウントの役割は以下の通り。

  • twitterアカウントとひもづいている
  • NEMアカウントからXEMの入金ができる
  • NEMアカウントへXEMの出金ができる
  • XEMの残高を確認できる
  • 他のユーザーからtwitterの返信経由で、XEMを受け取ることができる(投げ銭)

tipnemアカウント生成の流れ

以下、tipnemアカウント生成?の流れです。

  • tipnemを使用開始する時、まずtipnemのtwitterアカウントに次のように返信します。
  • @tipnem deposit
  • tipnemのシステムは返信を検知すると、そのユーザーとひもづけたユーザー識別タグ(入金タグ)を作ります。
  • tipnemのシステムは、XEMの入金アドレスとユーザー識別タグを、twitterの返信でユーザーに伝えます。
  • ユーザーはNEMアカウントから、ユーザー識別タグをメッセージに添えてXEMを入金します。
  • tipnemのシステムは、入金を確認したらメッセージのユーザー識別タグからユーザーを特定して、そのユーザーのtipnemアカウントにXEMを入金します

ちなみに@tipnem depositを何度やってもユーザー識別タグはしても変わらないようです。逆に言うと忘れてしまっても、いつでも確認できます。また、他人のユーザー識別タグを知っていれば、その人のtipnemアカウントへXEMを送金することもできます。

ユーザーのtipnemアカウントは、twitterユーザー、ユーザー識別タグとひもづいてますが、NEMアカウントとはひもづいていません。

ユーザー識別タグが他人から見えるのは危険?

ユーザー識別タグはtwitter返信で返ってくるため、他のユーザーから見れる場合があります。ここに不安を感じる人もいるでしょう。しかし、tipnemにXEMを入金する際、メッセージを暗号化してユーザー識別タグを送信すれば、特に問題はないと思います。

暗号化しないと知らない人が、あなたのNEMアカウントのアドレスを特定することは可能です。tipnemの入金アドレスの入出金記録は誰でも見ることができ、入金したユーザーのNEMアドレスと暗号化されていないメッセージを見ることができます。つまり暗号化しないと入金時のユーザー識別タグも見ることができます。

NEMアカウントのアドレスがわかると、そのNEMアカウントのXEM残高がいくらなのかわかってしまいます。

もちろん、ユーザー識別タグやNEMのアドレスを知っているだけでは、出金することはできません。tipnemアカウントから出金の際には、tipnemからtwitterアカウントにダイレクトメッセージで送られてくるPINコードが必要になるからです。ダイレクトメッセージは、twitterアカウントにログインしているユーザーしか見られません。NEMアカウントからの出金も、秘密鍵かウォレットファイルおよびパスワードを知らないとできません。

メッセージを暗号化せずユーザー識別タグを送ると、あなたのNEMアカウントが特定され、残高がいくらあるかがわかる可能性があるというだけです。それでもたいていは残高を人に知られたくないと思うので、メッセージを暗号化することをおすすめします。

tipnemで誰かにXEMを送る仕組み

twitterでtipnemでXEMを送る(投げ銭する)流れは以下のようになります。

  • 例えば私に0.1XEMを送りたい場合、次のようにtwitterで返信を投稿します
    • 試すと本当に送られますが返金はしませんのであしからず!
  • @tipnem tip @eimei4coding 0.1xem

この時のtipnemシステムの処理の流れは、だいたいこんな感じだと思います。

  • tipnemのシステムが、@tipnem返信を検知
  • 返信したtwitterユーザーのtipnemアカウントを割り出す
  • 返信を受けたtwitterユーザーのtipnemアカウントを割り出す
  • 返信したtipnemアカウントから、返信を受けたtipnemアカウントへXEMを入金する

面白いところは、XEMを受け取る人がまだ@tipnem depositしてXEM入金し、tipnemアカウント作成していなくとも、tipnem上ではXEMを受け取ったことになることです。その後、tipnemアカウント作成するとXEMを受け取れます。

まだtipnemアカウントがない状態でも、受け取ったXEMを記録してくれています。「このユーザーはtipnemユーザーではありません」とエラーになるより、みなし入金状態になった方が、それを受け取りたいからtipnem始める、といった流れになりそうで良い仕組みだと思いました。

tipnemを使うメリットは?

長いNEMアドレスを使って送金しなくても、twitterの返信で手軽に送金できるのが一番のメリットですが、実はもう1つ大きなメリットがあると思います。

先程、書いた通りNEMのアドレスさえ知っていれば、そのNEMアカウントの残高を知る方法があります。NEM APIやXEMbookなどで確認できます。あまり気持ちが良いものではないですから、アドレスをむやみにオープンな場で公開したくないですよね。

tipnemを使うとNEMアドレスで直接やりとりするわけではないので、NEMアドレスを公開することなくXEMのやりとりができます。これが私が考えるもう1つの大きなメリットだと思います。

仮想通貨投資はZaifのコイン積立だけで十分だと思う理由