Solana and QUIC

September 20243 min read
image

In late 2022, Solana adopted the QUIC networking protocol to manage interactions with leader nodes. Legend has it, no major attacks have been carried out on the Solana network since then.

The OSI model

Stands for Open System Interconnection model and comprises 7 layers that sit between device-to-device communication.

The layers of this conceptual model from bottom to top include: physical, data, network, transport, session, presentation and application.

Layer 4: Transport

Establishes how data is transferred between devices on the same network. It involves connection-oriented communication (TCP) or connectionless (UDP).

TCP (Transmission Control Protocol)

TCP involves:

  • Establishing a 3-step handshake connection between client and server
  • Sending data across the network in the form of packets
  • If the packet is lost or damaged, the rest need to wait until the packet is received correctly

UDP (User Datagram Protocol)

This one sends data across the network as datagrams. Unlike TCP, UDP is connectionless and does not track the transmission of the datagrams.

No handshake is involved for establishing a connection which makes it faster but unreliable.

Enter QUIC (Quick UDP)

A newer protocol that combines the reliability of TCP and the low-latency of UDP.

Solana implemented a raw UDP protocol and adopted QUIC in Mainnet-beta release 1.13.4. Here are the advantages:

  • Optimised handshake process
  • Efficient packet management
  • Ability to customise, eg. implementing a Firedancer QUIC server

A newsletter for web3 developers

Subscribe to get the latest posts.