Bitcoin Fork Coming: How To Prepare For Replay Attacks (What are replay attacks?)

in #bitcoin7 years ago

Hi Guys, nice explanation of forking here. Thanks to the author of this.

Source: https://coinsutra.com/what-are-replay-attacks/
Author: Sudhir Khatwani

Are you holding bitcoins?

Then you must know that you can lose your BTC in the upcoming Bitcoin hard fork (HF) due to replay attacks.

What is a Hard Fork (HF) and What are Replay Attacks?

I think many newbies and non-tech savvy users of Bitcoin might be anxious about so many of these jargonous words. But in this post, I am going to touch upon what this is all about so that you can be well-informed and prepared.

Note: I will typically be using the word “split” instead of “fork” as it is easier to understand.

So let’s see what is going on here…

There has a been an unstoppable debate between these two groups:

Bitcoin Core (BTC)
Bitcoin Unlimited (BTU)

They can’t agree on how to increase the efficiency of transactions on the Bitcoin blockchain.

Bitcoin Core Group (BTC) wants to keep the original code of Bitcoin intact and introduce a “soft fork” with integrated SegWit. It’s ok if you don’t understand what this SegWit soft fork is all about. Just recognize it as a way of increasing efficiency of Bitcoin transactions. (See our guide on Litecoin to understand SegWit.)

On the other hand…

Bitcoin Unlimited Group (BTU) wants to change the original code of Bitcoin by increasing the Bitcoin block size from 1 MB to 2 MB. This is another way of increasing the efficiency of Bitcoin transactions by literally increasing the block limit. And as the original code would need to be changed for this, this is called a “hard fork” (or split).

And now, both groups are not ready to compromise on each others’ recommended solutions.

Hence, the result will likely be a split between the two Bitcoin groups. They would basically split the blockchain in two and apply the solutions which they themselves find suitable.

This would result into two Bitcoin blockchains and two varieties of Bitcoin.

For the sake of this article, let’s assume that there will be two Bitcoin blockchains:

Bitcoin Unlimited blockchain – Bitcoin on this chain may be called BTU
Bitcoin Core blockchain– Bitcoin on this chain may be called BTC

So which blockchain will your bitcoins be on?

The answer is quite interesting:

You will get your coins on both blockchains.

After the split, you will have both BTC and BTU balances; in other words, your coin holdings will double.

Wowowow double!!

You may think this is a good thing as your value will also double.

Note: Doubling of coins does not mean doubling of value. The value of both BTC and BTU will be determined after the split based on demand and supply in the market.

Here’s the important part: Both of your coins (BTC and BTU) will have the same private keys.

This split will open up a possibility for another problem called a Replay Attack.
What is a Replay Attack?

Let’s consider an example to make it more non-technical to understand:

Suppose you are making an online payment to an e-commerce website via your credit card. You typed in your credit card and authorized the payment.

While doing this, you were unaware that you were using an infected system which records your credit card’s details and authorization PIN.

The unethical hacker now has your card details and can spend your money wherever he/she wants. The attacker can “replay” (or reuse) the details as many times as he/she wants until you finally notice this is happening.

You might say that this doesn’t happen often.

You might also say that you have extra authentication in place for this type of event.

Yes, I agree, but this is just an example for explaining replay attacks.

What is a Bitcoin Replay Attack?

The same event which we discussed above can happen to your Bitcoin after the split or hard fork.

How?

Because, as I told you earlier, both your BTC and BTU bitcoins 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.

The transaction will be valid on both chains, and both BTC or BTU nodes would accept it.

Let’s say you have now BTC on the original Bitcoin blockchain.

Now the chain splits and you have the same amount of BTC on the Bitcoin Core blockchain and BTU on the Bitcoin Unlimited blockchain.

You go to do a transaction of 5 BTC to buy something on the Bitcoin Core blockchain. You sign the transaction and send it to the merchant’s BTC address (and now the merchant also has both a BTC and BTU address).

Then you go and check your BTU wallet and find that 5 BTU has also been deducted from your BTU wallet to the merchant’s BTU address.

That’s because someone (maybe even the merchant!) re-payed/re-broadcasted the transaction that you sent on the BTC blockchain to nodes on the BTU blockchain.

BTU nodes have no way to identify which chain the transaction was meant for. The signed transaction in this scenario becomes valid on both the BTU and BTC blockchain.

And this scenario is also true for vice-versa transactions.

So when both the BTC and BTU have different blockchains, how will the other blockchain accept the transaction as valid?

Good question.
Why are transactions valid on both chains?

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 (BTC/BTU) 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.
Possible Solutions

Change the transaction ID – Some of us might be thinking, “Big deal, just change some parameters in the tx ids and it will be fine”. But this will make all present Bitcoin wallets obsolete and would require a total redesign to make them all compatible again. This a solution, but definitely not an ideal one.
Don’t Transact – Hardware wallets such as the Ledger Nano S advised its users in case of a fork not to issue transactions before the dust settles. They also said unofficially that if someone wants to do so, they should do it at their own risk. For more details, refer to the Ledger support section. However, they have successfully implemented replay attack protection in the past for ETH and ETC after the hype slowed down.
Replay Protection – Replay problems can be solved if BTU people employ a solid two-way replay protection mechanism. If a non-replay mechanism is properly integrated, spending your  BTC  will not spend your BTU, and both coins/chains will have a completely different existence.
Use Trezor – Hardware wallets such as Trezor claim that they have a process in place for a hard fork and replay attacks. So doing your transactions from Trezor might save you from replay attacks. Refer to this guide for more info.

Possible Bitcoin Hard Fork And Replay Attacks

However, all of this is just a possibility. But it might turn into a reality very soon. So precaution is always better than cure.

It will be very interesting to see what happens in the next few weeks.

I hope this insight on Bitcoin’s future will help you in making better decisions.

Now I want to hear from you: What would you do in the case of a fork or replay attack? Are you still confused about “replay attacks”? Let me know your thoughts and questions in the comments section below.

And if you liked this post, don’t forget to share it!

Adios!

Sort:  

Hey I am robot everyday i will upvote you and comments you so now follow me and upvotes my all posts,,,,
Thank You so much

Thanks for your good posts, I followed you!

Congratulations @ndaparece! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

The new SteemFest⁴ badge is ready
Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 62345.27
ETH 2427.57
USDT 1.00
SBD 2.49