暗号通貨に関する事など

暗号通貨に関する覚書など。メモや日記。

※技術的なことに関して、間違っていたらコメントから指摘していただけると泣いて喜びます

仮想通貨NEMのハーベスティングの状態を確認できるWatchFace

 NEMのハーベスティングの状態をPebbleから監視できるアプリを作りました。元々はQitiaの方で書いていました(後に大きく修正しました)が、今は特に技術的なお知らせもないのでこちらで…

Qiitaの記事はこちら


 また、Githubでソースコード公開しています。ライセンスは特に気にしていないので、物好きな方はお好きにフォーク、再利用、再配布してください。外部リソースとして使用しているフォントも、オープンソースフォントを利用しているのでライセンスは問題ないかと思います。アプリ中で使用している画像は自分で描いたのでこれも気にせず使ってください(気にしなくても使う人いないでしょう)。なお、フォーク、再利用などで生じた損害損失は一切私の方では受け付けませんのであらかじめご了承ください。


使い方

 使い方は簡単です。


 まず、PebbleAppStoreから”NEM”で検索していただけると出てくるのでそれを取り込んでください。その後、設定画面でNEMアドレスと委任先ノードIPアドレスを入力してもらえれば、準備完了です。(委任先ノードのIPアドレスを設定しないと正しい判断が出来ません。)




 もし、委任ハーベストしているはずのNEMアドレスをセットしても正しく表示されない場合、アドレス設定欄にリモートアカウントのアドレスを直接セットして再度試してみてください。
 基本的に委任元のノードを入力してもリモートアカウントのアドレスの取得を試みるよう動きますが、場合によっては取得できないことがある(仕様の関係で)のでその時はリモートアカウントのアドレスをアドレス設定欄に入力してください。


 ハーベスティングの状態確認は時刻版の下にある小さな丸いアイコンで確認できます。それぞれの画像と意味は下記図のとおりです。

 以上です。もし、何かあればGithubの方かツイッターでクレーム投げていただければと思います。私が持っているものはPebbleTimeで、他の形のものはエミュレータを使って確認しただけなので、もしかしたら表示のバランスが悪いかも知れません。


無駄話

 最初別のフォント使ってたんですね。海外のフリーフォントらしきものを。で、一応ちゃんとやるかということでライセンスとか調べていたのですがそのうちにめんどくさくなって、GoogleFontさんにお世話になることにしました。GoogleFontさんは偉大。

 真面目にやればすぐに作れるものだと思います。NEMではHttpを利用したAPIを提供してくれているので、基本的に学ぶことはアプリ側の実装や言語だけでした。実働時間のほとんどがPebbleのアプリとCとjsについて調べてました。しつこいぐらいに言われていますが、これがNEMの良さの一つですよね。レイヤー分けって大事。


 作っていて、設定画面どうやって作ればいいんだろうか。困ったな。と思った時にPebbleClayなるものを発見しました。公式サイトにも記事あるんですけどね。これがとても便利。「こんなものがあるといいのにな」と思ったものは大体どこかの誰かが作ってくれていたりするんですね。インターネットすごい。


 あと、今回行ったAPIアクセスのフローなんかはまたQiitaであげようと思ってます。シェア大事。



【仮想通貨NEM】税金付き(levy)モザイクについて

税金付き(levy)モザイク (はじめに)

 NEMのモザイクには税金徴収(levy)機能というものがあり、モザイク作成時にそれを設定することが出来ます。そのことに関して書こうと思います。


 levyの意味はこちら。


 NEMの税金付きモザイクはそのモザイクを送金する時に、通常手数料と別に税金を課すことができます。説明は下記図のとおりです。


