Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

4 ©Gunosy Inc. State Channelとは

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

7 ©Gunosy Inc. State Channelとは ■ マルチシグ – アセットをマルチシグでロック ■ コミットメント – オフチェーンでやり取りに関するメッセージに全員で署名 – マルチシグを介してオフチェーンの状態を「いつでもオンチェーンで反映できる」ようにす る ■ チャレンジ – 古いコミットメントの提出は防げない – 新しいコミットメントを提出することで無効化 マルチシグ・コミットメント・チャレンジが基本的な仕組み

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

15 ©Gunosy Inc. 実用上の課題

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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