Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
State Channelエコシステムと実用上の課題
Ryuya Nakamura
July 24, 2018
Technology
3
3.7k
State Channelエコシステムと実用上の課題
Ryuya Nakamura
July 24, 2018
Tweet
Share
More Decks by Ryuya Nakamura
See All by Ryuya Nakamura
20221206 プライバシーエンジニアの仕事 @PRIVACY TECH NIGHT #01 LayerX 中村龍矢
nrryuya
0
290
WebAssembly in Blockchain
nrryuya
2
420
State Channel 最前線
nrryuya
7
500
Plasma Implementation in Vyper
nrryuya
3
370
ブロックチェーンのインセンティブ設計とその上の様々なアセットと若者の心がけ@CryptoAge
nrryuya
6
1.5k
Generalized State Channel
nrryuya
5
4.9k
eWASM
nrryuya
5
1.2k
Other Decks in Technology
See All in Technology
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
480
SPA・SSGでSSRのようなOGP対応!
simo123
2
150
Akiba-dot-SaaS-ExtraHop
sakaitakeshi
1
110
Oktaの管理者権限を適切に移譲してみた
shimosyan
2
260
Deep dive in Reserved Instance ~脳死推奨量購入からの脱却~
kzkmaeda
0
480
400種類のWeb APIをサポートしているデータパイプラインツールにおけるWeb APIとの共存戦略
cdataj
0
160
ラズパイとGASで加湿器の消し忘れをLINEでリマインド&操作
minako__ph
0
130
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
850
地方自治体業務あるある ーアナログ最適化編-
y150saya
1
110
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
160
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
2k
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
130
Featured
See All Featured
The Cult of Friendly URLs
andyhume
68
5.1k
Visualization
eitanlees
128
12k
The Invisible Side of Design
smashingmag
292
48k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Typedesign – Prime Four
hannesfritz
34
1.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
217
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
120
29k
Web Components: a chance to create the future
zenorocha
304
40k
What the flash - Photography Introduction
edds
64
10k
Done Done
chrislema
178
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
50k
Transcript
State Channelエコシステムと実用上の課題 @veryNR 2018.7
2 ©Gunosy Inc. 自己紹介 中村龍矢 @veryNR ▪ Gunosy Inc. –
データ分析部 2017年2月~ • 動画配信ロジックの開発など • Python, Go, SQL – 新規事業開発室 2018年6月~ • ブロックチェーン技術の研究 ▪ 経歴 – Coubic株式会社 • 営業をやっていました – 日本ヒューマンビートボックス協会 • お手伝い – 東京大学工学部システム創成学科 • 休学中
3 ©Gunosy Inc. 目的とアジェンダ ▪ State Channelとは ▪ State Channelのエコシステム
▪ ユースケース – 利用時の注意点 – 具体例 ▪ 実用上の課題 – UX上の課題 – 開発上の課題 State Channel界隈の現状と実利用について考える
4 ©Gunosy Inc. State Channelとは
5 ©Gunosy Inc. State Channelとは ▪ 基本の流れ 1. チャンネルをオープンし、ステートをマルチシグでロック(デポジット) 2.
オフチェーンで状態遷移(コミットメント) 3. チャンネルのクローズ、オンチェーンでの反映 ▪ Payment Channelが有名 – Lightning Network, Raiden Network ▪ Ethereumの場合Payment以外のステートにも適用できる – オンラインカジノ、チェス、etc. – 汎用ステートチャネル(Generalized State Channel)もある オフチェーンで状態遷移をして最終結果だけ書き込む方法
6 ©Gunosy Inc. Application-specific State Channel: FunFair https://showcase.funfair.io/
7 ©Gunosy Inc. State Channelとは ▪ マルチシグ – アセットをマルチシグでロック ▪
コミットメント – オフチェーンでやり取りに関するメッセージに全員で署名 – マルチシグを介してオフチェーンの状態を「いつでもオンチェーンで反映できる」ようにす る ▪ チャレンジ – 古いコミットメントの提出は防げない – 新しいコミットメントを提出することで無効化 マルチシグ・コミットメント・チャレンジが基本的な仕組み
8 ©Gunosy Inc. State Channelとは https://blockchain.gunosy.io/entry/state-channel https://blockchain.gunosy.io/entry/counterfactual 詳細はこちら
9 ©Gunosy Inc. State Channelのエコシステム
10 ©Gunosy Inc. State Channelのエコシステム State Channelの実用化には様々なサービスが必要 ▪ ウォレット/クライアントアプリ ▪
監視サービス – 古いコミットメントの提出 – 監視とチャレンジを代行 ▪ バックアップサービス – 端末故障時等に備えコミットメントを保管 – 暗号化して保管 ▪ ネットワーク系サービス – ハブ – ルーティング バック アップ ハブ 監視
11 ©Gunosy Inc. State Channelのエコシステム ▪ Lightning Networkより発展していない – 双方向ペイメントが最近やっとメインネットで動いたくらい
– BOLTのような標準仕様なし ▪ ICOによる(?)垂直統合の研究開発スタイル – ICOトークンのエコシステムを設計しないといけない – 結果としてプロトコルレイヤーからサービスレイヤーまで担当 Ethereumにおいてはまだまだ未成熟
12 ©Gunosy Inc. State Channelのユースケース
13 ©Gunosy Inc. State Channelのユースケース ▪ Non-Fungibleなアセットは仲介できない – 多くのDappではState Channel
Networkが使えない ▪ 固定された参加者セットで沢山のやり取りがある場合に使う – 参加者は増減できない – チャンネル開閉の2txはどうしても必要 ▪ 途中の過程は(通常)書き込まれない – 「取引の過程をオープンにして透明性を hogefuga」系のDappでは使いにくい • 後からトラストレスに取引の過程を記録することは理論上可能 ▪ サブスクリプション型サービスの支払い、賭けチェス , etc. 利用時の注意
14 ©Gunosy Inc. State Channelのユースケース ▪ 必要なやり取りの例 – レンタル注文→承諾/拒否 –
キャンセル→承諾/拒否 – レンタル延長→承諾/拒否 ▪ デポジットするアセット – 借りる側: 支払い用のトークン – 貸す側 : 車のデジタル所有権 カーシェアリングのDappの例 http://news.livedoor.com/article/detail/9038214/ デジタル資産の取引はなんだかんだ沢山のやり取りが必要 → 意外と多くのケースで利用可能(かも)
15 ©Gunosy Inc. 実用上の課題
16 ©Gunosy Inc. State Channelの実用上の課題 ▪ チャンネルの開閉はオンチェーン – レイテンシー・手数料 ▪
問題発生時にユーザーの手間が増える – 相手が応答しなくなったことに気づいてコミットメントの提出 – 監視・バックアップサービスとのやり取り ▪ コミットメント作るために毎回署名 – チェスで一手ごとにパスワード入力 – アプリ利用ごとに一時的な鍵を作って登録するなどの提案もある ▪ デポジット – 事実上の先払い – デポジット額の悩み「もしかしたら延長するから多めに入れとこう」 現状はユーザーがState Channelをかなり意識することが多い
17 ©Gunosy Inc. 最後に ▪ ペイメント以外のState Channelの実利用はかなり先になりそう ▪ とはいえ多くのDappで検討する意義はある 間違い等あれば是非@veryNRまでお知らせください