Private payment enables value transfer between users, ensuring that the transaction amount is invisible to other users on the blockchain, thus maintaining payment privacy. The operation flow is as follows:
-
Transaction Creation: User A's wallet creates a transaction, specifying User B as the recipient and setting the payment amount. A request for authorization is sent to a trusted validation node to process the payment amount into temporary encrypted data shards.
-
Submit to Network: The wallet packages the necessary information for executing the transaction into a single transaction and submits it to the network. The transaction includes the current balance shard of User A, the current balance shard of User B, and the encrypted data shard obtained in the previous step that represents the transaction amount.
-
Backend Computation: Upon receiving the transaction, the network validation nodes decrypt and compute the three sets of shards using shared keys, then re-encrypt the result into new encrypted shards.
-
State Update: The computation generates two new data shards—one representing User A's reduced balance and the other representing User B's increased balance. The system then updates these two new shards in the private asset objects of User A and User B.
-
Completion: Once the transaction is recorded on-chain, the value transfer is complete. For any other user on the blockchain, they will only see changes in the data within User A and User B's private asset objects, but the specific transaction amount remains unknown.