アトミックスワップとは?仕組みやメリット、問題点を図解で説明!

▼おすすめの取引所ランキング

この記事では仮想通貨で今話題のアトミックスワップについての仕組みや特徴を徹底的に解説していきます。

アトミックスワップとは取引所などの第三者を仲介せずに通貨の交換を行う技術です。

これまでの取引とはどう違うのか、アトミックスワップによって今後実現するかもしれないことを紹介していきます。

アトミックスワップとは

まずはアトミックスワップの仕組みとそれがもたらすメリットについて説明していきます。

前述したように、アトミックスワップとは取引所などの第三者を仲介せずに通貨の交換を行う技術です。

例えば、ビットコインとモナコインの交換を行う場合を考えます。

アリスは持っているビットコインを、ボブの持っているモナコインとを交換しようとします。このような状況で、安全に第三者を介することなく、交換するのにアトミックスワップを利用します。

このように、P2Pネットワークで、非中央集権的に仮想通貨やトークンの交換を可能にすることを期待されています。

これにより、取引所の破綻や、取引所がハッカーに攻撃されてGOXしてしまうといったリスクを回避することが出来ます。

HTLC(Hashed time lock contract)

アトミックスワップの仕組みを理解する上で、このHTLC(Hashed time lock contract)は重要な要素となってきます。(HTLCはライトニングネットワークにおいても、同様に重要な役割を果たしています)

HTLC・アトミックスワップを理解するための4つの要素

このHTLC、そしてアトミックスワップを理解するために、以下の4つの要素も大切なポイントとなってくるので、みていきましょう。

  • 「暗号学的ハッシュ関数」
  • 「ロックタイム」
  • 「マルチシグ」
  • 「ペイメントチャネル」
・暗号学的ハッシュ関数

ハッシュ関数とは、一方向関数とも呼ばれる暗号技術です。ハッシュ関数は任意の長さの文字列(元の値)を入力すると一定のサイズのランダムな数値を返すような関数です。この一定のサイズのランダムな値をハッシュ値と呼びます。暗号学的ハッシュ関数は出力された数値から、「ハッシュ関数の元の値」に復号化することは出来ません。そういった特性から一方向関数と呼ばれます。

仮想通貨を英語訳すると何になるか皆さんご存知でしょうか。正解は・・ 「Crypto currency」 このように表記するの
・ロックタイム

ロックタイムとは、トランザクションを設定した時間まで利用できなくする技術のことです。一見意味を成さないように見えますが、署名済みのトランザクションにロックタイムをつけて作成することでロックタイムになるまでにキャンセルすることができるようになります。

・マルチシグ

マルチシグとはマルチシグネチャーの略称で、トランザクションの承認に複数人の署名(秘密鍵)が必要とする技術です。
例えば、m-of-nマルチシグでは、n人の内m人が署名すれば使用できるような仕組みです。

マルチシグが利用されているアドレスをマルチシグアドレスといいます。

忙しい人に!3秒で分かるマルチシグ(マルチシグネチャ) マルチシグとは1つのウォレットアドレスに複数の鍵を所有すること セキュリティーが
・ペイメントチャネル

まずペイメントチャネルは一言で言うと、ブロックチェーンを経由しないで、その外の通信路(オフチェーン)で取引を行うものです。

今回は仮想通貨の勉強をしているとよく目にする用語「ペイメントチャネル」について解説します。 ペイメントチャネルはどんな仕組みなの?

HTLC(Hashed time lock contract)とは?

HTLCは、決済相手に直接送金するのではなく中間者を経由して送金する仕組みです。
HTLCを利用することで、チャネル未開設の相手とも、第三者を介して、取引をすることができます。

HTLCでは、ペイメントチャネルで使用するマルチシグアドレスに、ハッシュ関数の元の値と、ロックタイムで、マルチシグを使用するための条件を設定し、条件が満たされるまで、固定する(送金できない)という仕組みが存在します。そしてこのHTLC解除の条件が、「ハッシュ関数の元の値の入力」もしくは、「ロックタイムの解除」なのです。

