State Channelエコシステムと実用上の課題

State Channelエコシステムと実用上の課題

7d9ee46fc34dcb086e99b9ebb5ac9cd7?s=128

Ryuya Nakamura

July 24, 2018
Tweet

Transcript

  1. State Channelエコシステムと実用上の課題 @veryNR 2018.7

  2. 2 ©Gunosy Inc. 自己紹介 中村龍矢 @veryNR ▪ Gunosy Inc. –

    データ分析部 2017年2月~ • 動画配信ロジックの開発など • Python, Go, SQL – 新規事業開発室 2018年6月~ • ブロックチェーン技術の研究 ▪ 経歴 – Coubic株式会社 • 営業をやっていました – 日本ヒューマンビートボックス協会 • お手伝い – 東京大学工学部システム創成学科 • 休学中
  3. 3 ©Gunosy Inc. 目的とアジェンダ ▪ State Channelとは ▪ State Channelのエコシステム

    ▪ ユースケース – 利用時の注意点 – 具体例 ▪ 実用上の課題 – UX上の課題 – 開発上の課題 State Channel界隈の現状と実利用について考える
  4. 4 ©Gunosy Inc. State Channelとは

  5. 5 ©Gunosy Inc. State Channelとは ▪ 基本の流れ 1. チャンネルをオープンし、ステートをマルチシグでロック(デポジット) 2.

    オフチェーンで状態遷移(コミットメント) 3. チャンネルのクローズ、オンチェーンでの反映 ▪ Payment Channelが有名 – Lightning Network, Raiden Network ▪ Ethereumの場合Payment以外のステートにも適用できる – オンラインカジノ、チェス、etc. – 汎用ステートチャネル(Generalized State Channel)もある オフチェーンで状態遷移をして最終結果だけ書き込む方法
  6. 6 ©Gunosy Inc. Application-specific State Channel: FunFair https://showcase.funfair.io/

  7. 7 ©Gunosy Inc. State Channelとは ▪ マルチシグ – アセットをマルチシグでロック ▪

    コミットメント – オフチェーンでやり取りに関するメッセージに全員で署名 – マルチシグを介してオフチェーンの状態を「いつでもオンチェーンで反映できる」ようにす る ▪ チャレンジ – 古いコミットメントの提出は防げない – 新しいコミットメントを提出することで無効化 マルチシグ・コミットメント・チャレンジが基本的な仕組み
  8. 8 ©Gunosy Inc. State Channelとは https://blockchain.gunosy.io/entry/state-channel https://blockchain.gunosy.io/entry/counterfactual 詳細はこちら

  9. 9 ©Gunosy Inc. State Channelのエコシステム

  10. 10 ©Gunosy Inc. State Channelのエコシステム State Channelの実用化には様々なサービスが必要 ▪ ウォレット/クライアントアプリ ▪

    監視サービス – 古いコミットメントの提出 – 監視とチャレンジを代行 ▪ バックアップサービス – 端末故障時等に備えコミットメントを保管 – 暗号化して保管 ▪ ネットワーク系サービス – ハブ – ルーティング バック アップ ハブ 監視
  11. 11 ©Gunosy Inc. State Channelのエコシステム ▪ Lightning Networkより発展していない – 双方向ペイメントが最近やっとメインネットで動いたくらい

    – BOLTのような標準仕様なし ▪ ICOによる(?)垂直統合の研究開発スタイル – ICOトークンのエコシステムを設計しないといけない – 結果としてプロトコルレイヤーからサービスレイヤーまで担当 Ethereumにおいてはまだまだ未成熟
  12. 12 ©Gunosy Inc. State Channelのユースケース

  13. 13 ©Gunosy Inc. State Channelのユースケース ▪ Non-Fungibleなアセットは仲介できない – 多くのDappではState Channel

    Networkが使えない ▪ 固定された参加者セットで沢山のやり取りがある場合に使う – 参加者は増減できない – チャンネル開閉の2txはどうしても必要 ▪ 途中の過程は(通常)書き込まれない – 「取引の過程をオープンにして透明性を hogefuga」系のDappでは使いにくい • 後からトラストレスに取引の過程を記録することは理論上可能 ▪ サブスクリプション型サービスの支払い、賭けチェス , etc. 利用時の注意
  14. 14 ©Gunosy Inc. State Channelのユースケース ▪ 必要なやり取りの例 – レンタル注文→承諾/拒否 –

    キャンセル→承諾/拒否 – レンタル延長→承諾/拒否 ▪ デポジットするアセット – 借りる側: 支払い用のトークン – 貸す側 : 車のデジタル所有権 カーシェアリングのDappの例 http://news.livedoor.com/article/detail/9038214/ デジタル資産の取引はなんだかんだ沢山のやり取りが必要 → 意外と多くのケースで利用可能(かも)
  15. 15 ©Gunosy Inc. 実用上の課題

  16. 16 ©Gunosy Inc. State Channelの実用上の課題 ▪ チャンネルの開閉はオンチェーン – レイテンシー・手数料 ▪

    問題発生時にユーザーの手間が増える – 相手が応答しなくなったことに気づいてコミットメントの提出 – 監視・バックアップサービスとのやり取り ▪ コミットメント作るために毎回署名 – チェスで一手ごとにパスワード入力 – アプリ利用ごとに一時的な鍵を作って登録するなどの提案もある ▪ デポジット – 事実上の先払い – デポジット額の悩み「もしかしたら延長するから多めに入れとこう」 現状はユーザーがState Channelをかなり意識することが多い
  17. 17 ©Gunosy Inc. 最後に ▪ ペイメント以外のState Channelの実利用はかなり先になりそう ▪ とはいえ多くのDappで検討する意義はある 間違い等あれば是非@veryNRまでお知らせください