Skip to content

Commit

Permalink
Add the Sigma Prime audit (paradigmxyz#8728)
Browse files Browse the repository at this point in the history
  • Loading branch information
gakonst authored Jun 10, 2024
1 parent ad0be4c commit 1bc9d8b
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 27 deletions.
24 changes: 9 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

**Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol**

![](./assets/reth-beta.png)
![](./assets/reth-prod.png)

**[Install](https://paradigmxyz.github.io/reth/installation/installation.html)**
| [User Book](https://reth.rs)
Expand Down Expand Up @@ -38,27 +38,21 @@ More concretely, our goals are:

## Status

Reth is performant, feature-complete, [Cancun-ready](https://paradigmxyz.github.io/reth/run/run-a-node.html), and OP Stack Ecotone compatible via the [OP Reth binary](https://paradigmxyz.github.io/reth/run/optimism.html?highlight=optimism#running-on-optimism).

We actively recommend professional node operators to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required such as RPC, MEV, Indexing, Simulations, and P2P activities.

While we are aware of parties running Reth staking nodes in production, we do *not* encourage usage in production staking environments by non-professionals until our audits are done, and the 1.0 version of Reth is released, but we are available to support without warranty or liability.
Reth is production ready, and suitable for usage in mission-critical environments such as staking or high-uptime services. We also actively recommend professional node operators to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required such as RPC, MEV, Indexing, Simulations, and P2P activities.

More historical context below:
* We are releasing 1.0 "production-ready" stable Reth once our Reth & Revm audits are done. ETA ~May 2024.
* Reth is currently undergoing an audit with [Sigma Prime](https://sigmaprime.io/), the developers of [Lighthouse](https://github.com/sigp/lighthouse), the Rust Consensus Layer implementation.
* Revm (the EVM used in Reth) is undergoing an audit with [Guido Vranken](https://twitter.com/guidovranken) (#1 [Ethereum Bug Bounty](https://ethereum.org/en/bug-bounty)).
* We are releasing [beta](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.1) on Monday March 4th 2024, our first breaking change to the database model, providing faster query speed, smaller database footprint, and allowing "history" to be mounted on separate drives.
* We released 1.0 "production-ready" stable Reth in June 2024.
* Reth completed an audit with [Sigma Prime](https://sigmaprime.io/), the developers of [Lighthouse](https://github.com/sigp/lighthouse), the Rust Consensus Layer implementation. Find it [here](./Sigma_Prime_Paradigm_Reth_Security_Assessment_Report_v1_0.pdf).
* Revm (the EVM used in Reth) underwent an audit with [Guido Vranken](https://twitter.com/guidovranken) (#1 [Ethereum Bug Bounty](https://ethereum.org/en/bug-bounty)). We will publish the results soon.
* We released multiple iterative beta versions, up to [beta.9](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.9) on Monday June 3rd 2024 the last beta release.
* We released [beta](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.1) on Monday March 4th 2024, our first breaking change to the database model, providing faster query speed, smaller database footprint, and allowing "history" to be mounted on separate drives.
* We shipped iterative improvements until the last alpha release on February 28th 2024, [0.1.0-alpha.21](https://github.com/paradigmxyz/reth/releases/tag/v0.1.0-alpha.21).
* We [initially announced](https://www.paradigm.xyz/2023/06/reth-alpha) [0.1.0-alpha.1](https://github.com/paradigmxyz/reth/releases/tag/v0.1.0-alpha.1) in June 20th 2023.


We will be updating the documentation with the completion status of each component, as well as include more contributing guidelines (design docs, architecture diagrams, repository layouts) and "good first issues".

We appreciate your patience until we get there. Until then, we are happy to answer all questions in the Telegram link above.

### Database compatibility

We do not have any breaking database changes since beta.1, and do not plan any in the near future.

Reth [v0.2.0-beta.1](https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.1) includes
a [set of breaking database changes](https://github.com/paradigmxyz/reth/pull/5191) that makes it impossible to use database files produced by earlier versions.

Expand Down
Binary file not shown.
Binary file added assets/reth-prod.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion book/installation/binaries.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ imported the key you can verify a release signature (`.asc` file) using a
command like this:

```bash
gpg --verify reth-v0.1.0-alpha.14-x86_64-unknown-linux-gnu.tar.gz.asc reth-v0.1.0-alpha.14-x86_64-unknown-linux-gnu.tar.gz
gpg --verify reth-v0.2.0-beta.9-x86_64-unknown-linux-gnu.tar.gz.asc reth-v0.1.0-beta.9-x86_64-unknown-linux-gnu.tar.gz
```

Replace the filenames by those corresponding to the downloaded Reth release.
Expand Down
5 changes: 4 additions & 1 deletion book/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ _Documentation for Reth users and developers._

Reth (short for Rust Ethereum, [pronunciation](https://twitter.com/kelvinfichter/status/1597653609411268608)) is an **Ethereum full node implementation that is focused on being user-friendly, highly modular, as well as being fast and efficient.**

<img src="https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-alpha.png" style="border-radius: 20px">
Reth is production ready, and suitable for usage in mission-critical environments such as staking or high-uptime servi
ces. We also actively recommend professional node operators to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required such as RPC, MEV, Indexing, Simulations, and P2P activities.

<img src="https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-prod.png" style="border-radius: 20px">

<!-- Add a quick description about Reth, what it is, the goals of the build, and any other quick overview information -->

Expand Down
6 changes: 0 additions & 6 deletions book/run/optimism.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,6 @@ the [L2 EL specification][l2-el-spec], and the [OP Stack specification][op-stack

## Running on Optimism

> `op-reth` is currently in the *alpha* stage of development. It is not yet ready for production use, and therefore does not have a stable release. To run it, you must build the `op-reth` binary from source.
> If you do encounter any bugs during this early stage of development, please report them in an issue on the [GitHub repository][reth].
>
> `op-reth` also does **not** currently support OP Stack chains with legacy, pre-Bedrock state, i.e. `Optimism Mainnet` and `Optimism Goerli`. This will be possible once a database migration tool for pre-Bedrock
> state is released, with the capability to extract the legacy state from the old `l2geth` LevelDB datadir and transplant it into Reth's MDBX database.
You will need three things to run `op-reth`:
1. An archival L1 node, synced to the settlement layer of the OP Stack chain you want to sync (e.g. `reth`, `geth`, `besu`, `nethermind`, etc.)
1. A rollup node (e.g. `op-node`, `magi`, `hildr`, etc.)
Expand Down
2 changes: 0 additions & 2 deletions book/run/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# Troubleshooting

As Reth is still in alpha, while running the node you can experience some problems related to different parts of the system: pipeline sync, blockchain tree, p2p, database, etc.

This page tries to answer how to deal with the most popular issues.

## Database
Expand Down
4 changes: 2 additions & 2 deletions book/theme/head.hbs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<meta name="twitter:card" content="summary">
<meta property="og:title" content="Reth Book" />
<meta property="og:description" content="The Reth Book contains all information about using Reth as an infrastructure node operator." />
<meta name="twitter:image:src" content="https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-alpha.png" />
<meta property="og:image" content="https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-alpha.png" />
<meta name="twitter:image:src" content="https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-prod.png" />
<meta property="og:image" content="https://raw.githubusercontent.com/paradigmxyz/reth/main/assets/reth-prod.png" />

0 comments on commit 1bc9d8b

Please sign in to comment.