Nomenclature
π§ This page is currently under development, and some concepts may not be entirely accurate. We greatly value your feedback and contributions. If you have any suggestions, corrections, or would like to submit edits, please do so through the pull request link available at the bottom of each page.
Intervenientsβ
ASPβ
ASPs are always-on servers that provide liquidity to the network, similar to how Lightning service providers work.
Usersβ
Any user that onboards the Ark or receives a payment inside an Ark.
VTXOβ
Ark has a UTXO set that lives off the chain. These utxos are referred to as virtual UTXOs or VTXOs in short.
Momentsβ
Boarding the Arkβ
When a User sends funds to the Ark and gets VTXOs in return.
Unilateral exitβ
When a user decides to withdraw his funds from the Ark to mainchain, without asking the ASP for permission.
Roundβ
Periodic transaction crafted by the ASP that hits mainchain and creates new VTXOs.
Transactionsβ
Notesβ
- In an optimistic scenario, transactions marked with a * should never hit onchain.
- All time periods used on timelocks (5s, 24h, 4w, 1y) are arbitrary: any ASP can use different values.
Legendβ
- A: Alice pubkey
- ASP: ASP pubkey
- cov**(script): covenant that forces the spending transaction to have a mandatory first output with the script
- and(A,B): both conditions needed to unlock
- or(A,B): only one condition needed to unlock
- and(A, or(S, after(24h): (Alice and Server) or (Alice after 24h)
VTXO*β
- A Virtual UTXO: it looks like an UTXO but it should never hit onchain, thus a Virtual UTXO
Inputs | Outputs |
---|---|
Boarding or Round transaction | (Alice + ASP) or (Alice after 24h) |
Boarding transactionβ
- Alice funds an output that can be accepted as a VTXO in a future round
- A covenant forces the creation of an output with the same script as VTXO. No need for interactivity after funding it, anyone can spend.
- ASP can unlock after a timeout ie. 4 weeks
- Alice is required to be online to maintain access to funds: after the timeout, ASP becomes the only owner funds
Inputs | Outputs |
---|---|
Aliceβs UTXO | (ASP after 4w) or cov((Alice + ASP) or (Alice after 24h)) |
Forfeit transactionβ
- Insurance for the ASP, in case Alice tries to double spend her VTXO after spending it inside Ark
- Before the ASP funds Bobβs VTXO in the next Round transaction, he must receive this transaction signed by Alice
- Uses a connector from the next Round transaction to achieve atomicity
Inputs | Outputs |
---|---|
VTXO spending Alice + ASP | ASP |
Connector from next Round transaction |
Round transactionβ
- Funded by the ASP, creates VTXOs
- Has at least two outputs:
- A shared output with a VTXOs tree
- A connectors output with a connectors tree
- A new transaction is broadcasted every 5 seconds
Inputs | Outputs |
---|---|
ASP UTXO | Shared output |
Connectors output |
Shared outputβ
- Represents a tree of transactions
- In an optimistic scenario, this tree is never revealed
- Each leaf on this tree represents a VTXO
- Tree can have a radix higher than 2 (ex: radix 4)