Who sees what: privacy and oversight

Enygma hides amounts, and who receives each payment, from the other members of a Private Network. It doesn't hide who sends, and it is not private from everyone. The Private Network operator can read every transfer, and some actions, such as minting, are public on the Private Network Hub, the Hyperledger Besu chain at the centre of the Rayls Private Network. This page sets out what each party can see and do.

What each party can see

PartyCan seeCan't see
Anyone who can read the Hub, including Hub validators and every member of the networkWhich participants (up to six) were in each Enygma transaction, and which of them submitted it (the sender); the commitments, nullifiers and encrypted messages; the token and the time; the amount and the participant of every mint and burnTransfer amounts, balances, and which of the other participants received value
A participant in a transactionEverything above, plus its own decrypted message: what it received, or that it received nothingThe other participants' messages and balances
The receiving institutionThe transfer it received, as it mints the tokens on its own chainOther transfers it wasn't part of
The operator of a Rayls Sovereign chain (usually the institution itself)All client balances and payments on its own chain, which are ordinary ERC-20 records thereOther institutions' chains
The Private Network operatorEvery Enygma transfer in the network, decrypted: sender, receiver and amount. See The operator's view.Spend keys. It can read transfers but can't sign them.

The anonymity set and small networks

Each Enygma transaction names k participants, where k is the number of participants in the network, capped at six. Participants who aren't part of the payment receive a commitment to zero.

The anonymity set hides the receivers. It doesn't hide the sender: each transaction is submitted to the Hub from the sending participant's own account. The Rayls research papers (ePrint 2025/1639, ePrint 2025/1638) describe a design that also hides the payer. The current implementation doesn't. How much it hides about the receivers depends on the size of the network:

Participants in the networkWhat the anonymity set hides
2Nothing between the two: the only possible receiver is the other participant. Amounts stay hidden.
3Limited. A participant that is in a transaction and receives nothing knows that the sender paid the third participant.
4 to 6Every participant is in every transaction. Anyone else learns only that the sender may have paid one or more of the others.
More than 6Each transaction includes six participants. Observers learn only that the sender may have paid one or more of the other five.

Zero-value validation transactions, which the relayer sends to finalise each transfer, mean that a transaction doesn't always carry value. That weakens what an observer can infer from any single transaction.

The operator's view

When an institution registers in the network (see Adding new participants), its key service encrypts the institution's view private key to the Private Network operator, as part of the registration. Registration can't complete without this step. With those keys, the operator's governance services decrypt every Enygma transaction on the Hub (and every other message that crosses it: see Auditing), and the Private Network Auditor Explorer shows each transfer's addresses, chains and amounts.

In practice:

  • Audit access is network-wide. The operator, or whoever it gives access to its tools, such as a regulator, sees every transfer in the network.
  • There are no scoped view keys. You can't give an auditor a key limited to one account, one time window or one transaction.
  • A view key can't move funds. Spending needs the institution's separate spend key, which stays in its own key service. With view keys only, the operator can read but not spend.

Who can change what

ActionWhoWhereNotes
Freeze a token for a participantThe Private Network operator, or a compliance officer it appointsHub token registryA frozen participant can't send the token through Enygma or use it in DvP. See Freezing tokens.
Mint and burn supplyThe token's issuerIssuer's chain, then HubThe amount and the participant are public on the Hub.
Burn a holder's balance on a chainOwner of the token contract on that chainThat Rayls Sovereign chainburn(from, value) doesn't need the holder's approval.
Approve a token for the networkPrivate Network operatorHubSee Approving new tokens.
Approve contracts for program stepsAnyone can propose one; the Private Network operator approves or revokes itHub template registryStandard Rayls templates are pre-approved. Only approved contract code and functions can run on arrival.
Spend a participant's balanceOnly that participant, with its spend keyThrough its own relayerNeither the operator nor the issuer can spend it.

Designing for these properties

  • If participants must not learn each other's activity, plan for at least four participants in the network.
  • Assume the network can see when each participant sends, and how often, but not to whom or how much.
  • Treat the Private Network operator as able to see all Enygma activity, and choose the operator accordingly. See Private Network roles. In a central bank digital currency (CBDC) network, for example, that is usually the central bank.
  • Payments between clients of the same institution never reach the Hub. They are as private as that institution's own chain.

Did this page help you?