Unbound Launches Zeta Testnet | Road to Mainnet
Unbound is a Decentralized Liquidity Protocol that is building the derivative layer of Automated Market Makers (AMMs). Automatic Market Makers are the new age DEXs that use arbitrages as the way to value discovery. At present, there is close to $10 billion locked in decentralized exchanges with a traded volume of more than 2 billion daily volume, and this amount is growing rapidly.
The intent of Unbound is to build products that are both native and composable to the DeFi ecosystem. These include
- Synthetic assets, including a stablecoin — UND, uETH, etc.
- AMM pools that are cross-derived from multiple AMMs.
- Oracle price feeds based on free markets enabling path-independent value discovery.
- Building financial instruments for compounding yields and margin trades.
The protocol intends to address the liquidity efficiency of the AMMs by using LPTs (Liquidity Pool Tokens) as a fuel for its factory contracts to mint synthetic assets. This means that now LPTs from Uniswap can be used to mint assets that can provide liquidity to Sushiswap or a Balancer LPT can be used to provide liquidity to Uniswap.
Key Features of Unbound
- Liquidation-free liquidity provision system.
- No-debt position is created with minted assets.
- UND — a stablecoin that improves capital efficiency and poised to be bedrock of future yield generation .
- Liquidity Lock contracts designed to be permissionless and supports AMMs like Uniswap, Balancer, Mooniswap, etc.
Unbound, as a protocol, has been on testnet since December 2020, and we are now set to release our final testnet. This is the Zeta Testnet, and the release caps months of innovation and challenges before we launch on the mainnet. Here is a summary of the changes:
- Oracle Design — For DeFi projects, oracles are the most vulnerable part of the ecosystem, and it’s important to have a value discovery that is based on more than one price feed. We have used Geometric Mean of Chainlink and Uniswap Reserve Ratios to mitigate any manipulations in either of the sources.
2. Unlocking LPT Functions — Minting and unlocking are the two main purposes of the protocol’s smart contracts. Initially unlocking did not involve oracle integration, which increased the risk of under-collateralized loans during periods of high volatility. Hence, oracles were integrated during unlock with a target CR (Collateralization Ratio) for each pool. This led to a revaluation of the loan during partial unlocks, leading to a more secure ecosystem and improvement in business logic. Further details on the mechanism, including the derived formula for Retuned LPTs and the proof of correctness of the formula, will be updated in the whitepaper.
3. Liquidity Tracking Tool — Unbound is the next Lego in the DeFi space. The liquidity efficiency is dependent on the AMMs, and it’s important to track liquidity changes in the underlying pools. We are, for the time being, opening to the community one of the tools that have been built to help in monitoring the changes → Poolstat.Unbound.Finance
4. Security — In DeFi, financial attacks on business logic and code are a feature and need special attention. We believe security is a journey, and the following is a brief overview of checks that have been added during the last few months.
- First, Unbound’s security audit and threat modeling exercise (STRIDE) was done by Peter Kacherginsky. He is a principal blockchain security researcher with a major crypto exchange and incident responder who helped us to understand the threats in Unbound’s Infrastructure and successfully executed our first audit . The second audit was successfully completed with the Securing, and the final audit is planned with Peckshield. Results of these audits will be publicly released before we go on mainnet.
2. Block Limit Lock — After reading the Uniswap v2 audit report, we identified two threats which could manipulate the token pair price using Trade and Sync attacks. This led to the new oracle system explained above, and we also added a block lock limit. Any interaction with our smart contract will lead to locking up the SC for 3–5 blocks with respect to the address used. Hence, mint and unlock cannot be performed in the same block, which should mitigate any flash loan scenarios. The block limit can be changed or removed as per requirements.
3. Unit testing — This is conducted to examine individual functions of a smart contract, defining if it’s fit for use. We now have 100% test coverage for logical and conditional branches in Unbound’s smart contracts.
4. Regression testing — This is done when a smart contract code gets modified, so we had to re-run unit tests written earlier to make sure that the smart contract remains error-free and operates smoothly.
5. End-to-End and Load Testing for Frontend — This test is done for testing the properties and logical conditions in the frontend. Cypress was used for general checks and k6.io was used for load testing.
6. Mathematical Proof of Correctness — It’s important to check there are no mistakes in derivation, identifying corner cases, and large random values that may lead to undefined results.
7. Formal Verification — This is necessary to improve the safety, reliability, and technical “correctness” of Unbound’s finance model.
- Two approaches were used for doing formal verification:
- For checking properties and faulty assumptions in contracts, we used Echidna, a testing tool that performs fuzzing.
- Semantics checks and Symbolic execution of core business logic were done through Scribble and Mythril.
With this, we present you https://zeta.unbound.finance/. Stay tuned for Mainnet Launch and some exciting partnership news!