• Market Cap
    $401.227B 0.27%
  • POW Market Cap
    $309.776B -0.08%
  • POS Market Cap
    $19.882B 1.77%
  • Masternodes Market Cap
    $1.214B 0.20%

Dash introduces LLMQ-based ChainLocks to mitigate 51% mining attacks

By Rafał - 2018-12-01

Moving ahead from the proposal of “collateralized Mining” which required massive changes in mining economics, the introduction of Long Living Masternode Quorums (LLMQs) by Dash has finally enabled it to implement a new protection mechanism against 51% mining attacks to its protocol. This protection mechanism is termed as ChainLocks which is proposed in DIP8 (https://github.com/dashpay/dips/blob/master/dip-0008.md) and has finally been published after being in progress for number of months.

What are 51% mining attack?

51% mining attack refers to an attack on blockchain which becomes possible when a single entity or a group of miners control more than 50% of the network’s mining hashrate, or computing power. The attackers can then interfere with the process of recording blocks and prevent new transactions from gaining confirmation, thus allowing them to pause payments between users. They can also reverse the transactions that were completed while they were in control of the network, thus making it possible for them to double-spend coins. Therefore, it is sometimes also referred to as double spend attack.

LLMQ-based ChainLocks

Dash explains the idea and working mechanism of ChainLocks in its recent blog post. The ChainLocks not only makes mining-based attacks theoretically impossible but also protects the network against selfish mining and chain reorganizations.
As stated by Dash in its blog post “The idea of ChainLocks is to perform a verifiable network-wide measurement/vote of the “first-seen” rule. For each block, an LLMQ of a few hundred masternodes is selected and each participating member signs the first block that it sees extending the active chain at the current height. If enough members (e.g. >= 60%) see the same block as the first block, they will be able to create a P2P message (CLSIG) and propagate it to all nodes in the network. There are some more details to this process, especially when multiple miners find a block at approximately the same time.”

Effects and features offered by ChainLocks

  1. One of the most important feature offered by ChainLocks for normal users and merchants is that transactions can be considered fully confirmed after the first on-chain confirmation inside a block protected by it. Thus, it eliminates the need to wait for 6 or more confirmation to consider received transaction as secure.
  2. Transactions can no longer vanish from the chain as reorganization of locked block is not possible.
  3. Protects against selfish mining.
  4. Any secret chain (even if thousands of blocks longer) would be immediately invalidated if another honest miner publishes a valid block that receives a CLSIG before the secret chain is revealed.
  5. No consensus rules are affected. The longest-chain rule being one of the most important part of proof of work-based consensus will also be in effect but can be overridden by a valid CLSIG message.

ChainLocks compatibility with Dash and other coins

In Dash, the network is protected against Sybil attack as it requires 1000 DASH per masternode as collateral. Buying enough masternodes to perform a Sybil attack is impractical as it would require substantial financial resources to do so. With the current parameters that Dash targets for LLMQs, an attacker would need to buy at least 60% of all the masternodes to get a realistic chance of success.
Coins which do not offer a Sybil protected network of semi-trusted nodes will generally not be able to implement something like ChainLocks in a proper and secure manner as votes of individual nodes which can easily be manipulated by starting up thousands of malicious isn’t something one can rely on.
Dash has yet again taken its security to an even higher level with LLQMs and plans on implementing more innovative features on top of it.
More detailed information on LLQMs (ChainLocks) can be found at: https://blog.dash.org/