Module solana::tvu[][src]

The tvu module implements the Transaction Validation Unit, a 3-stage transaction validation pipeline in software.

     .------------------------------------------------.
     |                                                |
     |           .------------------------------------+------------.
     |           |  TVU                               |            |
     |           |                                    |            |
     |           |                                    |            |  .------------.
     |           |                   .----------------+-------------->| Validators |
     v           |  .-------.        |                |            |  `------------`
.----+---.       |  |       |   .----+-------.   .----+---------.  |
| Leader |--------->| Blob  |   | Retransmit |   | Replicate    |  |
`--------`       |  | Fetch |-->|   Stage    |-->| Stage /      |  |
.------------.   |  | Stage |   |            |   | Vote Stage   |  |
| Validators |----->|       |   `------------`   `----+---------`  |
`------------`   |  `-------`                         |            |
                 |                                    |            |
                 |                                    |            |
                 |                                    |            |
                 `------------------------------------|------------`
                                                      |
                                                      v
                                                   .------.
                                                   | Bank |
                                                   `------`
  1. Fetch Stage
  • Incoming blobs are picked up from the replicate socket and repair socket.
  1. SharedWindow Stage
  • Blobs are windowed until a contiguous chunk is available. This stage also repairs and retransmits blobs that are in the queue.
  1. Replicate Stage
  • Transactions in blobs are processed and applied to the bank.
  • TODO We need to verify the signatures in the blobs.

Structs

Tvu