8.1 KiB
8.1 KiB
| title | subtitle | mainfont | title-slide-attributes | background-image | background-opacity | toc-title | toc-depth | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Konduit.channel | [A bunch of ideas in 15mins] | monospace |
|
./assets/background.svg | 0.35 | toc | 1 |
What is ...
Konduit?
A Cardano to Bitcoin Lighting Pipe
Bitcoin Lightning?
... a payment protocol built on bitcoin intended to enable fast transactions among participating nodes and has been proposed as a solution to the bitcoin scalability problem.
The problem?
::: {style="display:flex;flex-direction:row;justify-content: space-around; align-items: center;"}
- Scalability
- Finality
- Tx fees
:::
The ask
Can we go from Cardano to BLN?
Lightning / BLN
Overview
- A network of two party channels
- L1: Each channel is "underwritten" by locked funds
- L2: exchanging messages alters how and who can claim these funds
Hops
- 2 channels: Alice <-> Bob; Bob <-> Charlie
- Alice ~> Charlie ?
- Alice ~> Bob ~> Charlie.
- Problem: Naive hops require trust
HTLCs
- Trustless hops
- Hashed TimeLocked Contract
- Parameterized by
(timeout, lock, payer, payee) - Two spend pathways:
- Ok: Signed by
payee; Beforetimeout; Hassecret - Ko: Signed by
payer; Aftertimeout
- Ok: Signed by
- Note:
hash(secret) == lock
Routes
- C ~> A : Invoice including lock.
- A ~> B : HTLC with timeout
Tand lock - B ~> C : HTLC with timeout
T - deltaand lock - C ~> B : Secret
- B ~> C : Commitment to pay (no htlc)
- B ~> A : Secret
- A ~> B : Commitment to pay (no htlc)
Cardano Lightning
Pitch
- Do Lightning but on Cardano
. . .
- And better
Subbit.xyz
Trustless* subscriptions
- Alice wants to subscribe to Bob's service
- Alice locks funds on the L1; Bob sees
- Each request Alice includes an "IOU"; Bob verifies and responds
- At Bob's leisure, he claims (
subs) funds owed
An embarrassingly simple L2
IOU
amount = int
signature = bytestring .size 64
iou = #6.121( [ amount, signature ] )
tag = bytestring
message = #6.121( [ tag, amount ] )
Unidirectionality boons
- Alice's safety is not dependent on chain liveness
- Bob's sub is unilateral. No contestation.
Overhead?
- Alice (client) must remember their keys
- Must be able to produce a signature
- Maybe some other state (< 100 bytes) or 2 trips.
Konduit
Subbit + HTLCs
Not IOUs, but cheques + squashes
cheque_body = [index, amount, timeout, lock]
cheque = [cheque_body, signature]
excludes = [* index]
squash_body = [amount, index, excludes]
squash = [squash_body, signature]
Keep the boons
- Alice still doesn't need chain liveness
- Bob unilateral subs now have the evidence:
unlocked = [cheque_body, signature, secret]
receipt = [squash, [*unlocked]]
Other deets
- Token free design
- "Batch" txs are first class
- "Mutual" txs are first class and invoke no futher verification steps
(beyond
required_signers)
Demo ?!
Soon™
Ideas
ideas inner
- The topology of our networks should reflect their usage
- Cardano's super power: verify signatures of arbitrary data
- All dapps should be L2s
- A dapp devs main role is to keep user's from others
- You don't need tokens
