When it comes to smart contract platforms, Solana is one of the go-to options thanks to its speed and low fees. Unfortunately, it also stumbled upon stability issues caused by spamming, which caused the Solana network to go down for hours at a time. A possible solution came in the form of QUIC protocol. We explain what QUIC is, how it works and solves these problems.
What is QUIC?
To propagate information about the transactions and loop all nodes in the network in on the current state of the network, Solana has a custom protocol. It is based on the User Datagram Protocol (UDP), an alternative to TCP (Transmission Control Protocol).
|Information relay mode||Message = datagram||packet|
|Uses||Time-sensitive communications: VoIP, DNS lookup, video and audio||Channels that require reliable relay of data even at the cost of latency|
However, UDP has its drawbacks which made it a poor fit for Solana. For one, effectively mitigating abusive behavior in a decentralized consensus-based network becomes near impossible. In UDP, data is transmitted in the form of messages called datagrams, and servers are not required to guarantee that it is received.
As a result, a leader node sends out datagrams to the rest of the nodes on the network but some nodes fail to receive them, which can make them go out of sync. Another issue is that since there is no handshake between the parties, there is no way to identify whether the sender is genuine.
To solve this problem, Google engineer Jim Roskind developed the QUIC protocol, arbitrarily disabbreviated as “Quick UDP Internet Connections”. QUIC works with multiplexed connections, making it so that multiple transmissions require only one channel to be open at certain time intervals. This way, if one of the transmissions fails or gets delayed, it would not affect the other messages, and there is a way to limit connections.
Why does this update matter for Solana?
At the immediate time of adoption, it will not change things drastically. In fact, most of the Solana users will not notice that something is different. However, in the bigger picture, QUIC will open up more ways to further improve the stability of data transfers across the Solana network.
First and foremost, QUIC is adopted to combat spam attacks that have previously caused outages in Solana. With this protocol, it is easier to shut down connections if a sender starts spamming. Previously spam attacks brought the entire Solana network down to a halt.
How is Progress?
QUIC is being implemented to mainnet releases part by part. In the release 0.10.26 it was enabled for flagged clients. In the latest at the time of writing release, 0.10.32, QUIC has been enabled by default for all servers and routing.
Nevertheless, there are a few kinks to iron out slated to be fixed by one of the 0.11 mainnet releases. This version does not have a fixed date to arrive on the mainnet yet.
What Do I Need to Do?
If you simply hold SOL in a wallet or on an exchange, you will not need to do anything at all. You can check the official website or support center of your provider to see if they support the latest Solana release.
If you run a node or develop on Solana though, make sure you have the latest version of the Solana software installed when the due time comes. In other words, nothing out of the ordinary for you either.
Solana QUIC Update in Social Media
Back in May, head of communications in Solana Austin Federa shared some specifics about the new feature in an AMA with the co-founder Anatoly Yakovenko. Here he explains how QUIC will help prevent spam attacks that previously caused Solana outages.
YouTuber CYBERENA also shared the news about QUIC mainnet release in the build 0.10.26. He demonstrates how it helps even out the network TPS and curb spamming that causes downtime.
Reddit users also took interest in what QUIC can bring to Solana. This thread contains easy explanations and excellent analogies to how it works.
In a way, introducing QUIC in Solana is going back to the roots of blockchain. After all, Proof-of-Work originally was a mechanism to combat spamming, too. This is an invisible change which can go a long way.
Did you find our article informative? Then make sure to keep an eye on the ChangeHero blog. We post latest news and updates to our social media in bite-sized posts: subscribe to our Twitter, Facebook, Reddit, and Telegram!