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

chore(docs): update overview #2361

Merged
merged 2 commits into from
Nov 5, 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
84 changes: 68 additions & 16 deletions docs/content/learn/architecture.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,81 @@
# Architecture

<img src="/img/staking.png" width="1000px"/>
## Core Network (Cross-rollup messaging + Omni EVM)

## Consensus Engine + Execution Engine
<img src="/img/core_architecture.jpg" width="500px"/>

Omni introduces an innovative approach to blockchain architecture, designed to enhance performance and scalability without compromising on security. At its core, Omni's architecture is split into two primary layers: the **Consensus Layer** and the **Execution Layer**. This dual-chain structure enables Omni to efficiently process transactions and manage global state across multiple networks.
Omni is a network purpose built for fixing fragmentation across the Ethereum ecosystem. This is accomplished by combining a secure messaging protocol for cross-rollup communications with a computational environment (the Omni EVM). Given that Omni is purpose built for solving fragmentation across Ethereum’s rollup ecosystem, it derives its security from Ethereum L1 through the use of re-staking.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find the usage of "purpose built for solving fragmentation across Ethereum" in two subsequent sentences too repetitive. Maybe replace the second sentence with something like: Since Omni spans multiple rollup chains and must provide a secure infrastructure for cross-chain message exchange, it derives its economic security from Ethereum L1 through the restaked ETH. Or something like that?


