2022 Developer Survey is open! Take survey.
24 votes
Accepted

How can we trust supply won't be increased in 2140 by just a few lines of code?

The bitcoin network is composed of 'bitcoin full nodes', which are computers located all around the world, each one running independently to verify the state of the network. Part of that verification ...
user avatar
  • 17.2k
23 votes
Accepted

How does one mine Stellar

The Stellar network does not have a mining-based currency. At the network's genesis, 100 billion stellars were created. The only other stellar creation mechanism is inflation. To account for both ...
user avatar
22 votes
Accepted

Byzantine fault-tolerant consensus - Why 33% threshold

We have a mathematical proof that to tolerate n malicious nodes, you need 2n + 1 good nodes. The full proof is found in G. Bracha and T. Rabin, Optimal Asynchronous Byzantine Agreement, TR#92-15, ...
user avatar
17 votes
Accepted

Bitcoin without mining - what needs to be implemented

Mining is not essential for coin creation. New coin introduction can be tied to new block creation, or be time based. Even if you don't use proof of work, you will still have blocks (even if you don't ...
user avatar
15 votes

What happens if two miners mine the next block at the same time?

What Nicolai said is not completely right. The network would decide which one is the main chain according to the following block mined. Let's assume that block A and B are mined at almost the same ...
user avatar
  • 151
11 votes
Accepted

Is there a maximum size of a scriptSig/scriptPubKey?

10,000 bytes. See Bitcoin Core source code: https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/script/script.h#L31-L32 https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/script/interpreter.cpp#L299-...
user avatar
11 votes
Accepted

How is Bitcoin governed by mathematics?

This question may be opinion based in some ways, but I'm going to attempt to answer it as it is an important concept, and somewhat unlike traditional systems. Bitcoin is governed by math, in some ...
user avatar
  • 16.4k
9 votes
Accepted

How do Bitcoin devs make sure that their modifications do not affect the consensus rules or the running network protocol?

"Best-effort". Formal proofs don't help. All one can do is to write tests, like any other well-written piece of software. They also maintain forks of some dependencies such as LevelDB and ...
user avatar
  • 9,789
9 votes

How can we trust supply won't be increased in 2140 by just a few lines of code?

Well, the title is the only question, how can we trust supply wont be increased by just a few lines of code? Just don't make any such changes to your code and you will never see an increased supply. ...
user avatar
9 votes
Accepted

Why coinbase maturity is defined to be 100 and not 50?

It is 100, because that's what Bitcoin's creator set it to. It's part of the system's consensus rules now, and cannot easily be changed. It also doesn't really hurt. In retrospect, it is likely too ...
user avatar
8 votes
Accepted

Is there actual consensus on the blockchain's tip or only until the next block?

No, there is no consensus until the next block is found. The network is experiencing a blockchain-fork. It will only mend once one of the tips pulls ahead by adding another block. Then all nodes will ...
user avatar
  • 62.5k
8 votes

Why are banks and other centralized entities interested in block chains?

Speaking as someone who has worked on a blockchain project for a bank, I can tell you that banks are interested for several reasons. Banks know they are ripe for disruption Due to a combination of ...
user avatar
  • 8,724
8 votes
Accepted

How is a blockchain split resolved?

You're looking for CBlockIndexWorkComparator, which operates by three rules. The rules are applied one at a time, and if a rule leads to a tie, then the next rule is applied. Which blockchain has the ...
user avatar
  • 28.6k
8 votes
Accepted

What does 'signal' and 'lock-in' mean in a BIP?

Signalling simply means the miner of a block has set a bit in the version field to say that they support something. BIP 8 and 9 discuss this, it allows the miners to let the network know they are ...
user avatar
  • 11.3k
7 votes

Why can’t the genesis block coinbase be spent?

How would you change it to allow it to be spent? In order to make the coinbase spendable, the following changes have to be made to validation.cpp (v0.16.2). Note: as mentioned this would be ...
user avatar
  • 7,040
7 votes
Accepted

How does a new block get distributed

