Data availability
Your users need to know that they have control over their funds, and that they can retrieve their funds at any time, in case your application is not functioning correctly.
To facilitate this self-custody, StarkEx-powered applications must make their users' data always available.
Data availability means that the full state tree is always available, which provides users with the security of knowing that if StarkEx ever stops functioning, they can prove custody of their funds.
Volition
StarkEx supports Volition to make data available. Volition enables two sets of vaults to provide data availability as follows:
ZK-Rollup |
Vault balances are published on-chain as Vault range: 263, 263+231 |
Validium |
Data is available off-chain. The Data Availability Committee (DAC) stores Validium vaults' balances, providing a trusted solution to make your users’ data available. Vault range: 0, 231 |
One application can support both ZK-Rollup and Validium vaults. Assets can be transferred between the different vault ranges.
The vault size results in the following:
-
Each signature has 64 bits allocated for vaults.
-
When depositing to a ZK-Rollup vault, the 63rd bit of
vaultId
must be on. The roots of both vault trees are updated whenUpdateState
is called. The updated balances of rollup vaults are also emitted on-chain ascalldata
.
An escape hatch is checked against the tree in which the escaped vault is located.