SlideShare a Scribd company logo
GitKarma
1 vote a day
Vote for any kind of contribution
activities on Github
To prevent self-mining
http://i.imgur.com/O40kROE.gif
To prevent self-mining
1 vote a day
To prevent self-mining
blooooooooomfilter
Layer 2!
Item structure
Activity ID (bytes32)
Bloom Filter (uint256) Token(uint32)
817,232
Owner(address: bytes20)
0xabcd1234abcd1234...
Value
56 bytes
Key
32 bytes
Merkle tree on plasma chain
root node
Merkle tree on plasma chain
node node
root node
Plasma chain
Finalization with Casper FFG
node node
root node
Main chain
checkpoint 1
Plasma chain
Merkle tree on plasma chain
node node
root node
Main chain
checkpoint 2checkpoint 1
Justified!
Plasma chain
Merkle tree on plasma chain
node node
root node
Main chain
checkpoint 3checkpoint 2checkpoint 1
Finalized!
Plasma chain
Merkle tree on plasma chain
node node
root node
Main chain
checkpoint 3checkpoint 2checkpoint 1
Finalized!
Plasma chain
Merkle tree on plasma chain
node node
root node
Main chain
checkpoint 3checkpoint 2checkpoint 1
Finalized!
Merklux & Casper PEPoW
https://github.com/wanseob/merklux
https://github.com/ethereum/EIPs/issues/1913
https://ethresear.ch/t/merklux-plasma-plant/4050/11
Future usage
but...
Flux pattern
Merkle tree + Flux pattern = Merklux
Reducer for Redux
Reducer for Merklux
Deploying of a reducer
Reducer’s source code
contract Transfer… {
...
}
Reducer’s bytecode
0x00000000000000011111111
1000001111111111111000000
0000000000011111111111111
Hash of the byte code
abc1230a...
Registry
Hash of the byte code Address of deployed reducer
Reducer map in Merkle tree
Action name Reducer Code
abc1230a... 123321..
TRANSFER abc1230a...
Deploying of a reducer
Reducer’s source code
contract SaveReducer.. {
...
}
Reducer’s bytecode
0x11111111110000000011111
1111101111111111100000000
01111111111111110000000...
Hash of the byte code
ddbccad1...
Registry
Hash of the byte code Address of deployed reducer
Reducer map in Merkle tree
Action name Reducer Code
SAVE ddbccad1...
ddbccad1... ac23bd..
abc1230a... 123321..
TRANSFER abc1230a...
Dispatching an action
Registry
Hash of the byte code Address of deployed reducer
Reducer map in Merkle tree
Action name Reducer Code
SAVE ddbccad1...
ddbccad1... ac23bd..
abc1230a... 123321..
TRANSFER abc1230a...
abc1230a... 123321..
TRANSFER abc1230a... 123321..
Transfer
Reducer
prev state
Action
name:
TRANSFER
params:
(amount)
100
(to)
0xabcd...
parameters
0x100abc..
next state
Action
name:
TRANSFER
params:
(amount)
100
(to)
0xabcd...
Plasma chain Root chain
Reproducing the state transitions on another chain
state 100
state 200
checkpoint 0 (state 100)
checkpoint 1 (state 200)
Root chain
Reproducing the state transitions on another chain
oint 0 (state 100)
oint 1 (state 200) ��
state 100
state 200?
Registry
Hash of the byte code
Address of deployed
reducer
Reducer map in Merkle tree
Action name Reducer Code
SAVE ddbccad1...
ddbccad1... a091f82..
abc1230a... 612cd2..
TRANSFER abc1230a...
Action
name:
TRANSFER
params:
(amount)
100
(to)
0xabcd...
Action
name:
TRANSFER
params:
(amount)
100
(to)
0xabcd...
Root chain
Reproducing the state transitions on another chain
state 100
state 200?
Cross-state items
Plasma state tree
(Plasma chain)
key1
val1 val1
key2 key3
val1 0x1a..
ANCHOR
Anchor state tree
(Root chain)
key1
val1 val1
key2 key3
val1 0xcd..
PLASMA
0xcd..0x1a..
Plasma cross-state
in the anchor contract
Anchor cross-state in the
plasma contract
Epoch 1
Plasma state tree
0 0 0 0x10..
ANCHOR
0xc1..
Epoch 2
Plasma state tree
1 1 2 0x10..
ANCHOR
0xc2..
Epoch 3
Plasma state tree
3 4 2 0x10..
ANCHOR
0xc3..
Epoch 4
Plasma state tree
1 3 4 0x13..
ANCHOR
0xc4..
Dynasty 1
Anchor state tree
0 0 0 0x00..
PLASMA
0x10..
0 0 1 0x00..
PLASMA
0x11..
Dynasty 1
Anchor state tree
0 0 2 0x00..
PLASMA
0x12..
Dynasty 2
Anchor state tree
0 1 2 0xc1..
PLASMA
0x13..
0xc1.. 0xc1..
0xc2..
0xc1..
0xc2..
justified
0xc3..
finalized
justified
submitted
submitted
submitted
Dynasty 3
Anchor state tree
0 2 3 0xc2..
PLASMA
0x17..
0xc1..
0xc2..
0xc3..
finalized
justified
Epoch 5
Plasma state tree
5 6 7 0x17..
ANCHOR
0xc5..
0x10..
Anchor checkpoint
0x10.. 0x10.. 0x13.. 0x17..
0xc4..
submitted
finalized
MerkluxAnchor(Root chain)
MerkluxPlasma(Child chain)Pulling anchor state
Merge request
Anchor checkpoint Anchor checkpoint Anchor checkpoint Anchor checkpoint
Dynasty 1
Anchor state tree
Plasma
checkpoints
Plasma
checkpoints
Plasma
checkpoints
Plasma
checkpoints
Casper PEPoW
Finality Gadget for Layer 2
Proposing rule:
Priority Exponential PoW
Fork choice rule:
Casper FFG
Gives the validation reward by minting token to the layer-2 validators
To provide the main-net level security to the 2nd layer, unlike the Casper FFG,
justified checkpoints can be reverted by the challenge system.
Checkpoint proposers are ordered dynamically and have their own difficulties to
propose a new checkpoint
Difficulty of Proof of Work to propose a new checkpoint is exponential to the
order of priority
Casper validation reward for a checkpoint is also exponential to its priority
Differences with the Casper FFG
1. Makes PoW still be useful to mitigate forking and out of network problem.
2. Helps the network be more decentralized with only a small amount of hash
power
3. Mitigates data availability problem
Why Casper PEPoW matters
Root chain
Stream request
Stream function
finalized
checkpoint 1 (state 200)
3cadb129c...
checkpoint 2 (state 100)
finalized
checkpoint 0 (state 100)
merkle
proof
merkle
proof
Value
Key
?
Root chain
Stream request
Stream function
3cadb129c...
merkle
proof
merkle
proof
Value
Key
?
Challenges - 1. Invalid state transition
When Validators justify an invalid checkpoint
1. User can make a challenge with bond
2. Anyone who can be slashed can proceed own verification process for the
challenge
3. If anyone succeed to defend, the bond goes to the defender
4. Or all validators who voted and the proposer get slashed
If operators do not provide Merkle proof for a stream request
1. Users can request to execute a stream function with a bond
a. If no operator submits the merkle proof data for a given time, the request gets through the
process. And the validators and the proposer of the checkpoint, get slashed.
b. If any operator submits a valid merkle proof data for the key, which is different with the
requested value, the user loses the bond.
Challenges - 2. Data unavailability
Challenges - 3. Failure in duty
The plasma network can be stuck when the operators do not submit a checkpoint
or do not publish vote messages.
1. If no one submits a new checkpoint for a given period
a. Any user can submit a checkpoint
b. Then to finalize the submitted checkpoint, the user runs the verification process which
means reenacting the state transition by submitting all dispatch history and referred
key-value items for the epoch
c. If the user succeeds to verify the submission, all registered validators get slashed, and the
user gets the entire stakes as a reward.
2. When the latest epoch is not justified for a given time
a. Anyone can open the verification process and justify it.
b. If this case occurs, the unvoted validators are all slashed, and the volunteer gets their stakes.
[WIP]Implementation
Merklux:
https://github.com/wanseob/merklux
ERC: Casper PEPoW Token Standard for Layer 2 Solutions
https://github.com/wanseob/casper-pepow-token
https://github.com/ethereum/EIPs/issues/1913

