狠狠撸

狠狠撸Share a Scribd company logo
Polkadot Parachain?
を用いたBridge開発?
Powered by DMM Blockchain Labs
1
自己紹介 - About me?
@ DMM.com
加嵜 長門(Kasaki Nagato)
2
DMM.com ブロックチェーン研究室 室長
分散処理技術やブロックチェーン技術の研究開発、
事業提案などを担当。
共著に
『試して学ぶ スマートコントラクト開発』(マイナビ出版)
『ブロックチェーンアプリケーション開発の教科書』(マイナビ出版)
『ビッグデータ分析?活用のための SQLレシピ』(マイナビ出版)
『詳解Apache Spark』(技術評論社)
インターオペラビリティの?
UX課題とその解決?
3
インターオペラビリティ?
@ DMM.com
● ブロックチェーンのインターオペラビリティ(相互運用性)
○ 異なるチェーン間でデータを共有する
■ トークンスワップ、アセットの移転
● インターオペラビリティの課題
○ Integrity … チェーンのreorgや二重支払の対処
○ Trustless … 必ずどこかをトラストする必要がある
○ UX … ユーザーに求められるリテラシーが高い
4
既存BridgeにおけるUX課題?
@ DMM.com
●
5
出典: Polkadot Bridges: Design Considerations for
Bridging to PoW Chains
https://hackmd.io/UVzp6Z-bRAOo9Ny531yhmA
Lock & Issue
● 片側のチェーン上でトークンや
ネイティブ通貨をLock
● Lockしている間、もう片方のチェーン
で新トークンを発行
ユーザーから見た課題
● 管理するトークンの種類が増加
● Lockしたアセットに拘束される
インターオペラビリティのUX向上のためのBridge技術研究?
@ DMM.com
● OverlayToken
○ 異なるチェーン上で透過的に
トークンを利用するためのトーク
ン規格
○ あるチェーン上のアセットを別の
チェーンに移転するのではなく、
初めから移転を前提としたトーク
ンを設計する
6
Substrateでの実証
● Substrateで2つの異なるピア
チェーンを実行し、両者にま
たがるOverlayTokenを実装
● TokenのMint, Burn, チェーン
間のToken送受信が可能
OverlayToken デモ?
@ DMM.com
7
アーキテクチャ?
@ DMM.com
Parent Chain / Child Chain
● TokenをSubstrate Runtimeで実装
Bridge
● 双方のTokenの状態を監視
● 特定の変更があれば状態を同期
Web UI
● ブラウザでTokenの状態を確認
● トランザクションの発行
8
データ構造?
@ DMM.com
9
Total: 0
Local: 0
Parent:
0
Child:
0
Total: 0
Local: 0
Parent:
0
Child:
0
Total: 0
Local: 0
Parent:
0
Child:
0
Chain 0 Chain 1 Chain 2
Parent Child
常に Total = Local + Parent + Child
データ構造?
@ DMM.com
10
Total: 10000
Local: 10000
Parent:
0
Child:
0
Total: 10000
Local: 0
Parent:
10000
Child:
0
Total: 10000
Local: 0
Parent:
10000
Child:
0
Chain 0 Chain 1 Chain 2
Mint 10000
Sync Sync
Chain 0でTokenをMintすると、Chain 1, 2に状態が同期される
データ構造?
@ DMM.com
11
Total: 10000
Local: 2000
Parent:
0
Child:
8000
Total: 10000
Local: 8000
Parent:
2000
Child:
0
Total: 10000
Local: 0
Parent:
10000
Child:
0
Chain 0 Chain 1 Chain 2
Send
Chain 0, 1間の送金では、Chain 0, 1の状態のみ同期(Chain 2には影響しない)
データ構造?
@ DMM.com
12
Total: 10000
Local: 2000
Parent:
0
Child:
8000
Total: 10000
Local: 5000
Parent:
2000
Child:
3000
Total: 10000
Local: 3000
Parent:
7000
Child:
0
Chain 0 Chain 1 Chain 2
Send
Chain 1, 2間の送金では、Chain 1, 2の状態のみ同期(Chain 0には影響しない)
データ構造?
@ DMM.com
13
Total: 10000
Local: 2000
Parent:
0
Child:
8000
Total: 10000
Local: 5000
Parent:
2000
Child:
3000
Total: 10000
Local: 3000
Parent:
7000
Child:
0
5000 0
特定Chain内のアカウント残高
データ構造?
@ DMM.com
14
Total: 10000
Local: 2000
Parent:
0
Child:
8000
Total: 10000
Local: 5000
Parent:
2000
Child:
3000
Total: 10000
Local: 3000
Parent:
7000
Child:
0
2000 3000
Transfer特定Chain内の取引は、他の
Chainに影響しない
サービスへの応用例?
@ DMM.com
15
Public-Private chain間の
OverlayToken
● 1 ETH: 100 TKN等で
価値をペッグ
● 個々のサービスに最
適化されたチェーン上
でアプリケーションを
提供
● すべてのアプリケー
ションで共通のTKNを
利用できる
OverlayToken デモ 2?
@ DMM.com
16
Ethereumとの接続
● EthereumとSubstrate上で
OverlayTokenを構築
● Ethereum上でTokenを発行
し、Substrateに移動
● ETHと紐づく独自Tokenを、
Substrate上で手数料なく拘束
にやりとりできる
実装?
@ DMM.com
● 技術Stack
17
モジュール フレームワーク、開発言語
Token Runtime substrate 1.0
Substrate Bridge polkadotjs/api
Substrate UI oo7-substrate, react
Token Contract Solidity 0.5, OpenZeppelin
Ethereum Bridge web3js 1.0-beta, polkadotjs/api
Ethereum UI web3js 1.0-beta, react-bootstrap
実装?
@ DMM.com
Bridge実装
● OverlayTokenは双方向性
が担保できればどのような
Bridgegでも実現可能
● Polkadotとも共存できる
● 今回は、POA Bridgeに近
いTrusted Relayer型で実
装
18
引用: POA-Ethereum Bridge
https://github.com/poanetwork/poa-bridge
【参考】既存のインターチェーン技術類型(一部)?
@ DMM.com
● Trusted custodian
○ 例: WBTC
● Trusted Relayer
○ 例: POA TokenBridge
● Block Relay
○ 例: PeaceRelay, Polkadot Bridge
● HTLC escrow
○ 例: Swingby protocol
19
Trustless
Trustful
今後の展望?
@ DMM.com
● トークン仕様ドキュメントやプロダクトリポジトリの公開
● セキュリティやユーザビリティの向上
● RelayerのTrustless化(分散Oracle)
● OverlayTokenを用いたデモプロダクトの実装
● Ethereum以外のパブリックチェーンとの接続
● トークン以外のアセットへの応用
20
Thank you for the attention.?
Powered by DMM Blockchain Labs
21

More Related Content

20190712 polkadot japan meetup