読者です 読者をやめる 読者になる 読者になる

黄金虫ブログ

アルトコインとかRaspberry PiとかArduinoとか解説紹介していきます!

NEM MobileWalletによるマルチシグの実行方法

f:id:Ocknamo_crypt:20161108001813j:plain
ついにNEMのMobileWalletがリリースされましたね。
導入方法についてはいろいろと話を聞くのですがネイティブで実装されているという、マルチシグアドレス機能については(日本語の)解説をあまり見ないので
週末に自分でいろいろといじってみました。
(NEMについては前回の記事の冒頭を参照してください。)
ラズベリー農家のすすめ/NEM Harvesting on Raspberry Pi 3 B - 黄金虫ブログ

マルチシグってなに?

正直、自分も実際にいじってみるまでちゃんと把握できていませんでした。
マルチシグとは複数人の署名がそろうと実行されるトランザクション(取引)ですが、実際やってみると複数人で管理する仮想通貨の口座(マルチシグアドレス)という認識のほうがわかりやすいです。

なんかいいことあんの?

今のところは透明性の高い資金運用って感じでしょうか。
複数人で共有したい資金ってありますよね。
でもそういう資金ってどこに保管すればいいのかとか参加者の誰かがネコババしないかとかの心配がつきもの。
金額が高くなるとそのリスクが急上昇するのでマルチシグアドレスで保管しましょう。

動作

参加者でマルチシグアドレスにお金を入れるのは誰の許可なしでもできますが、アドレスからお金を移そうとするとほかの参加者に許可を求めるリクエストが自動的に送られてきます。
必要な人数が確認(署名)するとそのお金の移動(何らかの購入とかの支払いの取引)が実際に行われます。

使用例(妄想)

卑近な例
・卒業旅行の会費をマルチシグアドレスに参加者がそれぞれ送り、溜まった分から宿泊費としてそこから直接支払う。全員がお金の動きを確認できる。
・寄付をマルチシグアドレスに募り、送ってきた人の金額上位何%かを署名者にする。何に使用するか寄付者が直接決める権利を持つ。
・共同出資者とコンサートを計画しマルチシグアドレスを作る。チェロ奏者に出演を依頼し出演料を送金する。共同出資者がその送金を許可する。
www.youtube.com
(考えてみると全く親近感のわかないPVですね。一生のうちに「複数人でお金をためチェロ奏者に40万円だして演奏を頼む」なんてことがあるとは全く思えない(笑))


・家族の共有口座として使用。大きな買い物をするときは家族みんなの確認が必要。
・投資基金とかを簡単につくる。投資も利益分配も透明性が確保できる。
とかでしょうか?

マルチシグを実際にやってみましょう

さていつも通り前置きが長くなりましたが、実際にスマートフォンにモバイルウォレットをいれてマルチシグをテストしてみました。


androidのアプリは以下からダウンロードできます。
NEMウォレット - Google Play の Android アプリ
IOS版はまだのようです。

導入方法はクリプトストリームさんで紹介されています。手軽なので気軽に入れてみましょう。
【画像アリ】遂に出ました!NEMモバイルウォレット導入方法 - クリプトストリーム


1.マルチシグ用のアカウントを作る

アカウント作成メニューからアカウントを作ります。
f:id:Ocknamo_crypt:20161111020524p:plain:w300
ご覧のとおりいくらでも作成できます。
自分のメインのアカウントはマルチシグアカウントにはしないように注意しましょう。

マルチシグ化するのに手数料としてXEMが必要なのであらかじめマルチシグ用のアカウントにXEMを入金しておきます。
現状だと署名者一人で12XEM必要です(署名者一人につき6XEM,マルチシグ化手数料で6XEMでしょうか)
署名者の追加や送金などにも当然手数料が必要なので、いろいろいじりたいならある程度入れておいたほうが良いです。

2.アカウントをマルチシグアドレスに転換する

