Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(eigen-client-extra-features): Remove steps to run from integration docs #360

Merged
merged 4 commits into from
Nov 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 32 additions & 9 deletions core/node/da_clients/src/eigen/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,37 @@
# EigenDA client
# EigenDA Client

---
EigenDA is as a high-throughput data availability layer for rollups. It is an EigenLayer AVS (Actively Validated
Service), so it leverages Ethereum's economic security instead of bootstrapping a new network with its own validators.
For more information you can check the [docs](https://docs.eigenda.xyz/).

This is an implementation of the EigenDA client capable of sending the blobs to DA layer. It uses authenticated
requests, though the auth headers are kind of mocked in the current API implementation.
## Status

The generated files are received by compiling the `.proto` files from EigenDA repo using the following function:
There a 3 milestones defined, we are currently on the first one.

### M0: Read and Write integration

The scope of this first milestone is to spin up a local EigenDA dev environment, spin up a local zksync-era dev
environment and integrate them. Instead of sending 4844 blobs, the zksync-era sends blobs to EigenDA. On L1, mock the
verification logic, such that blocks continue building. Increase the blob size from 4844 size to 2MiB blob. Deploy the
integration to Holesky testnet and provide scripts to setup a network using EigenDA as DA provider.

### M1: Secure integration with ZKProver

For this milestone the scope is to replace the mocked L1 verification logic with EigenDA compatible verifier. It should
integrate EigenDA certificate verification, and use it as the equivalent part for 4844 versioned hash. More importantly
modify the equivalence proof in Zksync L1 contract such that the proof can be verified correctly with respect to the
EigenDA commitment, which also lives in BN254 as zksync. Start with 128MiB blob, then 2MiB, up-to 32MiB blobs. Prepare
documentation and tooling in order to onboard rollups with EigenDA.

### M2: Secure and cost efficient

The scope is to explore approaches to reduce cost. For example, faster proof generation time. Verify EigenDA signature
inside circuit, this requires L2 having access to L1 state. Integrate EigenDA into ZKporter.

## Temporary

In order to implement the integration we generated some `.proto` files from EigenDA repo that were compiled using the
following function:

```rust
pub fn compile_protos() {
Expand All @@ -28,8 +54,5 @@ pub fn compile_protos() {
}
```

proto files are not included here to not create confusion in case they are not updated in time, so the EigenDA
[repo](https://github.com/Layr-Labs/eigenda/tree/master/api/proto) has to be a source of truth for the proto files.

The generated folder here is considered a temporary solution until the EigenDA has a library with either a protogen, or
The generated folder is considered a temporary solution until the EigenDA has a library with either a protogen, or
preferably a full Rust client implementation.
177 changes: 0 additions & 177 deletions core/node/da_clients/src/eigen/eigenda-integration.md

This file was deleted.

Loading