kleros / vea

Vea bridge
https://vea.ninja
MIT License
10 stars 6 forks source link
backend blockchain bridge ethereum middleware monorepo protocol smart-contracts solidity typescript under-construction vea

Vea

VEA

OpenSSF Scorecard
Contracts Testing Security Rating Quality Gate Status Bugs Reliability Rating Maintainability Rating
Contracts Testing Security Rating Quality Gate Status Bugs Reliability Rating Maintainability Rating


Vea

Vea is a cross-chain message bridge which enables fast and secure interoperability specifically designed with optimistic rollups in mind.

About Vea

What type of bridge is this?

A trust-minimized optimistically-verified bridge, open to any participant to fulfill the roles of Oracle, Challenger or Relayer. The trust model requires only 1 live honest verifier, similar to optimistic rollups.

How is this secure?

As an optimistic bridge, it is cheap and fast to use in the happy case, where an Oracle makes an unchallenged claim. While in the unhappy case, it is no different than using the canonical bridges operated by a particular rollup or side-chain. There is no need for any additional trust assumption on say a 3rd-party oracle or some slow governance mechanism or trusted DAO multisig to ensure that the message is relayed correctly. As long as there is one honest participant running a working implementation of the light client specifications at any time, and anybody can take on this role.

Learn more...

🌐 Website
📖 Documentation
🕵️ Security disclosures

Deployments

⛓️ Contracts addresses
⚖️ VeaScan explorer
🗃️ Subgraph endpoints

Content

Package Description
contracts Smart contracts of the Vea bridge protocol.
relayer-cli Convenience utility capable of automating the relaying of messages for verified state roots.
relayer-subgraph-inbox Indexing of the bridge inbox for relaying purposes, in particular for the computation of the proof of inclusion of a message in a state root.
services Supporting services such as a graph-node container.
validator-cli Validator implementation in TypeScript capable of fulfilling the roles of Oracle and Challenger.
veascan-subgraph-inbox Indexing of the bridge inbox for retrieval by the Veascan frontend.
veascan-subgraph-outbox Indexing of the bridge outbox for retrieval by the Veascan frontend.
veascan-web Explorer of snapshot and messages crossing the bridge.

Toolchain:

Contributing

Prerequisites

Install the dependencies

$ yarn install

Hardhat CLI auto-completion (optional)

$ npm i -g hardhat-shorthand

$ hardhat-completion install
✔ Which Shell do you use ? · bash
✔ We will install completion to ~/.bashrc, is it ok ? (y/N) · true

$ exec bash