Replay Protection

Replay Attack

As we know, one address on LBTC and Bitcoin will have the same private keys. This gives an opportunity to an attacker to reuse the transaction details done on one blockchain on the other blockchain.

Transactions, when replayed, will be valid on both blockchains because, even though the blockchains are different, they are also similar in their individual transactions and historical ledgers.

The split (hard fork) solution to increase Bitcoin transactions is happening at the block level, not at each transaction level. The block contains all transactions.

So a transaction which moves any type of coin (LBTC/BTC) from address A to address B on one blockchain will also move the coins on another blockchain if replayed.

Hence, the transactions will be valid on both chains.

Replay Protection

LBTC use two method to do replay protection.

  1. Change the transaction ID
    LBTC change transaction “version” field to “0xff02” to identify LBTC related transaction.

  2. Replay Protection
    LBTC modify the transaction signature. When a user uses a private key to sign a transaction, the transaction information that has been serialized before signing is performed as follows:
    2.1 Add Additional Information “0x4354424c” after Serialized Transaction
    2.2 Calculating the hash value of a serialized transaction with additional information
    2.3 Applying the Private Key to Sign the Generated Hash

LBTC instegrates these mechanism. In these way spending your BTC will not spend your LBTC, and both coins/chains will have a completely different existence.