少し簡単に言い換えましょう。つまり、貨の授受を確認することや将来の支払いを保証する条件を設定出来て、この条件を満たさなければ、送金が出来ない。」ということです。

アトミックスワップでは、この条件を満たさなければ送金が出来ないという、HTLCの特性を巧みに利用しているのです。

アトミックスワップの仕組み

それではアトミックスワップの大まかな流れを見ていきましょう。

ここではアリスの持っているビットコインと、ボブの持っているモナコインとを交換する例で解説していきます。

このアトミックスワップでは、4つのトランザクションが発生していきます。

  1. (アリスの)ビットコインをアリス→マルチシグアドレスAに送るトランザクション
  2. (ボブの)モナコインをボブ→マルチシグアドレスBに送るトランザクション
  3. (ボブの)モナコインをマルチシグアドレスB→アリスに送るトランザクション
  4. (アリスの)ビットコインをマルチシグアドレスA→ボブに送るトランザクション

これらのトランザクションによって、アリスとボブは安全に、そして第三者の介入なしに取引を実行できるのです。ここで、前述したHTLCが出てきます。安全に取引するために、アリスとボブを仲介しているマルチシグアドレスに特殊なタイムロックであるHTLCをかけておきます。

そして、この4つのトランザクションの順番が大切になってきます。

HTLCの条件の解除はこの4つのトランザクションの順番が進むごとに、段階的に解除されていくのです。

トランザクション①

アリス→マルチシグアドレスA(BTCの送金)

まずはアリスが、アリス自身からボブへビットコインを送るトランザクションを作成していきます。正確には、アリスはボブに直接ビットコインを送るのではなく、マルチシグアドレスAに送り、仲介していきます。

そして、ある条件を満たすことで 、ビットコインを受け取る予定のボブが、マルチシグアドレスAからビットコインを受け取ることが可能となります。このある条件というのがHTLCの解除条件なのです。

アリスからマルチシグアドレスAにビットコインが送金された時点で、このマルチシグアドレスAはHTLCによってロックされています。

それではマルチシグアドレスAのHTLCの解除条件を見てみましょう。

下記の3つの条件のうちのいずれかが必要になります。

*ここで重要なのは、それぞれの条件によって送信先は異なるということです。

  • 条件A-1:アリスだけが持つ「ハッシュ関数の元の値」とボブの「署名(ロックタイム)」(ボブへ)
  • 条件A-2:アリスとボブの署名(アリスへ)
  • 条件A-3:時間切れ(アリスへ)

この時点ではボブがHTLCを解除しようとすると、アリスが持つ「ハッシュ関数の元の値」が必要になるのでボブの署名(ロックタイム)だけでは解除できません。また決められた時間でトランザクションが実行されなければビットコインはアリスの元へ返金されます。

トランザクション②

ボブ→マルチシグアドレスB(MONAの送金)

トランザクション①の手順と同様に、ボブはHTLCによってロックがかかっているマルチシグアドレスBにモナコインを送ります。

このHTLCでも上記で使用したハッシュ関数と同じものを使うので、アリスが持っている「ハッシュ関数の元の値」がHTLCを解除する鍵となってきます。

下記がこのマルチシグアドレスBのHTLC解除条件です。

  • 条件B-1:アリスだけが持つ値Rとアリスの署名(タイムロック)(アリスへ)
  • 条件B-2:アリスとボブの署名(ボブへ)
  • 条件B-3:時間切れ(ボブへ)

そして、この段階でアリスとボブは署名に必要なお互いの秘密鍵を交換する仕組みになっています。ということは、アリスはボブの署名が可能となり、ボブはアリスの署名が可能となるのです。

これによって、「条件A-2」と「条件B-2」でHTLCのロックを解除することが出来ます。(しかしコレは両者に元のコインが戻るだけです)

