Skip to content

Commit

Permalink
Merge pull request ethereum-optimism#9 from ethereum-optimism/smartco…
Browse files Browse the repository at this point in the history
…ntracts-patch-1

Update README.md
  • Loading branch information
smartcontracts authored Sep 14, 2021
2 parents 9311538 + d027950 commit 0d3e8dc
Showing 1 changed file with 50 additions and 16 deletions.
66 changes: 50 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,62 @@
# Optimistic specs
# The Optimistic Ethereum Spec

Shared open-source specification for an optimistic-rollup that strives for 1:1 Ethereum on L2 while minimizing additional code.
This repository holds the open-source specification for Optimistic Ethereum, an ultra-minimal optimistic rollup protocol that maintains 1:1 compatibility with Ethereum.

The dream: *EVM compatibility, all Execution clients, all L1 tooling, L2 security (rollup), no L1-like limits*
## Work in Progress

This project is a combined effort of the Optimism, EF research and Quilt/Consensys research teams.
Please note that this specification is currently heavily under construction.
You will find that several pages are incomplete or [under discussion](https://github.com/ethereum-optimism/optimistic-specs/issues).

Enabling rollups on execution-layer data today, and shard-data in the future.
## Design Philosophy

[**Specs overview**](./overview.md) - experimental!
We believe that **the best optimistic rollup design needs to be minimal, open, and accessible.**

Components (under construction):
- [Layer 1 Contracts](./components/layer1.md)
- [Rollup Client](./components/rollup_client.md)
- [Execution Engine](./components/exec_engine.md)
- [Batch Submitter](./components/batch_submitter.md)
- [Witness Generator](./components/witness_gen.md)
- [Challenge Agent](./components/challenge_agent.md)
### Minimalism

## Contribute
Ethereum-focused optimistic rollups should be minimal to best take advantage of the battle-tested infrastructure (like Geth) that already runs Ethereum.
An ideal optimistic rollup design should be representable as a *diff* against Ethereum client software.
We imagine a world in which any Ethereum client can, with only minor modifications, participate in an Optimistic Ethereum network.

Contribute by opening a PR. There are weekly dev calls you can join,
chat with [@protolambda](https://github.com/protolambda/) or [@karlfloersch](https://twitter.com/karl_dot_tech/).
### Openness

We think it's time to coordinate the Ethereum community around a well-specified optimistic rollup design.
We acknowledge that this is only possible if the design process remains open to the feedback of the many teams already working on optimistic rollup architectures.
We aim to make this both this specification and the process by which this specification is built available to anyone interesting in building their own ORU system.

Anyone interested in contributing to this specification should refer to the [Contributing](#contributing) section.
You will find multiple options for contributing to this project.

This repository is distributed under the [Creative Commons Zero v1.0 Universal](https://github.com/ethereum-optimism/optimistic-specs/blob/main/LICENSE) license which dedicates this work to the public domain.
An MIT licensed implementation of this protocol can be found [here](https://github.com/ethereum-optimism/optimism).

### Accessibility

Users, developers, and protocol designers need to be confident that a given optimistic rollup is robust and secure.
We believe that this confidence can only truly come from an accessible specification and codebase that developers can reasonably be expected to understand.
Without this accessibility we'll always fundamentally have to trust the knowledge and competence of a very small group of core developers, a fact antithetical to the ideal decentralized nature of these systems.

## Specification structure

- [Overview](./overview.md)
- Components:
- [Layer 1 Contracts](./components/layer1.md)
- [Rollup Client](./components/rollup_client.md)
- [Execution Engine](./components/exec_engine.md)
- [Batch Submitter](./components/batch_submitter.md)
- [Witness Generator](./components/witness_gen.md)
- [Challenge Agent](./components/challenge_agent.md)

## Contributing
### Basic Contributions
Contributing to the Optimistic Ethereum specification is easy.
You'll find a list of open questions and active research topics over on the [Fellowship of Ethereum Magicians](https://ethereum-magicians.org) forum.
Specific tasks and TODOs can be found on the [Issues](https://github.com/ethereum-optimism/optimistic-specs/issues) page.
You can edit content or add new pages by creating a [Pull Request](https://github.com/ethereum-optimism/optimistic-specs/pulls).

### R&D Calls
We hold weekly R&D calls that are open to anyone interested in contributing to the Optimistic Ethereum spec.
Contact [@karlfloersch](https://twitter.com/karl_dot_tech/), [@protolambda](https://github.com/protolambda/), or [@kelvinfichter](https://twitter.com/kelvinfichter) if you'd like to join these calls.
Please note that these calls may be recorded and shared publicly (we will ask for consent before recording).

## License

Expand Down

0 comments on commit 0d3e8dc

Please sign in to comment.