IPFS/ZN Dynamic Checkpoint Network

An Independent, Lightweight Solution to Double-Spend Attacks

MoX x Torque

Double spending attacks carried out by malicious actors have been responsible for tens of millions of dollars in losses to date. Exchanges, providers of the liquidity required to execute an attack, incur most of the financial loss. In May 2018 Bittrex and several other exchanges incurred a combined $18 million in losses as a result of reorganizations of the Bitcoin Gold blockchain and subsequent double-spends [1]. The same month attacks were carried out on Verge ($1.75 million in losses) [2] and Monacoin ($90,000 in losses) [3]. In January 2019 a series of reorganizations and double-spends on Ethereum Classic cost Coinbase an estimated $1.1 million [4].

51% attack basic diagram

The novelty of the Bitcoin protocol lies in its ability to prevent double-spends through its Proof-of-Work. While no known double-spends have occurred on Bitcoin, they present a credible threat to many altcoins.
Recent solutions like Veriblock and Komodo are interesting, but they require massive changes to the consensus and are by no means lightweight to implement.
We propose an alternative to these solutions. Our solution is focused on flexibility, ease of use, and requires no consensus modifications. It allows immediate double-spend protection for often-attacked exchanges and pools, and enables any network party to opt in or out freely and easily.

We’ll also provide the code on an open source fashion and will welcome anyone to use/improve it.

IPFS/ZN Dynamic Checkpoint Network

The solution uses a checkpointing mechanism built on top of the decentralized InterPlanetary File System (IPFS) and ZeroNet (ZN) technologies to create regular checkpoints of the hash and height of mined blocks. This provides protection from potential deep chain reorganizations by invalidating shadow chains created by malicious actors. This effectively eliminates the possibility of a double-spend attack.

Non-consensus critical

IPFS and ZeroNet are both off-chain solutions that allow storage and retrieval of files in a distributed fashion. Each daemon is running an instance of both to maintain the network, but both run off-chain. Checkpoints are stored at a regular interval and are accessible to the entire network. As the solution is off-chain, a hard-fork is not required and it can be integrated with ease.

Easy to opt in / opt out

Because IPFS/ZeroNet dynamic checkpointing is not consensus critical, its use is not required to participate in the network. Opting in or out is possible at any time without requiring a software update and without requiring synchronization with the network.

Peace of mind for exchanges and pools

When opted in to the dynamic checkpointing network, participants are assured they are using the legitimate chain and systematically refusing deep reorganization attempts from shadow chains that might suddenly appear on the network.

No dependency on another chain

In our initial implementation, the dynamic checkpoint network extends across the MoX and Torque blockchains. Dependence upon the health of another chain, however, is not a requirement. This solution can just as easily be employed on a single chain. Unlike other solutions, notarizing large quantities of data on another chain is unnecessary. It is only necessary to store the hash of the sum of the last one hundred hashes, making our solution extremely lightweight and versatile.