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
3 votes
1 answer
206 views

What is the size limit on the UTXO set, if any?

Other than limitations in growth of the UTXO set with regard to the block size, is there a cap either on the number of UTXOs or storage limit of the UTXO set in the Bitcoin protocol or Bitcoin Core?
1 vote
0 answers
30 views

Protocol version message is ignored by node

I'm trying to send a protocol version message to my node on port 8333. I found this site that explains how to send a version message from the command line. I have a C++ app that is creating the ...
  • 462
0 votes
3 answers
126 views

How is the double-spend problem related to the Byzantine generals problem?

I’ve read that Bitcoin’s key innovation is solving the double-spend problem. I’ve also read that Bitcoin solves the Byzantine generals problem. Are the double-spend and the Byzantine generals problem ...
1 vote
2 answers
152 views

What is an inv message?

I was reviewing the PR #25720. This is part of description for the PR: However, if an INV for a block is received before our headers chain is caught up, we'll then start to sync headers from each ...
5 votes
2 answers
832 views

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

If I am not mistaken the mainline bitcoind will accept unsolicited addr messages, and upon receiving this message - the struct is deserialized, and then verify each address from the unsolicited ...
  • 333
3 votes
0 answers
89 views

How does bitcoin core handle service flag spoofing?

There are 5 service flags in src/protocol.cpp: static std::string serviceFlagToStr(size_t bit) { const uint64_t service_flag = 1ULL << bit; switch ((ServiceFlags)service_flag) { case ...
2 votes
1 answer
56 views

Why is the intersection of two quorums must be greater than N/3 when proving streamlet?

Why is the intersection of two quorums must be greater than N/3 when proving Streamlet, a blockchain consensus protocol [BY Chan, Elaine Shi, 2020]? In Streamlet, honest node vote for proposed block ...
  • 35
2 votes
1 answer
180 views

What is an inflationary bug in the context of bitcoin?

I often hear that the worst bug that could impact bitcoin is an inflationary bug. But what exactly is meant by 'inflationary bug'?
0 votes
1 answer
53 views

Peer-to-peer - informations about downloading

I would like to know how the software downloads the blockchain. If the bytes write throught the socket and wait until it's written. And If the software asks 16 blocks to each peer in which you're ...
  • 85
0 votes
1 answer
31 views

Lightning protocol modification for app

I'm currently building a Lightning platform for online sellers. I have found that timing can be very problematic: For example, two people want to buy the last item in stock or a unique item like a ...
  • 13
0 votes
1 answer
59 views

In which format bitcoin protocol send message?

I'm writing a small p2p network and I don't know if I have to transmit message (between nodes) in clear text or in another format ? How is it for bitcoin protocol ?
  • 3
0 votes
1 answer
46 views

How do we make sure we don't lose some data permanently?

If my understanding is correct, the blocks, transactions and other data are stored in a decentralized way. Even though the full nodes exist they may not have the complete data and it may be fail/...
10 votes
6 answers
2k views

Can bitcoin protocol be changed to add economic incentives to validating nodes?

We all want more decentralized bitcoin network and more people to run nodes. However, as we know that things are driven more by market economics rather than philanthropic or feel good factors. Similar ...
  • 1,977
4 votes
1 answer
105 views

Is there a reason why 1 bitcoin = 100000000 sats?

Is there a technical reason why Satoshi implemented Bitcoin with just 8 decimal places? The max number of 64-bit signed integers is usually 9,223,372,036,854,775,807 ; so with the 21 million cap an ...
  • 83
1 vote
0 answers
50 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 ...
  • 111
1 vote
1 answer
71 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 ...
9 votes
1 answer
251 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
0 answers
121 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
1 answer
68 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 ...
user avatar
1 vote
3 answers
104 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 ...
user avatar
1 vote
0 answers
50 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: ...
  • 397
2 votes
1 answer
105 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? Everything I read says you ...
0 votes
0 answers
46 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: &...
-2 votes
3 answers
197 views

Bitcoin Fraud/Recovery Protocol Proposals

Does Bitcoin plan to implement any Fraud/Loss Prevention in their protocol? I just read a story of how Brokerage Exchange Shapeshift, and Internal Employee stealing private keys from their customers. ...
4 votes
2 answers
620 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 ...
  • 175
0 votes
0 answers
22 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 ...
  • 103
0 votes
1 answer
84 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 ...
  • 2,550
3 votes
3 answers
101 views

Problems about update of protocol of bitcoin

I am new to crypto. I want to ask if in the future, bitcoin has a significant protocol update, will there be a recycle (or some kinds of buy-back or repurchase?) of old tokens or an automatic update ...
user avatar
1 vote
1 answer
108 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 ...
  • 320
5 votes
1 answer
651 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?
user avatar
1 vote
1 answer
61 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, ...
5 votes
1 answer
490 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
1 answer
154 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 ...
  • 189
0 votes
1 answer
102 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?
  • 1
2 votes
2 answers
308 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
1 answer
43 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 ...
  • 11
1 vote
1 answer
74 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, ...
  • 11
0 votes
1 answer
118 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
1 answer
131 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 ...
  • 459
1 vote
1 answer
260 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? ...
  • 459
0 votes
3 answers
160 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
1 answer
121 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? ...
  • 23
1 vote
1 answer
66 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
1 answer
135 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
1 answer
91 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
1 answer
98 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
1 answer
45 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
2 answers
3k 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 ...
  • 69
4 votes
1 answer
436 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
1 answer
66 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
2 3 4 5
9