Symbol(シンボル)で始める暗号通貨~話題のマルチシグアカウントがこんなに簡単に作れる…SYMBOL From NEM

 最終更新日2020/02/27 公開日2020/01/18    この記事は 約7分 で読めます。

Catapultを搭載したNEMの新しいブロックチェーンプラットフォーム「Symbol(シンボル)」の正式なテストネットが稼働しましたので遊んでみましょう。

※以下は開発中のウォレット及びテストネットを利用したものですので、記事執筆以降に状態が変わっていることがあります。
※画面は開発中のものなのでレイアウト崩れなど多少発生している場合もありますが、テスト利用に大きな支障はないと思います。

ウォレットの準備などは初回の記事を参考にして完了させておいてください。

今回は、マルチシグアカウントを作り、マルチシグアカウントから送金し、マルチシグアカウントの署名者を変更する、ということをやっていきます。簡単にマルチシグ環境が作れることはNEMもSymbolも同じ特徴です。

その存在を知っていてもこれまで試したことがない人は、以下の方法で体験できますのでぜひやってみましょう。

マルチシグアカウントとは?

マルチシグ=マルチシグネチャ=複数署名のことです。あるマルチシグアカウントから送金するには複数のアカウントの署名を必要とするものになります。1つのアカウントに保管されたモザイクを共同で管理したい場合などに役立ちます。

また、所有者が自分だけだとしてもマルチシグアカウントにしておけばその分セキュリティが向上します。「1つの金庫を開けるには3つあるカギの2つを揃える必要がある」とか、「5つあるカギの全てを揃える必要がある」のように設定できるからです。

但し、署名が必要なアカウントが増えるということは、秘密鍵管理の数も増える点はしっかり覚えておくべきでしょう。

マルチシグアカウントを作る

では今回は北斗の拳をネタにマルチシグの環境を作っていきます。マンガのストーリーとは矛盾してるところありますがそんなことは置いておいてください笑。雰囲気でお願いします。

あと、このマルチシグ環境構築、めちゃくちゃ簡単です。

本来なら複数人でやるところですが、今回は1人でシュミレーションしていく流れになります。

ラオウ・ケンシロウ・トキが連署者になり北斗神拳アカウントに保管されたhokuto-shinkenモザイクを管理するストーリーです。

■連署者(署名する人たち)

ラオウ・ケンシロウ・トキ

■マルチシグアカウント

北斗神拳(2of3)
→3人の連署者中2人が署名すると送金される設定

■管理される資産

hokuto-shinken
→一子相伝なので発行数「1」。供給量は増やすことができません。また、転送不可なので、北斗神拳アカウントから他のアカウントへ、他のアカウントから北斗神拳アカウントへの行き来しかできません。

継承した者がいずれ次の世代に継承する場合は北斗神拳アカウントにhokuto-shinkenを戻す必要があります。
※この設定は特に今回の解説には関係なし

このように4つのアカウントと管理される1種類のモザイク(XEMでもOK)を準備したところからはじまりです。

北斗神拳アカウントをマルチシグアカウントにします。

連署者のうち2名の署名があると送金できるようにしたいので「最小承認者数」を「2」、連署者を削除するにも同数の承認が必要にしたいのでこちらも「2」としておきます。

ラオウ、ケンシロウ、トキの3名のアドレスを1つづつ入力→「+」で追加します。もし追加する対象がまだトランザクションが発生してないアカウントであれば、アドレスではなく公開鍵を入れる必要があるようです。

このタイプは「アグリゲートボンデッド」というもののようです。それが何かは次で説明します。

問題なければパスワードを入力し確認でトランザクションを送ります。北斗神拳アカウントをマルチシグアカウントに変更するには、このあと3名全員の署名と承認が必要になります。

トランザクションが承認されると「lock」というタイプのものが履歴に出てきます。中身を見てみましょう。

ここでアグリゲートボンデッドの件ですが、"ボンデッド"は「保証金の担保」と覚えておけばいいかと思います。マルチシグアカウントを作成する処理をするのに、北斗神拳アカウントから10XEMが保証金としてロックされており、有効期間は480ブロック(1ブロック15秒=2時間)となっています。

2時間以内に全員の署名が揃わなければこの要求はキャンセルされ、10XEMの保証金はアカウントから徴収され、どこかのハーベスターのブロック報酬となります

保証金をロックする仕組みは、あるアカウントに対して無差別大量に署名要求を送りつけるようなスパム抑制にもつながります。

ちなみに…、この処理の1つ前(2つ上の画像で199550ブロック)で追加したい署名者を間違えてトランザクションを送ってしまいました。間違いにすぐ気づいたので続けて正しい構成でトランザクションを送ったのですが、最初の保証金は有効期限を待たずに徴収されトランザクションはキャンセルされました。

では、3名の署名者それぞれに連署要求が届ているか確認します。

マルチシグ設定ページの「トランザクションの連署」に移動すると、このように連署要求が届いていました。

まずは1人目、ケンシロウのアカウントです。まだ誰も署名していないようです。問題ないので署名しました。

続いて2人目のトキのアカウントを見てみます。同じように連署要求が届いていました。ケンシロウのみが署名していました。問題ないのでトキも署名します。

最後にラオウのアカウント。ケンシロウとトキが署名した旨が確認できました。問題ないので署名しました。これで全員の署名が集まりました。

北斗神拳アカウントが無事マルチシグアカウントになりました。ウォレット一覧には「パブリック」とあり、ウォレット種類にはカギアイコンが付きました。

これで、ここに保管されている一子相伝(?)のモザイク「hokuto-shinken」は、ラオウ・ケンシロウ・トキのうち2人の署名がなければ移動できなくなりました(XEMを含めここに保管されている資産すべてが対象)

全員のアカウントにこのようなトランザクション履歴が残ります。中身を見てみます。

さっきの連署はこの人たちの署名で確認済みとありますね。

北斗神拳アカウントから転送を試みようとしても、このように単体では送金できません。連署者のいずれかが「北斗神拳から送金したいんだけど?」という要求トランザクションを送る必要があります。

※つづく→マルチシグアカウントからのモザイク送信方法に移るつもりが、ウォレットのバグなのか、送信できない感じなので、復旧確認できたら続きをやります。理論的にはできるはずです。

 - Symbol(シンボル), NEM(ネム) , , , ,

  著者プロフィール