1 of 20

LEVERJ

GLUON PLASMA

BHARATH RAO

2 of 20

PLASMA

  1. Create a plasma blockchain P that’s anchored to root chain R
  2. A Deposit in R creates UTXO in P
  3. A Withdrawal from R removes UTXO from P
  4. Periodically store block headers of P into R to commit state changes
  5. Block headers contain sufficient information to prove correctness of state transitions
  6. Incorrect state transitions in P are rolled back (up to a point) using fraud-proofs on R
  7. Exits are prioritized by earlier P blocks, to ensure fraudulent outputs fail
  8. If information needed for fraud-proofs is withheld, mass exit from P to R

3 of 20

PLASMA VARIANT: PLASMA MVP

  1. Deposit Creates a new Block with a single UTXO
  2. Withdraw using Priority Queue by age
  3. Spend using signed transactions
  4. Regularly Check Plasma chain
  5. Mass Exit if Plasma chain is byzantine

4 of 20

PLASMA VARIANT: PLASMA MVP

  • Deposit Creates a new Block with a single UTXO
  • Withdraw using Priority Queue by age -- Queue can get very large1
  • Spend using signed transactions -- UTXO shredding
  • Regularly Check Plasma chain -- Onerous for ordinary user2
  • Mass Exit if Plasma chain is byzantine -- Rush to exit problem

1 Frequent/Large traders are likely to have millions of tiny UTXOs

2 Need to regularly check if chain is still OK

5 of 20

PLASMA VARIANT: PLASMA CASH

  • Deposit Creates a new Block with a single non-fungible UTXO
  • Withdraw using Priority Queue by age
  • Spend using UTXO history
  • Regularly Check Root chain
  • Mass Exit if Plasma chain is byzantine

Not suitable for order book/price time priority trading.

6 of 20

PLASMA VARIANT: PLASMA CASH

  • Deposit Creates a new Block with a single non-fungible UTXO
  • Withdraw using Priority Queue by age -- Queue can get very large
  • Spend using UTXO history -- large proof of validity1
  • Regularly Check Root chain -- Less Onerous but not ideal2
  • Mass Exit if Plasma chain is byzantine -- Rush to exit problem

Not suitable for order book/price time priority trading.

1 Frequent UTXO transfers could result in proofs that exceed gas limit

2 Need to regularly check if your coins are hijacked by operator

7 of 20

Incentive imbalanced

Any actor who has incentive to be safe has to bear the burden of watching chain

Only victim/counterparty can prove fraud

8 of 20

PLASMA VARIANT: GLUON PLASMA

  • Account based -- No UTXO Shredding
  • Deposits/trades update balance -- No UTXO bloat
  • Balances update with 2+ signatures -- Compact fraud proofs
  • Any user can check and halt chain -- Not Onerous for ordinary user
  • Halt Chain on byzantine behavior -- Withdraw at leisure

Suitable for Low-Latency Trading

9 of 20

Gluon Plasma: Highly usable

  1. Proof-of-Authority gives instant finality
  2. No bonds needed in normal (non-byzantine) conditions.
  3. Nominal bonds in byzantine conditions
  4. Fraud proofs for every state transition
  5. Compact fixed-size fraud proofs and challenge proofs
  6. Short Withdrawal delays (< 2 hrs instead of 2 weeks)
  7. Non-onerous safety -- Even a single honest validator ensures safety
  8. Low onchain storage burden
  9. No free option problem

10 of 20

Incentive Balanced

Any actor who has incentive to cheat has to post a bond

Any one (not necessarily operator/counterparty) can prove fraud and claim bounty

Every griefing attack has a mitigating exit

11 of 20

Incentive Balanced

Deposit:

Actor

Operator

Challenger

Account A sends P amount of asset Q to Plasma contract C

C creates a hash H of the deposit transaction and stores it

Exchange X broadcasts a Deposit ledger entry L_D crediting P amount of Q to A

A can trade once L_D is in a confirmed block

If L_D is not committed in K blocks

A requests deposit reversal request DRR to C with H and bond

If H.block is older than K blocks, its rejected by C

Within T blocks challengers can submit proof-of-existence

L_D, Merkle proof of L_D

If challenge is sustained, then the bond is slashed and awarded to challenger