More Related Content

Similar to [ETHCon Korea 2019] Lim wanseob 임완섭

Xbfs HPDC'2019
Xbfs HPDC'2019Xbfs HPDC'2019
Xbfs HPDC'2019
Anil Gaihre
 
Rac 12c optimization
Rac 12c optimizationRac 12c optimization
Rac 12c optimization
Riyaj Shamsudeen
 
What is a decentralised application ? - Les Jeudis du Libre
What is a decentralised application ? - Les Jeudis du LibreWhat is a decentralised application ? - Les Jeudis du Libre
What is a decentralised application ? - Les Jeudis du Libre
Wajug
 
Hyperchains
HyperchainsHyperchains
Hyperchains
Grzegorz Uriasz
 
Token Ring Basic Concepts
Token Ring Basic ConceptsToken Ring Basic Concepts
Token Ring Basic Concepts
Ronald Bartels
 
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
OlgaCoinFund
 
Advanced Encryption Standard Report
Advanced Encryption Standard ReportAdvanced Encryption Standard Report
Advanced Encryption Standard Reportbrakanjero
 
Testing multithreaded java applications for synchronization problems
Testing multithreaded java applications for synchronization problemsTesting multithreaded java applications for synchronization problems
Testing multithreaded java applications for synchronization problemsVassil Popovski
 
Yavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaYavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akka
Hugh McKee
 
Ethereumの最新動向2018年8月
Ethereumの最新動向2018年8月Ethereumの最新動向2018年8月
Ethereumの最新動向2018年8月
zigen
 
Technical Overview of QUIC
Technical  Overview of QUICTechnical  Overview of QUIC
Technical Overview of QUIC
shigeki_ohtsu
 
Switching
SwitchingSwitching
Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...Czech Technical University in Prague
 
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
Bo-Yi Wu
 
Mo cs call_flow
Mo cs call_flowMo cs call_flow
Mo cs call_flow
Sudhir Kumar
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
J On The Beach
 
Circuitos Eléctricos por James S. Kang.pdf
Circuitos Eléctricos por James S. Kang.pdfCircuitos Eléctricos por James S. Kang.pdf
Circuitos Eléctricos por James S. Kang.pdf
SANTIAGO PABLO ALBERTO
 
thesis-cannings-2004
thesis-cannings-2004thesis-cannings-2004
thesis-cannings-2004Rich Cannings
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
BastianBlankenburg
 

Similar to [ETHCon Korea 2019] Lim wanseob 임완섭 (20)

Xbfs HPDC'2019
Xbfs HPDC'2019Xbfs HPDC'2019
Xbfs HPDC'2019
 
Rac 12c optimization
Rac 12c optimizationRac 12c optimization
Rac 12c optimization
 
What is a decentralised application ? - Les Jeudis du Libre
What is a decentralised application ? - Les Jeudis du LibreWhat is a decentralised application ? - Les Jeudis du Libre
What is a decentralised application ? - Les Jeudis du Libre
 
Hyperchains
HyperchainsHyperchains
Hyperchains
 
Token Ring Basic Concepts
Token Ring Basic ConceptsToken Ring Basic Concepts
Token Ring Basic Concepts
 
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
 
Advanced Encryption Standard Report
Advanced Encryption Standard ReportAdvanced Encryption Standard Report
Advanced Encryption Standard Report
 
Testing multithreaded java applications for synchronization problems
Testing multithreaded java applications for synchronization problemsTesting multithreaded java applications for synchronization problems
Testing multithreaded java applications for synchronization problems
 
Yavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaYavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akka
 
Ethereumの最新動向2018年8月
Ethereumの最新動向2018年8月Ethereumの最新動向2018年8月
Ethereumの最新動向2018年8月
 
Technical Overview of QUIC
Technical  Overview of QUICTechnical  Overview of QUIC
Technical Overview of QUIC
 
Switching
SwitchingSwitching
Switching
 
Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...
 
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
 
Mo cs call_flow
Mo cs call_flowMo cs call_flow
Mo cs call_flow
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
 
Lecture3
Lecture3Lecture3
Lecture3
 
Circuitos Eléctricos por James S. Kang.pdf
Circuitos Eléctricos por James S. Kang.pdfCircuitos Eléctricos por James S. Kang.pdf
Circuitos Eléctricos por James S. Kang.pdf
 
thesis-cannings-2004
thesis-cannings-2004thesis-cannings-2004
thesis-cannings-2004
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
 

More from ethconkr

[ETHCon Korea 2019] Jang Byeongkook 장병국
[ETHCon Korea 2019] Jang Byeongkook 장병국[ETHCon Korea 2019] Jang Byeongkook 장병국
[ETHCon Korea 2019] Jang Byeongkook 장병국
ethconkr
 
[ETHCon Korea 2019] Jason lee 이진호
[ETHCon Korea 2019] Jason lee 이진호[ETHCon Korea 2019] Jason lee 이진호
[ETHCon Korea 2019] Jason lee 이진호
ethconkr
 
[ETHCon Korea 2019] Kim Taekgyun 김택균
[ETHCon Korea 2019] Kim Taekgyun 김택균[ETHCon Korea 2019] Kim Taekgyun 김택균
[ETHCon Korea 2019] Kim Taekgyun 김택균
ethconkr
 
[ETHCon Korea 2019] Kang Hyungseok 강형석
[ETHCon Korea 2019] Kang Hyungseok 강형석[ETHCon Korea 2019] Kang Hyungseok 강형석
[ETHCon Korea 2019] Kang Hyungseok 강형석
ethconkr
 
[ETHCon Korea 2019] Lim Dohyung 임도형
[ETHCon Korea 2019] Lim Dohyung 임도형[ETHCon Korea 2019] Lim Dohyung 임도형
[ETHCon Korea 2019] Lim Dohyung 임도형
ethconkr
 
[ETHCon Korea 2019] Seo Gijoon 서기준
[ETHCon Korea 2019] Seo Gijoon 서기준[ETHCon Korea 2019] Seo Gijoon 서기준
[ETHCon Korea 2019] Seo Gijoon 서기준
ethconkr
 
[ETHCon Korea 2019] Kim hyojun 김효준
[ETHCon Korea 2019] Kim hyojun 김효준[ETHCon Korea 2019] Kim hyojun 김효준
[ETHCon Korea 2019] Kim hyojun 김효준
ethconkr
 
[ETHCon Korea 2019] Park Chanhyun 박찬현
[ETHCon Korea 2019] Park Chanhyun 박찬현[ETHCon Korea 2019] Park Chanhyun 박찬현
[ETHCon Korea 2019] Park Chanhyun 박찬현
ethconkr
 
[ETHCon Korea 2019] Cha Seounghun 차승훈
[ETHCon Korea 2019] Cha Seounghun 차승훈[ETHCon Korea 2019] Cha Seounghun 차승훈
[ETHCon Korea 2019] Cha Seounghun 차승훈
ethconkr
 
[ETHCon Korea 2019] Park Sieun 박시은
[ETHCon Korea 2019] Park Sieun 박시은[ETHCon Korea 2019] Park Sieun 박시은
[ETHCon Korea 2019] Park Sieun 박시은
ethconkr
 
[ETHCon Korea 2019] Hong taeoh 홍태오
[ETHCon Korea 2019] Hong taeoh 홍태오[ETHCon Korea 2019] Hong taeoh 홍태오
[ETHCon Korea 2019] Hong taeoh 홍태오
ethconkr
 
