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.

Filter by
Sorted by
Tagged with
1
vote
3answers
57 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
0answers
40 views

How long do peers normally stay connected?

I've been experimenting with the Bitcoin protocol by trying to connect to peers and receive blocks, which has been working so far. However, often peers will close the TCP connection within a couple of ...
1
vote
1answer
36 views

What's the difference between an 'address' and an 'addressHash' in a transaction on a bitcoind node?

I'm listening to a ZMQ socket; it's sending out messages every time my node receives a transaction. The message is the binary value of the transaction itself. When I decode the binary (using a tool in ...
7
votes
1answer
170 views

Why are multi hop virtual payment channels desirable?

There are papers about multi hop virtual payment channels emerging like the Perun paper or more recently the Donner Paper. The idea seems to be to reserve some liquidity on a path (or potentially flow)...
2
votes
0answers
92 views

Version message C++

I learn bitcoin and I am trying to send a version message and get response, respectevily, by using C++. I can not find any examples or articles how to do it in C++. I'm forming request and send it by ...
0
votes
1answer
46 views

May bitcoin mining on laptop be possible again?

This is not a stupid question as it might seem at first glance. I know how much the processing speed and power consumption on ASIC is superior to CPU and GPU. Recently, I've quite often heard ...
1
vote
3answers
82 views

Do I have a chance to commit a transaction without any network fee?

I know how transaction fees are calculated. Also I understand that a transaction with a higher fee will be approved much faster than a transaction with the lowest one. Does the bitcoin protocol allow ...
1
vote
0answers
30 views

When is CMPCTBLOCK message sent in High Bandwidth Relaying?

In the Compact Blocks FAQ, particularly, the High Bandwidth Relaying diagram attached below, the CMPCTBLOCK message is sent by node A when receiving block is not yet completed. The description says: ...
0
votes
0answers
12 views

Difference between hashgraph and bitcoin regarding tx communication between nodes [duplicate]

I heard about hashgrap and its gossip protocol and that hashgraph uses gossip about gossip. The latter obviously is not true for bitcoin, however, in the presentatin the gossip protocol itsself was ...
0
votes
1answer
65 views

What does a wallet do?

what are the actual requirements for a bitcoin transaction? Not the simple inputs, outputs, verification or amounts, but in the technical sense. what does your wallet do? every thing I read says you ...
0
votes
0answers
31 views

how do bitcoin nodes detect a transaction?

I have a number of question about bitcoin but I was ask to do specific research on two questions and I figured this would be a good place to start. The first I have answered already the second is: &...
4
votes
2answers
599 views

Why is the full blockchain required, effectively forever?

I do understand that every block is validated in terms of the blocks before it by way of the previous block's hash, all the way back to the genesis block. However, could the protocol be modified such ...
0
votes
0answers
20 views

(How/Why) - Work vs Block Size Limit and Leading Zeros [duplicate]

Tl:dr How did Satoshi/the community decide an appropriate block-size-limit? Why does the protocol increase mining difficulty by adding zeros? I've some limited experience with some of the ...
0
votes
1answer
37 views

How to understand the first reply of a node

I have send my version message to a bitcoin node and the hexdump of his answer was this: https://pastebin.com/QBNaeS0g Maybe this is a network related question but I want to know the version used by ...
1
vote
1answer
53 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 ...
5
votes
1answer
610 views

What does the little-endian notation improve for Bitcoin?

In another thread I read that the little-endian notation speeds things(?) up. Has someone info on what exactly it improves for Bitcoin?
1
vote
1answer
40 views

What exactly does the "For each input, if the referenced output exists in any other tx in the pool, reject this transaction." tx validation rule mean?

I am currently following the "tx" messages section of en.bitcoin.it/wiki website, and I need some clarity about the following rule regarding the validity of a transaction: For each input, ...
3
votes
1answer
250 views

does bitcoin have omni layer?

I was looking into omni protocol and couldn't quite figure out some things. I'd really appreciate your opinions. I tried to look into all the bitcoin stachexchange answers, but nothing that much ...
5
votes
1answer
126 views

Why should BIP157 compact filters be processed in-order?

In BIP157, under "Client Operation", we have the following paragraph: Starting from the first block in the desired range, the client now MAY download the filters. The client SHOULD test ...
0
votes
1answer
83 views

Why is JSON not used in the Bitcoin P2P protocol?

The Bitcoin P2P protocol uses its own serialisation format for the transferred data. Is this serialisation considered as more secure against DoS attacks than JSON?
2
votes
2answers
132 views

Why does the txn_count field exists in a block?

I was wondering why the txn_count field in a block exists. The count of transactions could be determined by parsing the txns field in tx format, right? Same for 'tx_in count' and 'tx_out count' in a ...
1
vote
1answer
38 views

How does initial exchange of inventory work when both nodes have different chains?

When two nodes connect to each other and exchange getblocks messages but they have different blockchains will both nodes download each others blockchain to verify which has higher chainwork or will ...
1
vote
1answer
65 views

How does a node send a chain?

I understand that in selfish mining a malicious node can "send its entire hidden chain". Exactly how is this done? I know that usually a single block is broadcast-ed right after it is mined, ...
0
votes
1answer
62 views

Why do other miners check block validity along with proof of work? [duplicate]

I am new to blockchains and bitcoins. So, please pardon the lack of understanding. Assume I am a miner who adds a bogus transaction (say a transfer from my account which has 0 balance to my other ...
0
votes
1answer
76 views

Did the FIBRE protocol reduce the occurrence of chain forks?

I've just learned that Fibre protocol is used for really fast block propagation. My understanding is that if blocks are propagated faster, miners can more quickly continue to work on (what seems to ...
1
vote
1answer
188 views

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? ...
0
votes
3answers
101 views

How exactly does "CoinDance" determine the current number of public Bitcoin nodes?

On this URL: https://coin.dance/nodes It says how many public Bitcoin nodes are currently active in the world, and how many Bitcoin Core ones. While it's good that I can grab these numbers from that ...
2
votes
1answer
84 views

Why is not possible for a hacker to intercept the hashes calculated by a miner, and send it all himself as if he was a miner?

(I tried to make a more specific question, but is a bit confusing to me. Sorry.) When a miner calculate a hash, where exactly does he send to in order to validate it? To all the nodes in the network? ...
1
vote
1answer
39 views

getheaders request being ignored by peers [closed]

It seems my 'getheaders' request is being ignored by peers. I've followed the implementation: https://en.bitcoin.it/wiki/Protocol_documentation#getheaders without success. If I change it to 'getblocks'...
0
votes
1answer
92 views

Some miners set the nVersion field of the block header to 0x8000004. What were they signalling for? Was this an error?

Some miners set the nVersion field of the block header to 0x8000004. What were they signalling for? Is this an error? I have been through a lot of the BIP documentations, but cannot seem to find any ...
1
vote
1answer
53 views

How were miners supposed to signal support for BIP148?

Under BIP141 (SegWit), you could signal support by setting nVersion bit 1 equal to 1. BIP9 counted: 20000002 100000000000000000000000000010 20000012 100000000000000000000000010010 30000007 ...
2
votes
1answer
63 views

How are we so sure that the bitcoin network is connected?

I am only beginning to understand the bitcoin's p2p network protocol but so far I know (and correct me if I am wrong) that a new node in the network attempts to connect to a "few" other nodes that ...
2
votes
1answer
34 views

What if periodic redistribution of bitcoin had been built in the protocol/wallets?

Imagine if there was a Bitcoin-like currency that had periodic wealth redistribution built in the protocol. For example, every month you and every other wallet would pay 20% of their bitcoin evenly to ...
1
vote
2answers
1k views

Why raw Bitcoin transaction are in hex format?

Why are Bitcoin raw transactions in hexadecimal format? I am looking for scientific articles / books on this topic and I can't find anything, so my question is: why are they in hexadecimal and can ...
4
votes
1answer
199 views

BIP34, BIP66 and BIP65 should have been enforced at unique block heights. Why do different sources claim different block heights for enforcement?

Inconsistent Consensus/Activation of BIPs BIP34 Activated Block Height 227,835 (BitMEX Reference) Activated Block Height 227,930 (Bitcoin Developer Reference) Activated Block Height 227,931 (...
1
vote
1answer
57 views

How proof of work works in Blockchain?

Sorry, if the question may seem trivial but it is bothering me for a while now. I understood how the proof of concept works when one tries to change an old block. But how that will work for the case ...
1
vote
1answer
223 views

How to disable initial block download [closed]

I want to create an original network by forking bitcoind. I changed chainparams.cpp and other programs for loading it. Then, I set DNS for my seed node. When I boot my seed node, my seed node tries ...
0
votes
2answers
71 views

Incentive for miners to keep mining once reward get very low [duplicate]

Currently each winning miner receive 12.5 bitcoin or 12.5*10 000 dollar per successfully mined block and the amount of bitcoin receive is divided by 2 approximately each 4 years. The incentive to ...
1
vote
1answer
55 views

How to Construct a Ping Message

I am struggling greatly trying to figure out how to send a basic "PING" message, and receive back a "PONG" response. import random import hashlib import socket PEER_IP = "35.187.200.6" PEER_PORT = ...
3
votes
1answer
2k views

Bitcoin protocol and Wireshark

I captured bitcoin protocol communication in real-time and it is present in fig1 and fig2. Fig1 In red box, there are many types of command. First Question: How can Wireshark detect bitcoin ...
2
votes
1answer
64 views

Do full-nodes process all transactions before broadcasting the new block header?

If so, why not do it after (re)broadcast? I think it would cut down on lag time. Since the node would still validate the PoW and the previousblockhash, it would not be possible to DoS the network ...
0
votes
1answer
55 views

Can a block have multiple coinbase transactions? Also is there a limit to the number of signatures a multi-sig transaction has or requires? [closed]

I am wondering if a block can be created with multiple coinbase transactions. The US government regulates mining pools that have control over the miner's wallets, so it would be fabulous if this could ...
1
vote
0answers
40 views

Does finding neighbors in Bitcoin consider locality and hop count?

When the list of neighbors is being gathered by a new nodes in the network, does it consider the distance between the nodes to find closest possible, or it just takes some random nodes? In other words,...
0
votes
2answers
525 views

Mining Probability

Assuming two miners have a (1/x) chance of finding a block over some time period, is the probability of both miners finding a block within that period simply (1/x^2)? More generally, would n miners ...
0
votes
0answers
22 views

Where can I find a detailed network protocol spec? [duplicate]

I have been trying for a while to understand how the bitcoin network works, which I (kind of) do on a high level. However, all of the sources I read don't go into the details of the protocol that ...
6
votes
1answer
400 views

What are the differences between Bitcoin and Libra?

Recently, Facebook announced to launch a crypto currency called "Libra". Libra is managed by associations under the name "Libra Association", see https://libra.org/en-US/association/. What are the ...
1
vote
1answer
227 views

How to get block headers from block hash using P2P API?

I have been experimenting with getheaders and one thing I can't seem to figure out is how to get a header for a specific hash, because getheaders doesn't provide this feature. According to the ...
6
votes
1answer
134 views

Why does getheaders P2P API return more than getblocks?

I've been reading through the Bitcoin P2P protocol documentation as well as experimenting with Bitcore library but confused about one thing. So getblocks seems to return inventory objects, which are ...
2
votes
1answer
144 views

Genesis block coinbase transaction without confirmations

Why the coinbase transaction, comming from the genesis block, don't have confirmations? All the others coinbase transactions have confirmations, but not in the Genesis block.
0
votes
1answer
174 views

Magic numbers BIG-LITTLE endian

I'm long time really confused about LITTLE/BIG endian encoding. With regard to bitcoin when you check protocol documentation here it says that btc magic number as send over the wire 0xF9BEB4D9 which ...

1
2 3 4 5
8