アカウント作成した時点では通常のアドレスなので、マルチシグアドレスへの転換が必要です。転換するには署名人になるその他のアカウントの「公開鍵」が必要です。
公開鍵は、署名人の署名が本物かどうかをマルチシグアドレスが確認するための鍵です。その名の通り公開しても問題はありません(秘密鍵は絶対に公開してはいけません)


まず自分のメインのアドレスの公開鍵を調べます。
”もっと"からアカウントのエクスポートを選択。(エクスポートが目的ではないのでパスワードは何でもよい)
一番下に表示されるパブリックキー(公開鍵)をコピーします。
f:id:Ocknamo_crypt:20161111021525p:plain:w300

次に、マルチシグにしたいアカウントに入り、”もっと”からマルチシグネチャに移動

f:id:Ocknamo_crypt:20161111021304p:plain:w300

署名者の最小限の数はとりあえず1にしておいて、
"アドレスかラベルを入力してください"とありますが、先ほどコピーした公開鍵を入力します。
f:id:Ocknamo_crypt:20161111022050p:plain:w300

アドレスを入力するとこのようにエラーになります。
f:id:Ocknamo_crypt:20161111023525p:plain:w300


最後に転換をクリックします。転換すると元には戻せないので注意してください。
f:id:Ocknamo_crypt:20161111024049p:plain:w300


数分待つと手数料分の残高が減り、
f:id:Ocknamo_crypt:20161111024121p:plain:w300

マルチシグネチャの設定メニューに入れなくなります。
f:id:Ocknamo_crypt:20161111024158p:plain:w300

これで転換は完了です。

3.署名者の追加

さきほど署名者に指定したメインのアカウントからマルチシグネチャの設定メニューに入ります。
f:id:Ocknamo_crypt:20161111024709p:plain:w300
追加したい署名人の公開鍵と署名者の最小限の数を入力(2人なのでとりあえず2にします)
f:id:Ocknamo_crypt:20161111024824p:plain:w300
”署名者を取り除く”のタブを見ると追加できていることがわかります
f:id:Ocknamo_crypt:20161111025206p:plain:w300

4.マルチシグを実行する

アドレス帳もしくはダッシュボードから、"新しい取引"を開き、送信者を今のアカウントではなくマルチシグアカウントに変更します。
f:id:Ocknamo_crypt:20161111025845p:plain:w300
f:id:Ocknamo_crypt:20161111030242p:plain:w300
あとは普通に金額を入れて送信すればマルチシグのアカウントからの送金のリクエストが行われ、署名者に通知がいきます。


自分にきた通知の例ですが、このような感じで来ます。
f:id:Ocknamo_crypt:20161111030515p:plain:w300
showをクリックすると、内容が表示されます。確認してくださいをタップすると署名が完了します。
f:id:Ocknamo_crypt:20161111030602p:plain:w300
必要な署名者の人数に達すれば送金が行われます。


マルチシグの実行はこれで完了です。
ぜひ実際に動かしてみてください!

感想

  1. 公開鍵の入力は教えてもらうところも含めて面倒です。アドレスで何とかできないのかな……アップデートに期待。
  2. 操作感はよい。デザインもシンプルで割と好き。
  3. 手数料低めでもわりと取引のスピードが速い。
  4. 裏技がある。わかるわけない(笑)
  5. 開く度にパスワード求められるのがストレス。まだ無理だと思うけど指紋認証したい。そのうちお願いします。


P.S.
ご協力いただいたミジンコさんtomotomoさんありがとうございました。

黄金虫ブログは寄付を募っています。

募金は筆者のモチベーションと社会の分散性の向上ために使用されます。

NEMで寄付いただいた方にはお返しにocknamoモザイクを差し上げます(手動)

NEM/XEM

NEM Donation Address: NCWX3R-KAOT4D-ITPEKG-ZX5SNG-ICKKGV-ZLVT2E-KKI6

bitcoin

BTC,XRP Donation Address:1MupdofmXC8vrRLLJQBKq6NLAp1sRmfAqt

PR