何に使えるのか?

 早速ですがNEMの税金機能がどうやって使われることが考えられるかを一例を持って説明したいと思います。(ほんの一例です)


 例えばここに「GJモザイク」というモザイクがあったとします。そして、それと同時に絵や作品を自分が良いねと思ったらGJモザイクを送る遊びがあったとします。


 このサービスにはサービス提供者と呼ばれる主催が存在していると考えられます。GJモザイクを作った人ですね。何もしなければGJモザイクの作成、GJモザイクを送る為の専用ソフトウェア(あれば)の開発費、維持費は全て主催の負担となります。


 ここで、税金が活躍する時が来ます。GJモザイク作者はGJモザイクに税金を課すことで負担を利用者にも支えてもらうことができます。


 これなら主催者の負担は軽くなるし、利用頻度が多い人が多くの支援を自動的におこなうことができますね。あくまで一例ですが、NEMの税金機能はこうして使われることを想定して作られたものでは無いかと考えます。
(個人的には"サービスには主体がいる"という考えがとてもNEMっぽいしその設計思想を表しているように感じます)


Levyの問題点

 全ての物事には良い面と悪い面が有ります。先に税金の良い面を紹介しました。では、悪い点はどこなのか。


 一言で言うと「相手のアドレスからお金を吸い取ることに使える」ことです。下記図で簡単に説明します。

 誰かからモザイクを貰ったけど、NanoWalletのダッシュボード占領して邪魔だから適当なアドレスに送って捨てようと送ると、知らない間に税金も一緒に送られます。


 NEMはパブリックブロックチェーンなので被害を訴えてもロールバックすることは実際不可能であると考えたほうが良く、攻撃者の一人勝ちとなります。


 税金機能自体は悪いものではありません。ちょうどメール機能が悪いのではなくスパムメールが悪いのと同じです。


 では不審なモザイクを誰かから送られた時はどうすれば良いのか。簡単です。無視してください。それだけです。モザイク作成にはお金(xem)がかかります。攻撃するにもコストがかかるので、無視することが攻撃者への反撃になるのです。


lebyの確認(NanoWallet)

 そのモザイクに税金が設定されているかどうかを確認するには下記図を参考にして確認してください。


悪意?実験?

 「このモザイク、税金付きだけど悪意あるの?ただのお遊びなの?」こういう話をすると必ずでてきますよね。個人的には貰ったものは個々が判断してくださいとしか言いようがありません。しかし、送る側については配慮が必要であると思っています。

 モザイクは表現であり、それを送るのはメッセージを送ることと同義です。

 「GJモザイク」を送れば相手は喜んでくれるかも知れないし、「FXckモザイク」を送られれば相手は気を悪くするかも知れません。当たり前ですけどね。


 「GJモザイク」を送れば相手は喜ぶと思っても、何の挨拶もなしにいきなり送りつけると相手を戸惑わせるかも知れません。たとえそのモザイクに税金が付いていなくても。


 これもちょうどメールと同じなんですよね。

 ・・・うざいですよね。うっかりカアチャンからのメールも一緒に消しそうになりますよね。


 相手に送るのは構わないでしょう。個人の自由なので。しかしそれによって相手にどう思われてもいけないと覚悟はすべきですね。税金をつけたモザイクをいきなり相手に送ればそれに対する相手の反応には覚悟を持つべきです。


 要は悪意があると受け取られても仕方ないと前もって思っておく必要があると思います。


問題は仕組みで解決しましょう

 悪意の有無は一旦置いておいて、自身の知らないところでお金がウォレットから出て行くのは悲劇です。これはなんとかしましょう。


 警告しても殆どの人の耳に入ることはないと思うし分かっていても"うっかり"があるのが人間なので、そういうものは仕組みで解決すればいいと思います。具体的には

  • 大金の保管用にはxemだけしか対応していないウォレットを利用する
  • xem以外のモザイク送金はホワイトリストで許可したものしか表示させない、送れないウォレットの開発
 をすればいいと思っています。作っていかないといけないですね。

 (話が飛びますが、今度発売されるTREZOR2はNEM対応らしいですが、上記の理由から個人的にはxem以外対応してないウォレットだと良いなと思っています。確認してませんが…)


