簡単まとめ

Raiden Networkを見てみる2(動作編1/2)

更新日:

Raiden Network本家の紹介ページをもとに、Raiden Networkについて見ていきます。

これを読むとRaiden Networkのチャネルのライフサイクルや、ネットワークの必要性などについてざっくりと知ることができます。

要点まとめ

まず、本記事の要点をお伝えします。

  • Raiden Networkでは、ペイメントチャネルの参加者双方が持つバランスプルーフにより資金の流れを把握する。
  • スマートコントラクトにバランスプルーフを提示することで、ペイメントチャネルの参加者はチャネルを閉じ、もう一方の参加者へ残高のセトルメントや未払い金の請求ができる。
    • バランスプルーフの提示がなされた場合、通常、もう片方の参加者も一定の期間内にバランスプルーフを提示する。
    • 両者がバランスプルーフの提示を終えると、誰か(誰でも可)がセトルメントを行い、2人は残高の引き落としができる。
  • Raiden Networkでは、ペイメントチャネルをネットワーク化することで、直接つながっていない2者間でも2者を仲介ノードを通して間接的につなぐルートがあれば決済を行うことができる。
    • 受取主が支払主の承認を得るまで、決済は中間の決済も含めて全てハッシュロックされており、ロック解除できない状態になっている。
    • 受取主が支払いを受け取ったことを支払主が承認すると、支払主は受取主に秘密鍵を渡し、受取主は当該決済の仲介ノードを逆向きに辿って支払主に鍵を返却する。
    • トランスファーを仲介するノードはすぐにロック解除するインセンティブがあるので、ロック解除プロセスは円滑に進む。

次に詳細としてRaiden Network本家による英文紹介ページの日本語訳を掲載します。細部を知りたい方は読み進めてください。図表も本家ページより拝借しています。

スポンサードサーチ

動作方法(How it works)

Raiden Networkチャネルのライフサイクル(Lifecycle of a Raiden channel)

参加者の債務の支払いを確実なものにするため、ペイメントチャネルのライフタイムの期間中は、スマートコントラクトに安全にトークンをロックアップしなければなりません。この保証金は、どちらか片方の参加者が最終的にチャネルを閉じるまでトークンの送受信のためだけに利用できることを確約し、トークンの二重支払いを防ぎます。Raiden Networkチャネルの管理プロセスは図3に示します。

チャネルを作成すると、参加者は自由に出したり戻したりできるいわゆる保証付き小切手のようなものを発行することができるようになります。Raiden Networkでは、全てのチェック履歴を保持する代わりに、参加者それぞれが最新のチェックのコピーだけを保持します。バランスプルーフには、ある時点までにRaiden Networkにおいて送信者の電子署名付きで行われた全トランスファーの合計が含まれています。チャネルにはそれぞれ2人の参加者がいるので、チャネルは2つのバランスプルーフをまとめて保持していることになり、基本的にそれらがいわゆるチャネルの勘定書となるのです。複数のクレジットのやりとりがあり、参加者間で未払い金の合計は変わるので、途中で何度もリバランシングする可能性があります。


図3(Raiden Networkペイメントチャネルのライフサイクル)Figure 3: Lifecycle of a Raiden Payment Channel

最後に、チャネル参加者のどちらか片方がブロックチェーン上で残高をセトルメント(確定)させるか、未払い額の請求をしたい場合は、スマートコントラクトに選択したバランスプルーフを提示することでいつでもチャネルを閉じることができます。もう一方の参加者(チャネルの閉鎖を選ばなかった方の参加者)は、自身のバランスプルーフを提示するか、自身に入ってくるトランスファーがなかった場合には何もしないかを選ばなくてはなりません。両者がバランスプルーフを提出し終えたら、両者ともに預金を引き出すことができるようになります。引き落としは、両者以外のアドレスを含む全員が行う可能性があります(筆者注:ペイメントチャネルの当事者2人(AさんBさん)以外の誰かにお金が入る、という意味ではなく、2人のバランスプルーフに基づいてAさんはAさんの、BさんはBさんの取り分を取れるようにするセトルメントプロセス(図3中のsettle()メソッド)を誰でも実行できるという意味)。

