Questions tagged [consensus]
Questions about the consensus system of Bitcoin and the protocol rules that are consensus critical.
229
questions
0
votes
0
answers
21
views
Is there a consensus as to what is meant by 'Nakamoto Consensus'?
I sometimes hear that bitcoin's key innovation was the Nakamoto Consensus, which solves the double-spend problem without the need for trusted third-party intermediaries.
I take Nakamoto Consensus to ...
0
votes
1
answer
37
views
What stage of the bitcoin protocol deals (or 'solves') the double-spend problem?
I understand that a key innovation in bitcoin is that it solves a key problem faced by previous attempts at a digital currency: the double-spend problem.
In addition, I also understand that the ...
0
votes
1
answer
39
views
Does every single node in the blockchain validate the transactions in the mempool?
I have read several responses to various questions SE. Some responses partially respond to the question so I was hoping to get your help to bridge my gaps in understanding.
Does every single node on ...
5
votes
1
answer
101
views
Is the minimum fee consensus, just policy, or both?
Intuitively, I think minRelayFee is policy while minBlockTxFee is validation, but DEFAULT_MIN_RELAY_TX_FEE is in validation.h while DEFAULT_BLOCK_MIN_TX_FEE is in policy.h.
1
vote
1
answer
45
views
Criteria for Bitcoin protocol consolidation/freezing at the network level (full nodes)
In the Bitcoin development process, there exists the following high-level structure of control:
Anyone can submit a BIP that aims to change Bitcoin Core
The BIP must be approved by an editor
The BIP ...
0
votes
3
answers
54
views
How blockchain consensus verify the transaction?
So many blockchain documentation tell that the blockchain uses the consensus to verify transactions. But what I understand the consensus only generate the hash to create the new block. I don't know ...
1
vote
1
answer
33
views
Does the reference client Bitcoin Core determine the consensus rules?
Does the reference client Bitcoin Core determine the consensus rules? Why should we care what is in the BIP if when there is a discrepancy between the BIP and the Core codebase (like we saw recently ...
3
votes
3
answers
209
views
Can you get the longest chain by keeping a constant low difficulty?
I'm struggling with this question that should be easy to answer.
If the truth is the longest chain,
what if I redo all the work from Block 1
until I have the longest chain by keeping a constant low ...
5
votes
1
answer
764
views
Verifying Block 124724
Just for my own educational purposes, I'm writing something that verifies the blocks on the blockchain. I had in my code this line:
assert coinbase_amount == block_reward + total_tip
And it succeeded ...
0
votes
1
answer
23
views
How should I go about allowing specific miners to submit to the network?
I have forked bitcoin, and I want to only allow mining submissions from specific public keys (I can verify the signature). Where would the best place to look in the bitcoin source? Would it be best to ...
5
votes
2
answers
360
views
Was Bitcoin 0.3.7 actually hard-forking?
Reading through the wiki (bitcoin.it consensus versions) I noticed that release 0.3.7 ("scriptSig + scriptPubKey evaluations separated") is listed as a hard-forking change. In BitMEX's ...
0
votes
1
answer
44
views
How do bitcoin nodes rollback state when a higher POW chain is introduced
Let's say the current chain consensus has a total POW of X... this is agreed upon by all 10k+ BTC nodes.
A new "magic" node joins and it has mined a chain (privately) with total POW = 2*X. ...
0
votes
0
answers
15
views
Will transaction propagation delay cause chain forks (divergent chains)? [duplicate]
I am not talking about divergence in the network due to firewalls, but I am imagining a situation where transactions that originated in North America etc takes too long to propagate to New Zealand (...
4
votes
1
answer
117
views
Why is CAmount a signed integer?
Is there is reason why Bitcoin uses signed instead of unsigned integers for amounts? I can't imagine a scenario where negative amounts could come up. Was it simply something Satoshi implemented for ...
3
votes
1
answer
87
views
What is the standard logic behind the ordering of outputs in the vout array for a transaction?
This question and its answers discussed the meaning and purpose of the vout array of a transaction in good detail. However, I have so far not been able to find any good information about how outputs ...
2
votes
1
answer
1k
views
If two miners come up with two valid nonces, how does consensus take place?
I am trying to understand how the consensus mechanism works. My understanding is that multiple nonces can satisfy the target hash requirement. What I'm trying to understand now is: if two miners come ...
3
votes
3
answers
278
views
Why coinbase maturity is defined to be 100 and not 50?
I understand the logic behind coinbase maturity.
One thing that I cannot find an answer for is why it's defined 100 and not 50?
Is it just probability reason to decrease that orphan blocks will be ...
1
vote
4
answers
103
views
If the nodes are what keep Bitcoin decentralized, what if some big internet company spun up 60%+ majority nodes?
If the nodes are what keep Bitcoin decentralized, what if some big internet company spun up 60%+ majority nodes?
What’s stopping them from manipulating the blockchain to change transactions?
0
votes
1
answer
49
views
How many people are needed to make a decision to increase Bitcoin money supply? [duplicate]
Yes, it is currently capped at 21m. But it is just a line of code.
Anybody can go and change it to whatever they want and what is needed then is to persuade the miners to accept it. Blockchain ...
2
votes
2
answers
501
views
Can Bitcoin nodes vote to increase the money supply beyond 21 million?
Is it possible for 51% of the Bitcoin nodes to pool and vote to increase the money supply limit? Is that allowed in the protocol?
5
votes
4
answers
2k
views
Would Bitcoin still work without a target difficulty?
Suppose that Bitcoin nodes had no target difficulty at all, and instead just accepted the block with the largest PoW every 10 minutes. Ignoring the increased bandwidth (since nodes would be ...
2
votes
3
answers
266
views
Could the threat of centralization be realized if a sufficiently large entity acquired enough Bitcoin?
This is primarily a hypothetical, but not an impossible one.
If a sufficiently large entity such as a massive company with a lot of cash or the U.S. Federal Reserve were to acquire more than half of ...
1
vote
2
answers
51
views
Will Nakamoto consensus work if a nontrivial portion of miners/nodes are on the moon? [duplicate]
Will Bitcoin (or Nakamoto consensus) work if a non trivial portion (say 5%) of miners/nodes are on the moon? What about mars? How about one of the moons of Jupiter?
If not, why not? If yes, how does ...
1
vote
1
answer
55
views
Noob question: Why is there not a limit of the number of blocks in a chain revision?
I have a noob idea and I want to understand where I'm going wrong :)
Say nodes agreed on a block revision limit, say, 6. This would mean that if they see an incoming chain that is longer than the ...
0
votes
0
answers
26
views
What are the options to recover from 51% attack purely from algorithmic standpoint
Assuming there exists a malicious entity, they have managed to own 51% hash power, and executed a sustained 51% attack on Bitcoin, say 24 hours.
In this case :
What are the options then to recover ...
12
votes
3
answers
6k
views
How can we trust supply won't be increased in 2140 by just a few lines of code?
How can we trust supply won't be increased by just a few lines of code?
0
votes
1
answer
113
views
1-CPU-1 Vote Bitcoin confusion
How does the 1-CPU-1 vote works because if we're talking about miners doing computation power to vote, then successful solver of the hash wins the block, so basically only the single cpu (considering ...
0
votes
2
answers
53
views
If there was an easy way to check for double spends, will consensus algorithms be needed?
Currently, checking for double spends is very computationally expensive, so consensus algorithms, like POW, were put in place to more easily prevent double spends among other things.
Ignoring the fact ...
0
votes
2
answers
141
views
Decreasing Energy Consumption of Bitcoin's PoW with paired mining rounds
I found the following whitepaper on an algorithm called "Green-PoW" by the authors and i'm quite sure this would be a perfacet solution and also would get acceptance by the miners and the ...
1
vote
1
answer
70
views
Who enforces new consensus rules in Bitcoin?
I have been reading at few places that miners will enforce new consensus rules. Examples:
https://twitter.com/BitMEXResearch/status/1391014115968274433
https://twitter.com/ajtowns/status/...
1
vote
1
answer
326
views
51% attack, miners, nodes or both
If 51% of the hashrate was controlled by bad actors mining invalid blocks, this would become the longest chain. Where do nodes come into the 51% attack? The canonical chain is the longest chain. Is ...
1
vote
1
answer
82
views
How are malicious forks resolved?
I understand that forks are resolved by opting in for the eventual longest chain, preferring the chain with the longest POW. But everything I read on this suggests it's just random chance or that the ...
1
vote
1
answer
61
views
Preventing secretly mined chains
In order to prevent attackers from secretly mining chains (which they could later publish to perform double-spending attacks), would it be possible to require some information to be included in the ...
1
vote
1
answer
55
views
Why does the value range of outputs need to be restricted?
In the 'tx messages' section for protocol rules we have
Each output value, as well as the total, must be in legal money range
For each input, if the referenced output does not exist (e.g. never ...
1
vote
1
answer
29
views
How does the blockchain prevent transaction based on outdated note
This question borders along the line of cryptography and distributed systems, but I guess I have a strong chance of getting an answer if asked here. So here goes:
I understand that the blockchain is ...
1
vote
0
answers
35
views
how is bitcoin network protect itself from malicious nodes? [duplicate]
Can someone explain how does Bitcoin network protect itself from malicious nodes? Lets say someone creates bitcoin core clone and they manipulate it to their need. For example could someone change ...
-2
votes
1
answer
111
views
Can cryptocurrencies like Bitcoin be turned into a censored payment system under that would be financial regulation framework creating soft forks? [closed]
It s well known mining pools as well as hashing power is centralized in countries where electricity is cheap and using mining farms rather belonging to at least medium sized companies than single hand ...
7
votes
2
answers
627
views
How does the BTC protocol guarantee that a "main" blockchain emerges?
I'm reading up on the bitcoin/blockchain technology.
Usually, the part about proof of work and how to create a block is well explained.
However, what is never explained is how/why the communication of ...
1
vote
2
answers
321
views
Will the 1MB block size increase in the future?
The current Bitcoin block size is 1MB and is generated every 10 minutes, therefore 7 transactions per second. If the use of Bitcoin increase in the future, is the 7 transactions per second going to be ...
-1
votes
1
answer
126
views
How does the blockchain know if its block hashes have been tampered?
I'm dealing with some problems to finally understand how implicit consensus works and I've come across with one question. Suppose the following:
A malicious miner proposes the following block to be ...
3
votes
1
answer
94
views
What is the difference between Consensus and Distributed Consensus?
This is more of a clarification than as a question. Since I didn't have the rep to post a comment in this question, I'm putting this itself as a question.
Sources I've referred till now:
A ...
0
votes
2
answers
64
views
How is difficulty enforced in the bitcoin blockchain? [duplicate]
Is it through some sort of voluntary acceptance by miners or is it hardcoded into the bitcoin blockchain to not accept a block which doesn't achieve a given difficulty level?
8
votes
2
answers
2k
views
How do Bitcoin devs make sure that their modifications do not affect the consensus rules or the running network protocol?
I understand that Bitcoin consensus rules are enforced by every single node individually.
However, most people run the default version of Bitcoin Core, which makes the implementations done by Bitcoin ...
4
votes
2
answers
271
views
what if the timelock is in the past?
I just started learning about bitcoin scripting and wonder:
what if the timelock in CLTV is in the past?
what if the timelock in nLocktime is equal to 500.000?
0
votes
0
answers
21
views
In blockchain, if no new members join the network can we prove that there will not be anymore forks before a certain point in history?
I would like to know if we can allow new members to join with the promise that they will not attempt to create a new fork however hard it may prove to be, before a certain point in history. To this ...
2
votes
1
answer
110
views
Should a node follow the longest chain, or the chain with most work while syncing?
I'm reading mixed things online - some saying to follow the longest chain, and some say to follow the chain with the most work. But I'm not convinced of the former.
If the node follows the longest ...
8
votes
1
answer
198
views
CVE-2012-2459 , possible code and performance improvement, is my logic correct?
ok so, in my effort to create a fullnode from scratch both for learning purpose and need (not a topic for discussion, thanks), I was looking at the code that check Merkle Root to not be vulnerable to ...
1
vote
1
answer
37
views
Why do we need 2F prepare certificates instead of just F+1 in PBFT?
I started reading PBFT and I could not understand: why do we need 2F prepare certificates?
The client needs only F + 1 replies, not 2F, so why can't the same rule be applicable in the prepare phase of ...
3
votes
0
answers
200
views
UTXO snapshots and history pruning
Is there a research, BIP proposal or simple discussion about possible improvement on the size required to run a full node and a way to shrink/prune the history of bitcoin and have fast sync?
Let me ...
1
vote
1
answer
114
views
What will happen when a collision in SHA256 be found?
Would the protocol migrate to another Hash Algorithm inmediatly?
What would be the next? SHA3 or BLAKE 2?