---
title: "Block Building Without Auctions"
url: "/updates/block-building-without-auctions/index.md"
date: "2025-06-25"
---
PBS was supposed to decentralize block production. Instead, [two builders controlled over 80% of Ethereum blocks](https://mevboost.pics/).

The problem isn't the builders—it's the auction. When block rights go to the highest bidder, capital wins. The same well-funded players win every time. Latency games compound the advantage. Complexity creates barriers. The market consolidates.

What if block production didn't require winning an auction?

Signet replaces block auctions with **round-robin rotation**. Each builder gets their slot. No bidding. No latency wars. No capital requirements. Your turn comes, you build a block.

## Auctions vs Rotation

![pbs-vs-round-robin.png](pbs-vs-round-robin.png)

**PBS auctions** optimize for extraction. The builder who extracts the most value can afford the highest bid. This creates a feedback loop: more extraction → more capital → more wins → more extraction.

**Round-robin rotation** optimizes for participation. Every builder gets equal opportunity. The optimization target shifts from "win the auction" to "build a good block."

> **The Simplicity Advantage:** Auctions are complex: bid calculation, relay coordination, timing games. Rotation is simple: wait for your slot, build your block. Complexity favors incumbents. Simplicity enables competition.

## How Rotation Works

Each builder operates within a 12-second window synchronized with Ethereum:

![timing-architecture.png](timing-architecture.png)

**Slot structure:**
- **8 seconds**: Builder's active window
- **2 seconds**: Buffer before (handoff from previous builder)
- **2 seconds**: Buffer after (handoff to next builder)

During your 8-second window:
1. Access the private bundle cache
2. Request sequencer signature
3. Submit block to Ethereum

Outside your window: 403 errors. The [`signet-tx-cache`](https://github.com/init4tech/signet-sdk/tree/main/crates/tx-cache) authentication layer enforces rotation.

### No Latency Games

PBS rewards millisecond optimization. Builders invest in co-located infrastructure, custom networking, and timing attacks. The fastest bid wins—even if it's only microseconds faster.

Signet's 8-second window eliminates this. You have 8 full seconds to build the best block you can. No race. No timing advantage. Standard infrastructure works fine.

| Metric | PBS | Round Robin |
|--------|-----|-------------|
| Block timing | ~12s (variable) | 12s (fixed) |
| Competition | Auction-based | Slot-based |
| Predictability | Variable by bid | Guaranteed in slot |
| Infrastructure | Low-latency critical | Standard sufficient |

## Blind Signing

The sequencer co-signs blocks without seeing their contents:

![sequencer-design.png](sequencer-design.png)

Signet's `SignRequest` includes only the block hash—not transactions. The sequencer validates builder identity and timing, then signs. This design prevents content-based censorship while maintaining accountability.

```
Builder → SignRequest(block_hash) → Sequencer
Sequencer validates: Is this builder? Is it their slot?
Sequencer → SignResponse(signature) → Builder
```

The sequencer never sees what's in the block. Censorship resistance through protocol design, not social consensus.

## Builder Workflow

### 1. Collect Transactions

```bash
# Public transactions (always accessible)
GET https://transactions.parmigiana.signet.sh/get

# Private bundles (only during your slot)
GET https://transactions.parmigiana.signet.sh/get-bundles
```

![collect-tx.png](collect-tx.png)

The bundle cache authenticates every request. Wrong slot = no access.

### 2. Simulate Execution

![sim-execution.png](sim-execution.png)

Use `signet_callBundle` to validate conditional transactions:

```rust
let response: SignetCallBundleResponse = provider
    .client()
    .request("signet_callBundle", (bundle,))
    .await?;
// Returns: bundle_hash, total_gas_used, orders, fills
```

Orders with `host_fills` require Ethereum actions to execute atomically. The `OrderDetector` enforces cross-chain atomicity within the EVM.

### 3. Request Co-Signature

![req-cosig.png](req-cosig.png)

Submit your block hash. Receive the sequencer's signature. No negotiation.

### 4. Submit to Ethereum

![sub-to-ethereum.png](sub-to-ethereum.png)

The [`Zenith::BlockHeader`](https://docs.rs/zenith-types/latest/zenith_types/Zenith/struct.BlockHeader.html) type and blob sidecar handle transaction encoding for block submission. Cross-chain operations use multi-call:

1. `submitBlock` on Zenith contract
2. `fillPermit2` on Orders contract

Use private relays for cross-chain bundles.

## Builder Economics

PBS forces builders to optimize competing constraints:

- **Transaction selection**: Compute-intensive simulation
- **Auction timing**: Millisecond-sensitive bidding

Time spent simulating reduces auction competitiveness. Builders choose between thorough analysis and timely bids.

Round-robin changes the equation:

**PBS workflow**: Simulate → Calculate bid → Submit to relays → Hope to win

**Round-robin workflow**: Wait for slot → Access bundles → Get signature → Submit block

![block-builder-comparison.png](block-builder-comparison.png)

**Resource allocation shifts:**
- Full compute budget for transaction selection
- No bid calculation overhead
- No timing optimization required
- Standard infrastructure sufficient

**Predictable outcomes:**
- Revenue: Internalized MEV without bidding costs
- Block allocation: 7,200 daily blocks ÷ number of builders
- Primary optimization: Transaction selection quality

Builders address their actual constraint—computational efficiency—without sacrificing inclusion probability.

## Trade-offs

Round-robin has different trade-offs than PBS:

**What you gain:**
- Predictable block allocation
- No capital requirements
- No latency infrastructure
- Full simulation time

**What you accept:**
- **No "optimal" extraction**: PBS auctions theoretically maximize MEV extraction. Round-robin prioritizes fairness over extraction efficiency.
- **Builder set is permissioned**: Joining rotation requires approval (for now). This is a centralization vector we're working to address.
- **Lazy builder risk**: A builder could submit empty blocks during their slot. Economic incentives (missed fees) mitigate this, but it's possible.

> **Honest Assessment:** PBS optimizes for total value extraction. Round-robin optimizes for builder diversity and participation. If your goal is maximum MEV extraction, PBS wins. If your goal is a healthier builder market, rotation wins.

## Why This Matters

![round-robin-approach.png](round-robin-approach.png)

Block production is infrastructure. Infrastructure should be accessible. When two builders control 80% of blocks, the infrastructure is captured.

Round-robin doesn't eliminate MEV—builders still capture value from transaction ordering. But it distributes the opportunity. More builders can participate. The market is less captured.

## Extensibility

The base protocol provides:
- Atomic execution
- Fair inclusion
- Instant settlement

Builders can add services on top:
- Preconfirmation mechanisms
- Application-specific guarantees
- Custom ordering preferences

Complexity remains optional.

## Get Started

**SDK components:**
- [`signet-bundle`](https://github.com/init4tech/signet-sdk/tree/main/crates/bundle): Bundle simulation and construction
- [`zenith-types`](https://docs.rs/zenith-types/latest/zenith_types/): Core types including [`SignRequest`](https://docs.rs/zenith-types/latest/zenith_types/struct.SignRequest.html)/[`SignResponse`](https://docs.rs/zenith-types/latest/zenith_types/struct.SignResponse.html)
- [`signet-tx-cache`](https://github.com/init4tech/signet-sdk/tree/main/crates/tx-cache): Transaction cache client
- [`signet-zenith`](https://docs.rs/signet-zenith/latest/signet_zenith/): Block submission and Zenith contract bindings

**Integration path:**
1. **Register**: [Get in touch](https://t.me/anthspezzano) to join the builder set
2. **Authenticate**: Set up API credentials
3. **Test**: Use staging environment
4. **Deploy**: Join rotation on Parmigiana testnet

Questions? [Reach out](https://t.me/anthspezzano).