When a node discovers a new block, it will send an (unsolicited) inv (inventory message) to announce the new block to its peers. The peers should then respond by sending a getdata message requesting ...
user avatar
  • 62.5k
7 votes
Accepted

How does Proof of Burn work?

Attention: Ambiguity! Note that the term (or abbreviation) "PoB" can be used differently. For example, some cryptocurrencies allow users to get some of their coins for provably burning money in ...
user avatar
  • 3,144
7 votes

What does 'signal' and 'lock-in' mean in a BIP?

BIP9 "versionbits" introduced a method to deploy up to 29 softfork proposals at the same time. Each proposal follows the same flow: Graphic from BIP9 After the starttime is reached for the proposal,...
user avatar
  • 62.5k
7 votes
Accepted

Why was BIP34 (Block v2, Height in Coinbase) not implemented via the coinbase tx's locktime or nSequence?

That would have made perfect sense, and I see no reason why that wouldn't have been the superior way of doing it. However, as far as I remember, nobody suggested this at the time.
user avatar
7 votes
Accepted

PoW 51% attack vs. BFT 1/3 attack?

So from what I understand, Bitcoin's PoW is prone to 51% attack, but as a distributed system it is also prone to BFT's 1/3 attack right? No. Bitcoin is not a "consensus system" by any of the ...
user avatar
  • 7,439
7 votes

Would Bitcoin still work without a target difficulty?

It's not trivial a) to agree on the time in a distributed system, especially how much time has passed between two events, b) to establish when exactly a block candidate was found. Further, when a node ...
user avatar
  • 62.5k
7 votes

Why coinbase maturity is defined to be 100 and not 50?

Obviously the choice was somewhat arbitrary as well as largely unexplained. This is true of several other constants chosen by Satoshi Nakamoto. According to What is the length of largest known ...
user avatar
6 votes
Accepted

Bitcoin without mining

Both Bitcoin and Ripple are systems made of many components. One such component is a method to synchronize transactions and secure against double-spending; Bitcoin uses mining based on proof of work ...
user avatar
6 votes
Accepted

How does a miner get selected in Proof Of Stake?

The minting algorithm for staking is different for various coins; for example, it is different in BlackCoin from Cardano. There are several approaches to staking, but most of them are susceptible to "...
user avatar
  • 992
6 votes
Accepted

In what sense does the security model of proof-of-stake require users to "log on to the internet every few months"

What Vitalik is talking about is the Slasher algorithm that he designed which punishes the block signer if he attempts to create a fork in the blockchain. However the way that slasher works is that ...
user avatar
  • 60.6k
6 votes

Has PoS really been proven secure under comparable assumptions as Bitcoin?

The Ouroboros line of work proves security comparable to Bitcoin's security. The proofs of security in Ouroboros are similar in style to the Backbone proofs of security, which show that Bitcoin is ...
user avatar
  • 992
6 votes

Byzantine Fault Tolerance Threshold of Bitcoin: 1/2 or 1/3? (Edited)

It depends on what you're actually asking. Bitcoin doesn't exist within the normal model of BFT consensus so in one sense the answer is mu. Under conventional assumptions Bitcoin will converge on a ...
user avatar
  • 7,439
6 votes
Accepted

Was it always required for the Coinbase transaction to be the first transaction in a block?

This is not true. Code and code comments in v0.1.5 (the oldest tagged version in git) enforce that there always is a coinbase transaction and that it must always be the first. There cannot be a ...
user avatar
  • 60.6k
6 votes

How do miners communicate in Bitcoin/ Decentralized Network?

Bitcoin is a gossiping network. There is no hierarchy among the nodes, each node operates at equal privilege level. Bitcoin has an established protocol defining how nodes communicate with each other, ...
user avatar
  • 62.5k
6 votes
Accepted

How does the BTC protocol guarantee that a "main" blockchain emerges?

Bitcoin nodes consider the chain with the most accumulated proof-of-work the best chain. Whenever one chain tip pulls ahead by adding another block, all nodes will reorganize to that chaintip as soon ...
user avatar
  • 62.5k

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