Skip to content

Commit

Permalink
Merge branch 'main' into kit/pbh-tx-life-cycle
Browse files Browse the repository at this point in the history
  • Loading branch information
0xOsiris authored Oct 31, 2024
2 parents 445ebf2 + 7ce1c25 commit 28b12bf
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 104 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

The World Chain Builder is a custom block builder for the OP Stack that provides Priority Blockspace for Humans (PBH). PBH enables verified World ID users to execute transactions with top of block priority, enabling a more frictionless user experience. This mechanism is designed to ensure that ordinary users aren’t unfairly disadvantaged by automated systems and greatly mitigates the impact of negative impacts of MEV. PBH also enables future flexibility, allowing for a separate EIP-1559-style fee market mechanism for verified transactions.


<div align="center">
<img src="assets/pbh-op-stack.png" alt="World Chain Builder Architecture" width="70%">
</div>
To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md) as well as [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans).
To learn more about how PBH works, check out the docs detailing [the PBH Transaction Lifecycle](world-chain-builder/docs/pbh_tx_lifecycle.md), [World's blog post covering World Chain's builder architecture](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans), and [the PBH architecture](world-chain-builder/docs/pbh_architecture.md).


<!-- ## Installing -->
Expand Down
103 changes: 0 additions & 103 deletions world-chain-builder/docs/README.md

This file was deleted.

20 changes: 20 additions & 0 deletions world-chain-builder/docs/pbh_architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
### Network
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. Attest to the integrity of the Block Proposed by the Builder.
2. 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).

0 comments on commit 28b12bf

Please sign in to comment.