「チャネルファクトリー」はペイメントチャネルをより効率的にしうる
Bitcoinはスケーラビリティ問題に直面していて、マイクロペイメントチャネルがさばけるトランザクションレートとスピードを上げるので、解決策になりえる、と言われています。しかし、すべてが解決というわけではなく課題もあります。
例えば、マイクロペイメントチャネルは固定の額の資金を、それぞれのチャネルのマルチシグウォレットに入れておく必要があり、チャネルを作るとき・閉じるときにそれぞれトランザクションが必要になる、などです。
それらの課題に取り組む研究がいくつかされていますが、最近発行されたスイスの大学・Blockstream著の論文である提案がされました。ブロックチェーンとペイメントチャネルの間に新しいレイヤーを実装するというものです。
マイクロペイメントチャネルnetworkの論文。(スイスの大学・Blockstream著)https://t.co/tCyqwKNr7A pic.twitter.com/mpUcgQZG0K
— The Coffee Times (@CoffeeTimesTW) 2017年11月28日
マイクロペイメントチャネルとは何か?
この論文では、マイクロペイメントチャネル・ネットワークでの課題を2つあげています。1つ目はブロックチェーンのキャパシティ、2つ目がチャネル開閉のためのウォレットにロックされた資金です。
これらに対する解決策を見る前に、マイクロペイメントチャネルについて説明します。(図は後日追加するかもです)
現在はビットコインのブロックチェーンは、非常に少額のビットコインの支払い(マイクロペイメント)を何度も送ることができません。現在は最大ブロックウェイト(ブロックの容量)が4MBなため、平均・秒間10トランザクション以下になってしまいます。
ペイメントチャネルでは、まず送信者と受信者が鍵を持つマルチシグのウォレットに固定の額の資金をロックします。そして、ブロックチェーンにトランザクションを送ることでチャネルが開きます。次にこのチャネル内で、送信者が支払いを何度でも実施することができます。これらの支払いはブロックチェーンに刻まれれるわけではなく(つまりオフチェーンで行われ)、両者のみが関与する支払いです。
そしてこのチャネルが閉じたら、「最終的にどうなったか」という残高になるように、結果だけがビットコインのブロックチェーンに送られます。
これが、マイクロペイメントチャネルの大まかな概要です。より改良された実装が、ライトニングネットワークで、双方向のペイメントチャネル実装が可能になります。
数千というトランザクションがチャネル開閉のための2回のトランザクションのみになるため、大幅な改善といえます。しかしまだこれでも、ブロックチェーンではない既存ペイメントシステムに匹敵するほどにはなりません。
チャネルは2者間でのみ存在するので、もし20人グループのうちそれぞれが、5つのチャネルを開きたいとき、100回ものトランザクションが必要になってしまいます。
さらに、あらかじめロックした資金を超えた場合の解決策がまだありません。
解決策:チャネルファクトリーについて
この論文で提案されているのは、解決策として新しいレイヤーを組み込むというものです。論文には、「ブロックチェーンとペイメントチャネルネットワークの間にレイヤーを作る。そのレイヤーはチャネルファクトリー(channel factories)と呼び、それにより、関わっている2者が素早く資金のやり取りをできる」とあります。
ここで1つ目のレイヤー(ブロックチェーン)と3つ目のレイヤー(ペイメントチャネル)はすでにあるもので、1つ目は資金をロックし、3つ目は実際の送金を行います。提案されている2つ目のレイヤーは、チャネル工場という名の通り、複数が関わるマイクロペイメントチャネルの挙動を管理し、ペイメントチャネルの資金が枯渇しそうになったときに、それを補填するようなことができます。論文では、20個のノードと100のチャネルがあった場合に、90%の節減ができると計算しているようです。
チャネルを開閉のその度にトランザクションを作るのではなく、論文の手法では、1回のトランザクションで複数のチャネルを作ることができると書いています。資金は従来のような特定のウォレットではなく、共有ウォレットにロックされるため、このようなことが可能です。さらに資金は、受信者のアドレスのついたメッセージを送るだけで、オフチェーンの送金が可能なようです。
論文で言及されているリスクとしては、グループ内のユーザがチャネルファクトリー(第2のレイヤー)を閉じることができるという点です。人数の大きなグループでは利便性が制限される可能性があります。
また、受信者が署名しないという可能性があります。論文では、タイムロックを設けるか、反則者に罰則を与えるなどの対策が書かれています。タイムロックのほうが効果的なため現在はそちらに注力する可能性が高いようです。つまりタイムロックの時間がすぎたら、現在のチャネルの状態がブロックチェーンにブロードキャストされ(情報が送信され)、チャネルを閉じる、そして罰則はなし、というルールです。
資金の安全性についてはリスクはないようです。マルチシグのウォレットが、関わっている人すべての署名がされない限り資金は使われないためです。
概念的な部分も多いので、研究が進み、また自分の理解がさらに進んだら更新していきます。
This New Scaling Layer Could Make Payment Channels Ten Times More Effective — Bitcoin Magazine