mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-17 04:04:21 +01:00
* adds homepage (wip) * fix footer links * update nomenclature link on blog post * small fixes and markdown format * link fix * make all docs links relative * fix vtxo links * fix errors with Safari * improves arm detection * fix bottom color * update roadmap * adds faucet instructions * change ark-cli instructions to accomodate PR 117 * instructions fixes to accomodate onboarding; ui improvements
2.4 KiB
2.4 KiB
sidebar_position, title
| sidebar_position | title |
|---|---|
| 4 | Leaving the Ark |
Overview
Alice wants to leave the Ark and get her funds back on-chain. It requires an on-chain transaction.
Cooperative exit
Timeline of events
- Alice tells ASP she wants to trade VTXO for UTXO
- ASP (with Alice) prepares next Pool transaction:
- an additional output is added, locked by
Alice
- an additional output is added, locked by
- Alice creates a Forfeit transaction:
- spends from VTXO (1) with
Alice + ASP - adds connector output from Pool transaction (2) as input
- signs it and send it to the ASP
- spends from VTXO (1) with
- ASP broadcasts Pool transaction
- Alice has now a new UTXO
- For at most 4 weeks, Alice will be able to double spend her VTXO, but if she does it, the ASP will have time (24 hours) to grab the funds from the VTXO to itself using the Forfeit transaction
Non-cooperative exit
If ASP is unresponsive, Alice can unilaterally exit revealing the branch of the Pool transaction that locks her funds.
Timeline of events
flowchart TB
tx1(TX 1) --> tx2(TX 2)
tx1 --> tx3(TX 3)
tx2 --> tx4(TX 4)
tx2 --> tx5(TX 5)
tx3 --> tx6(TX 6)
tx3 --> tx7(TX 7)
tx4 --> v1(VTXO 1)
tx4 --> v2(VTXO 2)
tx5 --> v3(VTXO 3)
tx5 --> v4(VTXO 4)
tx6 --> v5(VTXO 5)
tx6 --> v6(VTXO 6)
tx7 --> v7(VTXO 7)
tx7 --> v8(VTXO 8)
- Assuming VTXO 1 and 2 belong to Alice and Bob
- Alice reveals the VTXO tree to spend the Shared Output.
- Alice doesn't need to reveal the entire tree, just enough to validate it:
flowchart TB
tx1(TX 1) --> tx2(TX 2)
tx1 --> tx3(TX 3)
tx2 --> tx4(TX 4)
tx2 --> tx5(TX 5)
tx4 --> v1(VTXO 1)
tx4 --> v2(VTXO 2)