Move blocktree-oriented diagram out of proposals
This commit is contained in:
@ -1,30 +0,0 @@
|
||||
.----------------------------------.
|
||||
| Fullnode |
|
||||
| |
|
||||
.--------. | .------------------. |
|
||||
| |---->| | |
|
||||
| Client | | | JSON RPC Service | |
|
||||
| |<----| | |
|
||||
`----+---` | `------------------` |
|
||||
| | ^ |
|
||||
| | | .----------------. | .------------------.
|
||||
| | | | Gossip Service |<-------| Validators |
|
||||
| | | `----------------` | | |
|
||||
| | | ^ | | |
|
||||
| | | | | | .------------. |
|
||||
| | .--+---. .--+---. .---------. | | | | |
|
||||
| | | Bank |<-|Replay| |BlobFetch|<-----+ Upstream | |
|
||||
| | | Forks| |Stage | | Stage | | | | Validators | |
|
||||
| | `------` `------` `-+-------` | | | | |
|
||||
| | ^ ^ | | | `------------` |
|
||||
| | | | v | | |
|
||||
| | | .-+-------. | | |
|
||||
| | | |Blocktree| | | |
|
||||
| | | `---------` | | .------------. |
|
||||
| | | ^ | | | | |
|
||||
| | | | | | | Downstream | |
|
||||
| | .--+--. .-------+---. | | | Validators | |
|
||||
`-------->| TPU +-->| Broadcast +------------->| | |
|
||||
| `-----` | Service | | | `------------` |
|
||||
| `-----------` | `------------------`
|
||||
`----------------------------------`
|
@ -1,27 +1,30 @@
|
||||
.---------------------------.
|
||||
| Fullnode |
|
||||
| |
|
||||
.--------. | .------------------. |
|
||||
| |---->| | |
|
||||
| Client | | | JSON RPC Service | |
|
||||
| |<----| | |
|
||||
`----+---` | `------------------` |
|
||||
| | ^ | .------------------.
|
||||
| | | .----------------. | | Validators |
|
||||
| | | | Gossip Service +----->| |
|
||||
| | | `--------+-------` | | .------------. |
|
||||
| | | ^ | | | | | |
|
||||
| | | | v | | | Upstream | |
|
||||
| | .--+---. .-+---. | | | Validators | |
|
||||
| | | Bank |<--| TVU |<--------------+ | |
|
||||
| | `------` `-----` | | `------------` |
|
||||
| | ^ | | |
|
||||
| | | | | .------------. |
|
||||
| | .--+--. .-----------. | | | | |
|
||||
`-------->| TPU +-->| Broadcast +--------->| Downstream | |
|
||||
| `-----` | Service | | | | Validators | |
|
||||
| `-----------` | | | | |
|
||||
| | | `------------` |
|
||||
`---------------------------` | |
|
||||
`------------------`
|
||||
|
||||
.--------------------------------------.
|
||||
| Fullnodee |
|
||||
| |
|
||||
.--------. | .-------------------. |
|
||||
| |---->| | |
|
||||
| Client | | | JSON RPC SService | |
|
||||
| |<----| | |
|
||||
`----+---` | `-------------------` |
|
||||
| | ^ |
|
||||
| | | .----------------. | .------------------.
|
||||
| | | | Gossip Service |<----------| Validators |
|
||||
| | | `----------------` | | |
|
||||
| | | ^ | | |
|
||||
| | | | | | .------------. |
|
||||
| | .---+---. .----+---. .-----------. | | | | |
|
||||
| | | Bank |<-+ Replay | | BlobFetch |<------+ Upstream | |
|
||||
| | | Forks | | Stage | | Stage | | | | Validators | |
|
||||
| | `-------` `--------` `--+--------` | | | | |
|
||||
| | ^ ^ | | | `------------` |
|
||||
| | | | v | | |
|
||||
| | | .--+--------. | | |
|
||||
| | | | Blocktree | | | |
|
||||
| | | `-----------` | | .------------. |
|
||||
| | | ^ | | | | |
|
||||
| | | | | | | Downstream | |
|
||||
| | .--+--. .-------+---. | | | Validators | |
|
||||
`-------->| TPU +---->| Broadcast +--------------->| | |
|
||||
| `-----` | Service | | | `------------` |
|
||||
| `-----------` | `------------------`
|
||||
`--------------------------------------`
|
||||
|
@ -37,7 +37,6 @@
|
||||
- [Data Plane Fanout](data-plane-fanout.md)
|
||||
- [Reliable Vote Transmission](reliable-vote-transmission.md)
|
||||
- [Bank Forks](bank-forks.md)
|
||||
- [Blocktree Validation](fullnode-with-ledger-notifications.md)
|
||||
- [Cluster Economics](ed_overview.md)
|
||||
- [Validation-client Economics](ed_validation_client_economics.md)
|
||||
- [State-validation Protocol-based Rewards](ed_vce_state_validation_protocol_based_rewards.md)
|
||||
|
@ -1,35 +0,0 @@
|
||||
# Fullnode
|
||||
|
||||
This document proposes the following architecture changes to fullnode pipeline.
|
||||
|
||||
## Current Architecture
|
||||
<img alt="Fullnode block diagrams" src="img/fullnode.svg" class="center"/>
|
||||
|
||||
## Proposal
|
||||
<img alt="Fullnode block diagrams" src="img/fullnode-proposal.svg" class="center"/>
|
||||
|
||||
## Background
|
||||
|
||||
In the old architecture, the ReplayStage receives entries from the RetransmitStage,
|
||||
processes them and writes to the ledger.
|
||||
|
||||
In the current code, the ledger write operation has been moved out of the ReplayStage.
|
||||
If the fullnode is running with a TPU, the Broadcast Service writes to the ledger.
|
||||
The Retransmit Stage receives entries from peer fullnodes and also writes to the ledger.
|
||||
|
||||
The ledger notifies the ReplayStage whenever some entity writes to it. The
|
||||
ReplayStage reads from the ledger, processes the entries in the bank and submits
|
||||
the votes.
|
||||
|
||||
In old architecture, the RetransmitStage and ReplayStage are contained in the TVU.
|
||||
|
||||
## Changes
|
||||
|
||||
This document proposes the following change to the architecture.
|
||||
|
||||
1. Split TVU into BlobFetchStage, and ReplayStage
|
||||
2. Add Blocktree (ledger) to the diagram
|
||||
3. The Blocktree is updated by Broadcast Service and BlobFetchStage
|
||||
4. Replay Stage gets notified by Blocktree when someone writes to it
|
||||
5. Replay Stage submits votes via Gossip Service
|
||||
6. Replace Bank with BankForks
|
Reference in New Issue
Block a user