Skip to main content
44 votes
Accepted

How does Bitcoin Cash implement replay protection?

Bitcoin Cash (aka Bitcoin ABC aka UAHF) provides two methods of replay protection, both of which are opt in. If you do not create transactions which use these features, then your transactions are ...
Ava Chow's user avatar
  • 70.9k
15 votes

What would happen if you send Bitcoin (BTC) to a Bitcoin Cash (BCH, aka BCC) address?

As of what happens if someone send BTC from a BTC wallet to BCC wallet address, the transactions go through. But you can only see that transaction in the Bitcoin Blockchain rather than Bitcoin cash ...
remedcu's user avatar
  • 1,093
12 votes
Accepted

What is transaction replay and replay protection?

What is a transaction replay In the context of forks, transaction replay is when a transaction is valid on both sides of the fork. So a transaction can be played (i.e. broadcast) on both chains after ...
Ava Chow's user avatar
  • 70.9k
8 votes

What would happen if you send Bitcoin (BTC) to a Bitcoin Cash (BCH, aka BCC) address?

There is nothing which distinguishes a BCC address from a BTC address; they are both the same format and refer the the same keys, thus a BCC address is a BTC address and vice versa. This means that if ...
Ava Chow's user avatar
  • 70.9k
7 votes
Accepted

How does Bitcoin Gold implement replay protection?

I don't believe any replay protection has yet been implemented, they still have an issue open for it on the BitcoinGold repository here: https://github.com/BTCGPU/BTCGPU/issues/51 I haven't dug into ...
meshcollider's user avatar
  • 11.9k
6 votes

What would happen if you send Bitcoin (BTC) to a Bitcoin Cash (BCH, aka BCC) address?

As long as both chains adhere to the same address format, which I believe they do for now, there is no such thing as a BTC or a BCC address -- both are valid on both chains. What enables you to split ...
Sergei Tikhomirov's user avatar
6 votes
Accepted

Can I do a replay attack to spend my testnet bitcoin on the mainnet?

The answer is no, you can't, because the two chains don't share a common history. Internally, transactions don't spend "from" an address. Instead, they refer to a specific output created by an ...
Pieter Wuille's user avatar
6 votes

What is the best way to prevent replay attacks in the event of a bitcoin hard fork?

One solution we brainstormed, was using some coins that were only valid on one chain (for example newly mined coins) and adding 1 satoshi of "taint" to all generated transactions. This would work but ...
David A. Harding's user avatar
5 votes

What should I do if my friend runs a Bitcoin business but doesn't understand how it works?

He should listen to his engineer. I think that's just about it.
SomeYoungGuy's user avatar
5 votes

If I reuse the same address can a previously used transaction be reused?

Can somebody take the transaction tx0 I signed and publish it in order to spend the new coins with the old transaction? No. Firstly, the transaction inputs are already known to have been used. Any ...
RedGrittyBrick's user avatar
5 votes
Accepted

how does bitcoin solve the same chain replay attack?

In all cases what you are describing is a double-spend. Bitcoin uses a UTXO model (not an account based model) which means that there is a set of coins also known as the UTXO set or Unspent ...
pinhead's user avatar
  • 5,164
4 votes

after hard fork won't every new transaction go on both chains?

Let's diagram an example hard fork block chain: A <-- B <-- C <-- D (current consensus rules chain, "original chain") ^---- C' <-- D' (new consensus rules chain, "new ...
David A. Harding's user avatar
4 votes
Accepted

after hard fork won't every new transaction go on both chains?

This actually happened on Ethereum when they had a hard fork. If a transaction is valid on both chains (spends outputs from before the fork), and gets propagated to both chains, then yes, there is no ...
Jestin's user avatar
  • 8,812
4 votes
Accepted

Does BIP148 (UASF) offer any replay attack protection?

No. BIP 148 is a soft fork as the BIP 148 chain is valid to all non-BIP148 nodes and can wipe out the non-BIP 148 chain if it were to be longer than it. Because it is a soft fork, there cannot be any ...
Ava Chow's user avatar
  • 70.9k
4 votes
Accepted

What prevents one from replaying a BCC transaction by nulling the SIGHASH_FORKID bit?

First of all the sighashType field with (or without) any bit fields is used in source data while for signing. The signature does not sign itself, but it signs sighashType. So, changing sighashType ...
amaclin's user avatar
  • 6,780
