Processing math: 100%

EigenDA Managed Contracts

This page describe EigenDA contracts that are manage by EigenDA related actors (see the exact roles). For EigenDA-related contracts that are managed by rollups, see the rollup managed contracts page.

Middlewares Contracts

EigenDA Specific Contracts

The smart contracts can be found here.

image.png

EigenDACertVerifier

Contains a single function verifyDACertV2 which is used to verify certs. This function’s logic is described in the Cert Validation section.

EigenDAThreshold Registry

The EigenDAThresholdRegistry contains two sets of fundamental parameters:

/// @notice mapping of blob version id to the params of the blob version mapping(uint16 => VersionedBlobParams) public versionedBlobParams; struct VersionedBlobParams { uint32 maxNumOperators; uint32 numChunks; uint8 codingRate; } /// @notice Immutable security thresholds for quorums SecurityThresholds public defaultSecurityThresholdsV2; struct SecurityThresholds { uint8 confirmationThreshold; uint8 adversaryThreshold; }

The securityThresholds are currently immutable. These are the same as the previously called liveness and safety thresholds:

  • Confirmation Threshold (fka liveness threshold): minimum percentage of stake which an attacker must control in order to mount a liveness attack on the system.
  • Adversary Threshold (fka safety threshold): total percentage of stake which an attacker must control in order to mount a first-order safety attack on the system.

Their values are

defaultSecurityThresholdsV2 = { confirmationThreshold = ??, adversaryThreshold = ??, }

A new BlobParam version is very infrequently introduced by the EigenDA Foundation Governance, and rollups can choose which version they wish to use when dispersing a blob. Currently there is only version 0 defined, with parameters:

versionedBlobParams[0] = { maxNumOperators = ??, numChunks = 8192, codingRate = ??, }

The five parameters are intricately related by this formula which is also verified onchain by the verifyBlobSecurityParams function:

numChunks(1100γcodingRate)maxNumOperators

where $\gamma$ = confirmationThreshold - adversaryThreshold

EigenDARelayRegistry

Contains EigenDA network registered Relays’ Ethereum address and DNS hostname or IP address. BlobCertificates contain relayKey(s), which can be transformed into that relay’s URL by calling relayKeyToUrl.

EigenDADisperserRegistry

Contains EigenDA network registered Dispersers’ Ethereum address. The EigenDA Network currently only supports a single Disperser, hosted by EigenLabs. The Disperser’s URL is currently static and unchanging, and can be found on our docs site in the Networks section.

Deployments

Governance Roles