[ETHCon Korea 2019] Hyun sooyoung 현수영
[ETHCon Korea 2019] Hyun sooyoung 현수영[ETHCon Korea 2019] Hyun sooyoung 현수영
[ETHCon Korea 2019] Hyun sooyoung 현수영
ethconkr
 
[ETHCon Korea 2019] Choi jihyuk 최지혁
[ETHCon Korea 2019] Choi jihyuk 최지혁[ETHCon Korea 2019] Choi jihyuk 최지혁
[ETHCon Korea 2019] Choi jihyuk 최지혁
ethconkr
 
[ETHCon Korea 2019] Choi yunsung 최윤성
[ETHCon Korea 2019] Choi yunsung 최윤성[ETHCon Korea 2019] Choi yunsung 최윤성
[ETHCon Korea 2019] Choi yunsung 최윤성
ethconkr
 
[ETHCon Korea 2019] Jung woohyun 정우현
[ETHCon Korea 2019] Jung woohyun 정우현[ETHCon Korea 2019] Jung woohyun 정우현
[ETHCon Korea 2019] Jung woohyun 정우현
ethconkr
 
[ETHCon Korea 2019] Jung soonhyung 정순형
[ETHCon Korea 2019] Jung soonhyung 정순형[ETHCon Korea 2019] Jung soonhyung 정순형
[ETHCon Korea 2019] Jung soonhyung 정순형
ethconkr
 
[ETHCon Korea 2019] Jang jinho 장진호
[ETHCon Korea 2019] Jang jinho 장진호[ETHCon Korea 2019] Jang jinho 장진호
[ETHCon Korea 2019] Jang jinho 장진호
ethconkr
 
[ETHCon Korea 2019] Jang jaehyuk 장재혁
[ETHCon Korea 2019] Jang jaehyuk 장재혁[ETHCon Korea 2019] Jang jaehyuk 장재혁
[ETHCon Korea 2019] Jang jaehyuk 장재혁
ethconkr
 
[ETHCon Korea 2019] Lee heungno 이흥노
[ETHCon Korea 2019] Lee heungno 이흥노[ETHCon Korea 2019] Lee heungno 이흥노
[ETHCon Korea 2019] Lee heungno 이흥노
ethconkr
 
[ETHCon Korea 2019] Yun sungjun 윤성준
[ETHCon Korea 2019] Yun sungjun 윤성준[ETHCon Korea 2019] Yun sungjun 윤성준
[ETHCon Korea 2019] Yun sungjun 윤성준
ethconkr
 

More from ethconkr (20)

[ETHCon Korea 2019] Jang Byeongkook 장병국
[ETHCon Korea 2019] Jang Byeongkook 장병국[ETHCon Korea 2019] Jang Byeongkook 장병국
[ETHCon Korea 2019] Jang Byeongkook 장병국
 
[ETHCon Korea 2019] Jason lee 이진호
[ETHCon Korea 2019] Jason lee 이진호[ETHCon Korea 2019] Jason lee 이진호
[ETHCon Korea 2019] Jason lee 이진호
 
[ETHCon Korea 2019] Kim Taekgyun 김택균
[ETHCon Korea 2019] Kim Taekgyun 김택균[ETHCon Korea 2019] Kim Taekgyun 김택균
[ETHCon Korea 2019] Kim Taekgyun 김택균
 
[ETHCon Korea 2019] Kang Hyungseok 강형석
[ETHCon Korea 2019] Kang Hyungseok 강형석[ETHCon Korea 2019] Kang Hyungseok 강형석
[ETHCon Korea 2019] Kang Hyungseok 강형석
 
[ETHCon Korea 2019] Lim Dohyung 임도형
[ETHCon Korea 2019] Lim Dohyung 임도형[ETHCon Korea 2019] Lim Dohyung 임도형
[ETHCon Korea 2019] Lim Dohyung 임도형
 
[ETHCon Korea 2019] Seo Gijoon 서기준
[ETHCon Korea 2019] Seo Gijoon 서기준[ETHCon Korea 2019] Seo Gijoon 서기준
[ETHCon Korea 2019] Seo Gijoon 서기준
 
[ETHCon Korea 2019] Kim hyojun 김효준
[ETHCon Korea 2019] Kim hyojun 김효준[ETHCon Korea 2019] Kim hyojun 김효준
[ETHCon Korea 2019] Kim hyojun 김효준
 
[ETHCon Korea 2019] Park Chanhyun 박찬현
[ETHCon Korea 2019] Park Chanhyun 박찬현[ETHCon Korea 2019] Park Chanhyun 박찬현
[ETHCon Korea 2019] Park Chanhyun 박찬현
 
[ETHCon Korea 2019] Cha Seounghun 차승훈
[ETHCon Korea 2019] Cha Seounghun 차승훈[ETHCon Korea 2019] Cha Seounghun 차승훈
[ETHCon Korea 2019] Cha Seounghun 차승훈
 
[ETHCon Korea 2019] Park Sieun 박시은
[ETHCon Korea 2019] Park Sieun 박시은[ETHCon Korea 2019] Park Sieun 박시은
[ETHCon Korea 2019] Park Sieun 박시은
 
[ETHCon Korea 2019] Hong taeoh 홍태오
[ETHCon Korea 2019] Hong taeoh 홍태오[ETHCon Korea 2019] Hong taeoh 홍태오
[ETHCon Korea 2019] Hong taeoh 홍태오
 
[ETHCon Korea 2019] Hyun sooyoung 현수영
[ETHCon Korea 2019] Hyun sooyoung 현수영[ETHCon Korea 2019] Hyun sooyoung 현수영
[ETHCon Korea 2019] Hyun sooyoung 현수영
 
[ETHCon Korea 2019] Choi jihyuk 최지혁
[ETHCon Korea 2019] Choi jihyuk 최지혁[ETHCon Korea 2019] Choi jihyuk 최지혁
[ETHCon Korea 2019] Choi jihyuk 최지혁
 
[ETHCon Korea 2019] Choi yunsung 최윤성
[ETHCon Korea 2019] Choi yunsung 최윤성[ETHCon Korea 2019] Choi yunsung 최윤성
[ETHCon Korea 2019] Choi yunsung 최윤성
 
[ETHCon Korea 2019] Jung woohyun 정우현
[ETHCon Korea 2019] Jung woohyun 정우현[ETHCon Korea 2019] Jung woohyun 정우현
[ETHCon Korea 2019] Jung woohyun 정우현
 
[ETHCon Korea 2019] Jung soonhyung 정순형
[ETHCon Korea 2019] Jung soonhyung 정순형[ETHCon Korea 2019] Jung soonhyung 정순형
[ETHCon Korea 2019] Jung soonhyung 정순형
 
[ETHCon Korea 2019] Jang jinho 장진호
[ETHCon Korea 2019] Jang jinho 장진호[ETHCon Korea 2019] Jang jinho 장진호
[ETHCon Korea 2019] Jang jinho 장진호
 
[ETHCon Korea 2019] Jang jaehyuk 장재혁
[ETHCon Korea 2019] Jang jaehyuk 장재혁[ETHCon Korea 2019] Jang jaehyuk 장재혁
[ETHCon Korea 2019] Jang jaehyuk 장재혁
 
[ETHCon Korea 2019] Lee heungno 이흥노
[ETHCon Korea 2019] Lee heungno 이흥노[ETHCon Korea 2019] Lee heungno 이흥노
[ETHCon Korea 2019] Lee heungno 이흥노
 
[ETHCon Korea 2019] Yun sungjun 윤성준
[ETHCon Korea 2019] Yun sungjun 윤성준[ETHCon Korea 2019] Yun sungjun 윤성준
[ETHCon Korea 2019] Yun sungjun 윤성준
 

Recently uploaded

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 

Recently uploaded (20)

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 

