[Testnet] Blazar (v0.9.0-rc.5)
Pre-releaseSummary
This release is required for users and operators to upgrade.
We are excited to release EigenDA v0.9.0, code name "Blazar" (aka. EigenDA V2), a major protocol and architecture upgrade for the entire system.
Key Features and Enhancements
-
Control Plane & Data Plane Separation
Separates the flow of blob data from its metadata/control as they move through disperser, encoders and validators. This improves end-to-end data movement efficiency and boosts validator node performance and robustness by increasing network utilization through concurrent download connections.
-
High-Performance Storage with LittDB
Introduces LittDB, a highly performant key/value store specifically tailored for EigenDA’s needs. LittDB replaces LevelDB as the storage engine on validator nodes, significantly improving disk-related operations by two orders of magnitude. Designed from the ground up, LittDB ensures high capacity, high throughput, low latency, and low memory/CPU utilization.
-
Payments Support
EigenDA now supports on-demand payments and reservations, enabling applications to access the network permissionlessly with flexible payment options.
-
Faster and Cheaper Dispersal with DA Certificate
Reduces end-to-end dispersal latency and cost by eliminating on-chain confirmation and returning a DA certificate representing DA nodes' attestations.
-
New Chunk Allocation Model
Introduces a fixed-chunk model, making encoding a stateless operation and reducing system complexity.
-
Revamped Blob State Management
Enhances robustness by enforcing immutable records and introducing constraints into the data model.
-
Improved Blob Addressing
Introduces Blobkey, a universally unique string identifier for each blob, replacing the previous composite key (batch header hash + blob index). This simplifies interactions and improves UX when working with blobs.
Further Details
What's Changed
Changes between the previous release candidate and the current release candidate. The main change between rc.4 and rc.5 is #1634.
Breaking Changes
- feat!: LittDB multi-drive support by @cody-littley in #1564
- feat!: implement deterministic assignment by @mooselumph in #1587
Features
- feat: only do debug computations if equivalence check fails by @litt3 in #1563
- feat: validator node authenticate and validate blob headers by @hopeyen in #1529
- feat: reserved-only disperser apiserver by @hopeyen in #1536
- feat: configurable traffic generator pool by @cody-littley in #1569
- feat: cert verifier v3 + router by @pakim249CAL in #1518
- feat: Create interface for offchain metering store by @dmanc in #1581
Fixes
- fix: replaces hard coded quorum IDs on dataapi handlers by @pschork in #1566
- fix: littDB consistent keyfiles by @cody-littley in #1573
- fix: flaky validator client test by @cody-littley in #1582
- fix(contracts): Update V2 cert verifier deploy script to use latest verifier by @ethenotethan in #1585
- fix: Make LittDBStoragePathsFlag not required by @dmanc in #1596
- fix: properly set LittDB sharding factor for validators by @cody-littley in #1616
- fix(assignment): nil pointer dereference (#1634)
Misc
- chore: delete unused code by @cody-littley in #1558
- chore: Remove MockRollup and test usage in favor of
EigenDACertVerifierV1
by @ethenotethan in #1565 - refactor: ntp init logs but not panic by @hopeyen in #1568
- docs(mdbook): recency window check should use <= not < by @samlaf in #1567
- chore: one second batches by @cody-littley in #1583
- docs: paymentHeader update by @hopeyen in #1570
- docs: update op secure integration overview by @bxue-l2 in #1592
- ci: add env and update readme to include the correct mdBook by @bxue-l2 in #1595
Full Changelog: v0.9.0-rc.4...v0.9.0-rc.5