Skip to main content
OverflowAI is here! AI power for your Stack Overflow for Teams knowledge community. Learn more

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
0 votes
1 answer
33 views

What schema descriptions exist for the bitcoin protocol?

In an application, I'd like users to be able to declare, through a signed 32 byte number, the bitcoin protocol rules and data formats they will adhere to. Presently, I'm envisaging this being the hash ...
Lee's user avatar
  • 815
2 votes
0 answers
56 views

Reverse-engineering Bitcoin to a formal specification

Is there any attempt/project to reverse-engineer Bitcoin's reference implementation, not to an informal description (I have found those), rather to a formal specification? I have tried searching but ...
Julio Di Egidio - inactive's user avatar
1 vote
1 answer
100 views

What are ALL the consensus rules?

I asked this question before, and it was quickly locked and pointed to a thread about mempool policy... yet my question remains unanswered. Let it be known, I don't want to know what policy is [or is ...
DoctorBuzz1's user avatar
1 vote
1 answer
202 views

Why does the Stratum protocol use a Share Difficulty of 2^32?

In the comments below his answer to my recent question about Network Difficulty, Pieter noted that Stratum Share Difficulty is an entirely separate concept. See https://bitcoin.stackexchange.com/a/...
sha2fiddy's user avatar
2 votes
1 answer
101 views

What is the purpose of addr_recv? What does it mean that addr_recv influences the heuristic for determining which of the receiving nodes IP is public?

I found here the purposes of addr_recv and addr_from. Bitcoin Core actually ignores addr_from in received version messages. addr_recv is used to influence the heuristic that determines which of the ...
Qwerty M3's user avatar
2 votes
2 answers
1k views

How does mining verify a transaction?

I’m very much new to understanding this whole bitcoin concept. As far as I’m concerned, nodes mine for a nonce that, when paired with the data of the block, result in a hash that suffices some ...
Johnafoon's user avatar
1 vote
3 answers
186 views

What protocol do bitcoin nodes use to talk to each other?

I assume it's TCP, but is there some other software used to send and receive data? So how would I program a very simple C++ program that sends a test message to a node?
apchrkey's user avatar
2 votes
0 answers
26 views

No inv messages from inbound nodes

I'm writing a tx relay-only node that can accept inbound connections and make outbound ones. Just for research. What I'm seeing that on inbound nodes the initial handshake completes and the connection ...
Eva4684's user avatar
  • 41
5 votes
1 answer
848 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?
quantumtightening's user avatar
1 vote
0 answers
56 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 ...
Zephyrus's user avatar
  • 782
0 votes
3 answers
313 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 ...
StatsScared's user avatar
1 vote
2 answers
373 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 ...
Amir reza Riahi's user avatar
5 votes
2 answers
949 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 ...
Rook's user avatar
  • 333
4 votes
0 answers
147 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 ...
user avatar
2 votes
1 answer
73 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 ...
Paul Yu's user avatar
  • 35
2 votes
1 answer
218 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'?
StatsScared's user avatar
0 votes
1 answer
77 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 ...
Loopite's user avatar
  • 301
0 votes
1 answer
35 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 ...
Olympus's user avatar
  • 13
0 votes
1 answer
86 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 ?
Lukkyz's user avatar
  • 3
0 votes
1 answer
49 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/...
matrixisreal's user avatar
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 ...
dark knight's user avatar
  • 2,017
4 votes
1 answer
133 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 ...
Arnor's user avatar
  • 83
1 vote
0 answers
68 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 ...
adrian's user avatar
  • 111
1 vote
1 answer
83 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 ...
PhlipPhlops's user avatar
9 votes
1 answer
276 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)...
Rene Pickhardt's user avatar
2 votes
0 answers
130 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 ...
Mephistopheles's user avatar
0 votes
1 answer
82 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
114 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
2 votes
0 answers
85 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: ...
Muoi Tran's user avatar
  • 427
2 votes
1 answer
139 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 ...
Anonymous's user avatar
0 votes
0 answers
51 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: &...
Anonymous's user avatar
-2 votes
3 answers
231 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. ...
mattsmith5's user avatar
4 votes
2 answers
631 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 ...
noctonura's user avatar
  • 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 ...
kendfss's user avatar
  • 103
0 votes
1 answer
105 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 ...
Saxtheowl's user avatar
  • 2,800
3 votes
3 answers
105 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
121 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 ...
Prince M's user avatar
  • 340
5 votes
1 answer
679 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
74 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, ...
starikcetin's user avatar
5 votes
1 answer
588 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 ...
Nika Kurashvili's user avatar
5 votes
1 answer
159 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 ...
cloudhead's user avatar
  • 189
0 votes
1 answer
112 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?
xdimy's user avatar
  • 1
2 votes
2 answers
387 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 ...
Stijn de Vries's user avatar
1 vote
1 answer
46 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 ...
lixkel's user avatar
  • 11
1 vote
1 answer
82 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, ...
Azurite's user avatar
  • 11
0 votes
1 answer
139 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 ...
Renganathan Subramanian's user avatar
0 votes
1 answer
140 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 ...
ddavi031's user avatar
  • 479
2 votes
1 answer
294 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? ...
ddavi031's user avatar
  • 479
0 votes
3 answers
199 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 ...
J. Alkurdi's user avatar
2 votes
1 answer
132 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? ...
Bluuee's user avatar
  • 23

1
2 3 4 5
9