4 votes
Accepted

If Btc2x doesn't have replay protection does that mean all transactions can be automatically replayed in btc2x?

Since 2x has decided not to implement replay protection, transactions will be indeed compatible to both chains. If a transactions is simply broadcast to the other chain, it will enter the mempools ...
Murch's user avatar
  • 75.9k
4 votes

What prevents a malicious user creating a new transaction using signatures of an old mined transaction if the inputs have the exact same balance?

The transaction ID and output index of the second 1 BTC that was sent to A's address will be different from the first 1 BTC that was sent there. Since transactions refer to inputs by their txid and ...
Raghav Sood's user avatar
  • 17.1k
3 votes

How does the Segwit2x fork implement replay protection?

segwit2x temporarily had an opt-in replay protection, but chose to remove it. it is intentional, as part of their strategy to make only one fork survive.
Jonathan Silverblood's user avatar
3 votes
Accepted

Limit tx to SegWit1x or 2x chain

All transactions would be replayable on both chains even after one was confirmed in a block on one chain, because since both chains start with the same UTXO set, the transactions spending those UTXOs ...
meshcollider's user avatar
  • 11.9k
3 votes

How do we "exchange coins on one blockchain for those on the other"?

There are two ways to avoid transaction replay (besides something being built into the fork to begin with). You can taint your coins or double spend. Tainting your coins requires you to get access to ...
Ava Chow's user avatar
  • 70.9k
3 votes

How does Bitcoin prevent replay-attacks?

A transaction contains a reference to the output that it is spending from. So all you would be doing is just rebroadcasting the same transaction over and over again. Since transactions are identified ...
Ava Chow's user avatar
  • 70.9k
3 votes
Accepted

What prevents a malicious user creating a new transaction using signatures of an old mined transaction if the inputs have the exact same balance?

Every full node keeps track of all unspent transaction outputs (UTXO). UTXO are identified via their outpoint txid:vout, where txid is the transaction identifier of the transaction that created it, ...
Murch's user avatar
  • 75.9k
2 votes

What is the best way to prevent replay attacks in the event of a bitcoin hard fork?

A) Currently, Unlimited retains the 100K MAX_STANDARD_TX_SIZE policy limit https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/release/src/policy/policy.h#L23 so it would be difficult to ...
unlimited_is_whack's user avatar
2 votes

What is the best way to prevent replay attacks in the event of a bitcoin hard fork?

Here is the github ticket where we've been thinking about this problem for Zcash. Compared to Bitcoin, Zcash has the luxury of a smaller installed base and a longer runway before any probable ...
Zooko's user avatar
  • 21
2 votes
Accepted

How does the transaction signature prevent transaction duplication?

When Alice creates a transaction of 1 BTC to Bob, she is giving him a specific bitcoin, by using an unspent transaction output that she has the key to. The blockchain tracks the flow of coins from ...
meshcollider's user avatar
  • 11.9k
2 votes
Accepted

Why do hard forks need special rules to allow replay protection?

It's true that what you propose would effectively split the coins and prevent further replays, if it succeeded. However, it suffers the following problems: Every person who wants to split their ...
Nate Eldredge's user avatar
2 votes

Why do hard forks need special rules to allow replay protection?

The LegacyCoin network and NewCoin network are not distinctly separate from each other. Unless network magic and ports are changed, LegacyCoin nodes will be able to connect to NewCoin nodes and likely ...
Ava Chow's user avatar
  • 70.9k
2 votes
Accepted

Is there a time limit how long a signed transaction is valid?

Bitcoin is not an account based currency like Ethereum, which track the balance in addresses. Instead it is a UTXO based currency. In a UTXO-based currency, funds are tracked in portions called "...
Murch's user avatar
  • 75.9k
2 votes
Accepted

Is it possible to copy transactions between Bitcoin's forks blockchain?

Yes, some people call this a 'Replay Attack'. But it's not literally an attack, but the desired outcome. If a fork don't want this to happen it can change the rules to prevent it. You can also avoid ...
Osias Jota's user avatar
2 votes

Does BitcoinABC implement replay protection for the upcoming November 15th hardfork

Yes, there's OP_CHECKDATASIG in ABC's code and OP_MUL in SV's code. There's already a coin splitting tool.
MCCCS's user avatar
  • 10.2k

Only top scored, non community-wiki answers of a minimum length are eligible