Questions tagged [protocol]

This tag should be used for questions relating to the protocols by which cryptocurrencies are transferred. This includes the network protocol and consensus rules.

The network protocol are the set of rules and messages that all Bitcoin nodes must follow in order to be able to connect to and communicate with each other. Details about how the Peer-to-Peer network protocol works can be found on bitcoin.org

The consensus protocol is the set of rules and procedures that a node must follow in order for it to accept the same blocks and transactions as all other nodes on the network.

422 questions
17
votes
2 answers

How was the magic network ID value chosen?

Messages on the Bitcoin network are identified by the magic value 0xD9B4BEF9, and on the testnet by 0xDAB5BFFA. Why were these values chosen?
jl6
  • 1,229
  • 8
  • 13
15
votes
2 answers

What is the Alert system in the bitcoin protocol? How does it work?

I understand Bitcoin has an alert system. Can someone explain what it is, how does it work, and what was it designed for?
ripper234
  • 26,550
  • 30
  • 111
  • 246
11
votes
2 answers

How could the bitcoin protocol be changed? Has this ever occurred?

I keep coming across answers in questions on this site and on the wiki saying that the protocol might need to be changed in the future to create more scalability / security. It seems to me that it is difficult to update the protocol now that there…
Muhd
  • 211
  • 2
  • 5
9
votes
1 answer

Why are there two byte sizes for timestamps in the Bitcoin protocol?

Reading Block Headers on the Bitcoin wiki, I learned that the timestamp in a block header is four bytes, and the timestamp in the "version" message is eight bytes. Why are there two sizes, and why isn't it more consistent?
Ning
  • 2,791
  • 3
  • 19
  • 16
8
votes
2 answers

What will happen when the time field wraps around

I was rather surprised when I read about the bitcoin's block header time field is only 32 bit. Even if it is unsigned (it is) it only get us 68 more years than the Y2K38 problem. What will happen then, will we need to change the protocol? Can we?…
Gopoi
  • 929
  • 6
  • 21
7
votes
3 answers

Why block height is required in coinbase?

While reading bitcoin source I found this short comment: // Height first in coinbase required for block.version=2 (From https://github.com/bitcoin/bitcoin/blob/master/src/miner.cpp#L338). Why this is required? Does it prevent some misuse or…
max taldykin
  • 397
  • 1
  • 3
  • 14
6
votes
2 answers

Is it possible to force a person to honor a conditional promise-to-pay?

I'm thinking of the situation where you have an auction where bids are placed. There are two conditions that should be held: Placing a bid shouldn't expose you to paying the seller unless you win the auction Placing a bid should require that you…
B T
  • 1,638
  • 15
  • 27
6
votes
1 answer

Why are p2sh and CHV forward-compatible but not backward-compatible?

The OP_EVAL BIP says that "Avoiding a block-chain split by malicious OP_EVAL transactions requires careful handling of two cases: An OP_EVAL transaction that is invalid for new clients/miners but valid for old clients/miners. An OP_EVAL transaction…
lamont cranston
  • 461
  • 3
  • 6
6
votes
2 answers

How would changes to the Bitcoin protocol be decided upon? What constitutes a "majority"?

We know that the Bitcoin protocol can be updated at any time. Larger updates and hard forks can be difficult to push through, but as long as a majority of the Bitcoin community supports the update, it can happen. However, it's unclear to me exactly…
Ryan Shea
  • 776
  • 8
  • 12
3
votes
1 answer

What the maximum number of txout in a transaction?

I know the maximum transaction size is 500Kb. I also know there is a maximum for sigop in a transaction (20,000?). What I'm interested in is what is the maximum number of txouts you could include in a single transaction.
user789235
  • 136
  • 2
  • 6
2
votes
1 answer

Is there any other protocol in use besides a "Gossip protocol"

I'm interesting is there any other protocol that is being used inside Bitcoin network besides "Gossip"? And if there is, in which layer of communication and for which purpose is being used? Thanks!
ddavi031
  • 479
  • 2
  • 9
2
votes
1 answer

BFT VS Bitcoin PoW VS PBFT

I've been studying consensus algorithms and kind of got stuck. if you check out Neo's explanations on its consensus algorithm, it says "Numerous protocols have been developed to solve the Byzantine Generals’ Problem. Hyperledger, for instance,…
ssexyryan
  • 21
  • 3
2
votes
1 answer

Maximum `getdata` message size

From the Bitcoin wiki's Protocol Specification page: getdata getdata is used in response to inv, to retrieve the content of a specific object, and is usually sent after receiving an inv packet, after filtering known elements. It can be used to…
Nick ODell
  • 29,396
  • 11
  • 72
  • 130
2
votes
0 answers

When spending a fraction of the coins in an address, can I send the remainder back to the same address?

Lets say an address has 150 unspent BTC, and I want to transfer 50 BTC to someone else, can I send the remainder (100 BTC) back to the original address? Is this impossible, a bad idea or something that isn't done very often for some other reason?
Marius
  • 131
  • 4
2
votes
1 answer

Has anyone attempted to rewrite the bitcoin software and protocol?

As anyone who has looked at the bitcoin protocol in depth can tell, it is really a huge mess of different encodings, hashing styles, and endian conversions. Although it would be a fairly cosmetic change, are there any projects out there to attempt…
Earlz
  • 1,130
  • 2
  • 11
  • 27
1
2 3