はじめに
本記事は、過去にコンセンサス・ベイスが主宰していたオンラインサロンの記事です。記事は2017年~2018年にかけて執筆されたため、一部は、既に古くなっている可能性があります。あらかじめご了承ください。
今回の内容
Raidenの概要や動向について解説します。
ゴール
Raidenの技術的な特徴や利点について理解します。
ターゲット
ブロックチェーンのスケーラビリティ問題やRaidenに興味がある方を対処としています。
前提知識
イーサリアムやブロックチェーン技術の基礎を前提知識とします。
第1章 Raidenとは
Raidenは、Lightning Networkのアイデアをベースとして、ETHやERC20準拠のトークンを低コストかつ高速に取引するためのオフチェーン技術です。Raidenプロジェクトの進行や開発は、brainbot labs Establishmentという団体が主導しています。Raidenの技術的な概要については、まだホワイトペーパーが発表されていないため、公式サイトや実装を確認することになります。
Lightning Network
Lightning Networkは、第1回で紹介した双方向ペイメントチャネルをリレーすることで、チャネルを開いていない任意の2者間での高速かつ低コストな取引を実現する技術です。ペイメントチャネルを開設するためには、利用される可能性がある額のデポジットを入金しておく必要があります。ある人が複数の相手とペイメントチャネルで取引を行おうとすると、デポジットの費用がかさみ、実際には送金していないのに利用できないトークンの量が増えてしまいます。この問題を解消するため、すでに開設されているペイメントチャネルを利用し、第3者を中継したオフチェーン取引を実現しています。第3者を中継しても安全に送金を実現するための仕組みとして、HTLC(Hashed Timelock Contract)があります。
Hashed Timelock Contract
HTLC(Hashed Timelock Contract)を用いたトランザクションでは、トークンを受け取りたい人がその人しか分からない「シークレット」を設定し、そのシークレットのハッシュ値を用いたトランザクションの発行を依頼します。シークレットハッシュを用いて作成されたHTLCトランザクションは、もとのシークレットが分かれば意図した宛先に送金が行われますが、一定時間(ロックタイム)が経過しても送金が行われない場合、トランザクションを発行したアドレスに送り直されることになっています。このHTLCを用いて、お金を受け取りたい人がシークレットを用いて送金を依頼し、相手から自分までつながる送金経路が確保できたことを確認してからシークレットを公開することで、第3者を経由した安全な送金が実現できます。
RaidenとLightning Networkの違い
Lightning NetworkはBTCの送金のみに利用できますが、RaidenはETHに加え、ERC20準拠のトークンにも対応しています。Raidenの次期バージョンであるRaidos(Raiden 2.0)では、送金だけでなく、スマートコントラクトのステート変化をオフチェーンで実現することが構想されています。
第2章 Raidenの利用ケース
Raidenでの取引は、ペイメントチャネルと同様にブロックの生成を待つ必要がないため、即時決済が実現でき、トランザクションの手数料も少なく抑えられるため、少額決済としての利用が期待されています。
また、オフチェーンでの取引は公開されないので、プライバシーの強化にも利用できます。例えば、動画配信サービスで、視聴した秒数ごとに課金される仕組みをRaidenで実現することを考えます。課金のトランザクションは毎秒作成されるとしても、そのトランザクションがブロックチェーンに取り込まれるタイミングは月に1回など任意のタイミングに制御することが可能です。もし、毎秒の課金トランザクションが逐次ブロックチェーンに書き込まれていれば、そのアドレスのユーザが、どの時間帯にどのくらいの時間サービスを利用しているかといった情報を推定できてしまいますが、オフチェーンではその心配がありません。
一方、Raidenはあらかじめデポジットされた量のなかで送金を行うため、多額の送金には不向きな技術となります。
第3章 Raidenの動向
Raidenのプロジェクトは、μRaiden(Micro Raiden)、Raiden Network、Raidos(Raiden 2.0)の3つに分かれています。μRaidenは単方向ペイメントチャネルを用いた軽量版Raidenで、すでにテストネットで利用可能な状態となっています。Raiden Network自体はまだ開発中の技術ですが、Raidenで利用するRDNというトークンが発行され、2017年10月後半から2017年11月にかけて売り出されました。Raidosは、トークンの送金以外のスマートコントラクト全般を対象とした拡張ですが、まだ詳細は発表されていません。
Raiden ICO
Raidenプロジェクトを主導するBrainbotは、Raiden Networkで用いるRDNトークンを発行し、そのうち半分を10月19日からダッチオークション形式で売り出しました。ダッチオークションとは、高額な価格設定からオークションを開始して、価格をだんだん下げていきながら入札を募る方式です。RDNのオークションでは、あらかじめ売り出されるトークンの量が決まっており、入札価格と購入数の合計が売り出されるトークン量に一致した段階でオークションが終了します。この方式により、すべての入札者が最終的に同じ価格でトークンを手に入れることができ、より多くの人にトークン入手の機会を与えることを狙いとしています。オークションは11月1日に終了し、最終的に109,532ETHで売り出され、4,253アカウントがRDNトークンを入手しました。 RDNトークンを発行した目的は、Raidenのプロトコルがフォークされて類似のプラットフォームが乱立することを避けたり、フルノードの維持や、サードパーティ製のツール開発へのインセンティブとして活用するためです。Raidenの開発や普及には多くの人々の協力が必要であり、RDNをインセンティブとすることで、プロジェクトの成功確率を高めたいという狙いがあります。
第4章 Raidenの課題
Raidenを用いた高速かつ低コストな取引は、すでに現実味を帯びてきていますが、現在最も難しい課題は、送金を中継するための経路を効率的に探索する方法の実現です。この経路探索は、システムの拡張に対応できるスケーラビリティを持ったアルゴリズムであることが求められており、効率性やセキュリティとのトレードオフをどのように解消するかが課題となっています。
一方、Lightning NetworkやRaidenのような中継のプロトコルは、中継するノードが停止してしまうことでサービスが不安定になるのではないかという懸念がまず浮かびますが、そのようなノードの停止はP2P方式のシステムではあらかじめ想定されるケースなので、それほど問題にはならないと考えられています。