- アトミックスワップは第3者を通さずコインを交換する手段
- アトミックスワップを支える技術は「HTLC」
- 「時間がかかる」「取引手数料がかかる」「交換可能通貨が限られている」など課題もある
アトミックスワップとは、信頼できる第三者を介さずに信頼を必要としない二者間で異なる二つの仮想通貨を交換することを可能にする技術です。
一般的にアトミックスワップの技術を利用しない形でこれを行う方法は、仮想通貨取引所などの信頼できる第三者を介する必要がありました。しかし、利便性の観点から仮想通貨取引所に資産を預けておくと、その資産は取引所の破綻やハッキングのリスクにさらされてしまうだけでなく、誰かを信頼する必要性が生まれます。アトミックスワップ技術を利用することで、これらのリスクを避けながら、交換する際に誰に対する信頼をも必要としない、仮想通貨の特徴である分散性を維持することができます。
アトミックスワップの特徴
異なる仮想通貨同士で取引が可能になる
アトミックスワップの技術を利用することで、信頼を必要としない二者間で異なる仮想通貨同士の取引を行うことが可能になります。
例えば、お互いが顔も名前も知らないAとBであったとします。この2人はAが持つビットコインとBが持つライトコインを交換したい時、アトミックスワップ技術を利用することで、お互いが即座に合意に基づいた金額のビットコインやライトコインを受け取ることができるようになります。このとき、Aは受け取ったライトコインをライトコインのウォレットに直接、Bは受け取ったビットコインをビットコインのウォレットに直接受け取ります。
現在だと、Komodo Platform(KMD)などはユーザー向けにアトミックスワップ技術に対応したDAppであるBarterDEXなどを既に公開しており、BarterDEXを利用することでユーザーは難しい操作などを必要とせずアトミックスワップ技術を利用した取引を簡単に行うことができます。
第三者の仲介を省ける
アトミックスワップ技術を利用した異なる通貨同士の取引はは、信頼を必要としない二者間でそれぞれが保管しているウォレット同士で直接行われます。そのため仮想通貨取引所などの第三者を仲介することなく、取引を行うことが可能です。
これに関して、第三者の仲介を省くことのメリットを紹介します。
ウォレットに仮想通貨資産を保管する場合、通常そのプライベートキー(秘密鍵)も自身で保管しますが、取引所に預けている間はそのプライベートキーは一括で取引所によって保管されることになります。アトミックスワップの技術により、プライベートキーを信頼できる第三者に委ねる必要性がなくなり、さらに手数料や面倒なプロセスを踏まずとも交換を行うことができることがメリットです。
取引速度が向上する
アトミックスワップ技術の利用により取引速度を向上させることも可能です。国内外の仮想通貨取引所を利用している方もいらっしゃると思いますが、取引所から自身のウォレットへ送金する際、このトランザクションが即座に行われることはありません。これは、仮想通貨取引所などで通貨の交換を行うユーザーが取る必要のあるプロセスに加えて、トランザクションの検証のために取引所側では50以上の確認プロセスを踏む必要があるためともいわれています。
アトミックスワップの技術を利用した取引では、ウォレット間(Wallet to Wallet)で行われるので、契約者に対して送金をするだけですべての操作は完了します。取引の相手以外に自分の資産を送金する必要性はなくなり、また送金が完了すると同時にその代わりとなるトークンを直接、即座に受け取ることができます。
不正な取引のリスクが減る
アトミックスワップの技術を利用することで不正な取引のリスクを減らすことができます。
上述の通り、第三者の仲介を省くことが可能であるという点自体を既にメリットとして挙げましたが、これはセキュリティ面でもメリットになります。
集権型の仮想通貨取引所を利用しないことでプライベートキーを自身で保管することができるのは上述の通りですが、分散型の仮想通貨取引所ではどうでしょうか?分散型の仮想通貨取引所で取引を行う際、プライベートキーの保管は自身で行います。しかし取引を執行する際に一時的にスマートコントラクトに自身の資産をデポジットする必要があるために、そのスマートコントラクト自体が脆弱性となる可能性もあります。昨年12月、EtherDeltaと呼ばれる分散型の仮想通貨取引所では実際にこれを利用したハッキング事件が起こり、その被害額は当時の価格で約$270,000と膨大なものとなりました。
アトミックスワップの技術を利用したウォレット間取引では、資産を集権型/分散型の仮想通貨取引所へとデポジットする必要は一切ありません。自身の資産を一切第三者の管轄に置く必要性を伴わない、真にトラストレスかつ安全な仕組みになっています。
アトミックスワップの仕組み
次に、アトミックスワップの技術を利用した具体的な取引実行ステップに関して解説をしていきます。
Hashed Time Lock Contract (HTLC)
ライトニングネットワーク同様、アトミックスワップが利用する技術で最も重要ともいえる技術がこのHashed Time Lock Contract (以後HTLC)になります。この仕組みを先ほどのAのビットコインとBのライトコインの例で考えていきます。AとBはお互い見知らぬ個人同士であること
HTLCはブロックチェーン上の貸金庫のようなイメージで、AとBの取引においてBがこの貸金庫から出金を行うために2つの条件が設けられています;
①所定のSecret(Bにより生成)とAが持つPrivate Key
②Bが持つPrivate Key(時間切れの場合)
この取引で、二者間の間に何かしらの形でお互いを信用する必要が生まれますが、その信用はHTLCによって生み出されます。
Aは条件①のケースにおいて、Bがしっかりと所定のライトコインの枚数を時間内にデポジットしたことを確認できた場合のみ、AのPrivate KeyをBに引き渡す(=出金を許可する)仕組みになっています。これによりAは、「Bが何者かはわからないが取引が成立している」場合にだけBにSecret(ビットコインの引き出しKey)を与えます。
条件②の場合、契約は不成立となり、Aがデポジットを行っていたビットコインを引き出すためのPrivate KeyはBに共有されることはありませんので、Aはデポジットしていた金額をそのまま取り戻すことができます。
アトミックスワップ技術を利用した取引フロー
HTLCのポイントをここまででしっかりとおさえた上でAとBによる取引の流れを確認していきます。
AとBはそれぞれ、A→Bへビットコイン、B→Aへライトコインを送金することに同意しているとします。ここでAはBへビットコインを送金するトランザクションを生成し、このビットコインをHTLCによりロックのかけられたマルチシグアドレスへと送金します。また生成されたトランザクションにはHTLCによりタイムロックがかけられています。
次にBは生成されたトランザクションを確認します。Aが提示するこの条件(デポジット期限)に既に同意しているので、期限内にライトコインのデポジットをHTLCにより特殊にロックが施されたマルチシグアドレスに対して行います。このデポジットがAにより確認されるとAのPrivate KeyがBへと引き渡されBは生成されたSecretとAのPrivate Key(条件①)で、Aがデポジットを行ったビットコインの出金を行うことができるようになります。
ここで、Bが期限内にデポジットを行わなかった場合、Bに対してAのPrivate Keyが引き渡されることはなく、Bは条件②に基づいて自身のライトコインを受け取ることしかできません。同様にAに対してもデポジットを行ったビットコインが返還されます。
【補足】クロスチェーンプロトコル
アトミックスワップの技術を応用したものにCosmosと呼ばれるプロダクトがあります。このプロダクトではマルチシグアドレスをInter Blockchain Communucation(IBC)を利用したHUB(ハブ)と呼ばれる一本の共通ブロックチェーンのようなものとして実装することで、異なる異なる通貨間でのP2P取引を可能にします。
アトミックスワップの課題
時間がかかる
アトミックスワップはライトニングネットワークなどと同様にペイメントチャネルの開閉がオンチェーン上で行われるため、そのトランザクションの検証や承認の作業が必要となります。
そのため、アトミックスワップの技術を利用して行われたトランザクションが確定するのはビットコインであれば最低でも10分間(ブロック生成時間)、ファイナリティを考慮すると6ブロック(=60分間)が必要とされます。
更に、トランザクションの取り消しには発行の際に設定したタイムロックの期限切れを待つ必要があるため、その取り消しにおいても通常以上の時間を要することになります。
取引手数料がかかる
アトミックスワップはオンチェーンでチャネルの開閉処理を行うと説明しましたが、これにはもちろんノードに対するトランザクション手数料を必要とします。これは、ウォレット間で取引を行うことができても二者間の合意のみではトランザクションを成立させることができないためです。
限られた通貨間でのみ可能
現状だと、アトミックスワップの技術を利用できる通貨は技術的に限られています。
例えば、今回紹介したビットコインとライトコイン間でのアトミックスワップは、ライトコインがそのルーツをビットコインとしていたために可能ですが、その他の通貨間ではハッシュ関数の違いなどにより簡単にこれを行うことができません。
簡単に説明したCosmosなどはこの問題を解決しうる技術ですが、今後アトミックスワップがより汎用性を兼ね備えるためには、このようなクロスチェーン技術の更なる発展が必須となることは間違いないでしょう。
まとめ
本記事ではアトミックスワップの技術に関して詳細に解説を行いました。
技術的な課題も多くあるため、現段階で既に広く普及しているというわけではないですが、セキュリティ面でハッキングのリスクを減少できる点などからも、今後ますます注目されていく技術であること間違いありません。