もしチャネルの閉鎖を選んでいない方の参加者が刻限までにバランスプルーフを提出できなかった場合、残高はチャネル閉鎖を希望した方のバランスプルーフに従って振り分けられ、チャネルの閉鎖を選んでいない方の参加者は何らの価値のトランスファーも受け取れないということになるでしょう。このように、Raiden Networkでは各ペイメントチャネルの参加者はいつでも自分のお金にアクセスできると断言します。

ネットワークの必要性(Need for a network)

導入部分で既に述べた通り、ペイメントチャネルの作成とそこで行われたやりとりのセトルメントはブロックチェーン上で行わなければなりません。従って、潜在的にやり取りの可能性がある対象ごとに新しくチャネルを作成するのは不合理で、実現性がありません。その代わりに、Raiden Networkではチャネルのネットワークを作り、参加者それぞれがペイメントチャネルのウェブを通して推移的に誰とでもつながれるようにします。

AliceがDavidにトークンを送る例を考えてみましょう。図4を見てください(筆者注:AliceがA、DavidがD)。まず、Aliceは自分とDavidをつないでくれるルートをネットワークから探さないといけません。次に、そのルートを通ってAliceからDavidへ支払いを送るため、そのルートの参加者(筆者注:図4のBとC)は協力する必要があります。参加者らは自身のチャネルをAliceに貸し出し、支払いをルート上の次の参加者へと回送します。Davidは自分が支払いを受け取ったことをAliceに承認してもらうまで、暗号ハッシュロックにより中間トランスファーの引き落としを防ぎます。Aliceが支払いのアンロックを決定すると、AliceからDavidへロック解除のための鍵を渡します。チャネルを閉じずに支払いを請求したい場合、Davidは一番最後に支払いを仲介してくれた参加者に鍵を渡し、その参加者はひとつ前の仲介者に鍵を渡して自身への支払いを請求し...と順番に支払主(筆者注:この場合、D⇒C⇒B⇒Aの順で、Aliceまで戻る)まで鍵を渡していきます。


図4:マルチホップトランスファー(Figure 4: Multihop Transfer)

このルート上の参加者は皆、入ってくる決済をすぐにアンロックするインセンティブがあるので、鍵は自然とチャネルを後ろへと辿っていきAliceへと返ってきます。ロックされているトランスファーは全て、Aliceの秘密鍵を使ってオンチェーンで換金できます。しかし、参加者にとっては、ロックされている価値をスタンダードな1つのバランスプルーフへと結合してしまう方が好ましいでしょう。従って、秘密鍵を受け取ったあとは、中間トランスファーの送信者全員がロックされているトランスファーを含む新しいバランスプルーフに署名するとともにロックそれ自体を無効にして、きれいにチャネルステートとシンクロするのです。これでマルチホップトランスファー(筆者注:複数仲介による価値のトランスファープロセス)は完了です。

恐らく、ネットワークのピアは無料でチャネルを媒体として利用させてはくれないでしょう。結局、トランスファーはさらなるネットワークトラフィックペイメントチャネル内の不均衡を引き起こします。一般的な意味で、Raiden Networkの参加者には、ネットワークへのチャネル貸与に釣り合う手数料を要求することが望まれています。これらの手数料も不均衡なペイメントチャネルのリバランシングにインセンティブを与えたり、ペイメントチャネルを長く使えるようにしたりするために使用されるかもしれません。

最終的な手数料市場は競争的なものになり実際の処理コストもはるかに下がるので、オンチェーントランザクションの手数料と比べてRaiden Networkの手数料は数桁という単位で小さくなると思われます。

-簡単まとめ
-, , , , , , ,

Copyright© 暗号通貨界隈のメモ書きなど。 , 2019 All Rights Reserved Powered by STINGER.

%d人のブロガーが「いいね」をつけました。