Author

I am Joannes Vermorel, founder at Lokad. I am also an engineer from the Corps des Mines who initially graduated from the ENS.

I have been passionate about computer science, software matters and data mining for almost two decades. (RSS - ATOM)

Meta
Wednesday
May232018

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.

At Terab, we intend to do everything we can to support Bitcoin blocks so large that even incredibly ambitious tokens become feasible on Bitcoin. Thus, today, I am publishing an guideline that represent an intent of support from Terab for protocols who abide to well-specified protocol identifiers.

Terab 4-byte prefix guideline for OP_RETURN on Bitcoin
https://github.com/Lokad/Terab/blob/master/spec/opreturn-prefix-guideline.md

Claim your 4-byte protocol identifier today at
https://github.com/Lokad/Terab/blob/master/etc/protocols.csv

This approach is opt-in. This guideline will not break any existing protocol that do not comply. By abiding to this guideline, the authors of a Bitcoin protocol are merely opting to get free infrastructure support from some folks who just happen to be developing the Bitcoin infrastructure.

Nothing more. Nothing less.

Monday
May072018

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. As an attempt to both clarify my own understanding of Bitcoin, and to reduce the amount Twitter-induced friction, here is my first attempt at establishing a taxonomy.

A taxonomy of the Bitcoin applicative landscape

PDF (schema) at: http://media.lokad.com/bitcoin/taxonomy-schema-2018-05-07.pdf
PDF (full paper) at: http://media.lokad.com/bitcoin/taxonomy-2018-05-07.pdf

Thursday
Apr262018

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.

Good software propagates its own correctness (with an application to Bitcoin)

PDF at http://media.lokad.com/bitcoin/correctness-propagation-2018-04-26.pdf

Tuesday
Apr102018

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. The weirdest part of Bitcoin is probably that its own excess of weirdness can be reliably relied upon, as the author demonstrates by providing corollaries of practical interest out of the present definition. Anecdotally, it also explains why Satoshi Nakamoto opted to remain anonymous, as it is usually frowned upon to conjure exceedingly weird inventions.

PDF at http://media.lokad.com/bitcoin/weirder-bitcoin-2018-04-10.pdf

Friday
Apr062018

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. Thus, in Tokyo, I came to realize that there were some angles within Bitcoin which were maybe not getting yet the proper solutions they deserve.

Terabyte-sized blocks, which I have contemplating since last December, represent only a narrow angle of Bitcoin - albeit an important one.

Below, I am presenting four articles, redacted upon my return from Tokyo, covering angles which I believe to be relevant for Bitcoin. Those articles are all still early drafts, and I apologize in advance for their sorry state of writing. Once again, running my own company does not give me all the freedom it would take to get those ideas either polished or debunked depending on their merits.

By making those drafts public, I am primarily seeking the constructive feedback of the Bitcoin community at large. Unlike many speakers of the Satoshi’s Conference who can claim almost a decade of experience in those matters, I am only claiming about 10 days or so of experience. So please, take those findings with a grain of salt.

 

Ansible, practical faster-than-light secure 0-conf transactions for Bitcoin

Abstract: The Ansible is a peer-to-peer pre-consensus signal that, by itself, makes 0-conf transactions secure. The Ansible is a self-fulfilling prophecy because making it so aligns with the economic interests of the miners who have to remain competitive. The Ansible confers two seemingly counterintuitive properties to the Nakamoto consensus. First, securing 0-conf transactions do not require any kind of retaliation against Byzantine miners, thus no change to the Nakamoto consensus. Second, 0-conf transactions can be secured with arbitrarily low latencies on earth, despite the fact that this proposition appears to violate the speed of light. The Ansible perspective clarifies why larger and infrequent blocks are actually highly desirable to secure 0-conf transactions.

PDF at http://media.lokad.com/bitcoin/ansible-2018-05-05.pdf

 

Midas, united non-colluding transaction fees for Bitcoin

Abstract: Transaction fees are an integral component of the Bitcoin social contract. They reward miners into playing the long game of Bitcoin, when the monetary mass of Bitcoin will not be growing anymore, not with economic relevance anyway. Through an analysis of Bitcoin looking inward, but even more importantly, looking outward, we demonstrate that soviet economics are required in the short term to set the transaction fees, but that the transition toward market-driven fees should and will happen in the future. The author proposes Midas, a pre-consensus signal intended for transaction fees, which preserves the competition within the Bitcoin mining market. Midas unifies miners through their mutual interest of preserving the security model of Bitcoin which includes microlatent transactions. Midas does not require any change to the Nakamoto consensus.

PDF at http://media.lokad.com/bitcoin/midas-2018-05-06.pdf

 

Tokeda, Viable token-driven metadata within Bitcoin

Abstract: Tokeda addresses both the challenge of viably preserving an unbounded amount of metadata without endangering Bitcoin itself and the challenge of introducing tokens within Bitcoin by weaving the two problems through aligned economic incentives. Tokeda is compatible with stateless wallets (which include SPV wallets) and requires no consensus change. As a token scheme, Tokeda relies on a trust-but-verify security model centered around the issuer. The issuer is trusted with the relay of inbound transactions from users. The issuer takes care of routing the metadata to remedy the lack of such capabilities within the Bitcoin script. As a metadata layer, Tokeda leverages the UTX set (unspent transactions) as a purposefully pruneable key-value store, which is a superset of the UTXO set (unspent transaction outputs). Tokeda creates a market signaling mechanism at the issuer level, to foster an ecosystem of nodes which can selectively persist the metadata in the UTX set depending on the originating issuer. The author argues that Tokeda is an economically superior form of tokens compared to the code-is-law approach adopted by some of the competitors of Bitcoin. The author also argues that Tokeda is a provable way to incentivize miners to foster a token-driven economy backed by Bitcoin, instead of expecting the miners to subsidize tokens operated over Bitcoin.

PDF at http://media.lokad.com/bitcoin/tokeda-2018-04-30.pdf

 

Sakura, long term UTXO recycling mechanism for Bitcoin

Abstract: The very long term viability, centuries ahead, of Bitcoin depends on preventing the runaway growth of the UTXO set (unspent transaction outputs). Also, the ever shrinking monetary mass of Bitcoin is a complication which hinders economic agents from fully relying on perfectly predictable monetary conditions. Here, we propose Sakura, a long term recycling mechanism to prune “dead” UTXO entries, defined as entries that have remained untouched for 80 years (defined as 4,200,000 blocks). It allows those “dead” entries to re-enter the pool of mining rewards, on top of the normal halving mechanism which normally occurs every 210,000 blocks. Sakura comes with a trigger condition that “dead” UTXO entries should represent more than 50% of the UTXO set. This condition prevents a premature activation of the change of consensus if there is not enough economic gains to justify the change. Sakura proposes an exponential decay mechanism associated to a half-period of roughly 20 years. The paper also presents a discussion to justify why those seemingly arbitrary choices are made.

PDF at http://media.lokad.com/bitcoin/sakura-2018-05-02.pdf