Files
ark/website/docs/learn/boarding.md
João Bordalo d3431fce87 changes to reflect covenant Ark (#44)
* changes to reflect covenant Ark

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/nomenclature.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/nomenclature.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/nomenclature.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/boarding.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Update website/docs/learn/nomenclature.md

Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>

* Uses mermaid to show transactions

* Uses mermaid instead of image to represent shared output

* Last fix, let's go

* comsetic change: add Boarding before with

---------

Signed-off-by: João Bordalo <bordalix@users.noreply.github.com>
Co-authored-by: Marco Argentieri <3596602+tiero@users.noreply.github.com>
2023-12-06 13:24:59 +01:00

53 lines
2.3 KiB
Markdown

---
sidebar_position: 2
title: 'Boarding the Ark'
---
### Overview
Alice wants to board the Ark of a well-known Ark service provider (ASP). It requires an on-chain transaction.
Depending on the type of [Boarding transaction](./nomenclature#boarding-transaction) chosen by the ASP, the timeline is different.
### 🧳 Boarding with Luggage
- Alice must be online **at least once every 4 weeks** to keep her funds safe
- If ASP is unresponsive, Alice can claim her funds back in **24 hours**
- Easier for the ASP since all VTXOs are born equal
- To unlock the boarding address Alice needs to make two transactions:
```mermaid
flowchart LR
V["VTXO's timeout after 24 hrs"]
Covenant --> V
```
#### Timeline of events
1. Alice creates a [Boarding transaction](./nomenclature#with-luggage)
2. Alice adds any inputs she wants to cover the values the [VTXO](./nomenclature#vtxo-1) she will receive, plus on-chain fees
3. Alice adds an output with **2 spending paths**:
- This funds will belong to the ASP after 4 weeks:
- `(ASP after 4w)`
- A covenant output that forces coins to be spent by a [VTXO](./nomenclature#vtxo) with an output script with **2** spending paths:
- `(Alice + ASP)`
- `(Alice after 24h)`
4. Alice notifies ASP about the [Boarding transaction](./nomenclature#with-luggage)
5. Alice has now a promise of a [VTXO](./nomenclature#vtxo-1) enforced by a covenant
### 🎒 Boarding without Luggage
- Alice don't need to worry about being online to maintain access to her funds after boarding
- If ASP is unresponsive, Alice can claim her funds back in **1 year**
- ASP must be aware of the timeout on the [Boarding transaction](./nomenclature#with-luggage) to prevent double spending
#### Timeline of events
1. Alice creates a [Boarding transaction](./nomenclature#without-luggage)
2. Alice adds any inputs she wants to cover the values the [VTXO](./nomenclature#vtxo-1) she will receive, plus on-chain fees.
3. Alice adds an output with **2** spending paths:
- `(Alice + ASP)`
- `(Alice after 1y)`
4. Alice notifies ASP about the [Boarding transaction](./nomenclature#without-luggage)
5. Alice can have this deposit to be accepted as if it were a normal [VTXO](./nomenclature#vtxo-1) born in an Ark [Pool transaction](./nomenclature#pool-transaction-aka-ark-transaction)