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  |   | Window |   | Replicate |  |
`--------`       |  | Fetch |-->| Stage  |-->|  Stage    |  |
.------------.   |  | Stage |   |        |   |           |  |
| Validators |----->|       |   `--------`   `----+------`  |
`------------`   |  `-------`                     |         |
                 |                                |         |
                 |                                |         |
                 |                                |         |
                 `--------------------------------|---------`
                                                  |
                                                  v
                                               .------.
                                               | Bank |
                                               `------`
  1. Fetch Stage
  • Incoming blobs are picked up from the replicate socket and repair socket.
  1. Window 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