Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Ryuya Nakamura

July 24, 2018
Tweet

More Decks by Ryuya Nakamura

Other Decks in Technology

Transcript

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

    View Slide

  2. 2
    ©Gunosy Inc.
    自己紹介
    中村龍矢 @veryNR
    ■ Gunosy Inc.
    – データ分析部 2017年2月~
    ● 動画配信ロジックの開発など
    ● Python, Go, SQL
    – 新規事業開発室 2018年6月~
    ● ブロックチェーン技術の研究
    ■ 経歴
    – Coubic株式会社
    ● 営業をやっていました
    – 日本ヒューマンビートボックス協会
    ● お手伝い
    – 東京大学工学部システム創成学科
    ● 休学中

    View Slide

  3. 3
    ©Gunosy Inc.
    目的とアジェンダ
    ■ State Channelとは
    ■ State Channelのエコシステム
    ■ ユースケース
    – 利用時の注意点
    – 具体例
    ■ 実用上の課題
    – UX上の課題
    – 開発上の課題
    State Channel界隈の現状と実利用について考える

    View Slide

  4. 4
    ©Gunosy Inc.
    State Channelとは

    View Slide

  5. 5
    ©Gunosy Inc.
    State Channelとは
    ■ 基本の流れ
    1. チャンネルをオープンし、ステートをマルチシグでロック(デポジット)
    2. オフチェーンで状態遷移(コミットメント)
    3. チャンネルのクローズ、オンチェーンでの反映
    ■ Payment Channelが有名
    – Lightning Network, Raiden Network
    ■ Ethereumの場合Payment以外のステートにも適用できる
    – オンラインカジノ、チェス、etc.
    – 汎用ステートチャネル(Generalized State Channel)もある
    オフチェーンで状態遷移をして最終結果だけ書き込む方法

    View Slide

  6. 6
    ©Gunosy Inc.
    Application-specific State Channel: FunFair
    https://showcase.funfair.io/

    View Slide

  7. 7
    ©Gunosy Inc.
    State Channelとは
    ■ マルチシグ
    – アセットをマルチシグでロック
    ■ コミットメント
    – オフチェーンでやり取りに関するメッセージに全員で署名
    – マルチシグを介してオフチェーンの状態を「いつでもオンチェーンで反映できる」ようにす

    ■ チャレンジ
    – 古いコミットメントの提出は防げない
    – 新しいコミットメントを提出することで無効化
    マルチシグ・コミットメント・チャレンジが基本的な仕組み

    View Slide

  8. 8
    ©Gunosy Inc.
    State Channelとは
    https://blockchain.gunosy.io/entry/state-channel https://blockchain.gunosy.io/entry/counterfactual
    詳細はこちら

    View Slide

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

    View Slide

  10. 10
    ©Gunosy Inc.
    State Channelのエコシステム
    State Channelの実用化には様々なサービスが必要
    ■ ウォレット/クライアントアプリ
    ■ 監視サービス
    – 古いコミットメントの提出
    – 監視とチャレンジを代行
    ■ バックアップサービス
    – 端末故障時等に備えコミットメントを保管
    – 暗号化して保管
    ■ ネットワーク系サービス
    – ハブ
    – ルーティング
    バック
    アップ
    ハブ
    監視

    View Slide

  11. 11
    ©Gunosy Inc.
    State Channelのエコシステム
    ■ Lightning Networkより発展していない
    – 双方向ペイメントが最近やっとメインネットで動いたくらい
    – BOLTのような標準仕様なし
    ■ ICOによる(?)垂直統合の研究開発スタイル
    – ICOトークンのエコシステムを設計しないといけない
    – 結果としてプロトコルレイヤーからサービスレイヤーまで担当
    Ethereumにおいてはまだまだ未成熟

    View Slide

  12. 12
    ©Gunosy Inc.
    State Channelのユースケース

    View Slide

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

    View Slide

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

    View Slide

  15. 15
    ©Gunosy Inc.
    実用上の課題

    View Slide

  16. 16
    ©Gunosy Inc.
    State Channelの実用上の課題
    ■ チャンネルの開閉はオンチェーン
    – レイテンシー・手数料
    ■ 問題発生時にユーザーの手間が増える
    – 相手が応答しなくなったことに気づいてコミットメントの提出
    – 監視・バックアップサービスとのやり取り
    ■ コミットメント作るために毎回署名
    – チェスで一手ごとにパスワード入力
    – アプリ利用ごとに一時的な鍵を作って登録するなどの提案もある
    ■ デポジット
    – 事実上の先払い
    – デポジット額の悩み「もしかしたら延長するから多めに入れとこう」
    現状はユーザーがState Channelをかなり意識することが多い

    View Slide

  17. 17
    ©Gunosy Inc.
    最後に
    ■ ペイメント以外のState Channelの実利用はかなり先になりそう
    ■ とはいえ多くのDappで検討する意義はある
    間違い等あれば是非@veryNRまでお知らせください

    View Slide