The Zerobase staking mechanism is an incentive and constraint system designed to ensure the security and reliability of prover nodes during ZKP generation. Prover nodes must stake stablecoins to join the proof network. These staked stablecoins are used for trading arbitrage via CEFFU, generating additional returns.
You could find more details in the document.
Initialize and configure this project through the following steps:
- Install the Foundry.
- Clone this repository.
- Compile the project:
forge compile
.
If you encounter issues with dependency errors, you can use the
forge install
command to download, or manually download using the following commands:forge install foundry-rs/forge-std forge install openzeppelin/openzeppelin-contracts
- Salus: Salus_ZeroBase_report_2024-12-16
- Peckshield: PeckShield-Audit-Report-ZeroBase-Vault-v1.0.pdf
The Vault
address on all chains is: 0x59f6E226a1055D05a9BD07f40AC2aa87e303CC33
. Currently supported:
- Ethereum
- BSC
- Polygon
- Arbitrum
- AVAX-C
-
Emergency Withdrawal Automation: Emergency withdrawals are now fully automated, allowing users to interact directly with the contract without manual intervention. Users will only need to pay a 0.5% emergency withdrawal fee based on the withdrawn amount.
-
LP Token for Deposits: Users will receive LP tokens (zkUSDT/zkUSDC) upon depositing, representing their stake in the ZEROBASE Staking product.
-
Borrowing Feature: Users will be able to stake zkUSDT/zkUSDC and borrow USDT/USDC against their holdings.
-
Risk-Neutral ZK Functionality for Trading Strategies: A new ZK functionality for risk-neutral validation of trading strategies will be launched, along with the open-source release of the circuit code.
-
Proof Browser: A proof browser will be introduced, enabling users to verify zero-knowledge proof results transparently.
-
Enhanced User Interface: Improvements to the front-end user interaction experience will be implemented for better usability.
-
Seamless V1 Compatibility: The V2 contract will be fully compatible with V1, allowing V1 users to access all V2 features without disruption, ensuring a seamless contract migration.
The Vault
address on all chains is: ``. Currently supported:
- Ethereum
- BSC
- Polygon
- Arbitrum
- AVAX-C
- OP
- Base
- Calculates the absolute difference between the maximum and minimum Delta values.
- Verifies whether this difference (scaled) satisfies the Delta upper limit constraint.
- Ensures the leverage value is non-negative and does not exceed the predefined limit.
- Confirms that the provided leverage value matches the computed result.
- Verifies that input values (e.g.,
DeltaUpper
andLeverageUpper
) are within reasonable ranges.
The circuit is implemented in ZKRiskNeutralCircuit
and compiled into a constraint system (CCS).
go run ZKRiskNeutral.go
assignment := ZKRiskNeutralCircuit{
Leverage: 1, // Leverage ratio
DeltaMax: 100, // Maximum Delta in the position
DeltaMin: 99, // Minimum Delta in the position
LeverageUpper: 3, // Leverage upper limit
DeltaUpper: 5, // Delta risk neutrality upper limit
LeverageConfirm: -1, // Leverage result: -1 less than, 0 equal to, 1 greater than
DeltaConfirm: -1, // Delta result: -1 less than, 0 equal to, 1 greater than
}
Proof file saved as proof.data
.
Proof verification by zkVerify , if passed, confirming that Delta neutrality and leverage constraints are satisfied.