Lightning&Raiden ビットコインとイーサリアムのオフチェーン技術とは?

目次

     

    スケーラビリティ問題

    ビットコインやイーサリアムを始めとした仮想通貨は近年非常に注目されており、利用者は急激に増加しています。そこで問題になるのが利用者の増加にシステムが追いつかなくなり送金・着金に非常に長い時間がかかってしまう「詰まり」と呼ばれる現象です。

    本メディアでは過去の記事で、この「詰まり」がなぜ発生してしまうのか解説しています。これの問題はスケーラビリティ問題と呼ばれており、これを解決する有力な方法の一つとして、ステートチャネルを利用したオフチェーン処理が開発されています。

    これは具体的にはビットコインでは「Lightning」、イーサリアムでは「Raiden」という名前で開発が進められています。

    本記事ではステートチャネルについて簡単に触れた上で、LightningとRaidenについて紹介します。

    オフチェーン処理

    オフチェーン処理とは、本来ブロックチェーンの上で行われる取引を、ブロックチェーンに書き込まずに行うことを意味します。

    トランザクションの詰まりの原因は、そもそもブロックチェーンがある時間内に処理できるトランザクションの量に限りがあるからです。この時間内で処理できる取引数は、ビットコインで1秒あたり7件程度、イーサリアムで15件程度とされています。

    そこで、取引の一部をブロックチェーンに書き込まないオフチェーン処理を利用することによって、実際のブロックチェーンに書き込まれる取引数を減らし、時間あたりの取引数制限の影響を大幅に減らすことができるようになります。

    オフチェーン処理の分かりやすい例として、「取引所内での取引」を挙げましょう。本来ビットコインの取引が成立するまで30~60分待つ必要がありますが(詰まりが起こればこれ以上に待ち時間は長くなります。)、取引所内での取引が一瞬のうちに完了するのは、取引所内での取引はブロックチェーンに書き込まれず、取引所のサーバー上でのみ処理されているからです。

    ただし、取引所におけるオフチェーン処理のセキュリティ管理は各取引所によるため、オンチェーン処理ほど安全ではありません。そこで、このようなオフチェーンの取引をセキュアに個人間でも実現しようとしているのがLightningやRaidenです。

    ステートチャネル

    LightningとRaidenは共に、ステートチャネルと言われる技術に根ざしています。ステートチャネルとは「ある2者間でオフチェーン取引を行うための場」の事を指します。

    一つのステートチャネルでは、チャネルが開かれてから決められた時間内で起こった取引については、ブロックチェーン上に記録されません。

    そしてチャネルを終了する時(予め決められた時間内か、又は両者がチャネルを閉じる事に同意した時)、元々の2者の残高から、チャネル内の全ての取引を行った後の2者の残高になるよう、ブロックチェーンに取引が記録(オンチェーン処理)されます。

    特に金銭の支払いに関するステートチャネルのことを、ペイメントチャネルと呼びます。

    ここで、AさんからBさんへのペイメントチャネルを用いた支払いについて考えます。

    Aさんは、Bさんが経営するカフェの常連客で、週に5回もやって来て数百円のドリンクを注文し、ビットコインで支払おうとしています。ビットコインでの送金手数料が1回0.001BTCだとすると、Aさんは手数料だけで週に0.005BTC(1BTC=100万円だとして5000円)も支払うことになります。

    また支払いがブロックチェーン上で承認されるまで、毎回1時間ほど待たなければいけません。

    そこでAさんは、Bさんとの間にペイメントチャネルを作りました。このチャネルの有効期間が1週間だとすると、この期間の間にAさんがカフェで支払った5回の支払いは全てペイメントチャネル上で行われブロックチェーンに記録されません。そして、1週間が経過してペイメントチャネルを閉じる時、AさんからBさんへ支払った総額が計算され、一つのトランザクションとしてブロックチェーンに記録されます。

    このような取引の方法を取ることで、ペイメントチャネルの中で取引を行う分には手数料が掛からず、またマイニングによる承認も必要ない為、ブロックが承認される時間を待つ必要ありません。

    ペイメントチャネルを利用するために掛かる手数料は、最後にチャネルを終了する際に、Aさん・Bさんの最後の残高の状態を反映する為に行うトランザクションにかかる手数料だけになります。

    ステートチャネルを利用したオフチェーンでの支払いの仕組みについては、こちらの記事で詳しく解説されています。

    LightningやRaidenが実現されれば、この手数料の掛からない2者間でのステートチャネルが、複数の参加者の間に複数ある場合でも、ネットワークを辿って支払いが可能になります。この仕組みを利用することによって、以下のメリットがもたらされます。

    スケーラビリティ問題の解決

    ステートチャネル内で行われた支払いは、ブロックチェーン上には記録されません。そのため、十分なステートチャネルが存在すれば、理論的には現在の数千〜数万倍の数のトランザクションの処理が可能になると言われており、現在問題になっているトランザクションの詰まりの問題を解決することが期待されています。

    手数料の削減

    1つのステートチャネルを使用する際の手数料だけを支払えば、ステートチャネル内での支払いに対する手数料は実質掛からなくなります。これは一回のトランザクションの手数料を大幅に安くすることを意味しています。

    トランザクション処理の高速化

    ステートチャネルでの支払いは、マイニングによる承認が必要ないので非常に高速に行う事ができます。

    LightningとRaidenの相違点

    Bitcoin Lightningとイーサリアム Raidenの考え方は、どちらもステートチャネルが複数繋がったネットワークを利用して、オフチェーンで取引を行うという仕組みを採用しており、基本的にアイディアは同じです。但し両者の間には、利用目的の違いがあります。

    ビットコインは元々、ブロックチェーンを利用した新しいお金として開発されており、Lightningネットワークはビットコインを通じた支払いを、より便利に行う事を目的にしています。

    対してイーサリアムは、お金としての機能に加えて、分散型アプリケーション(DApps)やスマートコントラクト機能を持つトークンが利用できるプラットフォームとして開発されており、RaidenネットワークではDAppsの運用やトークンの交換をサポートしています。

    例えばRaidenを使うことによって、Youtubeに代わる分散型のDTubeというサービスを作ることもできます。DTubeはイーサリアム上で動作するDAppsであり、DTuber(YoutubeでのYoutuber)は一定の金額以上を獲得しないと広告料が引き出せないYoutubeと違い、自分の動画が見られたその瞬間に少額の広告料の支払いを得る事が可能になります。

    “Additionally, many decentralized applications can run on the speed and scalability of the Raiden Network. For example, a decentralized payment appreciation service. Think of dTube, Steem's decentralized video service, yet instead of creators being paid only when the user chooses to upvote them, they get paid constantly for every second watched. This can set things up to compete better with Youtube, where creators are paid for every ad watched, yet get rid of all of the paywalls and ads in the process.”

    (引用:https://steemit.com/bitcoin/@mooncryption/scaling-cryptos-bitcoin-lightning-network-vs-ethereum-raiden-network)

    その他にもRaidenでは、イーサリアム準拠のトークンを扱えることから、分散型取引所(DEX)への応用にも期待されています。DEXについては本サイトのこちらの記事に詳細が解説されています。

    LightningとRaidenの開発状況

    LightningのDeveloperチームがMediumに掲載したポストによると、Lightningは全てのテストを完了し、現在実際のビットコインのメインネットで動かすことができる1.0RC版がリリースされています。

    実際にLightning LaboのYoutubeページでは、Lightningを使って高速にコーヒーの支払いを行っているデモ動画が上がっており、たった1秒ほどで支払いが完了している事が確認できます。

    また2018年1月24日には、シリコンバレー地区のあるコーヒーショップでBitcoin Lightningを利用した支払いが始まったようです。

    イーサリアムのRaidenについても、既にイーサリアムのテストネットであるRopsten上で動かすことができるRiden Network v0.1.0が公開されています。

    LightningとRaidenの懸念点

    これら2つのアルゴリズムが用いているステートチャネルには、いくつかの懸念や問題点が提起されています。

    ルーティング問題

    1対1でのステートチャネルでの支払いの考え方はとてもシンプルです。しかし、これがステートチャネルを連結させたネットワーク上での話しになると、どのステートチャネルを経由すれば目的の取引を効率的に成立させられるのかを計算する必要があります。

    これはルーティング問題として議論されていましたが、現在ではインターネットで用いられているBroader Gateway Protool(BGP)に似た手法を用いて解決されています。

    流動性の問題

    ステートチャネルを介した多くの支払いが成功するには、ある程度の金額がデポジットされたステートチャネルができるだけ多く開かれていて、かつオンラインである必要があります。

    しかし、ユーザーが多くの仮想通貨をデポジットしておくことは、オフチェーン処理にとって良いことではありますが、そのユーザー個人には何の利益もありません。

    よって、ステートチャネルネットワークには十分な流動性が確保されないという問題があります。数学的なシミュレーションからも、ステートチャネルネットワークを利用したシステムが非合理的であるといった厳しい批判も見られます。

    まとめ

    近年急激にユーザーが増加し、スケーラビリティ問題に直面しているビットコインやイーサリアムについて、それぞれの解決策として開発されているLightningとRaidenについて解説しました。

    ステートチャネルネットワークを利用することによって、大きく利便性を向上することが期待されますが、まだモデルとしては不完全な部分があるのが現状です。しかし、両者共に積極的に新しい解決策が提案されており、問題が解決されリーズナブルな処理が実現されるのも時間の問題なのかもしれません。

    コメントする

    メールアドレスが公開されることはありません。