Vector X: Bringing Avail’s Offchain Data Availability Solution to Ethereum with Succinct’s ZK Light Client

Vector X: Bringing Avail’s Offchain Data Availability Solution to Ethereum with Succinct’s ZK Light Client

Today, we’re excited to announce our partnership with Avail to develop Vector X: a ZK light client that secures Avail’s data attestation bridge to Ethereum. Avail’s mainnet launch will provide a secure and decentralized data availability base layer that provides high throughput sovereign rollups and Ethereum-settled validiums with cost-effective offchain DA. For the past few months, the two teams have been working on Vector X: a trust-minimized ZK bridge that provides Ethereum-settled rollups trust-minimized access to Avail’s data attestations and brings Avail’s DA securely to Ethereum. Vector X uses zkSNARKs to verify Avail’s GRANDPA consensus in creating a gas-efficient, onchain light client that stores Avail’s data roots and state roots. This bridge will also be used for arbitrary message passing between Avail and Ethereum which enables use-cases like token bridging. Check out the Vector X Github repo and also its deployment and usage on the Succinct platform: https://alpha.succinct.xyz/avail/vectorx

Avail’s Architecture

The Avail network is built on top of the Substrate framework: a modular and extensible Rust-based framework to build optimized blockchains. The Avail team chose Substrate because it allowed them to write custom code needed to build a DA specific chain, including modifying headers and the block building lifecycle, while also being extremely performant and safe due to its usage of Rust. The Substrate framework provides several different options of consensus mechanisms–the Avail team chose a hybrid ledger of GRANDPA and BABE consensus, where BABE ensures liveness and GRANDPA is a finality gadget. Unlike instant finality chains, the hybrid of BABE + GRANDPA ensures that even in the case of a temporary network partition, the network will continue and also that it finalizes as soon as ⅔+ is available. Furthermore, a core advantage of this choice of consensus algorithm is that it allows for up to 1000 validators (and 10,000 validators with BLS signatures in the future).

Vector X Architecture 

To build an gas-efficient, performant onchain light client that verifies Avail’s GRANDPA + BABE consensus requires verifying a large number of Ed25519 signatures in the EVM, which is prohibitively expensive in the EVM due to the lack of an Ed25519 precompile. Furthermore, given Avail’s large validator set size, even changing their signature scheme to an Ethereum-supported one (such as secp256k1) would still be prohibitively gas-expensive given that the gas costs of verifying signatures scales linearly with the number of validators. With a zkSNARK, it becomes possible to move almost all computation of verifying signatures, hashes and other light client verification logic offchain and verify a single proof onchain for ~200k gas.

For the past few months, the Succinct and Avail team been working on exactly this approach: building a zkSNARK-powered light client that verifies GRANDPA + BABE consensus and moves almost all logic offchain into a proof. To build a performant light client for Avail required implementing several state of the art primitives for Ed25519 signature verification and blake2b hashing (the default hash used by Substate). Using our open-source Curta AIR-builder library, we built STARK-based accelerated gadgets for both EdDSA batch signature verification and Blake2B hashing, which are currently the fastest open-source implementations for both. In all, these primitives allowed our team to build a very performant light client, where proof generation takes several minutes, whereas a naive approach with unoptimized circuits would result in a proof generation time of several hours.

Vector X Deployment

After using Succinct’s open-source circuit libraries such as plonky2x and Curta to build optimized circuits, the Succinct team was able to get the Vector X bridge to production extremely quickly (over the course of several weeks) by building with the Succinct platform. The platform provides ZK developers with a world-class developer experience for developing and deploying ZK circuits. With Succinct’s tooling, the Avail team and Succinct were able to easily collaborate, track progress on the latest circuit builds and deployments, and view the status of recent proofs powering the light client. We hope that other ZK builders are able to use the Succinct platform to go to production as quickly as the Succinct and Avail team did!

Building Next-Generation ZK-powered Applications

Working with the Avail team has been incredibly fruitful and we’re extremely excited that our ZK-powered light client is able to bring Avail’s next-generation DA to Ethereum rollups. We hope that this partnership is just the start of novel SOTA infrastructure enabling the next wave of onchain innovation.