1
1
---
2
- title : Ark
2
+ title : Ark protocol
3
3
4
4
# # Optional. Shorter name to use for reference style links e.g., "foo"
5
5
# # will allow using the link [topic foo][]. Not case sensitive
6
- # shortname: foo
6
+ shortname : ark
7
7
8
8
# # Optional. An entry will be added to the topics index for each alias
9
9
# title-aliases:
@@ -17,8 +17,18 @@ topic-categories:
17
17
# # Optional. Produces a Markdown link with either "[title][]" or
18
18
# # "[title](link)"
19
19
primary_sources :
20
- - title : " Basis Of Ark Technology (BOATs)"
21
- link : https://github.com/ark-network/boats
20
+
21
+ - title : " Arkade implementation"
22
+ link : https://github.com/arkade-os
23
+
24
+ - title : " Arkade technical documentation"
25
+ link : https://docs.arkadeos.com
26
+
27
+ - title : " Second implementation"
28
+ link : https://codeberg.org/ark-bitcoin
29
+
30
+ - title : " Second technical documentation"
31
+ link : https://docs.second.tech/
22
32
23
33
# # Optional. Each entry requires "title" and "url". May also use "feature:
24
34
# # true" to bold entry and "date"
@@ -58,30 +68,48 @@ see_also:
58
68
# # Required. Use Markdown formatting. Only one paragraph. No links allowed.
59
69
# # Should be less than 500 characters
60
70
excerpt : >
61
- **Ark** is a trustless joinpool-style protocol where a large number
62
- of users share a UTXO by accepting a counterparty as a co-signer on
63
- all transactions within a certain time period. This spreads the cost
64
- of onchain fees from using that UTXO across many users, minimizing
65
- their individual costs.
71
+ In the **Ark protocol**, a large number of users trustlessly share onchain UTXOs
72
+ using trees of pre-signed, offchain transactions. By sharing UTXOs and transacting
73
+ offchain, Ark users can spread the cost of onchain fees across multiple participants,
74
+ minimizing individual transaction costs while maintaining self-custody of their bitcoin.
66
75
67
76
---
68
- The users can either unilaterally withdraw their bitcoins onchain
69
- after the expiry of the time period or instantly and trustlessly
70
- transfer them offchain to the counterparty before the end of the time
71
- period. Normally, a user will simply roll their bitcoins into another
72
- contract with the counterparty, which can be highly fee efficient when
73
- done with many other users at the same time. Alternatively, the
74
- counterparty may help the user make a payment onchain, through LN, or
75
- through any other protocol supported by the counterparty. Presumably,
76
- the counterparty would pass along to the user any fees the
77
- counterparty had to pay for using the payment protocol, e.g.
78
- forwarding fees if LN was used.
79
-
80
- Ark can be implemented on Bitcoin with no consensus changes required,
81
- but it will support a larger number of users---making it much more fee
82
- efficient---if a [ covenant] [ topic covenants ] feature like
83
- [ OP_CHECKTEMPLATEVERIFY] [ topic op_checktemplateverify ] is added to
84
- Bitcoin.
77
+ Ark transaction trees are constructed periodically through an interactive
78
+ process known as "rounds". Each round involves multiple users and a counterparty
79
+ (an Ark operator), who together construct and sign the transaction tree, then
80
+ broadcast the root transaction onchain. Users securely store their branch and
81
+ leaf transactions offchain. This package of offchain transactions is known as a
82
+ VTXO (virtual UTXO), which serves as the core unit of value on Ark.
83
+
84
+ To unilaterally withdraw bitcoin from Ark, a user broadcasts their branch and
85
+ leaf transactions in sequence, ultimately releasing their portion of the shared
86
+ UTXO to an onchain output under their sole control. However, under normal
87
+ operations, users will typically prefer cooperative exits, where they spend
88
+ their VTXO to receive an onchain UTXO from the Ark operator.
89
+
90
+ VTXOs "expire" according to an absolute timelock. After this timelock expires,
91
+ both the Ark operator and users can unilaterally spend the bitcoin. To maintain
92
+ trustlessness, users must ensure their VTXOs are spent into a new transaction
93
+ tree before expiry. This expiry mechanism allows the Ark operator to efficiently
94
+ recover liquidity that has been allocated to previous rounds and external
95
+ spending operations.
96
+
97
+ Payments between Ark users are handled as offchain, pre-signed extensions of the
98
+ transaction tree. Each payment transaction requires co-signatures from both the
99
+ sender and the Ark operator, meaning receivers must trust that the sender will
100
+ not collude with the operator to double-spend.
101
+
102
+ Users can chain these payments by spending a received VTXO before it's included
103
+ in a new round. In payment chains, any sender in the chain could collude with
104
+ the operator to double-spend the entire chain.
105
+
106
+ Upon receiving a VTXO, users can either roll it into a new round to regain
107
+ trustlessness, or spend it to another user before the expiry deadline.
108
+
109
+ Ark can be implemented on Bitcoin without requiring consensus changes, but would
110
+ support significantly more users—and achieve greater fee efficiency—if covenant
111
+ features like [ OP_CHECKTEMPLATEVERIFY] [ topic op_checktemplateverify ] were added
112
+ to Bitcoin.
85
113
86
114
{% include references.md %}
87
115
{% include linkers/issues.md issues="" %}
0 commit comments