Owners: @Thomas Lavaur
Reviewers: 🔺@Mehmet 🟨@David Rusu 🟨@Giacomo Pasini 🟨@Álvaro Castro-Castilla
This page aims to describe Private Atomic Cross-zone Transactions (PACTs) PoC. We will suppose that a user who holds funds in Zone A wants to move their funds to Zone B while paying fees. The transfer still happens atomically but we want to bring privacy to this transfer: zone executors would only be aware of the Zone origin and destination of the transaction. The value, the owner and the data of the coin will be private and unknown to the executors.
We will adopt an UTXO model in the zone ledger and remove assets from the CL as documented in these two documents:
To understand this document, reading the following documents is recommended:
This pattern fits into the general framework, but here the bundle consists only of the partial transaction performing the note teleportation and potentially the partial transactions collecting the fees. The partial transaction has a neutral or surplus value and only requires revealing the fee amount, not the content of the teleported note. This is because the partial transaction doesn’t need to be balanced by the executor with another partial transaction. This PACT description is a special case that can be generalized with multiple PACTs within the same bundle. To create a PACT:
Here, we will detail the process of teleporting 100 NMO from a note of 110 NMO from Zone A to Zone B, while paying 10 NMO in fees to the executor in Zone C.