📖How zkJump works?

Roles in the zkJump's system:

zkJump is a two-way liquidity bridge system, relying on the Smart Contract Vault and Custodian Network to manage assets, while the Witness and Executor sends messages between blockchains to initiate transactions on the target chain.

There are 4 roles in the zkJump's system:

  1. Smart Contract Vault: To ensure the security of assets the Vault will only accept the transfer-in of assets after receiving permission from Witness. Similarly, it will only initiate the transfer-out of assets after receiving approval from the Executor and Custodian Network.

  2. Custodian Network: Responsible for managing and rebalancing the assets in the Smart Contract Vault. Security is guaranteed by multiple independent entities through multi-signatures.

  3. Witness: (i) Approve the transactions and return the signature as a permission, (ii) monitor all transactions in contract vaults of each network, (iii) record and verify each transaction in the ledger.

  4. Executor: (i) Monitor the transfer-in transactions in the source chain, (ii) initiate the transfer-out transactions to transfer the target assets to users in the target chain.

How zkJump works?

  1. When users fill out the order on the zkjump's website, the frontend will send the order to the Witness to obtain permission. The Witness will decisively approve the transaction based on the target chain's asset reserves and the risk of the transaction.

  2. If the transaction is approved, a signature will be generated based on the information of the transaction, and information such as the signature and fees will be returned to the UI.

  3. If users agree to the quote and submit the transaction, their assets will be transferred to the source chain's vault with the signature and order information.

  4. The Executor monitors the users' transactions and obtains the signature from the contract. After confirming the signature with the Witness, the Executor will initiate a transfer transaction on the target chain to transfer the assets from the vault to the user.

  5. The Witness will monitor the transactions in the vaults on the target chain and show the progress to the user. If the transaction fails, the Executor will initiate a retry after a short period of time.

  6. The Witness will listen to all on-chain events to maintain the ledger. When the Witness finds that the quantity of certain assets is seriously out of balance, it will notify the Custodian Network to rebalance the assets or adjust the base quantity of the assets.

How does zkJump ensure asset security?

zkJump has drawn on the experience of modern financial management, separating the duties of accounting and cashiering and dividing these roles into the Witness and the Executor. The Witness, like an accountant, controls the risk of transactions and manages the ledger. The Executor, like a cashier, transfers assets to users on the target chain based on the on-chain information.

They operate independently and use independent RPC nodes to monitor on-chain transactions. Each transaction is verified by both the Witness and Executor through transaction signatures. This multi-verification security model ensures the security of the assets are safeguarded and maintained, even in an unlikely event of when one of the roles are compromised.

Additionally, the security of the Custodian Network is guaranteed by multiple independent entities through multi-signatures. In the event of an irregular event such as a hack, all transactions will be suspended by the Custodian Network to protect the security of assets.

Last updated