Canonical Transaction Ordering for Bitcoin

Bitcoin should and will scale. However, the scaling process can be made a lot easier if some hurdles are lifted. In particular, the path toward blocks as large as 1 terabyte requires every part - within Bitcoin - to be made as lean as possible. The canonical transaction ordering is a modest change, yet, I see this evolution as one of the most desirable changes in Bitcoin to clear the path to scalability.


It is the nature of radical discoveries to be wildly misunderstood by their contemporaries. It is inevitable to some degree. If most well-prepared minds were already expecting something similar to be discovered, chances are that those discoveries would have been made earlier, and would not have appeared as radical as they did. I believe Bitcoin to be a radical discovery. I argue that Bitcoin and its peers cannot be understood from the classical perspectives, thus, I am rolling my own.

4-byte prefix guideline for OP_RETURN on Bitcoin

Back from the CoinGeek conference in Hong Kong, I could feel that the extra capacity of OP_RETURN increased to 223 bytes on Bitcoin has tremendously energized the community. Tons of talented people are now back to work, building cool stuff on top on the Bitcoin infrastructure. Yet, the blockchain is a shared resource, and while scalability is a very solvable challenge, the community needs principles to avoid needless complications. In particular, as the OP_RETURN data space is shared among all participants, an opt-in mechanism to avoid “dumb” collisions is highly desirable.

A taxonomy of the Bitcoin applicative landscape

Nothing like a good initial confusion on dialog terms to trigger hours of sterile discussions; and possibly a few hundreds of tweets as well if attempts are made to have the dialog carried through Twitter. As Bitcoin was - still is to a large extent - a rather radical innovation, its early terminology wasn’t without flaws. Unfortunately, the confusion that followed turned out to be rather extreme, and was ultimately solved through a major fork: Bitcoin Cash vs Bitcoin Core.

Good software propagates its own correctness

Writing good software code is an exercise in applied schizophrenia. You need to please two radically disctinct audiences. The first audience is the compiler and the runtime. A patient and diligent audience that takes your writing to the letter. The second audience is your peers, fellow software engineers. On the plus side, this audience tries to adhere to the spirit of your writing; on the minus side, they can misunderstand your writing entirely.

A weirder definition of Bitcoin

While attemps have been made in the past to come up with a definition of Bitcoin, I felt that those definitions were somehow failing at capturing the very esssence of Bitcoin, so I decided to roll my own. Enjoy! A weirder definition of Bitcoin Abstract: Bitcoin is best characterized as an exceedingly weird virtue-inducing artifact. Attempts at making Bitcoin less weird have only two outcomes: either the attempt fails and Bitcoin just becomes weirder; or the attempt succeeds and this is not Bitcoin anymore.

Addressing a few loose angles of Bitcoin

Two weeks ago, I had the unique privilege of meeting not one, but a whole series, of truly remarkable people at Satoshi’s Vision in Tokyo. This list includes Amaury Séchet, Shammah Chancellor, Tomas van der Wansem, and quite a few others. While Bitcoin had gained my interest back in 2011, I never had taken much time to think about the Nakamoto consensus itself. To my defense, running Lokad, my company, was simply capturing my day-to-day interests.

Satoshi's Vision, talk on Terabyte Blocks for Bitcoin

Last week, I was in Tokyo at the Satoshi’s Vision conference. I gave a talk about Terabyte Blocks for Bitcoin. Here are the slides. Check the video too, there are some good questions raised at the end of the talk. Overall, it was a incredible event, tremendously positive for Bitcoin. I am thrilled to see so many hard-working contributors doing their best to address all the challenges that Bitcoin is facing.

Fast 1D convolution with AVX

Convolutions are important in a variety of fields. For example, in deep learning, convolutional layers represent a critical building block for most signal processing: image, sound or both. My company Lokad is also extensively using convolutions as part of its own algebra of distribution. One technical problem associated to convolutions is that they are slow. The theory tells you that FFT can be used to obtain good asymptotic performance, but FFT isn’t typically an option when your signal has only a few dozen data points; but that you still need to process tens of millions of such signals.

Mankind needs fractional satoshis

Update: Dr Craig Wright is pointing out that payment channels are a viable alternative to fractional satoshis. I am not an expert in payment channels, but it would certainly largely help in mitigating the problem discussed below. Then, choosing between on-chain scaling and payment channels boils down in establishing the actual limits of on-chain scaling.  Bitcoin Cash aims at becoming the world currency. As discussed previously, terabyte blocks are needed to achieve this goal.