From 068f9a7e60edee10136d43df993e000d632430d9 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Tue, 8 Oct 2019 23:35:36 +0000 Subject: [PATCH] GitBook: [v0.19] 13 pages and 55 assets modified --- book/src/.gitbook/assets/data-plane (4).svg | 192 +++++++ book/src/.gitbook/assets/data-plane (5).svg | 210 +++++++ book/src/.gitbook/assets/data-plane-3.svg | 192 +++++++ .../.gitbook/assets/data-plane-fanout (2).svg | 98 ++-- .../.gitbook/assets/data-plane-fanout (4).svg | 183 +++++++ .../.gitbook/assets/data-plane-fanout (5).svg | 183 +++++++ .../.gitbook/assets/data-plane-fanout-3.svg | 183 +++++++ .../assets/data-plane-neighborhood (1).svg | 98 ++-- .../assets/data-plane-neighborhood (4).svg | 322 +++++++++++ .../assets/data-plane-neighborhood (5).svg | 322 +++++++++++ .../assets/data-plane-neighborhood-3.svg | 322 +++++++++++ .../assets/data-plane-seeding (3).svg | 98 ++-- .../assets/data-plane-seeding (4).svg | 138 +++++ .../assets/data-plane-seeding (5).svg | 138 +++++ .../.gitbook/assets/fork-generation (4).svg | 348 ++++++++++++ .../.gitbook/assets/fork-generation (5).svg | 330 +++++++++++ .../src/.gitbook/assets/fork-generation-3.svg | 330 +++++++++++ book/src/.gitbook/assets/forks (2).svg | 98 ++-- book/src/.gitbook/assets/forks (4).svg | 122 +++++ book/src/.gitbook/assets/forks (5).svg | 122 +++++ book/src/.gitbook/assets/forks-pruned (4).svg | 92 ++++ book/src/.gitbook/assets/forks-pruned (5).svg | 92 ++++ book/src/.gitbook/assets/forks-pruned-3.svg | 92 ++++ book/src/.gitbook/assets/forks-pruned.svg | 98 ++-- .../src/.gitbook/assets/forks-pruned2 (4).svg | 110 ++++ .../src/.gitbook/assets/forks-pruned2 (5).svg | 92 ++++ book/src/.gitbook/assets/forks-pruned2-1.svg | 92 ++++ book/src/.gitbook/assets/forks.svg | 98 ++-- .../assets/passive-staking-callflow (4).svg | 238 ++++++++ .../assets/passive-staking-callflow (5).svg | 238 ++++++++ .../assets/passive-staking-callflow (6).svg | 238 ++++++++ .../assets/passive-staking-callflow (7).svg | 238 ++++++++ .../assets/passive-staking-callflow-3 (1).svg | 238 ++++++++ .../assets/passive-staking-callflow-3.svg | 238 ++++++++ book/src/.gitbook/assets/runtime (4).svg | 364 +++++++++++++ book/src/.gitbook/assets/runtime (5).svg | 346 ++++++++++++ book/src/.gitbook/assets/sdk-tools (2).svg | 158 +++--- book/src/.gitbook/assets/sdk-tools (4).svg | 237 ++++++++ book/src/.gitbook/assets/sdk-tools (5).svg | 237 ++++++++ .../.gitbook/assets/spv-bank-merkle (3).svg | 98 ++-- .../.gitbook/assets/spv-bank-merkle (4).svg | 163 ++++++ .../.gitbook/assets/spv-bank-merkle (5).svg | 163 ++++++ .../src/.gitbook/assets/spv-bank-merkle-3.svg | 163 ++++++ .../.gitbook/assets/spv-block-merkle (2).svg | 98 ++-- .../.gitbook/assets/spv-block-merkle (4).svg | 203 +++++++ .../.gitbook/assets/spv-block-merkle (5).svg | 203 +++++++ book/src/.gitbook/assets/tpu (3).svg | 312 +++++++++++ book/src/.gitbook/assets/tpu (4).svg | 312 +++++++++++ book/src/.gitbook/assets/tpu.svg | 170 +++--- book/src/.gitbook/assets/validator (1).svg | 204 +++---- book/src/.gitbook/assets/validator (3).svg | 456 ++++++++++++++++ book/src/.gitbook/assets/validator (4).svg | 456 ++++++++++++++++ .../assets/validator-proposal (4).svg | 496 +++++++++++++++++ .../assets/validator-proposal (5).svg | 514 ++++++++++++++++++ .../.gitbook/assets/validator-proposal-1.svg | 496 +++++++++++++++++ book/src/cluster/fork-generation.md | 2 +- book/src/cluster/managing-forks.md | 4 +- .../cluster/stake-delegation-and-rewards.md | 2 +- book/src/cluster/turbine-block-propagation.md | 8 +- .../passive-stake-delegation-and-rewards.md | 2 +- book/src/programs/README.md | 2 +- ...state_validation_protocol_based_rewards.md | 6 +- .../simple-payment-and-state-verification.md | 4 +- book/src/proposals/validator-proposal.md | 2 +- book/src/running-validator/validator-info.md | 3 +- .../running-validator/validator-software.md | 1 + book/src/validator/runtime.md | 2 +- book/src/validator/tvu/README.md | 2 +- 68 files changed, 11534 insertions(+), 578 deletions(-) create mode 100644 book/src/.gitbook/assets/data-plane (4).svg create mode 100644 book/src/.gitbook/assets/data-plane (5).svg create mode 100644 book/src/.gitbook/assets/data-plane-3.svg create mode 100644 book/src/.gitbook/assets/data-plane-fanout (4).svg create mode 100644 book/src/.gitbook/assets/data-plane-fanout (5).svg create mode 100644 book/src/.gitbook/assets/data-plane-fanout-3.svg create mode 100644 book/src/.gitbook/assets/data-plane-neighborhood (4).svg create mode 100644 book/src/.gitbook/assets/data-plane-neighborhood (5).svg create mode 100644 book/src/.gitbook/assets/data-plane-neighborhood-3.svg create mode 100644 book/src/.gitbook/assets/data-plane-seeding (4).svg create mode 100644 book/src/.gitbook/assets/data-plane-seeding (5).svg create mode 100644 book/src/.gitbook/assets/fork-generation (4).svg create mode 100644 book/src/.gitbook/assets/fork-generation (5).svg create mode 100644 book/src/.gitbook/assets/fork-generation-3.svg create mode 100644 book/src/.gitbook/assets/forks (4).svg create mode 100644 book/src/.gitbook/assets/forks (5).svg create mode 100644 book/src/.gitbook/assets/forks-pruned (4).svg create mode 100644 book/src/.gitbook/assets/forks-pruned (5).svg create mode 100644 book/src/.gitbook/assets/forks-pruned-3.svg create mode 100644 book/src/.gitbook/assets/forks-pruned2 (4).svg create mode 100644 book/src/.gitbook/assets/forks-pruned2 (5).svg create mode 100644 book/src/.gitbook/assets/forks-pruned2-1.svg create mode 100644 book/src/.gitbook/assets/passive-staking-callflow (4).svg create mode 100644 book/src/.gitbook/assets/passive-staking-callflow (5).svg create mode 100644 book/src/.gitbook/assets/passive-staking-callflow (6).svg create mode 100644 book/src/.gitbook/assets/passive-staking-callflow (7).svg create mode 100644 book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg create mode 100644 book/src/.gitbook/assets/passive-staking-callflow-3.svg create mode 100644 book/src/.gitbook/assets/runtime (4).svg create mode 100644 book/src/.gitbook/assets/runtime (5).svg create mode 100644 book/src/.gitbook/assets/sdk-tools (4).svg create mode 100644 book/src/.gitbook/assets/sdk-tools (5).svg create mode 100644 book/src/.gitbook/assets/spv-bank-merkle (4).svg create mode 100644 book/src/.gitbook/assets/spv-bank-merkle (5).svg create mode 100644 book/src/.gitbook/assets/spv-bank-merkle-3.svg create mode 100644 book/src/.gitbook/assets/spv-block-merkle (4).svg create mode 100644 book/src/.gitbook/assets/spv-block-merkle (5).svg create mode 100644 book/src/.gitbook/assets/tpu (3).svg create mode 100644 book/src/.gitbook/assets/tpu (4).svg create mode 100644 book/src/.gitbook/assets/validator (3).svg create mode 100644 book/src/.gitbook/assets/validator (4).svg create mode 100644 book/src/.gitbook/assets/validator-proposal (4).svg create mode 100644 book/src/.gitbook/assets/validator-proposal (5).svg create mode 100644 book/src/.gitbook/assets/validator-proposal-1.svg diff --git a/book/src/.gitbook/assets/data-plane (4).svg b/book/src/.gitbook/assets/data-plane (4).svg new file mode 100644 index 0000000000..5a33b8bf6e --- /dev/null +++ b/book/src/.gitbook/assets/data-plane (4).svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighborhood + + + + +3 + + + + +Neighborhood + + + + +Neighborhood + + + + +1 + + + + +Neighborhood + + + + +4 + + + + +0 + + + + +Neighborhood + + + + +Neighborhood + + + + +5 + + + + +2 + + + + +Neighborhood + + + + +6 + + + diff --git a/book/src/.gitbook/assets/data-plane (5).svg b/book/src/.gitbook/assets/data-plane (5).svg new file mode 100644 index 0000000000..5fa566eebd --- /dev/null +++ b/book/src/.gitbook/assets/data-plane (5).svg @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighborhood + + + + +3 + + + + +Neighborhood + + + + +Neighborhood + + + + +1 + + + + +Neighborhood + + + + +4 + + + + +0 + + + + +Neighborhood + + + + +Neighborhood + + + + +5 + + + + +2 + + + + +Neighborhood + + + + +6 + + + diff --git a/book/src/.gitbook/assets/data-plane-3.svg b/book/src/.gitbook/assets/data-plane-3.svg new file mode 100644 index 0000000000..5a33b8bf6e --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-3.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighborhood + + + + +3 + + + + +Neighborhood + + + + +Neighborhood + + + + +1 + + + + +Neighborhood + + + + +4 + + + + +0 + + + + +Neighborhood + + + + +Neighborhood + + + + +5 + + + + +2 + + + + +Neighborhood + + + + +6 + + + diff --git a/book/src/.gitbook/assets/data-plane-fanout (2).svg b/book/src/.gitbook/assets/data-plane-fanout (2).svg index ad73f77ef0..6fa6b16010 100644 --- a/book/src/.gitbook/assets/data-plane-fanout (2).svg +++ b/book/src/.gitbook/assets/data-plane-fanout (2).svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/data-plane-fanout (4).svg b/book/src/.gitbook/assets/data-plane-fanout (4).svg new file mode 100644 index 0000000000..ad73f77ef0 --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-fanout (4).svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighborhood + + + + +Validator + + + + +1 + + + + +1 + + + + +Neighborhood + + + + +0 + + + + +Neighborhood + + + + +Validator + + + + +2 + + + + +2 + + + diff --git a/book/src/.gitbook/assets/data-plane-fanout (5).svg b/book/src/.gitbook/assets/data-plane-fanout (5).svg new file mode 100644 index 0000000000..ad73f77ef0 --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-fanout (5).svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighborhood + + + + +Validator + + + + +1 + + + + +1 + + + + +Neighborhood + + + + +0 + + + + +Neighborhood + + + + +Validator + + + + +2 + + + + +2 + + + diff --git a/book/src/.gitbook/assets/data-plane-fanout-3.svg b/book/src/.gitbook/assets/data-plane-fanout-3.svg new file mode 100644 index 0000000000..ad73f77ef0 --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-fanout-3.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighborhood + + + + +Validator + + + + +1 + + + + +1 + + + + +Neighborhood + + + + +0 + + + + +Neighborhood + + + + +Validator + + + + +2 + + + + +2 + + + diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (1).svg b/book/src/.gitbook/assets/data-plane-neighborhood (1).svg index 1a7f080a31..f7a8b8182d 100644 --- a/book/src/.gitbook/assets/data-plane-neighborhood (1).svg +++ b/book/src/.gitbook/assets/data-plane-neighborhood (1).svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (4).svg b/book/src/.gitbook/assets/data-plane-neighborhood (4).svg new file mode 100644 index 0000000000..1a7f080a31 --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-neighborhood (4).svg @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighbor + + + + +Neighbor + + + + +1 + + + + +1 + + + + +Neighbor + + + + +Neighbor + + + + +Neighborhood + + + + +Neighborhood + + + + +2 + + + + +2 + + + + +Above + + + + +Below + + + + +Neighbor + + + + +Neighbor + + + + +3 + + + + +3 + + + + +Neighbor + + + + +Neighbor + + + + +4 + + + + +4 + + + diff --git a/book/src/.gitbook/assets/data-plane-neighborhood (5).svg b/book/src/.gitbook/assets/data-plane-neighborhood (5).svg new file mode 100644 index 0000000000..1a7f080a31 --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-neighborhood (5).svg @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighbor + + + + +Neighbor + + + + +1 + + + + +1 + + + + +Neighbor + + + + +Neighbor + + + + +Neighborhood + + + + +Neighborhood + + + + +2 + + + + +2 + + + + +Above + + + + +Below + + + + +Neighbor + + + + +Neighbor + + + + +3 + + + + +3 + + + + +Neighbor + + + + +Neighbor + + + + +4 + + + + +4 + + + diff --git a/book/src/.gitbook/assets/data-plane-neighborhood-3.svg b/book/src/.gitbook/assets/data-plane-neighborhood-3.svg new file mode 100644 index 0000000000..1a7f080a31 --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-neighborhood-3.svg @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Neighbor + + + + +Neighbor + + + + +1 + + + + +1 + + + + +Neighbor + + + + +Neighbor + + + + +Neighborhood + + + + +Neighborhood + + + + +2 + + + + +2 + + + + +Above + + + + +Below + + + + +Neighbor + + + + +Neighbor + + + + +3 + + + + +3 + + + + +Neighbor + + + + +Neighbor + + + + +4 + + + + +4 + + + diff --git a/book/src/.gitbook/assets/data-plane-seeding (3).svg b/book/src/.gitbook/assets/data-plane-seeding (3).svg index 765b53c93f..7286bd291a 100644 --- a/book/src/.gitbook/assets/data-plane-seeding (3).svg +++ b/book/src/.gitbook/assets/data-plane-seeding (3).svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/data-plane-seeding (4).svg b/book/src/.gitbook/assets/data-plane-seeding (4).svg new file mode 100644 index 0000000000..765b53c93f --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-seeding (4).svg @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Validator + + + + +1 + + + + +Neighborhood + + + + +Leader + + + + +0 + + + + +Validator + + + + +2 + + + diff --git a/book/src/.gitbook/assets/data-plane-seeding (5).svg b/book/src/.gitbook/assets/data-plane-seeding (5).svg new file mode 100644 index 0000000000..765b53c93f --- /dev/null +++ b/book/src/.gitbook/assets/data-plane-seeding (5).svg @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Validator + + + + +1 + + + + +Neighborhood + + + + +Leader + + + + +0 + + + + +Validator + + + + +2 + + + diff --git a/book/src/.gitbook/assets/fork-generation (4).svg b/book/src/.gitbook/assets/fork-generation (4).svg new file mode 100644 index 0000000000..096f643c15 --- /dev/null +++ b/book/src/.gitbook/assets/fork-generation (4).svg @@ -0,0 +1,348 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +time + + + + +L1 + + + + +L2 + + + + +L3 + + + + +L4 + + + + +L5 + + + + +x + + + + +xx + + + + +E3 + + + + +xx + + + + +E2 + + + + +E4 + + + + +xx + + + + +x + + + + +E5 + + + + +E1 + + + + +xx + + + + +E3' + + + + +xx + + + + +x + + + + +xx + + + + +xx + + + + +validator + + + + +vote(E1) + + + + +vote(E2) + + + + +slash(E3) + + + + +vote(E4) + + + + +hang + + + + +on + + + + +to + + + + +action + + + + +E4 + + + + +and + + + + +E5 + + + + +for + + + + +more... + + + diff --git a/book/src/.gitbook/assets/fork-generation (5).svg b/book/src/.gitbook/assets/fork-generation (5).svg new file mode 100644 index 0000000000..3d13d7549b --- /dev/null +++ b/book/src/.gitbook/assets/fork-generation (5).svg @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +time + + + + +L1 + + + + +L2 + + + + +L3 + + + + +L4 + + + + +L5 + + + + +x + + + + +xx + + + + +E3 + + + + +xx + + + + +E2 + + + + +E4 + + + + +xx + + + + +x + + + + +E5 + + + + +E1 + + + + +xx + + + + +E3' + + + + +xx + + + + +x + + + + +xx + + + + +xx + + + + +validator + + + + +vote(E1) + + + + +vote(E2) + + + + +slash(E3) + + + + +vote(E4) + + + + +hang + + + + +on + + + + +to + + + + +action + + + + +E4 + + + + +and + + + + +E5 + + + + +for + + + + +more... + + + diff --git a/book/src/.gitbook/assets/fork-generation-3.svg b/book/src/.gitbook/assets/fork-generation-3.svg new file mode 100644 index 0000000000..3d13d7549b --- /dev/null +++ b/book/src/.gitbook/assets/fork-generation-3.svg @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +time + + + + +L1 + + + + +L2 + + + + +L3 + + + + +L4 + + + + +L5 + + + + +x + + + + +xx + + + + +E3 + + + + +xx + + + + +E2 + + + + +E4 + + + + +xx + + + + +x + + + + +E5 + + + + +E1 + + + + +xx + + + + +E3' + + + + +xx + + + + +x + + + + +xx + + + + +xx + + + + +validator + + + + +vote(E1) + + + + +vote(E2) + + + + +slash(E3) + + + + +vote(E4) + + + + +hang + + + + +on + + + + +to + + + + +action + + + + +E4 + + + + +and + + + + +E5 + + + + +for + + + + +more... + + + diff --git a/book/src/.gitbook/assets/forks (2).svg b/book/src/.gitbook/assets/forks (2).svg index 725a73f5d3..e57f128fca 100644 --- a/book/src/.gitbook/assets/forks (2).svg +++ b/book/src/.gitbook/assets/forks (2).svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/forks (4).svg b/book/src/.gitbook/assets/forks (4).svg new file mode 100644 index 0000000000..725a73f5d3 --- /dev/null +++ b/book/src/.gitbook/assets/forks (4).svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 + + + + +1 + + + + +2 + + + + +4 + + + + +3 + + + + +6 + + + + +7 + + + diff --git a/book/src/.gitbook/assets/forks (5).svg b/book/src/.gitbook/assets/forks (5).svg new file mode 100644 index 0000000000..725a73f5d3 --- /dev/null +++ b/book/src/.gitbook/assets/forks (5).svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 + + + + +1 + + + + +2 + + + + +4 + + + + +3 + + + + +6 + + + + +7 + + + diff --git a/book/src/.gitbook/assets/forks-pruned (4).svg b/book/src/.gitbook/assets/forks-pruned (4).svg new file mode 100644 index 0000000000..5a8f41f21c --- /dev/null +++ b/book/src/.gitbook/assets/forks-pruned (4).svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 + + + + +1 + + + + +2 + + + + +4 + + + diff --git a/book/src/.gitbook/assets/forks-pruned (5).svg b/book/src/.gitbook/assets/forks-pruned (5).svg new file mode 100644 index 0000000000..5a8f41f21c --- /dev/null +++ b/book/src/.gitbook/assets/forks-pruned (5).svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 + + + + +1 + + + + +2 + + + + +4 + + + diff --git a/book/src/.gitbook/assets/forks-pruned-3.svg b/book/src/.gitbook/assets/forks-pruned-3.svg new file mode 100644 index 0000000000..5a8f41f21c --- /dev/null +++ b/book/src/.gitbook/assets/forks-pruned-3.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 + + + + +1 + + + + +2 + + + + +4 + + + diff --git a/book/src/.gitbook/assets/forks-pruned.svg b/book/src/.gitbook/assets/forks-pruned.svg index 5a8f41f21c..59819eb241 100644 --- a/book/src/.gitbook/assets/forks-pruned.svg +++ b/book/src/.gitbook/assets/forks-pruned.svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/forks-pruned2 (4).svg b/book/src/.gitbook/assets/forks-pruned2 (4).svg new file mode 100644 index 0000000000..a550b81728 --- /dev/null +++ b/book/src/.gitbook/assets/forks-pruned2 (4).svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + +3 + + + + +6 + + + + +7 + + + diff --git a/book/src/.gitbook/assets/forks-pruned2 (5).svg b/book/src/.gitbook/assets/forks-pruned2 (5).svg new file mode 100644 index 0000000000..f57f691d73 --- /dev/null +++ b/book/src/.gitbook/assets/forks-pruned2 (5).svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + +3 + + + + +6 + + + + +7 + + + diff --git a/book/src/.gitbook/assets/forks-pruned2-1.svg b/book/src/.gitbook/assets/forks-pruned2-1.svg new file mode 100644 index 0000000000..f57f691d73 --- /dev/null +++ b/book/src/.gitbook/assets/forks-pruned2-1.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + +3 + + + + +6 + + + + +7 + + + diff --git a/book/src/.gitbook/assets/forks.svg b/book/src/.gitbook/assets/forks.svg index 725a73f5d3..e57f128fca 100644 --- a/book/src/.gitbook/assets/forks.svg +++ b/book/src/.gitbook/assets/forks.svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/passive-staking-callflow (4).svg b/book/src/.gitbook/assets/passive-staking-callflow (4).svg new file mode 100644 index 0000000000..378686284a --- /dev/null +++ b/book/src/.gitbook/assets/passive-staking-callflow (4).svg @@ -0,0 +1,238 @@ + + + + + +VoteSigner + + + + +Validator + + + + +Cluster + + + + +StakerX + + + + +StakerY + + + + + + + + + + + + + + + + + + +boot.. + + + + + + + + + + + + +register + + + + + + + +(optional) + + + + + + + + + + +VoteState::Initialize(VoteSigner) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + + + + + + + + + + + + + +validate + + + + + + + + + + + + + + +sign(vote) + + + + + + + + + + +signed vote + + + + + + + + + + +gossip(vote) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +max + + + +lockout + + + + + + + + + + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + diff --git a/book/src/.gitbook/assets/passive-staking-callflow (5).svg b/book/src/.gitbook/assets/passive-staking-callflow (5).svg new file mode 100644 index 0000000000..378686284a --- /dev/null +++ b/book/src/.gitbook/assets/passive-staking-callflow (5).svg @@ -0,0 +1,238 @@ + + + + + +VoteSigner + + + + +Validator + + + + +Cluster + + + + +StakerX + + + + +StakerY + + + + + + + + + + + + + + + + + + +boot.. + + + + + + + + + + + + +register + + + + + + + +(optional) + + + + + + + + + + +VoteState::Initialize(VoteSigner) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + + + + + + + + + + + + + +validate + + + + + + + + + + + + + + +sign(vote) + + + + + + + + + + +signed vote + + + + + + + + + + +gossip(vote) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +max + + + +lockout + + + + + + + + + + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + diff --git a/book/src/.gitbook/assets/passive-staking-callflow (6).svg b/book/src/.gitbook/assets/passive-staking-callflow (6).svg new file mode 100644 index 0000000000..378686284a --- /dev/null +++ b/book/src/.gitbook/assets/passive-staking-callflow (6).svg @@ -0,0 +1,238 @@ + + + + + +VoteSigner + + + + +Validator + + + + +Cluster + + + + +StakerX + + + + +StakerY + + + + + + + + + + + + + + + + + + +boot.. + + + + + + + + + + + + +register + + + + + + + +(optional) + + + + + + + + + + +VoteState::Initialize(VoteSigner) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + + + + + + + + + + + + + +validate + + + + + + + + + + + + + + +sign(vote) + + + + + + + + + + +signed vote + + + + + + + + + + +gossip(vote) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +max + + + +lockout + + + + + + + + + + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + diff --git a/book/src/.gitbook/assets/passive-staking-callflow (7).svg b/book/src/.gitbook/assets/passive-staking-callflow (7).svg new file mode 100644 index 0000000000..378686284a --- /dev/null +++ b/book/src/.gitbook/assets/passive-staking-callflow (7).svg @@ -0,0 +1,238 @@ + + + + + +VoteSigner + + + + +Validator + + + + +Cluster + + + + +StakerX + + + + +StakerY + + + + + + + + + + + + + + + + + + +boot.. + + + + + + + + + + + + +register + + + + + + + +(optional) + + + + + + + + + + +VoteState::Initialize(VoteSigner) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + + + + + + + + + + + + + +validate + + + + + + + + + + + + + + +sign(vote) + + + + + + + + + + +signed vote + + + + + + + + + + +gossip(vote) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +max + + + +lockout + + + + + + + + + + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + diff --git a/book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg b/book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg new file mode 100644 index 0000000000..378686284a --- /dev/null +++ b/book/src/.gitbook/assets/passive-staking-callflow-3 (1).svg @@ -0,0 +1,238 @@ + + + + + +VoteSigner + + + + +Validator + + + + +Cluster + + + + +StakerX + + + + +StakerY + + + + + + + + + + + + + + + + + + +boot.. + + + + + + + + + + + + +register + + + + + + + +(optional) + + + + + + + + + + +VoteState::Initialize(VoteSigner) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + + + + + + + + + + + + + +validate + + + + + + + + + + + + + + +sign(vote) + + + + + + + + + + +signed vote + + + + + + + + + + +gossip(vote) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +max + + + +lockout + + + + + + + + + + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + diff --git a/book/src/.gitbook/assets/passive-staking-callflow-3.svg b/book/src/.gitbook/assets/passive-staking-callflow-3.svg new file mode 100644 index 0000000000..378686284a --- /dev/null +++ b/book/src/.gitbook/assets/passive-staking-callflow-3.svg @@ -0,0 +1,238 @@ + + + + + +VoteSigner + + + + +Validator + + + + +Cluster + + + + +StakerX + + + + +StakerY + + + + + + + + + + + + + + + + + + +boot.. + + + + + + + + + + + + +register + + + + + + + +(optional) + + + + + + + + + + +VoteState::Initialize(VoteSigner) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + +StakeState::Delegate(Validator) + + + + + + + + + + + + + + + + + + + + + + +validate + + + + + + + + + + + + + + +sign(vote) + + + + + + + + + + +signed vote + + + + + + + + + + +gossip(vote) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +max + + + +lockout + + + + + + + + + + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + + + + +StakeState::RedeemCredits() + + + + + + + diff --git a/book/src/.gitbook/assets/runtime (4).svg b/book/src/.gitbook/assets/runtime (4).svg new file mode 100644 index 0000000000..c2be790703 --- /dev/null +++ b/book/src/.gitbook/assets/runtime (4).svg @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PoH + + + + +verify + + + + +TVU + + + + +load + + + + +accounts + + + + +sigverify + + + + +execute + + + + +lock + + + + +PoH + + + + +accounts + + + + +TPU + + + + +record + + + + +validate + + + + +commit + + + + +accounts + + + + +fee + + + + +allocate + + + + +unlock + + + + +new + + + + +accounts + + + + +accounts + + + diff --git a/book/src/.gitbook/assets/runtime (5).svg b/book/src/.gitbook/assets/runtime (5).svg new file mode 100644 index 0000000000..0a9b8289b2 --- /dev/null +++ b/book/src/.gitbook/assets/runtime (5).svg @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PoH + + + + +verify + + + + +TVU + + + + +load + + + + +accounts + + + + +sigverify + + + + +execute + + + + +lock + + + + +PoH + + + + +accounts + + + + +TPU + + + + +record + + + + +validate + + + + +commit + + + + +accounts + + + + +fee + + + + +allocate + + + + +unlock + + + + +new + + + + +accounts + + + + +accounts + + + diff --git a/book/src/.gitbook/assets/sdk-tools (2).svg b/book/src/.gitbook/assets/sdk-tools (2).svg index 629a3feaa3..8903c46700 100644 --- a/book/src/.gitbook/assets/sdk-tools (2).svg +++ b/book/src/.gitbook/assets/sdk-tools (2).svg @@ -1,74 +1,92 @@ - + - + - + - + - + - + - + - - + + - + - + @@ -76,16 +94,16 @@ - - + + - + - + @@ -95,55 +113,55 @@ - + - + - + - + - - + + - - + + - + - + - - + + - + - + @@ -157,29 +175,29 @@ - - + + - - + + - + - + - + - + diff --git a/book/src/.gitbook/assets/sdk-tools (4).svg b/book/src/.gitbook/assets/sdk-tools (4).svg new file mode 100644 index 0000000000..629a3feaa3 --- /dev/null +++ b/book/src/.gitbook/assets/sdk-tools (4).svg @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Verifier + + + + +Loader + + + + +Solana + + + + +LoadAccounts + + + + +Runtime + + + + +Interpreter + + + + +Accounts + + + diff --git a/book/src/.gitbook/assets/sdk-tools (5).svg b/book/src/.gitbook/assets/sdk-tools (5).svg new file mode 100644 index 0000000000..629a3feaa3 --- /dev/null +++ b/book/src/.gitbook/assets/sdk-tools (5).svg @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Verifier + + + + +Loader + + + + +Solana + + + + +LoadAccounts + + + + +Runtime + + + + +Interpreter + + + + +Accounts + + + diff --git a/book/src/.gitbook/assets/spv-bank-merkle (3).svg b/book/src/.gitbook/assets/spv-bank-merkle (3).svg index a07908d17e..3962b10807 100644 --- a/book/src/.gitbook/assets/spv-bank-merkle (3).svg +++ b/book/src/.gitbook/assets/spv-bank-merkle (3).svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/spv-bank-merkle (4).svg b/book/src/.gitbook/assets/spv-bank-merkle (4).svg new file mode 100644 index 0000000000..a07908d17e --- /dev/null +++ b/book/src/.gitbook/assets/spv-bank-merkle (4).svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hash(Account1) + + + + +Bank-Diff-Merkle + + + + +Hash + + + + +Hash(Account2) + + + + +Previous + + + + +Bank-Merkle + + + + +Bank-Diff-Merkle + + + + +Block-Merkle + + + diff --git a/book/src/.gitbook/assets/spv-bank-merkle (5).svg b/book/src/.gitbook/assets/spv-bank-merkle (5).svg new file mode 100644 index 0000000000..a07908d17e --- /dev/null +++ b/book/src/.gitbook/assets/spv-bank-merkle (5).svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hash(Account1) + + + + +Bank-Diff-Merkle + + + + +Hash + + + + +Hash(Account2) + + + + +Previous + + + + +Bank-Merkle + + + + +Bank-Diff-Merkle + + + + +Block-Merkle + + + diff --git a/book/src/.gitbook/assets/spv-bank-merkle-3.svg b/book/src/.gitbook/assets/spv-bank-merkle-3.svg new file mode 100644 index 0000000000..a07908d17e --- /dev/null +++ b/book/src/.gitbook/assets/spv-bank-merkle-3.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hash(Account1) + + + + +Bank-Diff-Merkle + + + + +Hash + + + + +Hash(Account2) + + + + +Previous + + + + +Bank-Merkle + + + + +Bank-Diff-Merkle + + + + +Block-Merkle + + + diff --git a/book/src/.gitbook/assets/spv-block-merkle (2).svg b/book/src/.gitbook/assets/spv-block-merkle (2).svg index 18ea80cadd..9d5805ca28 100644 --- a/book/src/.gitbook/assets/spv-block-merkle (2).svg +++ b/book/src/.gitbook/assets/spv-block-merkle (2).svg @@ -1,62 +1,80 @@ - + - + - + - + - + - + - + diff --git a/book/src/.gitbook/assets/spv-block-merkle (4).svg b/book/src/.gitbook/assets/spv-block-merkle (4).svg new file mode 100644 index 0000000000..18ea80cadd --- /dev/null +++ b/book/src/.gitbook/assets/spv-block-merkle (4).svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hash(T1, + + + + +status) + + + + +Hash + + + + +Entry-Merkle + + + + +Hash(T2, + + + + +status) + + + + +Block-Merkle + + + + +Hash(T3, + + + + +Entry-Merkle + + + + +status) + + + + +Hash + + + + +0 + + + diff --git a/book/src/.gitbook/assets/spv-block-merkle (5).svg b/book/src/.gitbook/assets/spv-block-merkle (5).svg new file mode 100644 index 0000000000..18ea80cadd --- /dev/null +++ b/book/src/.gitbook/assets/spv-block-merkle (5).svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hash(T1, + + + + +status) + + + + +Hash + + + + +Entry-Merkle + + + + +Hash(T2, + + + + +status) + + + + +Block-Merkle + + + + +Hash(T3, + + + + +Entry-Merkle + + + + +status) + + + + +Hash + + + + +0 + + + diff --git a/book/src/.gitbook/assets/tpu (3).svg b/book/src/.gitbook/assets/tpu (3).svg new file mode 100644 index 0000000000..1de96c7927 --- /dev/null +++ b/book/src/.gitbook/assets/tpu (3).svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Clients + + + + +TPU + + + + +Fetch + + + + +Stage + + + + +SigVerify + + + + +Stage + + + + +PoH + + + + +Banking + + + + +Stage + + + + +Service + + + + +Bank + + + + +Broadcast + + + + +Stage + + + + +Downstream + + + + +Validators + + + diff --git a/book/src/.gitbook/assets/tpu (4).svg b/book/src/.gitbook/assets/tpu (4).svg new file mode 100644 index 0000000000..1de96c7927 --- /dev/null +++ b/book/src/.gitbook/assets/tpu (4).svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Clients + + + + +TPU + + + + +Fetch + + + + +Stage + + + + +SigVerify + + + + +Stage + + + + +PoH + + + + +Banking + + + + +Stage + + + + +Service + + + + +Bank + + + + +Broadcast + + + + +Stage + + + + +Downstream + + + + +Validators + + + diff --git a/book/src/.gitbook/assets/tpu.svg b/book/src/.gitbook/assets/tpu.svg index 1de96c7927..633ea5eb95 100644 --- a/book/src/.gitbook/assets/tpu.svg +++ b/book/src/.gitbook/assets/tpu.svg @@ -1,74 +1,92 @@ - + - + - + - + - + - + - + - - + + - + - + @@ -78,35 +96,35 @@ - + - + - + - + - - + + - + - + @@ -116,16 +134,16 @@ - - + + - + - + @@ -135,51 +153,51 @@ - - + + - + - + - - + + - + - + - - + + - + - + @@ -195,16 +213,16 @@ - - + + - + - + @@ -220,16 +238,16 @@ - - + + - + - + diff --git a/book/src/.gitbook/assets/validator (1).svg b/book/src/.gitbook/assets/validator (1).svg index 11be7b6a71..aa8bb05d4b 100644 --- a/book/src/.gitbook/assets/validator (1).svg +++ b/book/src/.gitbook/assets/validator (1).svg @@ -1,77 +1,95 @@ - + - + - + - + - + - + - + - - + + - + - - + + @@ -88,7 +106,7 @@ - + @@ -98,58 +116,58 @@ - + - + - + - - + + - + - + - - + + - - + + - + - + - + - + @@ -170,64 +188,64 @@ - - + + - - + + - + - + - + - + - - + + - + - + - - + + - + - + @@ -243,18 +261,18 @@ - - + + - + - + @@ -279,8 +297,8 @@ - - + + @@ -296,43 +314,43 @@ - + - + - + - + - - + + - + - + - + - + diff --git a/book/src/.gitbook/assets/validator (3).svg b/book/src/.gitbook/assets/validator (3).svg new file mode 100644 index 0000000000..11be7b6a71 --- /dev/null +++ b/book/src/.gitbook/assets/validator (3).svg @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Validator + + + + +Bank + + + + +Forks + + + + +JSON + + + + +TPU + + + + +RPC + + + + +Service + + + + +Gossip + + + + +Replay + + + + +Stage + + + + +Broadcast + + + + +Stage + + + + +Blocktree + + + + +Service + + + + +BlobFetch + + + + +Stage + + + + +Validators + + + + +Upstream + + + + +Validators + + + + +Downstream + + + + +Validators + + + diff --git a/book/src/.gitbook/assets/validator (4).svg b/book/src/.gitbook/assets/validator (4).svg new file mode 100644 index 0000000000..11be7b6a71 --- /dev/null +++ b/book/src/.gitbook/assets/validator (4).svg @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Validator + + + + +Bank + + + + +Forks + + + + +JSON + + + + +TPU + + + + +RPC + + + + +Service + + + + +Gossip + + + + +Replay + + + + +Stage + + + + +Broadcast + + + + +Stage + + + + +Blocktree + + + + +Service + + + + +BlobFetch + + + + +Stage + + + + +Validators + + + + +Upstream + + + + +Validators + + + + +Downstream + + + + +Validators + + + diff --git a/book/src/.gitbook/assets/validator-proposal (4).svg b/book/src/.gitbook/assets/validator-proposal (4).svg new file mode 100644 index 0000000000..bf8410aba8 --- /dev/null +++ b/book/src/.gitbook/assets/validator-proposal (4).svg @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Fetch + + + + +Stage + + + + +Validator + + + + +TPU + + + + +Fetch + + + + +Stage + + + + +TPU + + + + +SigVerify + + + + +Stage + + + + +Upstream + + + + +Validators + + + + +Repair + + + + +Stage + + + + +Blockstore + + + + +Multicast + + + + +Stage + + + + +Downstream + + + + +Validators + + + + +PoH + + + + +Service + + + + +Banking + + + + +Stage + + + + +Banktree + + + + +Blockstore + + + diff --git a/book/src/.gitbook/assets/validator-proposal (5).svg b/book/src/.gitbook/assets/validator-proposal (5).svg new file mode 100644 index 0000000000..bcd1c854cf --- /dev/null +++ b/book/src/.gitbook/assets/validator-proposal (5).svg @@ -0,0 +1,514 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Fetch + + + + +Stage + + + + +Validator + + + + +TPU + + + + +Fetch + + + + +Stage + + + + +TPU + + + + +SigVerify + + + + +Stage + + + + +Upstream + + + + +Validators + + + + +Repair + + + + +Stage + + + + +Blockstore + + + + +Multicast + + + + +Stage + + + + +Downstream + + + + +Validators + + + + +PoH + + + + +Service + + + + +Banking + + + + +Stage + + + + +Banktree + + + + +Blockstore + + + diff --git a/book/src/.gitbook/assets/validator-proposal-1.svg b/book/src/.gitbook/assets/validator-proposal-1.svg new file mode 100644 index 0000000000..bf8410aba8 --- /dev/null +++ b/book/src/.gitbook/assets/validator-proposal-1.svg @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Client + + + + +Fetch + + + + +Stage + + + + +Validator + + + + +TPU + + + + +Fetch + + + + +Stage + + + + +TPU + + + + +SigVerify + + + + +Stage + + + + +Upstream + + + + +Validators + + + + +Repair + + + + +Stage + + + + +Blockstore + + + + +Multicast + + + + +Stage + + + + +Downstream + + + + +Validators + + + + +PoH + + + + +Service + + + + +Banking + + + + +Stage + + + + +Banktree + + + + +Blockstore + + + diff --git a/book/src/cluster/fork-generation.md b/book/src/cluster/fork-generation.md index 14bcaa75fa..f1fa6d6d4a 100644 --- a/book/src/cluster/fork-generation.md +++ b/book/src/cluster/fork-generation.md @@ -58,7 +58,7 @@ Validators vote based on a greedy choice to maximize their reward described in [ The diagram below represents a validator's view of the PoH stream with possible forks over time. L1, L2, etc. are leader slots, and `E`s represent entries from that leader during that leader's slot. The `x`s represent ticks only, and time flows downwards in the diagram. -![Fork generation](../.gitbook/assets/fork-generation.svg) +![Fork generation](../.gitbook/assets/fork-generation%20%284%29.svg) Note that an `E` appearing on 2 forks at the same slot is a slashable condition, so a validator observing `E3` and `E3'` can slash L3 and safely choose `x` for that slot. Once a validator commits to a forks, other forks can be discarded below that tick count. For any slot, validators need only consider a single "has entries" chain or a "ticks only" chain to be proposed by a leader. But multiple virtual entries may overlap as they link back to the a previous slot. diff --git a/book/src/cluster/managing-forks.md b/book/src/cluster/managing-forks.md index 0146ffe843..b011e2c3c6 100644 --- a/book/src/cluster/managing-forks.md +++ b/book/src/cluster/managing-forks.md @@ -8,7 +8,7 @@ A fullnode selects a fork by submiting a vote to a slot leader on that fork. The An active fork is as a sequence of checkpoints that has a length at least one longer than the rollback depth. The shortest fork will have a length exactly one longer than the rollback depth. For example: -![Forks](../.gitbook/assets/forks.svg) +![Forks](../.gitbook/assets/forks%20%282%29.svg) The following sequences are _active forks_: @@ -29,7 +29,7 @@ The new root is 2, and any active forks that are not descendants from 2 are prun Alternatively, a vote on 6: -![Forks](../.gitbook/assets/forks-pruned2.svg) +![Forks](../.gitbook/assets/forks-pruned2%20%284%29.svg) The tree remains with a root of 1, since the active fork starting at 6 is only 2 checkpoints from the root. diff --git a/book/src/cluster/stake-delegation-and-rewards.md b/book/src/cluster/stake-delegation-and-rewards.md index ce7c3660f0..7726c07b1a 100644 --- a/book/src/cluster/stake-delegation-and-rewards.md +++ b/book/src/cluster/stake-delegation-and-rewards.md @@ -138,7 +138,7 @@ Lamports build up over time in a Stake account and any excess over activated sta ## Example Callflow -![Passive Staking Callflow](../.gitbook/assets/passive-staking-callflow.svg) +![Passive Staking Callflow](../.gitbook/assets/passive-staking-callflow%20%284%29.svg) ## Staking Rewards diff --git a/book/src/cluster/turbine-block-propagation.md b/book/src/cluster/turbine-block-propagation.md index 6ba92b083f..75ae78a654 100644 --- a/book/src/cluster/turbine-block-propagation.md +++ b/book/src/cluster/turbine-block-propagation.md @@ -20,15 +20,15 @@ This way each node only has to communicate with a maximum of `2 * DATA_PLANE_FAN The following diagram shows how the Leader sends blobs with a Fanout of 2 to Neighborhood 0 in Layer 0 and how the nodes in Neighborhood 0 share their data with each other. -![Leader sends blobs to Neighborhood 0 in Layer 0](../.gitbook/assets/data-plane-seeding.svg) +![Leader sends blobs to Neighborhood 0 in Layer 0](../.gitbook/assets/data-plane-seeding%20%283%29.svg) The following diagram shows how Neighborhood 0 fans out to Neighborhoods 1 and 2. -![Neighborhood 0 Fanout to Neighborhood 1 and 2](../.gitbook/assets/data-plane-fanout.svg) +![Neighborhood 0 Fanout to Neighborhood 1 and 2](../.gitbook/assets/data-plane-fanout%20%282%29.svg) Finally, the following diagram shows a two layer cluster with a Fanout of 2. -![Two layer cluster with a Fanout of 2](../.gitbook/assets/data-plane.svg) +![Two layer cluster with a Fanout of 2](../.gitbook/assets/data-plane%20%285%29.svg) ### Configuration Values @@ -40,5 +40,5 @@ Currently, configuration is set when the cluster is launched. In the future, the The following diagram shows how two neighborhoods in different layers interact. To cripple a neighborhood, enough nodes \(erasure codes +1\) from the neighborhood above need to fail. Since each neighborhood receives blobs from multiple nodes in a neighborhood in the upper layer, we'd need a big network failure in the upper layers to end up with incomplete data. -![Inner workings of a neighborhood](../.gitbook/assets/data-plane-neighborhood.svg) +![Inner workings of a neighborhood](../.gitbook/assets/data-plane-neighborhood%20%281%29.svg) diff --git a/book/src/implemented-proposals/passive-stake-delegation-and-rewards.md b/book/src/implemented-proposals/passive-stake-delegation-and-rewards.md index 601f80fdf3..08651b8e99 100644 --- a/book/src/implemented-proposals/passive-stake-delegation-and-rewards.md +++ b/book/src/implemented-proposals/passive-stake-delegation-and-rewards.md @@ -128,7 +128,7 @@ The total stake allocated to a VoteState program can be calculated by the sum of ## Example Callflow -![Passive Staking Callflow](../.gitbook/assets/passive-staking-callflow.svg) +![Passive Staking Callflow](../.gitbook/assets/passive-staking-callflow%20%284%29.svg) ## Future work diff --git a/book/src/programs/README.md b/book/src/programs/README.md index f35badba8b..468de2aff0 100644 --- a/book/src/programs/README.md +++ b/book/src/programs/README.md @@ -4,7 +4,7 @@ A client _app_ interacts with a Solana cluster by sending it _transactions_ with ## Deploying Programs to a Cluster -![SDK tools](../.gitbook/assets/sdk-tools.svg) +![SDK tools](../.gitbook/assets/sdk-tools%20%282%29.svg) As shown in the diagram above a client creates a program and compiles it to an ELF shared object containing BPF bytecode and sends it to the Solana cluster. The cluster stores the program locally and makes it available to clients via a _program ID_. The program ID is a _public key_ generated by the client and is used to reference the program in subsequent transactions. diff --git a/book/src/proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md b/book/src/proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md index e7e67b7474..e5a317a21a 100644 --- a/book/src/proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md +++ b/book/src/proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards.md @@ -17,11 +17,11 @@ The first factor is a function of protocol parameters only \(i.e. independent of At any given point in time, a specific validator's interest rate can be determined based on the porportion of circulating supply that is staked by the network and the validator's uptime/activity in the previous epoch. For an illustrative example, consider a hypothetical instance of the network with an initial circulating token supply of 250MM tokens with an additional 250MM vesting over 3 years. Additionally an inflation rate is specified at network launch of 7.5%, and a disinflationary schedule of 20% decrease in inflation rate per year \(the actual rates to be implemented are to be worked out during the testnet experimentation phase of mainnet launch\). With these broad assumptions, the 10-year inflation rate \(adjusted daily for this example\) is shown in **Figure 2**, while the total circulating token supply is illustrated in **Figure 3**. Neglected in this toy-model is the inflation supression due to the portion of each transaction fee that is to be destroyed. - \*\*Figure 2:\*\* In this example schedule, the annual inflation rate \[%\] reduces at around 20% per year, until it reaches the long-term, fixed, 1.5% rate. +\*\*Figure 2:\*\* In this example schedule, the annual inflation rate \[%\] reduces at around 20% per year, until it reaches the long-term, fixed, 1.5% rate. - \*\*Figure 3:\*\* The total token supply over a 10-year period, based on an initial 250MM tokens with the disinflationary inflation schedule as shown in \*\*Figure 2\*\* Over time, the interest rate, at a fixed network staked percentage, will reduce concordant with network inflation. Validation-client interest rates are designed to be higher in the early days of the network to incentivize participation and jumpstart the network economy. As previously mentioned, the inflation rate is expected to stabalize near 1-2% which also results in a fixed, long-term, interest rate to be provided to validator-clients. This value does not represent the total interest available to validator-clients as transaction fees for both state-validation and ledger storage replication \(PoReps\) are not accounted for here. Given these example parameters, annualized validator-specific interest rates can be determined based on the global fraction of tokens bonded as stake, as well as their uptime/activity in the previous epoch. For the purpose of this example, we assume 100% uptime for all validators and a split in interest-based rewards between validators and replicator nodes of 80%/20%. Additionally, the fraction of staked circulating supply is assummed to be constant. Based on these assumptions, an annualized validation-client interest rate schedule as a function of % circulating token supply that is staked is shown in\*\* Figure 4\*\*. +\*\*Figure 3:\*\* The total token supply over a 10-year period, based on an initial 250MM tokens with the disinflationary inflation schedule as shown in \*\*Figure 2\*\* Over time, the interest rate, at a fixed network staked percentage, will reduce concordant with network inflation. Validation-client interest rates are designed to be higher in the early days of the network to incentivize participation and jumpstart the network economy. As previously mentioned, the inflation rate is expected to stabalize near 1-2% which also results in a fixed, long-term, interest rate to be provided to validator-clients. This value does not represent the total interest available to validator-clients as transaction fees for both state-validation and ledger storage replication \(PoReps\) are not accounted for here. Given these example parameters, annualized validator-specific interest rates can be determined based on the global fraction of tokens bonded as stake, as well as their uptime/activity in the previous epoch. For the purpose of this example, we assume 100% uptime for all validators and a split in interest-based rewards between validators and replicator nodes of 80%/20%. Additionally, the fraction of staked circulating supply is assummed to be constant. Based on these assumptions, an annualized validation-client interest rate schedule as a function of % circulating token supply that is staked is shown in\*\* Figure 4\*\*. -![drawing](../.gitbook/assets/p_ex_interest.png) +![drawing](https://github.com/solana-labs/solana/tree/e2b954fd78f25ee06939cfb87fd4136d3697005b/book/src/proposals/ed_overview/.gitbook/assets/p_ex_interest.png) **Figure 4:** Shown here are example validator interest rates over time, neglecting transaction fees, segmented by fraction of total circulating supply bonded as stake. diff --git a/book/src/proposals/simple-payment-and-state-verification.md b/book/src/proposals/simple-payment-and-state-verification.md index 09fae7b993..6cdc154280 100644 --- a/book/src/proposals/simple-payment-and-state-verification.md +++ b/book/src/proposals/simple-payment-and-state-verification.md @@ -30,7 +30,7 @@ A payment receipt is a data structure that contains a Merkle Path from a transac An Entry-Merkle is a Merkle Root including all transactions in the entry, sorted by signature. -![Block Merkle Diagram](../.gitbook/assets/spv-block-merkle.svg) +![Block Merkle Diagram](../.gitbook/assets/spv-block-merkle%20%282%29.svg) A Block-Merkle is a Merkle root of all the Entry-Merkles sequenced in the block. Transaction status is necessary for the receipt because the state receipt is constructed for the block. Two transactions over the same state can appear in the block, and therefore, there is no way to infer from just the state whether a transaction that is committed to the ledger has succeeded or failed in modifying the intended state. It may not be necessary to encode the full status code, but a single status bit to indicate the transaction's success. @@ -48,7 +48,7 @@ At the end of the block, A and B are in the exact same starting state, and any s The Bank-Merkle is computed from the Merkle Tree of the new state changes, along with the Previous Bank-Merkle, and the Block-Merkle. -![Bank Merkle Diagram](../.gitbook/assets/spv-bank-merkle.svg) +![Bank Merkle Diagram](../.gitbook/assets/spv-bank-merkle%20%283%29.svg) A state receipt contains only the state changes occurring in the block. A direct Merkle Path to the current Bank-Merkle guarantees the state value at that bank hash, but it cannot be used to generate a “current” receipt to the latest state if the state modification occurred in some previous block. There is no guarantee that the path provided by the validator is the latest one available out of all the previous Bank-Merkles. diff --git a/book/src/proposals/validator-proposal.md b/book/src/proposals/validator-proposal.md index 1c31574f68..7ef3599348 100644 --- a/book/src/proposals/validator-proposal.md +++ b/book/src/proposals/validator-proposal.md @@ -12,7 +12,7 @@ The fundamental difference between the pipelines is when the PoH is present. In We unwrap the many abstraction layers and build a single pipeline that can toggle leader mode on whenever the validator's ID shows up in the leader schedule. -![Validator block diagram](../.gitbook/assets/validator-proposal.svg) +![Validator block diagram](../.gitbook/assets/validator-proposal%20%285%29.svg) ## Notable changes diff --git a/book/src/running-validator/validator-info.md b/book/src/running-validator/validator-info.md index a80721a82f..deb887c1d4 100644 --- a/book/src/running-validator/validator-info.md +++ b/book/src/running-validator/validator-info.md @@ -5,8 +5,9 @@ You can publish your validator information to the chain to be publicly visible t ## Run solana-validator-info Run the solana CLI to populate a validator info account: + ```bash -$ solana validator-info publish --keypair ~/validator-keypair.json +$ solana validator-info publish --keypair ~/validator-keypair.json ``` For details about optional fields for VALIDATOR\_INFO\_ARGS: diff --git a/book/src/running-validator/validator-software.md b/book/src/running-validator/validator-software.md index 7525c7049b..466c3810be 100644 --- a/book/src/running-validator/validator-software.md +++ b/book/src/running-validator/validator-software.md @@ -48,3 +48,4 @@ If you are unable to use the prebuilt binaries or prefer to build it yourself fr $ ./scripts/cargo-install-all.sh . $ export PATH=$PWD/bin:$PATH ``` + diff --git a/book/src/validator/runtime.md b/book/src/validator/runtime.md index 9b428b566a..8c35f5071b 100644 --- a/book/src/validator/runtime.md +++ b/book/src/validator/runtime.md @@ -20,7 +20,7 @@ Transactions are batched and processed in a pipeline. The TPU and TVU follow a s The TVU runtime ensures that PoH verification occurs before the runtime processes any transactions. -![Runtime pipeline](../.gitbook/assets/runtime.svg) +![Runtime pipeline](../.gitbook/assets/runtime%20%284%29.svg) At the _execute_ stage, the loaded accounts have no data dependencies, so all the programs can be executed in parallel. diff --git a/book/src/validator/tvu/README.md b/book/src/validator/tvu/README.md index de270d0276..4383e75001 100644 --- a/book/src/validator/tvu/README.md +++ b/book/src/validator/tvu/README.md @@ -1,4 +1,4 @@ # TVU -![TVU Block Diagram](../.gitbook/assets/tvu.svg) +![TVU Block Diagram](https://github.com/solana-labs/solana/tree/e2b954fd78f25ee06939cfb87fd4136d3697005b/book/src/validator/.gitbook/assets/tvu.svg)