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.
StarkEx supports Volition to make data available. Volition enables two sets of vaults to provide data availability as follows:
Vault balances are published on-chain as
Vault range: 263, 263+231
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
vaultIdmust be on. The roots of both vault trees are updated when
UpdateStateis called. The updated balances of rollup vaults are also emitted on-chain as
An escape hatch is checked against the tree in which the escaped vault is located.