off-chain outpost... · off-chain hubs channels layer 1.5 layer 2 layer 2 zk rollups optimistic...
TRANSCRIPT
![Page 1: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/1.jpg)
ETH Zurich – Distributed Computing – www.disco.ethz.ch
Off-chain
Tejaswi NadahalliETH Zurich – Distributed Computing Group – www.disco.ethz.ch
![Page 2: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/2.jpg)
Layer-1 Blockchains have low throughput
Bitcoin ~ 7 tps Ethereum ~ 15 tps
![Page 3: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/3.jpg)
Off-chain
Hubs Channels
Layer 2Layer 1.5 Layer 2
ZK Rollups
Optimistic Rollups
Nocust Plasma
Lightning Network
State Channels
![Page 4: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/4.jpg)
Layer-2: Payment channels
• Bitcoin - constrained smart contracts
Payment Channels (and Networks)
• Duplex Micropayment Channels (ETH contribution)
• Lightning Channels
• Eltoo Channels (ETH alumni)
![Page 5: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/5.jpg)
Lighting Network
~3000 nodes, ~30000 channels, ~843 BTC
![Page 6: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/6.jpg)
Lighting Network in Production
• BOLT - a specification for the Lightning Network
(https://github.com/lightningnetwork/lightning-rfc)
• Implementations
– LND (golang)
– C-Lightning (C)
– Eclair (Scala)
![Page 7: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/7.jpg)
Bitcoin Primitives
• UTXO - Unspent Transaction Output
• Cryptographic Hash Function
• Timelocks Hashed Timelocked Contracts
![Page 8: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/8.jpg)
Alice ⇒ Carol
• Alice open a channel to any other node, say Bob.
• Carol gives Alice an invoice
• Alice pays Carol through Bob and the Network
stick figures: XKCD
![Page 9: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/9.jpg)
Chained Payments
H(s) (hash of a secret)
H(s)
HTLC
HTLC
H(s)
H(s)
s
s
stick figures: XKCD
![Page 10: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/10.jpg)
Lightning Channels
![Page 11: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/11.jpg)
Lightning Channels
Bitcoin Transactions - 010000000111744…..b0488ac00000000
• Opening/Funding Transaction
• Commitment Transaction(s)
• Bilateral Closure
• Delivery
• Revocable Delivery
• Breach Remedy
![Page 12: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/12.jpg)
Lightning Channels (the good)
• (Once) Opening/Funding Transaction ($$$$)
• (Many) Commitment Transaction(s) ($)
• (Once) Bilateral Closure ($$$$)
• Delivery
• Revocable Delivery
• Breach Remedy
![Page 13: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/13.jpg)
Lightning Channels (the bad)
• (Once) Opening/Funding Transaction ($$$$)
• (Many) Commitment Transaction(s) + Unilateral Closure
($) ($$$$)
• Bilateral Closure
• (Once) Delivery ($$$$)
• (Once) Revocable Delivery ($$$$)
• Breach Remedy
![Page 14: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/14.jpg)
Lightning Channels (the ugly)
• (Once) Opening/Funding Transaction
• (Many) Commitment Transaction(s) + Cheating transaction
($) ($$$$)
• Bilateral Closure
• (Once) Delivery ($$$$)
• Revocable Delivery
• (Once) Breach Remedy ($$$$)
![Page 15: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/15.jpg)
Lightning Channel
UTXO_a UTXO_b
UTXO_a
(a+t)OR
(b+sb)
UTXO_b
(b+t)OR
(a+sa)
UTXO_ab
topen
ctx_a ctx_b
UTXO_a
topen
UTXO_ab
ctx_a
(a+t)OR
(b+sb)
UTXO controlled by Alice
Opening Transaction
UTXO controlled by Alice and Bob
Commitment Transaction broadcastable by Alice
UTXO controlled by Alice and a timelock OR Bob with a secretA
lice
Bob
![Page 16: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/16.jpg)
Lightning Channel
UTXO_a UTXO_b
UTXO_a
(a+t)OR
(b+sb)
UTXO_b
(b+t)OR
(a+sa)
UTXO_ab
topen
ctx_a ctx_b
Bilateral Closure
UTXO_ab
closure
UTXO_a UTXO_b
![Page 17: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/17.jpg)
Lightning Channel
UTXO_a UTXO_b
UTXO_a
(a+t)OR
(b+sb)
UTXO_b
(b+t)OR
(a+sa)
UTXO_ab
topen
ctx_a ctx_b
Unilateral Closure
UTXO_ab
ctx_acurrent
(a+t)OR
(b+sb)
UTXO_b
UTXO_a
sweep_a
after time “t”
![Page 18: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/18.jpg)
Lightning Channel
UTXO_a UTXO_b
UTXO_a
(a+t)OR
(b+sb)
UTXO_b
(b+t)OR
(a+sa)
UTXO_ab
topen
ctx_a ctx_b
Cheating Closure
UTXO_ab
ctx_aprevious
(a+t)OR
(b+sb)
UTXO_b
UTXO_a
sweep_a
after time “t”
![Page 19: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/19.jpg)
Lightning Channel
UTXO_a UTXO_b
UTXO_a
(a+t)OR
(b+sb)
UTXO_b
(b+t)OR
(a+sa)
UTXO_ab
topen
ctx_a ctx_b
Justice Transaction
UTXO_ab
ctx_aprevious
(a+t)OR
(b+sb)
UTXO_b
UTXO_b
sb + sweep_b
![Page 20: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/20.jpg)
Code# To remote node with revocation key
OP_DUP OP_HASH160 <RIPEMD160(SHA256(revocationpubkey))> OP_EQUAL
OP_IF
OP_CHECKSIG
OP_ELSE
<remote_htlcpubkey> OP_SWAP OP_SIZE 32 OP_EQUAL
OP_NOTIF
# To local node via HTLC-timeout transaction (timelocked).
OP_DROP 2 OP_SWAP <local_htlcpubkey> 2 OP_CHECKMULTISIG
OP_ELSE
# To remote node with secret.
OP_HASH160 <RIPEMD160(payment_hash)> OP_EQUALVERIFY
OP_CHECKSIG
OP_ENDIF
OP_ENDIF
![Page 21: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/21.jpg)
Offline… Watchtower
![Page 22: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/22.jpg)
Open
stick figures: XKCD
Close
Watchtower
![Page 23: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/23.jpg)
Justice Kit
b’s mirror
(a+t)OR
(b+sb)
UTXO_b
sb+ sweep_b
eJTX (🔒🔒🔒🔒🔒🔒🔒🔒🔒)
AES-128ctx_a_TXID_suffix
ctx_a_TXID_prefix
ctx_aprevious
![Page 24: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/24.jpg)
Watchtower
e3b0c44298... 🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒
6e340b9cff... 🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒
96a296d224... 🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒
709e80c884... 🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒
df3f619804... 🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒
8855508aad... 🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒🔒
... ...
... ...
... ...
![Page 25: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/25.jpg)
How much does it cost?
(Size of Encrypted Blob + Size of Key)(350 + 32)
XNumber of Updates
(1M)
XNumber of Channels
(30000)
=
11 TB(always online server, watching the blockchain)
![Page 26: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/26.jpg)
Cheater has to store cheating CTX(s)
Every CTX has a corresponding JTX
CTX has to be published on the blockchain
Store the corresponding JTX inside this CTX?
Observations
![Page 27: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/27.jpg)
Can we store JTX inside CTX?
UTXO_ab
ctx_aprevious
(a+t)OR
(b+sb)
UTXO_b
UTXO_b
sb + sweep_b b
(a+t)OR
(b+sb)
UTXO_b
sb+ sweep_b
OP_RETURN
![Page 28: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/28.jpg)
UTXO_ab
ctx_aprevious
(a+t)OR
(b+sb)
UTXO_b
b
(a+t)OR
(b+sb)
UTXO_b
sb+ sweep_b
OP_RETURN
double - SHA256
TXID
TXID
![Page 29: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/29.jpg)
TXID makes it self-referential
UTXO_ab
ctx_aprevious
(a+t)OR
(b+sb)
UTXO_b
b
(a+t)OR
(b+sb)
UTXO_b
sb+ sweep_b
OP_RETURN
double - SHA256
TXID
![Page 30: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/30.jpg)
Outpost
![Page 31: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/31.jpg)
Outpost
UTXO_a UTXO_b
UTXO_ab(balance)
UTXO_b
UTXO_ab
topen
ctx1_a
UTXO_ab (ε)
b’s mirror
![Page 32: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/32.jpg)
Outpost
UTXO_a UTXO_b
UTXO_ab(balance_a)
UTXO_b
UTXO_ab
topen
ctx1_a
UTXO_ab (ε)
b’s mirror
Justice Transaction
UTXO_ab(balance_a)
UTXO_b
jtx_b
![Page 33: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/33.jpg)
Outpost
UTXO_a UTXO_b
UTXO_ab(balance_a)
UTXO_b
UTXO_ab
topen
ctx1_a
UTXO_ab (ε)
b’s mirror
Encrypted Justice Transaction
b’s mirror
UTXO_ab(balance_a)
UTXO_b
jtx_b
eJTX
AES-128
![Page 34: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/34.jpg)
Outpost
UTXO_a UTXO_b
UTXO_ab(balance_a)
UTXO_b
UTXO_ab
topen
ctx1_a
UTXO_ab (ε)
b’s mirror
Auxiliary Transaction
UTXO_ab(ε)
aux_ctx_a
UTXO_ab(ε)
OP_RETURNeJTX
eJTX
![Page 35: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/35.jpg)
Outpost
UTXO_a UTXO_b
UTXO_ab(balance_a)
UTXO_b
UTXO_ab
topen
ctx1_a
UTXO_ab (ε)
b’s mirror
Commitment Transaction-2
UTXO_ab(balance_a)
ctx2_a
UTXO_a
UTXO_ab(ε)
aux_ctx_a
UTXO_ab(ε)
OP_RETURNeJTX
UTXO(ε) after time “t”
![Page 36: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/36.jpg)
The money slide
Per channel, with N updates 30k channels, 1M updates
Known Channel N·size(ejtx) + 1·size(txid) 10.00 TB
Unknown Channel N·size(ejtx) + N·size(txid)) 11.45 TB
Classic Lightning
Known Channel size(key) + size(txid) 1.44 MB (WTF)
Unknown Channel N·size(key) + N·size(txid) 1.44 TB
Outpost
Note: size(key) << size(ejtx) i.e. 16 << 350
![Page 37: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/37.jpg)
Outpost keeps Lightning’s key features
● Unilateral closure: broadcaster has to wait
○ Not cheating
○ Cheating
● Exchange revocation keys vs. AES-128 decryption keys
![Page 38: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/38.jpg)
Limitations
● OP_RETURN limited to 80 bytes.
○ IsStandard ಠ_ಠ○ Split aux_ctx into 2; P2SH Data-hash across them
● Bloat
○ Not on the blockchain (happy case)
○ On the blockchain, 3 txns vs 1 txn
● But
○ No changes to Bitcoin, whatsoever.
![Page 39: Off-chain outpost... · Off-chain Hubs Channels Layer 1.5 Layer 2 Layer 2 ZK Rollups Optimistic Rollups Nocust Plasma Lightning Network State Channels](https://reader033.vdocument.in/reader033/viewer/2022060607/605c8387ca3b8c6380052a31/html5/thumbnails/39.jpg)
Off-chain
Hubs Channels
Layer 2Layer 1.5 Layer 2
ZK Rollups (2000)
Optimistic Rollups (500)
Nocust(network limit)
Plasma (Network limit) Lightning
Network(network limit)
State Channels(network limit)