TXs Verification
Verification in Zex: Validating Transactions and Their Sources
In the Zex vs. DEX section, we explained how sequenced transactions (TXs) are verified using BLS signatures. Now, we focus on verifying transactions and validating their sources to ensure authenticity and security.
Every transaction originates from one of two sources:
1. User Transactions
User transactions typically involve activities such as user registration, opening and closing orders, and sending withdrawal requests. For these transactions, users issue signatures, usually via their wallets. The ZexCora module is responsible for validating these signatures and verifying the source of the transaction to ensure it originates from an authorized user.
2. Deposit Transactions
When a user makes a deposit to the Zex platform, the system needs to acknowledge the on-chain transfer and update the user’s balance accordingly. To handle this process in a decentralized manner, Zex employs multiple instances of observers, collectively referred to as ZexPorta. These observers issue a threshold signature using the FROST (Flexible Round-Optimized Schnorr Threshold Signatures) algorithm. This threshold signature is then verified by the FROST Verifier within ZexCora, ensuring that the deposit is valid and securely processed.
The ZexPorta module plays a crucial role in facilitating decentralized deposit management, and we will explore its functionalities in detail in its own section in the Tech Architicture.