# Multi-Asset Shielded Pools

This section focuses on the technical implementation behind Multi-Asset Shielded Pools. For a description of the Panther Protocol component of the same name, go to Shielded Pools.

In their technical build, Panther's Shielded Pools are essentially a collection of append-only Merkle trees, where each leaf is a commitment to a UTXO representing a number of zAssets (or zNFTs) –essentially an IOU for the corresponding collateral deposited by a user and locked in the Panther Vault.

This protocol allows the non-interactive transfer of zAssets, where the only prerequisite is that the sender knows the recipient’s public keys. This is achieved using the homomorphic properties inherent to elliptic curve cryptography.

In an elliptic curve setting, let

*a*be a private key, and*P = a · G*be the corresponding public key, where*G*is a point (generator) on a curve and*a*belongs to the scalar field of the curve. Then*r · P = (r · a) · G*for any*R*in the scalar field of the curve.That is, given a public key

*P*, if a public key*PM*is defined as*PM = r · P*, then the corresponding private key will be*r · a*. A consequence of this is that if a Sender modifies the Receiver’s public key*P_R*as*PM_R = r · P_R*, then the Receiver can compute the corresponding private key as*r·a*providing that they know*r.*To enable the establishment of*r*, a variant of ElGamal encryption can be used to transport*r*from the sender to the recipient.Last modified 2mo ago