-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
42 additions
and
0 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
## Netowrk | ||
World Chain is a [Optimistic Rollup](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) on Ethereum. World Chain functions at the Consensus layer identically to that of Optimism, and other optimistic rollups. But differs at the execution layer in a couple ways. | ||
|
||
In a traditional Optimistic Rollup the _Sequencer_ acts as the sole participant that proposes new blocks. | ||
|
||
On World Chain we have two possible block proposers: | ||
|
||
1. `world-chain-builder` - Custom Ordering Policy | ||
2. _sequencer_ - An `op-geth` client constructing blocks with a canonical ordering policy. | ||
|
||
The `world-chain-builder` is the favored proposer in the network. Meaning if the builder produces a valid block the builders block will always be accepted by the network over the sequencers block. | ||
|
||
The sequencer has two jobs: | ||
|
||
1. Validate the Block Proposed by the Builder. | ||
2. A fallback such that if the builder produces an invalid payload, times out, or otherwise - The chain still moves forward. | ||
|
||
Two proposers on the network sequencing blocks is made possible by utilizing an [engine api](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) proxy server multiplexing engine api calls from the consensus layer to both the _sequencer_, and the builder in parallel. We currently use [rollup-boost](https://github.com/flashbots/rollup-boost/tree/main) for this purpose. | ||
|
||
For a deep dive into rollup-boost checkout the [design spec](https://github.com/ethereum-optimism/design-docs/blob/main/protocol/external-block-production.md). | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
## World Chain Builder | ||
|
||
This document is intended to outline at a high level the lifecycle of a PBH Transaction within the `world-chain-builder` as well as the different components involved that make PBH possible within a optimistic rollup. | ||
|
||
### Overview | ||
|
||
The `world-chain-builder` is a custom block builder integrated with [world-id](https://world.org/world-id) which implements _Priority Blockspace for Humans (PBH)_. | ||
|
||
The builder defines a custom transaction envelope for PBH transactions while retaining backwards compatibility with standard [EIP 2718 transaction envelope](https://eips.ethereum.org/EIPS/eip-2718). This customn transaction envelope holds a [world-id](https://world.org/world-id) semaphore proof allowing the builder to verify _proof of personhood_ associated with the transaction. | ||
|
||
A detailed outline of the PBH transaction envelope can be found [here](PbhEnvelope.md). | ||
|
||
This custom transaction envelope enables a custom ordering policy during block construction that disjoins the fee markets between orb verified humans, and all other transactions on the network. This significantly mitigates the negative extranalities of Mev, and optimizes time of inclusion for verified humans on world-chain. | ||
|
||
### Appendix | ||
[World Chain Network](Network.md) | ||
|
||
[PBH Transaction Envelope](Envelope.md) | ||
|
||
[Creating Human Verified Transactions](../crates/toolkit/README.md) |