In the , 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:
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.
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 in the .