dƒusion - fair & decentralized exchange
Research�Area
Plasma
Snapp
Scalable
Market Mechanisms
Batch Auction
Onchain scaling�Snark-app�(Snapp)
Plasma
Plasma
Observation & Predictions
Market Mechanism
Scalable Batch Auctions
Today
Future
Trading volume is focused on centralized exchanges
Trading volume will shift to
decentralized exchanges �
Today
Future
Centralized matching engine,
front-running
Decentralized matching engine,
no front-running
SOLVER1
SOLVER2
price1
price2
SOLVER3
price3
Today
Future
Many Stable Coins �will change the picture
Dominant trading pairs
B
C
D
E
S
...
S2
S3
A
B
S1
...
Observation & Predictions
Market Mechanism
Scalable Batch Auctions
Batch auctions for 2 tokens: [A,B]
Orders �A -> B
Orders �B -> A
EXCHANGE RATE A VS. B
TRADING VOLUME [A]
OPTIMAL PRICE
Collect orders over a predefined time
Generation of order book
Calculate the optimal price maximizing traders surplus
Settle all orders with the optimal price
Traders�surplus�
Ring trades
SELL A FOR B
---
SELL B FOR C
SELL C FOR A
A
B
C
Ring
Trades
Multi-dimensional order-books
PRICE A/B
Traders Surplus
PRICE B/C
PRICE C/A
TRADING 3 TOKENS
OPTIMAL UNIFORM �CLEARING PRICE
Executing all ring-trades at the best possible price
A
B
C
Multi-token batch auction mechanism
p(B|A)
p(C|B)
Order can trade any token against any token
B
C
D
E
A
...
Order collection for x minutes
Computation of uniform clearing prices, i.e.
p(C|B) * p(B|A) = p(C|A)
Sum of tokens X sold equals sum � of tokens X bought (for all tokens)
Settlement of orders
Today
Future
Many Stable Coins �will change the picture
Dominant trading pairs
B
C
D
E
S
...
S2
S3
A
B
S1
...
Token growth thesis
�200 tokens created by day
Trading Volume
Popular regulated Tokens
Low liquidity tokens�(Prediction tokens, �Uniswap tokens,�CPDs, tokenized assets of games)��
Popularity of Token
Dfusion is a decentralized trading protocol, which allows anyone to list/trade even unpopular tokens. �
Target
Observation & Predictions
Market Mechanism
Scalable Batch Auctions
on plasma
Plasma
Expectation for the plasma exchange:
Today
Future
Trading volume is focused on centralized exchanges
due to scalability
Trading volume will shift to
decentralized exchanges �
Plasma ...
… Snapp
On-chain scaling via snapp�Snark application (snapp)
Complete snapp states are represented via root hashes
Transaction are collected on chain as payload and hashed to H(t)
Anyone can calculate the snark for the state transition �(r1 ,H(t))→ r2
Same security as ETH
�25x scaling of transactions
Each leaf node represents a data in the snapp
r1
Tx
Tx
Tx
Snark:�(r1 ,H(t))→r2
r2
H(t)
Deposits and exits in snapps
Users need to request the exits/ deposits on-chain via
Information about exits and deposits queues are stored in hashes H(q)
Anyone can calculate the snark processing the queue-hashes, proving the state transition�(r1 ,H(q))→ r2�
Each leaf node represents a state in the snapp
r1
deposit
exit
deposit
Snark:�(r1 ,H(q))→r2
r2
H(q)
deposit
Plasma ...
… Snapp
2. Solution:��Batch auctions
as snapp
Snapp
Expectation for the dfusion:
Dfusion
dƒusion - orders collection
Traders send signed orders to an operator or different operators
Operators bundle orders and send it on-chain
On-chain orders are getting hashed together with into H(o)
orders
orders
order
H(o)
order
order
order
dƒusion - price calculation
Once orders are final, everyone can try to find the best uniform clearing price
Every solver can submit his solution within x minutes
The smart contract chooses the price as final price, which maximizes the traders surplus
orders
orders
order
Max( surplus(p) )
H(p)
The solver needs to provide a bond and will be slashed if the solution is not correct.
SOLVER1
SOLVER2
price1
price2
SOLVER3
price3
Today
Future
Centralized matching engine,
front-running
Decentralized matching engine,
no front-running
SOLVER1
SOLVER2
price1
price2
SOLVER3
price3
dƒusion - settlement
Best prices are determined by the smart contract
Submitter of best solution must calculate new state rn+1 and the snark proving the state transition from
(rn , H(o), p) →rn+1
with the orders encode in H(o) and the prices p
Max([surplus])
Snark:�(rn ,H(o),p)→rn+1
rn
rn+1
dƒusion - Process picture
orders
orders
order
H(o)
order
order
rn
rn+1
Max( surplus(p) )
price1
price2
Snark:�(rn ,H(o),p)→rn+1
Order Collection
Price calculation
Settlement
dƒusion - Process picture
orders
orders
order
H(o)
order
order
rn
rn+1
Max( surplus(p) )
price1
price2
Resolution via Snark:�(rn ,H(o),p)→rn+1
Order Collection
Price calculation
Settlement
Bonded Proposal:�(rn ,H(o),p)→rn+1
Bonded Challenge
Snark:�(rn ,H(o),p)→rn+1
Take away picture
PRICE A/B
TRADING SURPLUS
PRICE B/C
PRICE C/A
TRADING 3 TOKENS
OPTIMAL UNIFORM �CLEARING PRICE
Executing all ring-trades at the best possible price
A
B
C
Thank you for your attention!
And special thanks to the team:
Tom Walther
Ben Smith
Stefan George
Martin Köppelmann
Alexey Akhunov
Felix Leupold
Christian Reitwiessner
Johann Barbie
Alan Lu
Collin Chin
Dominik Teiml
Julian Garcia