Hot answers tagged

40 votes

51% attack - apparently very easy? refering to CZ's "rollback btc chain" - How to make sure such corruptible scenario can never happen so easily?

Disclaimer: I believe this question may be primarily opinion-based and not very appropriate for this site, but there are a number of technical misunderstandings that can be clarified along with it, so ...
33 votes
Accepted

What are the potential attacks against ECDSA that would be possible if we used raw public keys as addresses?

The theory It is assumed that in order to forge an ECDSA signature you need to compute the private key for a given public key first (this operation is known as the "discrete logarithm" (DL), ...
27 votes
Accepted

Why do we call it a 51% attack instead of a 50% attack?

The distinction is of theoretical importance only. But if the attacker controls exactly 50%, then it's true that the attacker will eventually catch up, but he won't stay caught up: the honest ...
24 votes
Accepted

Attacking Bitcoin with a supercomputer

"TL;DR: Bitcoin mining is virtually immune to someone attacking it with a supercomputer, because the mining market is already flooded with supercomputers custom tailored to the job at the hardware ...
  • 65.2k
24 votes

Why does Bitcoin no longer have checkpoints?

The issue is that you assume a majority attack is an attack that can be prevented. It is not. It is a fundamental breakdown of the security assumptions. Proof of work (PoW)'s assumption is that the ...
21 votes
Accepted

Why can't mining pools provide fake transactions within the generated blocks?

Suppose Alice wants to add a fake transaction where she receives X ammount of BTC. I understand that in order to add that transaction to the blockchain she would have to compete against all the other ...
13 votes
Accepted

Miner modifies unconfirmed transactions and put it into the block

Is is possible that a miner modified a unconfirmed transaction (like changing the output of transaction to the miner himself) and put it into the local block, and after 10 mins the miner luckily ...
  • 63.2k
13 votes
Accepted

What is time warp attack and how does it work in general?

The Bitcoin Protocol (consensus rules) has two relevant rules for the timestamps in block headers: A node will not accept a block whose timestamp is more than two hours in the future. A node will not ...
12 votes
Accepted

When to worry about 1-confirmation payments

The thing to consider is, "what does the attacker have to give up in order to attack me?" If the cost of that thing is less than the reward from a successful attack, then attacking is rational from a ...
10 votes

Attack the network by temporarily adding hash power?

Yes it is possible. You already answered your own question: "This could dramatically increase the time it takes for transactions to be confirmed, as well as makes it not profitable for other miners. ...
  • 263
10 votes
Accepted

What prevents similar time-warp attacks in Bitcoin as happened to Verge?

Nothing directly prevents it in Bitcoin, and indeed the attack has been demonstrated on testnet3 many times---it's the primary reason that testnet3 currently has almost three times as many blocks as ...
10 votes

51% attack - apparently very easy? refering to CZ's "rollback btc chain" - How to make sure such corruptible scenario can never happen so easily?

(adding some color) Some discussion I saw suggested that people promoting this believed they only needed to achieve >50% hashpower, which caused them to overestimate the feasibility. Reorging with ...
  • 7,519
9 votes
Accepted

What if some group of people start sending small transactions from wallet to wallet just to make the blockchain bigger?

The current maximum size of a block is 1 MB. Current block sizes are about half that, so the absolute worse case scenario is that the block chain grows in size twice as fast as it does now. That's ...
9 votes

What is a Feeler Connection? When is it used?

A feeler connection is a short-lived outbound connection that only starts up after your node has established the required 8 outbound connections and 2 block-relay-only outbound connections. The ...
  • 291
8 votes
Accepted

Understanding a Bitcoin Double Spending Transaction by Performing one on yourself

How to Double Spend You can double spend using Electrum quite easily. Even without duplicating your wallet, be it on the same or on 2 different machines. Btw.: Duplicating wallets is super easy with ...
  • 3,164
8 votes

Attacking Bitcoin with a supercomputer

It's not done every 14 days - it's done every 2016 blocks, which will happen in 14 days if hashpower stays the same. If hashpower goes up, then the retarget happens sooner.
  • 28.9k
7 votes
Accepted

What is protecting the mempool from being DDOSd?

First of all, there is no "The mempool". Every full node has an individual mempool, and as these contain no transactions that are already in blocks (confirmed transactions), by definition nodes cannot ...
7 votes
Accepted

How does bitcoin prevent DDoS amplification via the `addr` p2p message type?

For a long time, there was a restriction to strongly prefer connecting to addresses with port 8333. This restriction was recently removed in PR 23542 and PR 23306, although a list of "bad ports&...
  • 420
6 votes
Accepted

How safe is bitcoin with regard to a random address generation attack?

Ok, I'm spoiling the fun of you working it out yourself, but I had too much fun working it out myself to not post. In order to have as many target addresses as possible, let's suppose every satoshi ...
6 votes
Accepted

Is the scriptPubKey of a previously unseen transaction in an incoming block checked? If so, where?

The behaviour of the mempool or orphan tx pool should not influence the validity of blocks at all. When a block comes in: main.cpp:ProcessMessage deals with processing messages, and dispatches to: ...
6 votes

Which blocks get to be checkpoints?

At least in Bitcoin Core, none. Checkpoints are legacy and will likely be removed at some point. Checkpoints were originally introduced as a way to enable skipping of signatures in the historical ...
6 votes

Miner modifies unconfirmed transactions and put it into the block

Every valid bitcoin transaction can only be created if you have the sender's private key, public key, and the receiver's public key. You can check that the transaction is valid without having the ...
  • 171
6 votes

Why do we call it a 51% attack instead of a 50% attack?

This is to impart the need for a higher hash rate than the rest of the (honest) miners. Mining success is probabilistic, however, so this 50% or 51% is an indication of the expected behaviour given an ...
  • 786
6 votes

To what extent does asymmetric cryptography secure bitcoin transactions?

Is there a specific attack or bug which asymmetric cryptography prevents during bitcoin transactions? asymmetric cryptography is not really something that was added on top of Bitcoin in order to ...
6 votes
Accepted

What happens if a miner deliberately ignores a transaction, and "wins"?

Miners have complete perogative over what transactions to include. They may include random transactions, the highest fee paying transactions, just their own transactions, or no transactions at all. If ...
6 votes

What is a block-relay-only connection? What is it used for?

Block relay connections were added to bitcoin core in v0.19.0.1 in November 2019. Their purpose is to harden the peer-to-peer network against partition attacks. They do this through a clever ...
  • 291
5 votes
Accepted

How does a node compare two blockchains?

Block headers include a field called bits, which can be used to calculate the difficulty and hence the amount of proof-of-work in the chain. There's probably a shortcut to being able to eliminate a ...
  • 7,639
5 votes
Accepted

What prevents rewriting the history of a chain with a different difficulty?

I think this would be considered a time warp attack. What prevents this strategy from working is actually quite simple, as explained in https://bitcoin.stackexchange.com/a/37960/26673: Bitcoin ...
  • 224
5 votes
Accepted

Malicious full nodes causing denial of service attacks

There are significantly more than 10k full nodes on the network. The 10k figure is simply the number of reachable nodes which listen publicly for new connections. There are many more times that amount ...
  • 3,249
5 votes

To what extent does asymmetric cryptography secure bitcoin transactions?

Without asymetric cryptography, there wouldn't be information asymmetry: in other words, everyone knows exactly as much as everyone else. If everyone knows equally much, there is no way to distinguish ...

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