Encryption Scheme
Every UTXO is encrypted with an authenticated encryption algorithm, particularly X25519-XChaCha20-Poly1305 which is ECDH over Curve25519 paired with the extended nonce variant of the ChaCha20-Poly1305 AEAD.
UTXOs are always encrypted with ephemeral Curve25519 key pairs, and the corresponding public key being set in the authenticated but plaintext part of the AEAD envelope. This eliminates the need for any public key registries while guaranteeing authenticity and confidentiality of the UTXO contents.
Let be the Curve25519 generator, be its prime order, and and be Alice's and Bob's private keys respectively:
Obtain the shared secret via ECDH over Curve25519:
Extend the shared secret with a 24-byte nonce to derive a strong 256-bit key for the symmetric cipher:
Let be the message plaintext, and be the sealed envelope - encrypted UTXO: