RSSAmplifier

Blog

Samuel Laferriere’s website

Welcome to my website, where I try to lay down my projects, thoughts and ideas.

/RSS feed ↗10 posts

Latest posts

Maxing out AES-128-CTR on a single Zen5 core

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.

Everything is an… unstructured byte stream?

Everything is a file is one of those Unix slogans that feels profound until you ask what it means.

US Payment Rails

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.

Searchable Client-Side Encrypted Databases

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

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.

BFT Broadcast

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.

Ethereum Transactions Cheat Sheet

Concern EIP-1559 tx EIP-4337 UserOp EIP-8141 Frame tx Porto Tempo tx Seismic tx Authentication — Mechanism Signing scheme Flexible auth ECDSA (secp256k1) Anything (ECDSA, P256, WebAuthn, multisig, MPC, ZK proof) ECDSA or P256 natively; smart accounts define freely secp256k1, P256, WebAuthn, External/ISigner (EVM-verified) ECDSA, WebAuthn, P256 secp256k1 (EIP-712 message_version ) Signing…

What makes a system distributed that a multiprocessor is not?

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.

Solidity Types Layout Cheat Sheet

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.

Anti-Modularity in Software Systems

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.