ビットコインをイーサリアム上で使うには
我々はここ最近、ビットコインやその他の仮想通貨を、いかに効率的かつ使い勝手の良い方法でイーサリアムに置き換えるかについて議論してきました。簡潔さを追い求めた結果、ビットコインに替わるERC20トークン・BTCTを作り出すというアイデアに落ち着きました。ユーザーは既存のビットコインから新たなBTCTを作り出し、それを後から償還することで元のビットコイン分を得ることができるのです。このBTCTは分散型取引所から金融商品の決済まで応用することができます。ユーザーによるビットコインとその他のERC20トークンの取引が取引所の取引高に良い影響を与えてくれるため、Kyber Networkはかなり重点を置いて取り組んでいます。この記事では、我々の構想における難点とそのソリューションを解説していきます。
信頼できる管理人
まずは技術的ではなく、おそらく最も簡単なソリューションです。このアプローチでは、第三者として認可された管理人が存在します。管理人はユーザーがビットコインを送るためのビットコインアドレスを付与し、それに相当するBTCTトークンがユーザーに償還されるという仕組みです。ユーザーがBTCTをビットコインに換金するときは管理人にリクエストを送り、アドレスに直接ビットコインが送られます。管理人はそれぞれの入金・出金について手数料を取り、システムを運用します。
管理人が信用されている必要はないですが、このソリューションの最大の利点は、ユーザーと同数量のビットコインが管理人の保管用ウォレットに入っており、ユーザー自身がそれを検証できるということです。管理人が不正を働いた場合、ユーザーは透明性の高いパブリックレコードを用いて、管理人に対して法的措置を取ることができます。テザーの例はこれと異なり、ユーザーは監査役の決定を信用して法的措置をとることはできず、また監査はリアルタイムで行われないので、管理人の報告を待たねばなりません。
スマートコントラクトを用いたトラストレスな管理人
上記のソリューションは実際にうまく機能しますが、信用された第三者としての中央集権的な機関が必要です。このような分散化とトラストレスの対立は、いくつかのリスクを伴います。例えば、管理人がユーザーのお金を着服したり、管理不行き届きによるコミュニケーション不和が起きたりするのです。このセクションでは、スマートコントラクトを用いて完全にトラストレスなBTCTの償還を実現する新たなソリューションを紹介します。
このソリューションは、イーサリアムベースのスマートコントラクト内で実行されるビットコインのライトクライアント・BTCRelayに基づいています。BTCRelayは、イーサリアムのスマートコントラクト上でビットコインのトランザクションが認証されるので、イーサリアムのオンチェーンユーザーはビットコイン決済が行われているかを確認できる訳です。
このソリューションでは、BTCTによる償還を行うための初期設備を整えるトラストレスな第三者が必要です。初期設備としては、ユーザーがビットコインで預金を行う前の保証金があり、不正などがあった場合にユーザーに返金されることになります。一例といて、Kyber Networkが第三者機関となっている場合を紹介します。まずは、Kyberが保証金としてイーサリアムやERC20トークンをビットコイントークン・コントラクト上で作り、ビットコインからBTCTトークンを作るためのビットコインアドレスをユーザーに付与します。ユーザーの預金が完了すると、Kyberは相当量のBTCTトークンをビットコイントークン・コントラクト上で作りますが、Kyberがそれを発行する訳ではありません。ユーザーはビットコイントーコンのスマートコントラクトに預金のマークルプルーフを提出し、それがBTCRelayによって検証されます。不正が発生した場合はKyberの保証金からユーザーに代償分が支払われることになっています。また、ユーザーはBTCTトークンを再びビットコインに戻すことも可能です。保証金額が常に管理人が所持しているビットコイン額を上回っているため、ユーザーにはビットコインが確実に返金されるという訳です。上記のシナリオを図解すると以下のようになります。
それでは、ユーザーがBTCTをビットコインに償還する場合を見ていきましょう。ここでユーザーは、ビットコインを受け取るためのビットコインアドレスを用意して、ビットコイントークン・コントラクト上でバーン機能を利用します。Kyberがその金額の消滅(Burn)を確認すると、相当量のビットコインがユーザーのビットコインアドレスに送られるという仕組みです。ユーザーがKyberからの送金を確認できなかった場合は、ビットコイントークン・スマートコントラクトに問い合わせることができます(この機能の濫用を防ぐためにユーザーは少額の預金が必須となっています)。Kyberが確実な決済証明ができないのであれば、Kyberの保証金からユーザーへイーサリアムもしくはERC20トークンが送られ、後からビットコインとして償還できるようになっています。また、Kyberの不正決済を確認したいかなるユーザーも、BTCTの返金を請求することができます。
上記の信頼できる管理人がいるアプローチと比べて、このアプローチには以下のような大きな利点があります。
- トラストレスである。ユーザーはKyber Networkやその他の第三者機関のトラストを必要としません。不正があった場合に証拠さえ提出すれば、Kyber Networkはその弁済をしなければなりません。報告したユーザーには、元のビットコインの金額を超えるイーサリアムもしくはERC20トークンが保証金から付与されます。この保証金は全てのユーザーがビットコインの償還を求めても、それらを上回る金額がよういされています。
- 費用対効果が高い。何も不正がなかった場合は、ユーザーはデータを提出する必要はなく、イーサリアム上でBTCTを発行する必要もありません。BTCTを償還するためのイーサリアムのトランザクションを1つ送るだけでいいのです。
- 公的な認証が可能。全てにおいて透明性があり、ユーザーは公的にアクセス可能です。BTCTを発行する前に預金額を確認することもできます。
しかし欠点としては、このソリューションが採用されるほど多くの資金が必要になるということが挙げられます。少なくとも、発行されるBTCT・価格変動に対応するためのセーフティマージンの合計と同額のイーサリアムもしくはERC20トークンが必要になるのです。例えば、xドルのBTCTには1.2xドルの初期資金が必要です。もう1つの大きな欠点は、トラストレスな管理人が数十億の担保を所有している場合の潜在的なセキュリティリスクです。さらに、完全に分散型という訳ではないので、中央集権的にコントロールされてしまう恐れもあります。
BTCRelayを使わない、EVM互換のコイン
上記のソリューションは、BTCRelayの維持には開発・メンテナンスが必要であり、イーサリアムクラシックやLitecoin、ZCashを置き換えるのに多くのコストがかかってしまいました。また、イーサリアム上でのビットコイン取引はとても複雑です。このセクションでは、BTCRelayを使わず、プロセスを簡易化した新たなソリューションを取り上げます。そしてこれを実現するためには、EVMベースのスマートコントラクトを支える別のチェーンが必要になります。RootstockはEVM互換であるため、統合されたサイドチェーンを使ってビットコインをビットコイン・ブロックチェーンから移動させることができるのです。さらにこのソリューションは、イーサリアムクラシックなどのイーサリアムベースの仮想通貨であれば同様に機能します。それでは、Rootstockにおけるビットコインについて見ていきましょう。
まず、前述のソリューションと同様に、管理人はイーサリアムチェーン上に保証金としてイーサリアムもしくはERC20トークンを用意しなくてはなりません。加えて、現在保有されているビットコインの5%分のセーフティマージンも必要です。Rootstockにおけるこの保証金は、管理人がチェーン上で不正をした場合のペナルティとしてビットコインで支払われます。
ユーザーがRootstock上のデポジットコントラクトにxビットコインを預金すると、「イーサリアムのブロックzにあるアドレスyに、xビットコインが預金された」というメッセージに管理人が署名し、それがRootstock上のデポジットコントラクトに送られます。その後、管理者は同額のBTCTトークンを、イーサリアムのビットコイントークン・コントラクト上で発行します。決済において不正が発生しない限り、Rootstockのデポジットコントラクトからビットコインを移動できるのは管理人のみとなっていますが、署名されたメッセージが送られなかった場合は、ユーザーがRootstockに訴えて預金していたビットコインを取り戻すことができます。この時、管理人の保証金から出るボーナストークンも付与されます。またBTCTトークンの発行が行われなかった場合も、ユーザーは署名メッセージを使って自らイーサリアム上でBTCTトークンを発行し、管理人の任務不履行を訴えることができます。
ユーザーがイーサリアム上でBTCトークンの償還を求めた時は、ビットコイントークン・コントラクトのバーン機能を使って彼らのRootstockアドレスにビットコインが付与される仕組みです。
管理人は「Rootstock上のアドレスyに、xビットコインを償還する」と宣言して署名し、そのメッセージをイーサリアム上のビットコイントークン・コントラクトに送ります。その後xビットコインはユーザーのそのアドレスに送られ、償還は完了します。管理人がイーサリアム上でメッセージを送信しなかったり、Rootstock上でビットコインを償還しなかったりすると、この発行プロセスと同じような形でペナルティを受けることになります。
利点
欠点
まとめ&協力者募集
それぞれの利点と欠点を鑑みて、我々はすべてのソリューションを統合したアプローチを取っており、様々な仮想通貨をイーサリアムに置き換えられるトラストレスで安全なプラットフォーム構築を目指してきました。特に、デジタルアセットの管理人資格を持っている機関や、保証金のための資金を提供できるクリプトファンドなどとの提携を考えています。我々にとってこのアプローチは、長期的にみてもユーザーや管理人にとって負担にならないベストなソリューションです。
最後になりましたが、このイニシアチブはKyber Networkだけでなく、エコシステム全体に利益をもたらします。今後、コミュニティとともにブロックチェーンの普及を進めていきたいと考えています。興味をもっていただけた方は、ぜひご連絡ください。
hello@kyber.network.
Source: 仮想通貨ニュースサイト
ビットコインをイーサリアム上で使うには