## The Consensus Engine
To achieve this, Omni was designed with a novel protocol architecture, Octane, that runs a consensus and execution engine in parallel. While Octane was developed specifically for Omni’s use case, it is open sourced and is being used by protocols that have raised over $150M, such as [Story Protocol](https://www.story.foundation/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I'm not sure it's "novel" as it is exactly what Ethereum PoS is doing, we also mention this ourselves in multiple places.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "novel" part is combining the EVM with the CometBFT consensus engine


At the heart of Omni's network lies the **Consensus Layer**, powered by the CometBFT consensus engine. This layer is where validators come together to agree on the state of the network, ensuring every transaction is valid and finalizing the global state across all connected networks within seconds. The key benefits include:
Omni uses Octane to combine the EVM with the [CometBFT](https://docs.cometbft.com/v0.38/) (formerly Tendermint) consensus engine, providing fast consensus on every rollup network connected with Omni. Within Octane, the Engine API separates the execution environment from the consensus engine, preventing transactions from interfering with blockchain consensus. Octane is the first consensus implementation of the EngineAPI besides Ethereum itself (the Beacon Chain). [ABCI 2.0](https://docs.cometbft.com/v1.0/spec/abci/) complements the Engine API by providing a programmable interface for high-performance consensus engines like CometBFT.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

providing fast consensus on every rollup network

This is a bit misleading. I am not sure what we want to say here, but Tendermint is only providing consensus on the Omni chain itself.

preventing transactions from interfering with blockchain consensus

I am not sure I understand this either...

Octane is the first consensus implementation of the EngineAPI besides Ethereum itself (the Beacon Chain).

From what I understand, Octane is a middleware that glues the EVM engine with the CometBFT consensus by implementing both the EngineAPI of the EVM engine and the ABCI 2.0 API of CometBFT.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"preventing transactions from interfering with blockchain consensus"
ie a spike in transactions on the execution layer does not directly impact the consensus layer


- **Immediate Transaction Finalization**: With CometBFT, once a transaction is included in a block, it's considered final—eliminating the need for additional confirmations.
- **Delegated Proof of Stake (DPoS)**: This mechanism allows users to delegate their restaked ETH directly to validators, bolstering the network's security.
- **Proven Robustness**: CometBFT is battle-tested and trusted in securing billions of dollars across various blockchain networks.
<img src="/img/octane_architecture.jpg"/>

## The Execution Engine
More information on Octane can be found in the following video:

Additional to the Consensus Layer is the **Execution Layer**, or the Omni EVM, mirroring the Ethereum L1 execution layer's functionality. This is where users' transactions are processed, and the following features stand out:
<div style={{ position: 'relative', paddingBottom: '56.25%', height: 0, overflow: 'hidden', maxWidth: '100%', }}>
<iframe
src="https://www.youtube.com/embed/hrGgvypAMvA"
style={{ position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }}
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
</div>

- **Scalable Transaction Processing**: The Omni EVM handles transactions in its mempool, enabling high throughput without overloading the network.
- **Compatibility with Ethereum Clients**: Omni leverages existing Ethereum execution clients (e.g., Geth, Besu, Erigon), ensuring stability and up-to-date features.
- **Dynamic Fee Mechanism**: Supporting [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), the Omni EVM allows for dynamic transaction fees and partial fee burning, optimizing network usage costs.

## Unifying Consensus and Execution
## Solver Network

Omni's dual-chain architecture facilitates **Integrated Consensus**, allowing validators to simultaneously run consensus for the Omni EVM and cross-network messages. This innovative design, supported by tools like ABCI++ and the Engine API, makes Omni's sub-second finality possible. Validators efficiently attest to the state of external rollup VMs, ensuring seamless state transitions and unified state management.
<img src="/img/solver_architecture.jpg" width="500px"/>

By separating consensus operations from transaction execution, Omni effectively scales activity across its network and connected rollups. This architecture not only mitigates the risk of network congestion but also enhances the security and reliability of cross-network transactions.
### The Challenge of Cross-Chain Applications

The rapid expansion of rollups in the Ethereum ecosystem has made it increasingly difficult for developers to easily access users and liquidity across these chains. While cross-chain applications have often been viewed as the solution, the industry still faces major adoption obstacles, despite significant investments in interoperability infrastructure. Our discussions with hundreds of developers have revealed two primary challenges:

1. **Extended Development Timelines**

Building a cross-chain application is resource-intensive, requiring up to four months for design, implementation, and security audits. In a fast-evolving industry where most applications are still pursuing product-market fit, this long development cycle is impractical.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find "four months" a bit too specific. How about:

Building a cross-chain application is resource-intensive, often taking several months for design, implementation, and security audits.


2. **Higher Security Risks**

Cross-chain implementations introduce complex smart contracts, increasing vulnerability to hacks. If an interoperability protocol is compromised, all applications relying on it are at risk. This heightened risk has discouraged widespread adoption of cross-chain applications.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Cross-chain implementations introduce complex smart contracts, increasing vulnerability to hacks. If an interoperability protocol is compromised, all applications relying on it are at risk. This heightened risk has discouraged widespread adoption of cross-chain applications.
Cross-chain implementations introduce complex smart contracts, increasing vulnerability to hacks. If an interoperability protocol is compromised, all applications relying on it are at risk. This increased risk has discouraged widespread adoption of cross-chain applications.



These challenges have stagnated cross-chain application adoption and left the fragmentation issue unresolved.

### Omni's Intent-Centric Solution

Omni leverages intent-based interactions and solver networks to offer developers a simpler, more secure alternative to traditional cross-chain applications. Our architecture enables:

- **Easy Integration:** With a single frontend SDK integration, developers can access users and liquidity across Ethereum rollups without modifying their smart contracts. This process now takes only a few days, rather than multiple months.
- **Seamless User Experience:** Users interact with applications on different rollups without needing to bridge assets, change wallets, or worry about gas fees across networks. This architecture is fully compatible with existing wallet setups.

By abstracting away cross-chain complexity, Omni’s solver network lets both developers and users operate without facing the traditional barriers of bridging and multi-rollup deployments.

Here’s how Omni’s solver network makes applications that are only deployed on one rollup available to users across all rollups:

1. **Intent Submission**

The user deposits tokens into a smart contract on Arbitrum and includes a payload (their "intent")—a function call they want to execute on Ethereum. This intent emits an event.

2. **Solver Action**

Solvers monitor for these events, and immediately upon identifying one, they execute the function call on the destination platform, using the tokens as specified.

3. **Completion Acknowledgment**

After successful execution on the destination, a cross-rollup message is sent back to the origin rollup via Omni, confirming that the intent was fulfilled. The lockbox contract on the origin then releases the funds to the solver. These funds include a small fee for the solver’s services.


<img src="/img/solver_model.jpg" width="500px"/>

As a result:

- The user is debited funds on Arbitrum.
- The user has deposited into the protocol on Ethereum, and has a balance there.
- The solver no longer has those tokens on Ethereum, but it has been credited tokens on Arbitrum.

Through this process, Omni handles all cross-chain communication, freeing users from interacting with multiple rollups and allowing developers to bypass the need for complex cross-chain contract deployment.

Currently we are working with a select few teams that all have over $500m TVL as our initial build partners. If your team would like to be considered as an early build partner as we iterate and expand access to the SDK, please reach out to Omni’s founders, [Austin King](https://x.com/0xASK) and [Tyler Tarsi](https://x.com/ttarsi_), on Twitter (X).
11 changes: 3 additions & 8 deletions docs/content/learn/token.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# $OMNI Token
# OMNI Token

**\$OMNI** is an ERC-20 token launched on Ethereum L1 (deployed to [**`0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4`**](https://etherscan.io/token/0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4)) with a maximum supply of **100,000,000**.
**OMNI** is an ERC-20 token launched on Ethereum L1 (deployed to [**`0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4`**](https://etherscan.io/token/0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4)) with a maximum supply of **100,000,000**. When the Omni network is live on mainnet, **OMNI** tokens can be bridged to the Omni EVM, where they can be staked to enhance network security. In the future, additional **OMNI** tokens may be issued on the Omni EVM as rewards for validators.

3% of the supply (3,000,000 **\$OMNI**) was distributed at Genesis as part of the Genesis Airdrop.
When the Omni network is launched, **\$OMNI**  will be able to be migrated to the Omni EVM. In the future, additional **\$OMNI** can be created on the Omni EVM for validator rewards.

The **\$OMNI** token serves several crucial roles within the Omni protocol. **\$OMNI** can be used to pay for gas to process both cross-rollup transaction requests and Omni EVM transaction requests.

All **\$OMNI** gas fees are burned from circulation. **\$OMNI** can also be staked by or delegated to Omni validators to contribute to the network’s economic security. Staking or delegating **\$OMNI** earns rewards and will allow users to participate in network governance when it is live. Before the mainnet launch, users can participate in the Genesis Staking program by staking their **\$OMNI** tokens through the [staking portal.](https://app.omni.network/)
OMNI will several crucial roles within the Omni protocol. **OMNI** will be used to pay for gas to process both cross-rollup transaction requests and Omni EVM transaction requests. All **OMNI** gas fees will be burned from circulation. **OMNI** can also be staked by or delegated to Omni validators to contribute to the network’s economic security, along with restaked ETH. Staking or delegating OMNI earns rewards and will allow users to participate in network governance when it is live. Before the launch on mainnet, users can help bootstrap the network’s security by participating in the Genesis Staking program by staking their **OMNI** tokens through the [staking portal](https://app.omni.network/).
32 changes: 26 additions & 6 deletions docs/content/learn/what-is-omni.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
import IntroVideo from '@site/src/components/IntroVideo';
# Overview

# What is Omni
## Why does Omni exist?

<img src="/img/omni-intro.png"/>
The most glaring side effect of Ethereum’s pursuit of the rollup-centric roadmap is fragmentation of users and capital across the broader Ethereum ecosystem. This has degraded both the developer and user experiences on Ethereum.

For developers, they remain siloed and unable to access a majority of the users. Due to the complexity of building an application deployed across multiple rollups, a majority of teams either deploy to one rollup or duplicate deployments of their application across multiple rollups.

Omni is a chain abstraction protocol that enables developers to create applications that are accessible across multiple rollups, allowing them to tap into the combined **user** base and **liquidity** of all connected networks.
For users, the experience is painful. They must navigate application frontends, select networks, switch RPC endpoints, and manually bridge assets between networks, all while ensuring they have enough gas to complete transactions on the destination network.

Omni is built on a novel network architecture tailored for low latency cross-rollup communications and global compatibility with Ethereum’s entire rollup ecosystem, underpinned by the cryptoeconomic security of restaked $ETH. This design achieves low latency cross-rollup message verification while harnessing Ethereum’s industry leading cryptoeconomic security budget. Furthermore, Omni is intentionally designed to be easily integrated with any rollup architecture and local rollup application, while also providing a programmable state layer for managing application deployments across rollups.
## What is Omni?

With Omni, Ethereum can once again provide a single, unified operating system for decentralized applications, but this time, at a global scale.
Omni is a chain abstraction layer for the Ethereum ecosystem, allowing developers to make their application available to users and liquidity across all rollups, while only deploying their application on a single rollup. Omni is making the Ethereum ecosystem feel like a single chain for users — no manual bridging, switching RPCs, managing gas, or wallet upgrades are needed to interact with applications powered by Omni. To simplify both user and developer experiences, Omni delegates cross-chain complexity to sophisticated third parties through Omni’s solver network.

## How does Omni work?

The foundation of the Omni Network is composed of two core primitives:

1. An interoperability protocol purpose-built for Ethereum’s rollup ecosystem
2. An EVM that supports computation for Omni’s interoperability protocol

On top of this foundation sits the Omni SDK and the Omni solver network. The Omni SDK is the primary interface for applications to interact with the Omni solver network, which carries out cross-chain actions (intents) on behalf of application users on destination chains.

<img src="/img/architecture.jpg" width="500px"/>

Here’s a quick breakdown of how these components work together:

Omni’s solver network has timelock escrow contracts on every supported rollup — these allow users to deposit funds and declare intents for actions they want completed on applications deployed on other rollups.

After a user deposits funds into escrow and declares their intent on the source rollup, a solver provides “just in time liquidity” on the destination rollup by depositing capital into the target application on behalf of the user.

The solver then provides proof of completing the user’s intent through Omni’s interoperability network, allowing the escrow contract on the origin rollup to release the user’s deposited funds to the solver.
Binary file added docs/website/static/img/architecture.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/website/static/img/core_architecture.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/website/static/img/octane_architecture.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/website/static/img/solver_architecture.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/website/static/img/solver_model.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading