Enhancing Ethereum PoA Clique Network with DAG-based BFT Consensus
YongraeJo
59 views
30 slides
May 28, 2024
Slide 1 of 30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
About This Presentation
ICBC 2024 Presentation Slides
Size: 560.14 KB
Language: en
Added: May 28, 2024
Slides: 30 pages
Slide Content
1
Pohang University of Science And Technology
YongraeJo
Enhancing Ethereum PoAClique Network with DAG-
based BFT Consensus
YongraeJo and ChanikPark
2
lConsensus for permissioned blockchain
─Only a few messages for block agreement
─Efficient than proof-of-work (PoW)
Proof of Authority (PoA)
PoA
Consensus
Authorities
12
3
45
6
Block
Proposal
3
lConsensus for permissioned blockchain
─Only a few messages for block agreement
─Efficient than proof-of-work (PoW)
Proof of Authority (PoA)
PoA
Consensus
Authorities
12
3
45
6
Block
Proposal
Clique
(our focus)
4
PoAClique: An Illustration
AuthoritiesRound 1Round 2Round 3Round 4
Block proposal
2
1
3
4
5
by leader
by non-leader
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
*#non-leaders = up to !
"−2
5
PoAClique: An Illustration
AuthoritiesRound 1Round 2Round 3Round 4
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: a leader block
*#non-leaders = up to !
"−2
Block proposal
by leader
by non-leader
Accepted
6
PoAClique: An Illustration
AuthoritiesRound 1Round 2Round 3Round 4
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: a leader block
Block proposal
by leader
by non-leader
Accepted
Delayed
Block
Forks
happen
*#non-leaders = up to !
"−2
7
PoAClique: An Illustration
AuthoritiesRound 1Round 2
2
Round 3Round 4
12
1
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: a leader block
─Forks: a highest scored chain
Block proposal
by leader
by non-leader
Accepted
Scoring mechanism
-leader’s: 2
-non-leaders’: 1
Forks
happen
Delayed
Block
*#non-leaders = up to !
"−2
8
PoAClique: An Illustration
AuthoritiesRound 1Round 2
2
Round 3Round 4
12
12
12
1
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: a leader block
─Forks: a highest scored chain
Block proposal
by leader
by non-leader
Accepted
Delayed
Block
*#non-leaders = up to !
"−2
9
PoAClique: An Illustration
AuthoritiesRound 1Round 2
2
Round 3Round 4
2
12
2
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: aleader block
─Forks: a highest scored chain
Block proposal
by leader
by non-leader
Accepted
-Not proposed
-Invalid block
-Beyond Δ
*#non-leaders = up to !
"−2
10*#non-leaders = up to !
"−2
PoAClique: Issues
AuthoritiesRound 1Round 2
2
Round 3Round 4
2
12
2
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: a leader block
─Forks: a highest scored chain
Block proposal
by leader
by non-leader
Accepted
(network fault)
-Not proposed
-Invalid block
-Beyond Δ
Multiple block proposals, but a single block acceptance
11*#non-leaders = up to !
"−2
PoAClique: Issues
AuthoritiesRound 1Round 2
2
Round 3Round 4
2
12
2
2
1
3
4
5
lRound-based
─(rotating) leader & round timeout Δ
lMultiple block proposals in a round
─by a leader
─by non-leaders* with random delays
lSingle block acceptance in a round
─Normal: a leader block
─Forks: a highest scored chain
Block proposal
by leader
by non-leader
Accepted
(network fault)
-Not proposed
-Invalid block
-Beyond Δ
Limited throughput & Wasted resources
Multiple block proposals, but a single block acceptance
12
Our Idea
AuthoritiesRound 1Round 2Round 3Round 4
2
1
3
4
5
lRound-based
─leader-less& round timeout Δ
lMultiple block proposals in a round
─By all authorities
lMultiple block acceptance in a round
─Normal: (consistent) all proposedblocks
─Forks: (consistent) total order
Block proposal
by leader
by non-leader
Accepted
13
Our Idea
AuthoritiesRound 1Round 2Round 3Round 4
2
1
3
4
5
lRound-based
─leader-less& round timeout Δ
lMultiple block proposals in a round
─By all authorities
lMultiple block acceptance in a round
─Normal: (consistent) all proposedblocks
─Forks: (consistent) total order
Block proposal
by leader
by non-leader
Accepted Challenges
18
lA consortium blockchain
─Known Identities
─Members operates DaPoAnode
─Clients submit Txs to a trusted node
─fByzantine members out of 3f+1members
lPartially asynchronous network
─unknown time bound ∆
lCrypto cannot besubverted
Assumptions
19
DaPoA: Operations
Tx
Req.TxPool-Block
-round r
…
DaPoA
Nodes
20
DaPoA: Operations
Tx
Req.TxPoolround r-1round r
…
…
…
…
-Block
-round r
…
…
DAG Mempool
(Reliable Broadcast)
DaPoA
Nodes
─Reliable blockreplication across nodes
─Consistent block views
─Multiple block proposals & acceptance
21
DaPoA: Operations
Tx
Req.TxPool
Consensus
round r-1round r
SubDAG
(Ordered Block
Digests)
with an index…
…
…
…
-Block
-round r
…
…
DAG Mempool
(Reliable Broadcast)
DaPoA
Nodes
─Consistent total order
─Local & Deterministic
─Based on a shared
randomness
22
DaPoA: Operations
Tx
Req.TxPool
Consensus
round r-1round r
SubDAG
(Ordered Block
Digests)
with an index…
…
…
…
DAG Block
-Block
-round r Sub
DAG…
……
DAG Mempool
(Reliable Broadcast)
DaPoA
Nodes
Retrieves corresponding blocks
23
DaPoA: Operations
Tx
Req.TxPool
Consensus
round r-1round r
SubDAG
(Ordered Block
Digests)
with an index…
…
…
…
Validate &
Commit
Validate &
Commit
Validate &
Commit
DAG Block
-Block
-round r Sub
DAG…
……
DAG Mempool
(Reliable Broadcast)
DaPoA
Nodes
Retrieves corresponding blocks
24
Security Analysis
Round 1Round 2Round 3Round 4
2
1
3
4
5
Fork
Attack
Round 1Round 2Round 3Round 4
DAG MempoolConsensus
Accept a proposal with 2f+1 votes
from the next round
25
Security Analysis
Round 1Round 2Round 3Round 4
2
1
3
4
5
Fork
Attack
Omission
Attack
Round advances despite f failures
DAG Mempool
Round 1Round 2Round 3Round 4
Consensus
Accept a proposal with 2f+1 votes
from the next round
26
Security Analysis
Round 1Round 2Round 3Round 4
2
1
3
4
5
Round 1Round 2Round 3Round 4
Fork
Attack
Accept a proposal with 2f+1 votes
from the next round
Omission
Attack
Ordering based on
a shared randomness
Fairness
Attack
DAG MempoolConsensus
Round advances despite f failures
30
DaPoA
lAn effort to enhance Ethereum Clique for performance scalability
─Multiple block acceptance
lLeveraging DAG-based BFT consensus
─A consistent block view across nodes using DAG mempool.
─A consistent block ordering using local consensus based on shared randomness
Conclusion