こんばんは。daokasweepです。
今日はNEMの機能の一つ、マルチシグについて学んでいきたいと思います。
NEMでは通常のアカウントとは別に、マルチシグのアカウントを作ることができます。
通常のアカウントとの違い、複数人の署名がないと自由に送金することができません。
マルチシグのアカウントを作る際に、署名できる人を複数人指定し、そのうち何人の署名が必要かを決めます。
例えば、2/3とした場合は、指定した3人のうち2人の署名がないと送金することができないとなります。
マルチシグの活用例としては、エスクローが引き合いに出されることが多いです。
エスクローは買い手・売り手の間に信頼できる第三者を置いて、安全性を確保する取引方法です。
例えば、ネットオークションを想像してみてください。
通常、買い手が先にお金を支払ってから、売り手が商品を送るのが一般的ですが、
この売り手が悪意を持っていた場合、商品を送らずお金だけを持ち逃げする可能性があります。
買い手としては、先に商品が届いてからお金を渡したい所ですが、同様に売り手側としては先に商品を渡すと、買い手がちゃんとお金を払わず商品を持ち逃げするリスクを抱えてしまいます。
そこで、買い手と売り手の間に信頼できる第三者を置いて、スムーズな取引ができるようにしたのがエクスローとなります。
従来からの不動産売買、WebサービスとしてはAirbnb、Uber、メルカリが代表的な例です。
メルカリを初めとした従来型のエスクローは以下の流れで取引が行われます。
従来型のエクスローでは以下の問題点を抱えています。
間に仲介者が入ることによって、取引の安全性が確保される反面、取引にかかる時間やコストが増えてしまうのがデメリットとなっています。
エスクローにマルチシグを活用した場合、以下の様な流れになります。
エスクローにマルチシグを活用した場合、以下のメリットがあります。
マルチシグを利用したエスクローの場合、特に何の問題もなければ仲介者は何もする必要はないのですが、以下の様なトラブルがあった場合は、仲介者が必要となります
Aさんがマルチシグアドレスに代金を送ったにも関わらず、Bさんが商品を送らなかった場合、以下の様な流れになります。
Bさんが何の瑕疵もなくきちんと商品を送ったのにも関わらず、Aさんが支払いの署名を拒否した場合は、以下のような流れになります。(①〜③は正常時と同じため省略)
4 Aさんは商品を受け取ったにも関わらず、支払いリクエストの署名を拒否する
BさんはCさんに支払いリクエストに署名するように申し立てを行う
5 CさんはBさんの申し立てを確認し、認定したらBさんが作成した支払いリクエストに署名を行う
6 BさんとCさんの署名が付与されたため、マルチシグアドレスからBさんに代金が支払われる
いずれのケースの場合も、トラブルが発生してもマルチシグアドレスによって、Cさんの仲介が入るまでお金が保全されています。
エスクローを例に、マルチシグの活用を見てきましたが、このようにマルチシグを活用することによって、なんのトラブルもなければ購入者も販売者も仲介者を意識しなくても、安全性の高いスムーズな取引を行う事ができます。
またエスクローを行う事業者も正常時の取引は自動的に処理され、なんらかのトラブルがあった場合の仲裁のみを行えばよいので、比較的低コストでエスクローのプラットフォームを建てることができます。
NEMではこのようなマルチシグをつかったエスクローの仕組みをnanoWalletやNIS APIを利用して実現することができます。
次回は実際にnanoWalletを利用したマルチシグのデモをしてみようと思います。