Data Availability

OpenBit users need to have control over their funds, and in case of a OpenBit application failure, they should be able to retrieve their funds at any time. To provide self-custody and trustless services, OpenBit must ensure the availability of user data at all times.Data availability ensures the following:

  1. The state stored in user accounts is perfectly synchronized with the state stored by OpenBit.

  2. The complete balances tree is always available, providing users with security, so if OpenBit ceases to operate, they can prove custody of their funds.

Data availability models are generally divided into ZK-Rollup and Validium modes[1]. In ZK-Rollup mode, data trustworthiness is derived from zero-knowledge proof algorithms, while Validium mode relies on trust in the Validium committee. OpenBit adopts ZK-Rollup mode for data availability, and the OpenBit program ensures that all data required to recover the L2 balances Merkle Tree is published on-chain as calldata. When using ZK-Rollup, the OpenBit program's output includes the following:

  1. The proven new state.

  2. The complete list of differences in user balances compared to the previous state.

To reduce calldata usage and the corresponding gas costs, OpenBit does not publish all on-chain transactions but only the balance changes. For example, if Alice sends 500 USDC to Bob and then receives 200 USDC from Charlie, OpenBit will only publish Alice's account, which is now 300 USDC less than the previous state.

[1]https://docs.starkware.co/starkex/con_data_availability.html

Last updated