Tempo Logo

Introducing Tempo Zones

Date
Time12 min
AuthorTempo Team

We’re excited to introduce Tempo Zones, which bring privacy and scalability to Tempo. A zone is an EVM-compatible private chain that runs in parallel to Tempo Mainnet. Anyone can deploy a new zone on Tempo, and users can seamlessly and privately move funds between different zones.

How zones work

How do zones work?

Users can send funds to a zone address through a zone contract on Mainnet. Inside the zone, all transactions are private and invisible to the public. When first depositing to the zone, the recipient and memo are encrypted, so only the sender and amount are visible on Mainnet.

Each zone has an operator who builds blocks and confirms transactions. The operator is a trusted party in the zone and, besides the sender and recipient, is the only actor who can see the recipient of the transaction. The operator can see the balances and transactions between addresses in the zone. All transactions within a zone are private from the public, and the operator can never transfer a user’s funds to another party. Users retain ownership of their assets at all times.

As an example, a company could run a Tempo zone where it pays out its employees. These transactions happen in a parallel blockspace, which lets Tempo scale its blockspace horizontally with every new zone. Each transaction in the zone is only visible to the company, the employee getting paid, and the relevant zone operator. This maps closely to real world expectations of privacy — when someone gets paid, they know that their employer is aware of it but expect it to be private from everyone else.

Users can withdraw funds from a zone and send them to a destination on Mainnet privately. The sender’s address is hidden with a cryptographic commitment which is only revealed to the recipient of the transaction.

How does interoperability between zones work?

Zones bring first class interoperability to Tempo while preserving privacy. Users can seamlessly move funds between zones by transferring them through Tempo Mainnet. This happens very quickly and in a privacy preserving manner.

Try the testnet demo below to see how easy it is to move funds between zones:

Zones avoid fragmenting liquidity by letting users seamlessly withdraw tokens to Mainnet, swap them on a stablecoin exchange and deposit the results back into a zone. There is no need for each zone to build its own exchange and liquidity pool, they can just take advantage of pools available on Tempo Mainnet. The transaction remains private to everyone except the zone operator.

Zones also avoid token fragmentation. Every TIP-20 token deployed on Mainnet can be enabled in any zone by its operator, along with its TIP-403 policy. Assets can move freely between zones and take advantage of liquidity on Mainnet while preserving privacy.

We’re excited to announce that the first Tempo Zone is available on testnet today. Learn more about Zones by reading the docs or by exploring the source code. You can also use private balances on Tempo Testnet with your Tempo Wallet starting today.

Frequently Asked Questions

What trust assumptions are placed on the operator?

The operator can see all activity within the zone between addresses. The operator can also suspend a user’s ability to transfer or withdraw funds based on its own compliance rules.

Who can run zones on Tempo?

Anyone will be able to deploy a zone on Tempo. The protocol software for zones is fully open-source and permissionless to run. For example, Conduit plans to support launching zones on Tempo, and we expect other infrastructure providers will as well.

How is privacy preserved at the node level?

Privacy is enforced down to the RPC level. To check your balances, your client must sign an auth-token with the keypair that controls the account. The RPC verifies the signature and then returns the balance. Attempting to read a balance for an account where you do not have the keypair will fail.

Which tokens can be used in a zone?

Any TIP-20 token can enter any zone and be transferred privately as long as both of the following conditions are met:

  1. The zone operator has enabled that token to transact in the zone.
  2. The issuer of the TIP-20 has either enabled the zone (if they have a whitelist TIP-403 policy) or not disabled the zone (if they have a blacklist TIP-403 policy).
Can tokens run in multiple zones?

Yes. A TIP-20 token deployed on Tempo Mainnet is immediately eligible to be enabled by the operator of any zone, and its compliance policies are mirrored. The same token can exist in multiple zones at once.

Can you transfer from zone to zone directly?

Today, transfers between zones go through Tempo Mainnet. You withdraw from one zone and deposit into another. This happens quickly and privately (amount, origin zone and target zone are visible publicly).

Can you do swaps within a zone?

No. To swap, you withdraw to Tempo Mainnet, use a stablecoin exchange there and deposit the result back into the zone. No one on Tempo Mainnet can see who initiated the swap or who received the proceeds on the zone.

Can an address inside a zone hold multiple assets?

Yes. A zone address can hold any TIP-20 token that the zone operator enabled for the zone.

What is visible when someone deposits into a zone?

The token, amount and sender are visible on Tempo Mainnet. The recipient inside the zone is encrypted and hidden. Only the sender and the zone operator know who received the funds.

Can you see which zones an address has used?

Deposits into zones are visible on Tempo Mainnet, so you can see which zones an address has sent funds into. Withdrawals are also visible, but the sender from inside the zone is hidden. An observer can tell that funds left a zone but not which address inside the zone sent them.

How do deposits and withdrawals preserve privacy?

When depositing into a zone, the recipient address is encrypted so that no one else on Mainnet knows where the funds are going. Only the zone operator can decrypt the recipient. When withdrawing, the sender’s address is hidden with a cryptographic commitment that is only revealed to the recipient. See the deposit guide and withdrawal guide for details.

What are the trust assumptions in more detail?

The operator can see all activity within the zone and controls transaction sequencing, inclusion, and liveness. The operator cannot transfer a user’s funds to another party. Users retain ownership of their assets at all times, with funds held in a zone contract on Mainnet. For a full specification of the trust model, see the Zones protocol documentation.