From 62caa03408c264a698aa2e73f188043535a72ae5 Mon Sep 17 00:00:00 2001 From: Anatoly Yakovenko Date: Fri, 15 Jun 2018 14:49:22 -0700 Subject: [PATCH 1/2] tvu docs --- src/tvu.rs | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/tvu.rs b/src/tvu.rs index 1f1d76b8a2bada..608ef28541c481 100644 --- a/src/tvu.rs +++ b/src/tvu.rs @@ -1,24 +1,12 @@ //! The `tvu` module implements the Transaction Validation Unit, a -//! 5-stage transaction validation pipeline in software. -//! 1. streamer -//! - Incoming blobs are picked up from the replicate socket. -//! 2. verifier -//! - TODO Blobs are sent to the GPU, and while the memory is there the PoH stream is verified -//! along with the ecdsa signature for the blob and each signature in all the transactions. Blobs -//! with errors are dropped, or marked for slashing. -//! 3.a retransmit -//! - Blobs originating from the parent (leader, at the moment, is the only parent), are retransmit to all the -//! peers in the crdt. Peers is everyone who is not me or the leader that has a known replicate -//! address. -//! 3.b window -//! - Verified blobs are placed into a window, indexed by the counter set by the leader.sockets. This could -//! be the PoH counter if its monotonically increasing in each blob. Erasure coding is used to -//! recover any missing packets, and requests are made at random to peers and parents to retransmit -//! a missing packet. -//! 4. accountant -//! - Contigous blobs are sent to the accountant for processing transactions -//! 5. validator -//! - TODO Validation messages are sent back to the leader +//! 3-stage transaction validation pipeline in software. +//! 1. Fetch Stage +//! - Incoming blobs are picked up from the replicate socket and repair socket. +//! 2. Window Stage +//! - Blobs are windowed until a contiguous chunk is available. +//! 3. Replicate Stage +//! - Transactions in blobs are processed and applied to the bank. +//! - TODO We need to verify the signatures in the blobs. use bank::Bank; use blob_fetch_stage::BlobFetchStage; From 6814d7eb3139aab3348eb2f36205a776ae9e8696 Mon Sep 17 00:00:00 2001 From: Anatoly Yakovenko Date: Fri, 15 Jun 2018 14:51:43 -0700 Subject: [PATCH 2/2] updte --- src/tvu.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tvu.rs b/src/tvu.rs index 608ef28541c481..2110dc7127f328 100644 --- a/src/tvu.rs +++ b/src/tvu.rs @@ -3,7 +3,8 @@ //! 1. Fetch Stage //! - Incoming blobs are picked up from the replicate socket and repair socket. //! 2. Window Stage -//! - Blobs are windowed until a contiguous chunk is available. +//! - Blobs are windowed until a contiguous chunk is available. This stage also repairs and +//! retransmits blobs that are in the queue. //! 3. Replicate Stage //! - Transactions in blobs are processed and applied to the bank. //! - TODO We need to verify the signatures in the blobs.