また、もしアリスが悪意を持って、ボブに秘密鍵を渡さないという選択をした場合(ボブがアリスの秘密鍵を持たず、アリスが両者の秘密鍵を持った状態)、HTLCのロックタイム(条件B-3)により、ボブにモナコインが返金されます。

逆にボブが悪意を持っていた場合、これと同様に、HTLCのロックタイム(条件A-3)により、アリスにビットコインが返金される仕組みとなっています。

つまり、どちらかが悪意を持った瞬間に、この取引は取り消しとなるのです。

トランザクション③

マルチシグアドレスB→アリス(MONAの送金)

アリスは「ハッシュ関数の元の値」を知っているので、トランザクション③(条件A-1)を実行します。そうすると、ボブがマルチシグアドレスBに預けたモナコインがアリス自身に送金されます。(※このトランザクションはロックタイムされているので、すぐにMONAを手に入れられません。何分かの時間がかかります)

このときにアリスが利用した「ハッシュ関数の元の値」はボブに対してブロードキャストしなければならないのです。つまり、このトランザクション③が実行された時点でボブはアリスだけが知っていた「ハッシュ関数の元の値」を知ることが出来ます。

このとき、もしアリスが「ハッシュ関数の元の値」をブロードキャストしなかった場合、ロックタイムの時間差を利用して、アリスがモナコインを手に入れる前にボブはアリスの署名と自分の署名を使うことで、モナコインを引き戻すことが可能です。(条件B-2)

トランザクション④

マルチシグアドレスA→ボブ(BTCの送金)

ボブは上記で得た「ハッシュ関数の元の値」を使って、マルチシグアドレスAのHTLCのロックを解除しビットコインを自分自身に送ることができます。(条件A−1)

このようにアトミックスワップは、HTLCという仕組みを巧みに利用することで、信頼した第三者を必要とせずとも、安全にP2Pの取引を可能とします。

一般的な仮想通貨の取引

ここではアトミックスワップの有用性に迫るために、比較対象として一般的な仮想通貨の取引について説明します。

友人や知人同士

仮想通貨は友人間や知人同士であれば、お互いのアドレスに仮想通貨を送り合うことで取引が可能です。

しかし、片方が約束を破ればすぐに持ち逃げが可能なので、ほとんどの人は仮想通貨取引所を利用します。

取引所

取引所ではオークション形式で仮想通貨の取引を行っています。最も高く買いたい人ともっとも安く売りたい人の価格が一致したとき、取引が約定する仕組みです。

しかし、取引所で仮想通貨の取引を行うためにはまず自分のウォレットから仮想通貨を取引所に送金し、約定までの間は取引所に置いたままにしなければいけません。

取引所はたいていの場合は盤石なセキリュティ体制を取っていますが、度々ハッキングによって資産が奪われる可能性があるのが問題点です。

アトミックスワップの利点

アトミックスワップの技術によるメリットは以下のようなものがあります。

  • 第三者の仲介が必要ない
  • 不正な取引のリスクが減る

第三者の仲介が必要ない

第三者というのは主に取引所のことです。アトミックスワップによる仮想通貨の交換には取引所は必要ありません。

仮想通貨の持ち主同士で取引を済ませることができるので、匿名性が高い取引を行うことができます。

また、コインチェック事件でもあったように、取引所に資産を預けているとハッキングによって失われてしまう可能性があります。

その点でも、第三者の必要がないアトミックスワップは有用です。

不正な取引のリスクが減る

アトミックスワップでは両側での取引が一瞬で起こるため、片方が持ち逃げをするというのは不可能です。

もし、取引の半分だけ進行してそのまま片方が持ち逃げしようとした場合、一定期間後に両者に全額返金されます。

アトミックスワップの課題

取引所を必要としないアトミックスワップですが課題も存在します。

  • 送金速度が遅い
  • 手数料が高い
  • 採用通貨数がまだ少ない

送金速度が遅い

アトミックスワップの取引では、トランザクションが承認されるまでに時間がかかります。