Else After T blocks A can withdraw deposited amount + bond

12 of 20

Provably secure*

FOUR CONSTRAINTS KEEP GLUON PLASMA SECURE

  1. Segregation: Users can only deposit/withdraw to addresses they control
  2. Solvency: Users can only move amounts that are uncommitted to trades
  3. Agency: Every move requires signatures of all included parties
  4. Integrity: Everything adds up (values never increased/decreased incorrectly)

*Mathematical Proof pending

13 of 20

Plasma MVP UTXO Model

U1 ETH UTXO: 3

U1 ETH UTXO: 4

U2 LEV UTXO: 3000

U1 ETH UTXO: 2

U1 LEV UTXO: 2000

U2 ETH UTXO: 5

U2 LEV UTXO: 1000

BUY 2000 LEV

FOR 5 ETH

SELL 2000 LEV

FOR 5 ETH

U2 LEV UTXO: 0

SHREDDING: Small QTY in orders results in huge number of tiny UTXOs

14 of 20

Plasma Order matching: Knapsack problem

U1 ETH UTXO: eth1

U1 ETH UTXO: eth2

U2 LEV UTXO: lev2

U1 ETH UTXO:

U1 LEV UTXO:

U2 ETH UTXO: ?

U2 LEV UTXO: ?

2000 ETH UTXO TO BUY LEV

FOR TOTAL 5 ETH

50000 LEV UTXO TO SELL 2000 LEV

U2 LEV UTXO: lev1

Find best fit of millions of source UTXOs to match the best fit of thousands of orders to give the best fit of resulting UTXOs: np-complete

15 of 20

Gluon Accounts: From UTXO to Account

U1 ETH UTXO: 7

U1 LEV UTXO: 0

U2 ETH UTXO: 0

U2 LEV UTXO: 3000

U1 ETH UTXO: 2

U1 LEV UTXO: 2000

U2 ETH UTXO: 5

U2 LEV UTXO: 1000

BUY 2000 LEV

FOR 5 ETH

SELL 2000 LEV

FOR 5 ETH

16 of 20

Gluon Accounts: One balance per asset type

U1 ETH UTXO: 7

U1 LEV UTXO: 0

U2 ETH UTXO: 0

U2 LEV UTXO: 3000

U1 ETH UTXO: 2

U1 LEV UTXO: 2000

U2 ETH UTXO: 5

U2 LEV UTXO: 1000

BUY 2000 LEV

FOR 5 ETH

SELL 2000 LEV

FOR 5 ETH

0xU1#ETH

0xU1#LEV

0xU2#ETH

0xU2#LEV

17 of 20

Gluon Ledger

U1 ETH UTXO: 7

U1 LEV UTXO: 0

U2 ETH UTXO: 0

U2 LEV UTXO: 3000

U1 ETH UTXO: 2

U1 LEV UTXO: 2000

U2 ETH UTXO: 5

U2 LEV UTXO: 1000

BUY 2000 LEV

FOR 5 ETH

SELL 2000 LEV

FOR 5 ETH

0xU1#ETH

0xU1#LEV

0xU2#ETH

0xU2#LEV

LEDGER ENTRIES

18 of 20

Gluon Fraud Proofs

U1 ETH UTXO: 7

U1 LEV UTXO: 0

U2 ETH UTXO: 0

U2 LEV UTXO: 3000

U1 ETH UTXO: 2

U1 LEV UTXO: 2000

U2 ETH UTXO: 5

U2 LEV UTXO: 1000

BUY 2000 LEV

FOR 5 ETH

SELL 2000 LEV

FOR 5 ETH

U2 SIGNED ORDER

U1 SIGNED ORDER

7 - 5 = 2

0 + 2000 = 2000

2000 fill <= 2000 qty

buy.sign(U1) = T

sell.sign(U2) = T

19 of 20

Halting the Gluon Plasma Chain

  • If the operator is compromised/chain byzantine, halt chain
  • Vote on root chain to halt chain weighted by stake size
  • Next plasma block is delayed proportional to voting %
  • If vote exceeds threshold level, root chain halts plasma chain
  • Halting gives everyone time to exit without undue urgency

20 of 20

Contact

WWW: https://leverj.io

Telegram: https://t.me/leverj

Twitter: @leverj_io

Email: info@leverj.io