[ETHCon Korea 2019] Lim wanseob 임완섭

  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Vote for any kind of contribution activities on Github
  • 11. Item structure Activity ID (bytes32) Bloom Filter (uint256) Token(uint32) 817,232 Owner(address: bytes20) 0xabcd1234abcd1234... Value 56 bytes Key 32 bytes
  • 12. Merkle tree on plasma chain root node
  • 13. Merkle tree on plasma chain node node root node
  • 14. Plasma chain Finalization with Casper FFG node node root node Main chain checkpoint 1
  • 15. Plasma chain Merkle tree on plasma chain node node root node Main chain checkpoint 2checkpoint 1 Justified!
  • 16. Plasma chain Merkle tree on plasma chain node node root node Main chain checkpoint 3checkpoint 2checkpoint 1 Finalized!
  • 17. Plasma chain Merkle tree on plasma chain node node root node Main chain checkpoint 3checkpoint 2checkpoint 1 Finalized!
  • 18. Plasma chain Merkle tree on plasma chain node node root node Main chain checkpoint 3checkpoint 2checkpoint 1 Finalized!
  • 19. Merklux & Casper PEPoW https://github.com/wanseob/merklux https://github.com/ethereum/EIPs/issues/1913 https://ethresear.ch/t/merklux-plasma-plant/4050/11
  • 21.
  • 22.
  • 25. Merkle tree + Flux pattern = Merklux
  • 28. Deploying of a reducer Reducer’s source code contract Transfer… { ... } Reducer’s bytecode 0x00000000000000011111111 1000001111111111111000000 0000000000011111111111111 Hash of the byte code abc1230a... Registry Hash of the byte code Address of deployed reducer Reducer map in Merkle tree Action name Reducer Code abc1230a... 123321.. TRANSFER abc1230a...
  • 29. Deploying of a reducer Reducer’s source code contract SaveReducer.. { ... } Reducer’s bytecode 0x11111111110000000011111 1111101111111111100000000 01111111111111110000000... Hash of the byte code ddbccad1... Registry Hash of the byte code Address of deployed reducer Reducer map in Merkle tree Action name Reducer Code SAVE ddbccad1... ddbccad1... ac23bd.. abc1230a... 123321.. TRANSFER abc1230a...
  • 30. Dispatching an action Registry Hash of the byte code Address of deployed reducer Reducer map in Merkle tree Action name Reducer Code SAVE ddbccad1... ddbccad1... ac23bd.. abc1230a... 123321.. TRANSFER abc1230a... abc1230a... 123321.. TRANSFER abc1230a... 123321.. Transfer Reducer prev state Action name: TRANSFER params: (amount) 100 (to) 0xabcd... parameters 0x100abc.. next state Action name: TRANSFER params: (amount) 100 (to) 0xabcd...
  • 31. Plasma chain Root chain Reproducing the state transitions on another chain state 100 state 200 checkpoint 0 (state 100) checkpoint 1 (state 200)
  • 32. Root chain Reproducing the state transitions on another chain oint 0 (state 100) oint 1 (state 200) �� state 100 state 200? Registry Hash of the byte code Address of deployed reducer Reducer map in Merkle tree Action name Reducer Code SAVE ddbccad1... ddbccad1... a091f82.. abc1230a... 612cd2.. TRANSFER abc1230a... Action name: TRANSFER params: (amount) 100 (to) 0xabcd... Action name: TRANSFER params: (amount) 100 (to) 0xabcd...
  • 33. Root chain Reproducing the state transitions on another chain state 100 state 200?
  • 34. Cross-state items Plasma state tree (Plasma chain) key1 val1 val1 key2 key3 val1 0x1a.. ANCHOR Anchor state tree (Root chain) key1 val1 val1 key2 key3 val1 0xcd.. PLASMA 0xcd..0x1a.. Plasma cross-state in the anchor contract Anchor cross-state in the plasma contract
  • 35. Epoch 1 Plasma state tree 0 0 0 0x10.. ANCHOR 0xc1.. Epoch 2 Plasma state tree 1 1 2 0x10.. ANCHOR 0xc2.. Epoch 3 Plasma state tree 3 4 2 0x10.. ANCHOR 0xc3.. Epoch 4 Plasma state tree 1 3 4 0x13.. ANCHOR 0xc4.. Dynasty 1 Anchor state tree 0 0 0 0x00.. PLASMA 0x10.. 0 0 1 0x00.. PLASMA 0x11.. Dynasty 1 Anchor state tree 0 0 2 0x00.. PLASMA 0x12.. Dynasty 2 Anchor state tree 0 1 2 0xc1.. PLASMA 0x13.. 0xc1.. 0xc1.. 0xc2.. 0xc1.. 0xc2.. justified 0xc3.. finalized justified submitted submitted submitted Dynasty 3 Anchor state tree 0 2 3 0xc2.. PLASMA 0x17.. 0xc1.. 0xc2.. 0xc3.. finalized justified Epoch 5 Plasma state tree 5 6 7 0x17.. ANCHOR 0xc5.. 0x10.. Anchor checkpoint 0x10.. 0x10.. 0x13.. 0x17.. 0xc4.. submitted finalized MerkluxAnchor(Root chain) MerkluxPlasma(Child chain)Pulling anchor state Merge request Anchor checkpoint Anchor checkpoint Anchor checkpoint Anchor checkpoint Dynasty 1 Anchor state tree Plasma checkpoints Plasma checkpoints Plasma checkpoints Plasma checkpoints
  • 40. Gives the validation reward by minting token to the layer-2 validators To provide the main-net level security to the 2nd layer, unlike the Casper FFG, justified checkpoints can be reverted by the challenge system. Checkpoint proposers are ordered dynamically and have their own difficulties to propose a new checkpoint Difficulty of Proof of Work to propose a new checkpoint is exponential to the order of priority Casper validation reward for a checkpoint is also exponential to its priority Differences with the Casper FFG
  • 41.
  • 42.
  • 43.
  • 44. 1. Makes PoW still be useful to mitigate forking and out of network problem. 2. Helps the network be more decentralized with only a small amount of hash power 3. Mitigates data availability problem Why Casper PEPoW matters
  • 45. Root chain Stream request Stream function finalized checkpoint 1 (state 200) 3cadb129c... checkpoint 2 (state 100) finalized checkpoint 0 (state 100) merkle proof merkle proof Value Key ?
  • 46. Root chain Stream request Stream function 3cadb129c... merkle proof merkle proof Value Key ?
  • 47. Challenges - 1. Invalid state transition When Validators justify an invalid checkpoint 1. User can make a challenge with bond 2. Anyone who can be slashed can proceed own verification process for the challenge 3. If anyone succeed to defend, the bond goes to the defender 4. Or all validators who voted and the proposer get slashed
  • 48. If operators do not provide Merkle proof for a stream request 1. Users can request to execute a stream function with a bond a. If no operator submits the merkle proof data for a given time, the request gets through the process. And the validators and the proposer of the checkpoint, get slashed. b. If any operator submits a valid merkle proof data for the key, which is different with the requested value, the user loses the bond. Challenges - 2. Data unavailability
  • 49. Challenges - 3. Failure in duty The plasma network can be stuck when the operators do not submit a checkpoint or do not publish vote messages. 1. If no one submits a new checkpoint for a given period a. Any user can submit a checkpoint b. Then to finalize the submitted checkpoint, the user runs the verification process which means reenacting the state transition by submitting all dispatch history and referred key-value items for the epoch c. If the user succeeds to verify the submission, all registered validators get slashed, and the user gets the entire stakes as a reward. 2. When the latest epoch is not justified for a given time a. Anyone can open the verification process and justify it. b. If this case occurs, the unvoted validators are all slashed, and the volunteer gets their stakes.
  • 50. [WIP]Implementation Merklux: https://github.com/wanseob/merklux ERC: Casper PEPoW Token Standard for Layer 2 Solutions https://github.com/wanseob/casper-pepow-token https://github.com/ethereum/EIPs/issues/1913