There are no solutions. There are only trade-offs.
What is Ark?Ark is a second-layer solution that aims to improve scalability in Bitcoin by making payments:
- cheaper
- more private
- lightning fast
- requiring less interactivity (sender & receiver needn't to be online at the same time)
How does Ark work?In summary, Ark uses a shared UTXO model for off-chain payments. Users onboard on an ASP (Ark Server Provider) by funding an output. This output can be accepted as a Virtual Transaction Output (
VTXO) in a
future round, which allows the user to move bitcoin off-chain through the ASP (e.g., send to people who use the same ASP), or through other ASP who are connected with that ASP via lightning. You can read more about it in here:
https://arkdev.info/docs/learn/intro.
What about self-custody?Users hold custody of their funds the entire time, as long as they interact with their ASP at least once every few days. If the user has not been online at least once, the ASP can claim the funds after the specified timeout. Explanation is given in
here.
Does Ark require a softfork?Ark works better with
covenants (which currently require a softfork), but it can be implemented without them, by senders acting as co-signers in each round. The differences between covenant-less Ark (or clArk) and Ark are described in
this page. However, I believe it does not greatly summarize the major disadvantages of clArk.
Major disadvantages of clArk (covenant-less Ark)
- Clients must keep signatures for the rounds they participate in order to unilaterally exit (signatures can be discarded after the VTXO tree expires). Being unable to deterministically work them out is an obstacle, because it means that if your disk becomes corrupted, you can't unilaterally exit. This is similar problem as with LN backups, where you need to store the commitment transactions, and can't derive them with just a seed. With covenants, this is not a problem.
- Boarding into an ASP is interactive. Therefore, you can't onboard directly from your CEX, or from a wallet software that does not support Ark. This means that on-boarding requires two transactions (CEX or other wallet -> clArk client, clArk client -> boarding transaction). With covenants and knowledge of the ASP's public key, you can simply construct a boarding address which can be funded wherever you are. Therefore, on-boarding requires only one transaction. (CEX or other wallet -> Ark address shared with you and the ASP)
- Unilateral exits become less block space efficient, because you need to unroll the whole tree. This can seriously hurt scalability when mass exits happen.
- ASP faces liquidity constraints, as they cannot claw back liquidity when a VTXO is spent.
The primary drawback of implementing Ark with covenants is that it requires deploying a softfork, a process that is slow and challenging for Bitcoin. For instance, Taproot was first proposed in January 2018 but wasn't activated until November 2021.
Is Ark similar to LN?Yes, but with the burden placed on the ASPs. The user:
- does not have to manage channels.
- does not have inbound and outbound liquidity constrains.
- need not to be online at all times to receive payment.
- experiences less payment failures, as they on-board on servers with big incentive to be well-connected across the LN.
- (with covenants:) can back up their funds with just a seed phrase.
Can I use Ark in Bitcoin right now?No. The project is still in early stages, even though it is actively developed in the last few months. Currently, only the
server (daemon for ASP) and
client (command-line interface wallet that connects with an ASP) are available to download and test:
https://github.com/ark-network/ark.
Available networks are Bitcoin regtest, Liquid mainnet, Liquid testnet and Liquid regtest. In Liquid networks, there's covenant version of Ark, since tapscript opcodes that allow covenants, like OP_CHECKSIGFROMSTACKVERIFY, are enabled there.
This thread is self-moderated to prevent spam.