ビットコインの場合、ブロック生成時間は約10分であり、トランザクションが99.9%以上認証されるまでには6ブロック追加されることが必要です。

よって最悪の場合は仮想通貨の交換は1時間かかってしまいます。

また、もし不正などで送金を取り消そうとしたとき、その手続きが解除されるまでには時間がかかり、その間自分の総金額はロックされたままになります。

手数料がかかる

アトミックスワップの取引自体は個人間で可能ですが、取引の承認にはマイナーの力が必要なので、手数料はかかってしまいます。

また、ビットコインはスケーラビリティ問題を抱えてるため、現時点では送金手数料は高くなっています。

スケーラビリティ問題についてはこちら

仮想通貨やビットコインを勉強し始めるとよく聞く「スケーラビリティ問題」。 これはビットコインの将来性を大きく左右する問題だと言われ

対応可能な仮想通貨が少ない

アトミックスワップは、どの仮想通貨でもできるというわけではありません。

現在ではビットコインから派生したライトコインやビットコインキャッシュなどの数少ない種類でのみ利用可能です。

今後アトミックスワップが発展していくためには多くの通貨でアトミックスワップが利用できるようにすることが課題です。

アトミックスワップ対応可能な仮想通貨

現時点でアトミックスワップが可能な仮想通貨について紹介していきます。

ビットコイン(BTC)

仮想通貨で一番有名なビットコインです。「サトシ・ナカモト」という正体不明の人物、もしくはグループが発明し2009年1月にリリースされました。マイニングによって発行され、世界初の分散管理型の仮想通貨になりました。

2018年時点では、あらゆるお店で決済手段として使うことが可能です。アトミックスワップが広く普及すれば、ビットコインだけを持っていても他の仮想通貨の決済に対応できるようになります。

ライトコイン(LTC)

ライトコインは、2011年に当時Googleのエンジニアであったチャールズ・リーがビットコインを改善する形で開発したコインです。

ビットコインは金、ライトコインは銀だとよく言われるように、ライトコインはビットコインよりも普段使いの決済に向いたコインです。

ライトコインはライトニングネットワークという技術でビットコインの4倍の速度で送金が可能です。

アトミックスワップも可能なので今後さらなる成長が期待できます。

本記事では仮想通貨ライトコイン(Litecoin/LTC)についてご紹介します。 ライトコインは、2011年10月に当時Googleのエンジニアで

モナコイン(MONA)

モナコインは日本で初めて作られた仮想通貨で、2014年に2ちゃんねるで誕生しました。

取引の承認が早く手数料が安いという技術的側面があります。それだけでなく、モナコインはコミュニティも活発です。

2ちゃんねるで半ば遊び感覚で生まれたので、ひたすらコインで遊ぶことを目的としています。

国内取引所のビットフライヤーに上場したことで、一時価格が急騰しました。

アトミックスワップに成功したことにより、今後も成長が期待できます。

本記事は仮想通貨モナコイン(MONA)についてご紹介します。 モナコインは日本で初めて作られた仮想通貨で、2014年に2ちゃんねるで誕生したコインです。

アトミックスワップの将来性

課題も存在するアトミックスワップですが、今後アトミックスワップを採用した分散型取引所のAltcoin.ioが開設される予定です。現在、メールの登録が開始しています。

こういったシステムが広がっていくこといよって、中央集権的だったシステムがどんどん分散化していけば、仮想通貨の目指す分散管理による民主主義にもっと近づくのではないでしょうか。

まとめ

まとめるとアトミックスワップは

  • 第三者(取引所)の仲介が不要
  • 不正取引のリスクを減らせる
  • 実現可能な通貨が少ない

こういった点がアトミックスワップの概要です。今後アトミックスワップに成功する仮想通貨が増えれば、さらに注目を浴びることになるでしょう。


ビットコイン (bitcoin) ブロックチェーン モナコイン 仮想通貨 用語解説