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
2 votes
2 answers
190 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
125 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
22 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
549 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
50 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
  • 658
0 votes
3 answers
245 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
276 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
854 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
117 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
69 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
204 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
71 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
74 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
  • 1,997
4 votes
1 answer
124 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
58 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
77 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
269 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
126 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
79 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
111 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
70 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
133 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
50 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
230 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
622 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
98 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,770
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
115 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
669 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
68 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
543 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
110 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
349 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
45 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
81 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
129 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
137 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
  • 459
1 vote
1 answer
279 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
  • 459
0 votes
3 answers
182 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
126 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 vote
1 answer
71 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'...
Michael Fletcher's user avatar
0 votes
1 answer
151 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 ...
Aman Saggu's user avatar
1 vote
1 answer
99 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 ...
Aman Saggu's user avatar
2 votes
1 answer
104 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 ...
Sarthak123's user avatar
2 votes
1 answer
49 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 ...
Marcus K's user avatar

1
2 3 4 5
9