AES is the most widely deployed symmetric cipher in the world, encrypting most TLS traffic. Its main challenger, ChaCha20-Poly1305, was designed to win on CPUs lacking dedicated AES hardware — but that hardware is now everywhere, and 2025 benchmarks show hardware-accelerated AES beating ChaCha on every modern CPU.
We’ve already touched upon US payment systems in the previous article on financial plumbing. In this article, we focus on these payment rails. We start with an exhaustive list. We will then build a taxonomy and look at various ways to classify them.
The amount and size of data breaches seems nowhere near to plateauing. We do have the tools available, so this might be a question of education and sensibility. The Equifax CEO, when questioned in front of Congress after their 2017 breach, didn’t even know whether their data was encrypted at rest.
Financial plumbing refers to everything that happens after a trade: clearing, settlement, payment, and bookkeeping. These systems make sure that payments and financial assets trade hands atomically.
Broadcast is a very useful distributed systems primitive. It is often presented as a building block which is combined with an agreement protocol to achieve State Machine Replication (SMR) - what modern blockchains call “consensus”, and in theory is also confusingly called total-order or atomic broadcast.
What is a distributed system? Every definition I’ve ever come across always has me eventually realizing “wait a second… this also applies to multiprocessors!”. The goal of this article is to have fun analyzing multicore and distributed computing, and realize that they might not be as qualitatively different as people make them out to be.
One unusual thing about programming in Solidity to target the EVM, as opposed to other programming languages targeting any other platform, is that a type doesn’t only dictate the data’s memory layout; it also dictates how the data is encoded in calldata and how it is stored in storage. Typically, persistence format is done via custom (de)serialization, and on-the-wire formats are handled by IDLs.
If you ask programmers whether modularity is good, you’ll likely only hear “yes” answers. However, there are many places where anti-modularity is explicitly chosen, and the goal of this article is just to list the few interesting anti-modular use cases that I have come across over the years.