A Deep Dive into Mochimo — Part I: Playing Tag with Quantum Computers and WOTS+

Ortis
Mochimo Official
Published in
4 min readOct 1, 2019

This is the first part of a series of articles about the Mochimo blockchain, a 100% original, no-ICO, no-presale cryptocurrency project.
Follow us on Twitter, Discord, Reddit

The threat of Quantum Computers

Some fancy the idea that quantum computers are a myth, a science fiction fable that, at best, will not come into existence for many decades. Not only do QC already exist but they are now more powerful than classic super computers. It is only a short leap from here before standard encryption is broken and, when that happens, Digital Signature Algorithms like ECDSA will be at risk.

Unfortunately, at the time of this writing, it is the most commonly used DSA in the crypto space.

Fortunately, there are organizations and individuals who have been working on post-quantum secure cryptographic protocols for a long time, including the PQCRYPTO working group funded by the European Union. They have proposed a reference standard for quantum secure encryption and have recommended a handful of Digital Signature Algorithms designed to survive the Post Quantum era.

Winternitz One-Time Signature+

The Mochimo Development team tested several quantum secure algorithms like XMSS, SPHINCS, and eventually settled on the WOTS+ scheme for its superiority in terms of scalability. Here, scalability means that WOTS+ can verify and process data faster than other post-quantum secure DSA, which translates into more transactions per second on the blockchain.

The team implemented what we believe to be the first C implementation of the WOTS+; the resulting code was tested, audited, and found to be free from material defects by the creator of the algorithm, Andreas Hülsing in February 2018.

Now, WOTS+ might be faster to process than most of the other Quantum Secure DSA, but it has two shortcomings. First, the WOTS+ public key is 2208 bytes long (or 4416 characters) which makes it impractical for a human to type; second, the public/private key pair cannot be used more than once in order to retain its protection again quantum attack. That is a problem since nobody in their right mind would want to use a crypto-currency that forces you to change your account every time you send a transaction. So, what can we do then? We can play “Tag”!

Tag system

The Tag system is a unique feature of the Mochimo (MCM) crypto-currency that allows an account to send and receive MCM with the same identifier on the blockchain multiple times without compromising the security of the fund.

A Tag is a 12-byte identifier (24 hexadecimal characters) that can be used in place of the much longer WOTS+ public key to send and receive MCM indefinitely.

Tags are created by activating a unique 24 hexadecimal “account name” through the Mochimo Fountain, which registers the Tag in the network via a funding transaction of 0.000000501 MCM. Within a few blocks (typically around 5–10 minutes), the Tag is registered and bound to a WOTS+ address in the ledger.

Going forward, to send or receive MCM stakeholders need only exchange Tags. When a transaction is sent from the Mojo wallet, it resolves the WOTS+ address corresponding to each Tag and fills the structure of the transaction with this information. This way, stakeholders never again have to deal with the unwieldy WOTS+ key, only with their lightweight, customizable Tag.

Resolving a Tag into a WOTS+ address

With the Tag system, we benefit from the speed of the WOTS+ algorithm while entirely avoiding its downsides.

This level of abstraction (separation between the identifier of an account and the signature scheme) will allow Mochimo to, without disrupting the tag overlay, easily change the underlying DSA if a new algorithm superior to WOTS+ is found in the future.

Ortis.

Edited by Kashmyr

About the author: I am a contributor of the Mochimo project and a founder of the mining pool illamanudi.
Twitter, GitHub

--

--