Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
State Channelエコシステムと実用上の課題
Search
Ryuya Nakamura
July 24, 2018
Technology
3
4k
State Channelエコシステムと実用上の課題
Ryuya Nakamura
July 24, 2018
Tweet
Share
More Decks by Ryuya Nakamura
See All by Ryuya Nakamura
20240130 エンプラDXにおける2024年の生成AIトレンド予測 @生成AI新年会2024
nrryuya
2
1.7k
20240125 開発側・ビジネス側という壁を作らない LLMアプリ開発 @生成AI Conf
nrryuya
7
3.4k
抜擢されるには
nrryuya
18
13k
キャッチアップ速度が速い #とは
nrryuya
68
35k
LLMアプリケーションの安定性を高めるための精度評価・改善
nrryuya
4
2.2k
20230425 PRIVACY TECH NIGHT #02 「統計化すれば安全」の罠 ──差分プライバシーの背景
nrryuya
0
720
20230222 フィンテック養成勉強会#28 金融に活かすデータの開拓と利活用(技術編) データ活用とプライバシー
nrryuya
1
130
20221206 プライバシーエンジニアの仕事 @PRIVACY TECH NIGHT #01 LayerX 中村龍矢
nrryuya
1
560
WebAssembly in Blockchain
nrryuya
2
520
Other Decks in Technology
See All in Technology
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
160
Postman v10リリース後を振り返る
nagix
0
170
MySQL の SQL クエリチューニングの要所を掴む勉強会
andpad
2
6k
Janus
bkuhlmann
1
490
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
0
110
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
190
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
340
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
260
On Your Data を超えていく!
hirotomotaguchi
2
650
ServiceNow Knowledge Learning Rise up
manarobot
0
200
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
210
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Practical Orchestrator
shlominoach
182
9.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
How GitHub (no longer) Works
holman
304
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
How STYLIGHT went responsive
nonsquared
92
4.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
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までお知らせください