Introducing Ark Notes

Dollars Wrapped

Ark Notes are a proposed mechanism designed to facilitate the recovery of expired funds by Ark users. They are virtual equivalent of vouchers signed by Ark Server and redeemable in Ark rounds.

VTXO Expiry: A UX Issue for Ark Mobile Clients

The Ark protocol requires servers to front the liquidity required to create the onchain UTXOs shared by round participants.

To ensure the associated funds can eventually be recovered by the server, each output includes an expiry clause which, once triggered, allows the server to unilaterally sweep the funds. This expiry applies to every VTXO nested within those outputs.

This setup introduces a liveness requirement for Ark users. To maintain unilateral control over their funds, users must periodically roll their existing balance into a new output, effectively resetting the expiry timer. This ongoing need for activity poses a significant challenge, particularly for mobile applications with intermittent connectivity or limited user engagement.

Sweeping unspent VTXOs without a contingency plan for affected users could harm the server's reputation, as users may perceive it as an unfair loss of their funds. Additionally, the server has a vested interest in retaining users as customers and continuing to earn fees for its services since it remains operational. By prioritizing customer satisfaction and preserving user balances, the server can ensure a stable customer base and a consistent revenue stream. Therefore, servers must implement a reliable mechanism to extend user balances beyond VTXO expiry without resorting to centralized ledgers or account-based systems.

Ark Notes

An Ark Note is akin to a virtual voucher created by the server and redeemable for VTXOs. A note always starts with the prefix arknote and includes the following data:

  • A Unique ID (uint64): a distinct identifier for tracking each note.
  • Amount in Satoshis: the amount this note is worth.
  • Server Signature: a signature from the server on the ID | amount hash to validate authenticity.

Here’s an example:

arknoteTepTrEfaDqq6cpc47jmxkwmeHhgRdmDn36tejLvp7nZ6QzhmeDDy5d27Gy2fwy1M5cpTJ5eMgrD2iA84xrj9qCQoFpR9eopW92rULYbtZ

How It Works

When the server sweeps a VTXO tree, it generates an Ark Note for each unspent VTXO.

These notes are sent to the affected users, allowing them to participate in a future transaction round and redeem the note for a new VTXO. This mechanism ensures users retain access to their funds without Ark servers having to support explicit custodial accounts.

Upon presentation of a signed note, the server simply credits the user's balance. The note itself is a promise to redeem funds but cannot be spent without the approval of the server.

Of course, this approach introduces an inherent trust tradeoff: the Ark server could choose to reject a valid note. However, since each note is cryptographically signed, users can indisputably prove any such fraud. This transparency acts as a strong deterrent, as rejecting valid notes would severely damage the server's reputation and undermine user confidence in its operations.

Similar to a gift card, an Ark Note is a simple text string which can be sent via chat, printed as a QR code, or transferred over contactless technologies like NFC.

Ark Notes Delivery via Nostr Notifications

An interesting approach to notifying Ark users about such events, without relying on centralized notification systems, is to use a protocol like Nostr. By adopting this decentralized communication protocol, the server can inform users about swept VTXOs while preserving their privacy.

The notification message would contain the Ark Note generated during the VTXO tree sweep. Each message is end-to-end encrypted using NIP-04, ensuring that only the intended recipient can access the information. This method aligns with Ark's commitment to decentralization and privacy while maintaining efficient user communication.

In order to receive notifications on Nostr, the user would have to register their public key and optionally a set of relays. A modular interface could allow Ark server(s) operators to implement their own notification systems if needed, such as email, Telegram bot, Push Notifications and so on.