# Security Design

## Forced Withdrawal

* OpenBit provides users with an on-chain forced withdrawal contract to ensure that users always maintain control over their asset ownership.
* In situations where the OpenBit offline system is unavailable, users can initiate a forced withdrawal request on-chain, freezing the entire OpenBit system and entering a "big escape" mode. Users can then use provided tools to construct a complete proof and withdraw funds to their own accounts.

## Trusted Execution Environment (TEE)

* TEE, or Trusted Execution Environment, is a secure area constructed on a computing platform using both software and hardware methods. It ensures that code and data loaded within the secure area are protected in terms of confidentiality and integrity.
* OpenBit utilizes TEE's remote attestation technology to ensure that the BTC-ETH cross-chain bridge operates according to the defined logic. This guarantees that no one can tamper with OpenBit' cross-chain bridge application.

## Zero-Knowledge Proofs

* In the selection of the underlying proof system, OpenBit chooses PLONK as the foundational system.
* PLONK is an open-source zero-knowledge proof algorithm that supports efficient proof generation and aggregation. It employs universal setup, eliminating concerns about security issues introduced by frequent setups. PLONK is adopted by several well-known projects in the industry, including Zksync, Antchain, etc.
* OpenBit writes circuits for transactions such as deposits, withdrawals, forced withdrawals, pool creation, swapping, liquidity addition, liquidity removal, etc. The system architecture is designed with a multi-prover structure, allowing multiple provers to receive proof tasks from the server and generate proofs in parallel. This design enables horizontal scalability, and proof efficiency can be improved by adding computational resources.
