Anytrust DAC
Anytrust DAC (Data Availability Committee) is a key component of the Molten Network, leveraging a variant of Arbitrum Nitro technology to lower costs by accepting a mild trust assumption. This section explains the mechanics and benefits of Anytrust DAC in the Molten Network.Inside Anytrust
The Molten protocol requires that all nodes, including validators (nodes that verify correctness of the chain and are prepared to stake on correct results), have access to the data of every L3 transaction in the Molten chain’s inbox. An Arbitrum rollup provides data access by posting the data (in batched, compressed form) on L2 Ethereum as calldata. The Ethereum gas to pay for this is the largest component of cost in Arbitrum. Anytrust relies instead on an external Data Availability Committee (hereafter, “the Committee”) to store data and provide it on demand. The Committee has N members, of which Anytrust assumes at least two are honest. This means that if N - 1 Committee members promise to provide access to some data, at least one of the promising parties must be honest. Since there are two honest members, and only one failed to make the promise, it follows that at least one of the promisers must be honest — and that honest member will provide data when it is needed to ensure the chain can properly function.Keysets
A Keyset specifies the public keys of Committee members and the number of signatures required for a Data Availability Certificate to be valid. Keysets make Committee membership changes possible and provide Committee members the ability to change their keys. A Keyset contains:- The number of Committee members
- For each Committee member, a BLS public key
- The number of Committee signatures required
Data Availability Certificates
A central concept in Anytrust is the Data Availability Certificate (hereafter, a “DACert”). A DACert contains:- The hash of a data block
- An expiration time
- Proof that N-1 Committee members have signed the (hash, expiration time) pair, consisting of:
- The hash of the Keyset used in signing
- A bitmap saying which Committee members signed
- A BLS aggregated signature (over the BLS12-381 curve) proving that those parties signed
- The number of signers is at least the number required by the Keyset
- The aggregated signature is valid for the claimed signers
- The expiration time is at least two weeks after the current L3 timestamp
Data Availability Servers
Committee members run Data Availability Server (DAS) software. The DAS exposes two APIs:- The Sequencer API: This API, meant to be called only by the Molten chain’s Sequencer, is a JSON-RPC interface allowing the Sequencer to submit data blocks to the DAS for storage. Deployments typically block access to this API from callers other than the Sequencer.
- The REST API: This API, meant to be available to the world, is a RESTful HTTP(S) based protocol that allows data blocks to be fetched by hash. This API is fully cacheable, and deployments may use a caching proxy or CDN to increase scale and protect against DoS attacks.