最期に

 個人的に技術を使う事自体には良いも悪いもないのでどんどん使えば良いと思っています。そこに問題があるなら問題の認知を広げるのとソフトウェアで対策するのと両方から解決していくしか無いんでしょうね。

【仮想通貨NEM】 twitter簡単に投げ銭が出来るtipnemの使い方[基本編]


ツイッター上でいつもお世話になっている方への感謝のしるしや「良いね!」に変わる表現として、ツイッターアカウントに向けて投げ銭が出来るtipnemというサービスの使い方の紹介です。


今回は基本編。xemを入金してから初めて送金するまでの手順を説明します。
(tipnemはxem以外にも自作のモザイク(トークン)にも対応していますが、分かりにくくなるのであくまでxemを送るだけの説明をします)


用意するもの

 tipnemを利用するにあたって用意するものは以下のとおりです。

  1. twitterアカウント
  2. 送金に使うxem
 はい。これだけです。

事前登録

 必要ありません。ツイッターアカウントを持っていれば誰でも利用できます。
 ということで以下、入金と初めて送金するまでの手順を説明します。


1.tipnemをフォローしよう

 tipnemをフォローしてください。


2.「残高」コマンドで最初に所持xemを確認しよう

 tipnemはコマンドによって操作します。コマンドと言っても、@tipnemに向かってリプライを送るだけです。下の図のとおりに@tipnemに向かってリプライを送ってみましょう。

コピペ用(分からなければ右にあるものを貼り付けしてツイートしてください) : @tipnem 残高


 最初に確認が出来ました。当然残高はゼロですが、それ以前に誰かにチップをもらっていればゼロではないこともあるかも知れません。


3.入金しよう

 入金はtipnem固定のアドレスに、本人確認用のタグをメッセージに入れて送金することで行います。ちょうど、ZaifやCoinCheckへの送金の時、メッセージに本人確認番号を入力するのと要領は同じです。


 本人確認用のタグ(識別番号)を確認するには、「deposit」コマンドを使います。例によってtipnemに向かってリプライを送るだけです。

コピペ用 : @tipnem deposit


 さて、tipnemちゃんが入金タグをおしえてくれました。赤枠で囲まれた文字列です。これを、tipnem用のアドレス「NCR2CQE6AI3DIRHPHEPBSVDBOQFSHXFSQF4NIUAH」への送金時にメッセージとして添付します。(下記図を参照)

 NanoWalletから送っています。最初は必ず1xemを送金し、tipnemに送られたことを確認してから実際に使用するxemを送りましょう。


4.送金が反映されるまで待ちましょう

 送金が反映されるまで待ちます。送金の反映は"2"と同じく、「残高コマンド : @tipnem 残高」で確認することが出来ます。


5.送金しよう

 入金が反映されたら、送金してみましょう。送金には送金コマンドを使用します。


 ここではサンプルとして、@sampleが@aliceに5xemを送金した場合を図として載せます。


 少し複雑ですが、送金コマンドの組み立て方は下記図のとおりです。


コピペ用 : @tipnem tip @alice 5 xem
(@alice と送金額の 5 は各自都合に合わせて変えてください)


 これをツイートするだけで送金が出来ます。入金から初めての送金までの基本的な使い方は以上です。


使用上の注意

 tipnemを利用するときは以下のことを必ず守ってください。約束を守らずに資産が無くなっても私は知りません。

  • tipnemのアドレスに大金を預けない(入金は遊ぶお金だけ)
  • tipnemへの送金は取引所から直接送金しない(一度自分のウォレットに入れてから送金)
  • 必ず入金から送金まで1xemでテストすること


さいごに

 送金はやや複雑ですが、一度送金が出来てしまえばそう難しく感じることもないでしょう。今回は基本な入金とxemの送金だけを紹介しました。より高度な使い方は、誰かブログに書いて。