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
2answers
79 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
35 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 ...
0
votes
1answer
50 views

How does a node send a chain?

I apologize for the newbie question. 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 ...
0
votes
1answer
36 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
47 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
97 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
48 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
56 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? ...
0
votes
0answers
36 views

Clarfication on “ network synchrounisation” in analyzing bitcoin protocol in a synchronous model

I am reading The Bitcoin Backbone Protocol:Analysis and Applications and i have no previous knowledge on different type of networks . And there is a term in paper " high network synchronicity &...
1
vote
1answer
26 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
37 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
33 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 ...
1
vote
1answer
41 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
27 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
481 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
76 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
50 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
100 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
42 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 ...
0
votes
1answer
41 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 = ...
2
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
45 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
34 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
33 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
211 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
382 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
154 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
104 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
102 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
111 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 ...
0
votes
1answer
139 views

Curl bitcoin protocol for learning?

I'm trying to understand bitcoin RPC Peer to Peer protocol to implement SPV on a web-application that should receive crypto payments. The problem is that on the examples I found, examples are about ...
0
votes
1answer
25 views

What key is used to create a script?

I'm trying to sign an input in my transaction. The question is: which key has to be used in the "script," private or public? It would be silly to disclose a private key there, right? But how will the ...
0
votes
1answer
51 views

Security of ChaChaPoly (IETF rfc7539) in the noise protocol framework of the Lightning Network

According to this paper ChaChaPoly is secure against chosen known plaintext attacks. I wonder however if that security assumption is weakened by a lot since messages sent on the transport layer of the ...
5
votes
1answer
155 views

How would the gossip protocol announce channels from a channel factory?

I was just listening to SLP59 with Christian Decker. They mainly discussed channel factories. While the construction of multiparty channels and higher order systems (sub channels) being derived from ...
1
vote
2answers
144 views

Why was noise XK fundamental pattern chosen in the transport layer (BOLT 08) of the lightning network

I am currently reviewing the transport layer of the Lightning network protocol. It builds on top of the noise protocol framework handshake patterns. What I don't get: Why was the fundamental pattern ...
3
votes
1answer
66 views

Are Bitcoin core devs contributing to ISO/TC 307 Blockchain and distributed ledger technologies

I was just being made aware of the standardization process about blockchain and distributed Leger technologies. https://www.iso.org/committee/6266604.html In this picture from the talk that I am ...
0
votes
1answer
32 views

Bitcoin create TX. What is 'hash_type'?

https://bitcoin.stackexchange.com/a/5241/92798 What is the meaning of item 13? Why is this value chosen? What does it mean?
1
vote
2answers
40 views

White paper text is not clear to me

Is there any intention by the respective author or by Bitcoin.org to edit, improve or re-write the white paper for absolute clarity? Among others I do not understand the value of repetitive ...
2
votes
1answer
81 views

How could an inflation bug be spotted in grin?

Looking at the transactions within the block explorer I can't see any transaction amounts. How could an inflation bug be detected if all transactions are private?
1
vote
1answer
89 views

In what way does Spectre have “weak” liveness?

In his article The Spectre Protocol, Aviv Zohar, one of Spectre's authors, mentions that Spectre has weak liveness. Why does he mention that Spectre has "weak" liveness, and how would "strong liveness"...
4
votes
1answer
416 views

Why was an insecure merkle tree implementation chosen?

At risk of creating a "lets discuss politics" question, let me clarify that what I want to know is whether there is a known benefit to Satoshi's "duplicate the last hash" merkle tree implementation ...
1
vote
3answers
690 views

Block Validation: who does it? How much it costs? And is it present in all protocols?

Different threads were posted in order to clear up this question, but there are some points that I would need to confirm: When you become a full-node (NOT miner, you just downloaded the full ...
1
vote
0answers
26 views

What is the behavior of the try catch statement in lines 1707-1729 in the ui.cpp in the release 0.1?

In the first public release, ui.cpp has this code on the lines in the subject: void CSendingDialog::OnReply3(CDataStream& vRecv) { int nRet; try { vRecv >> nRet; ...
2
votes
1answer
21 views

Can miner pay transaction fee with coinbase (if maturity is disabled)?

If I understand correctly, the first transaction in a block may collect transaction fees (difference between inputs and outputs) from the following transactions in the same block; and subsequent ...
2
votes
2answers
230 views

How is subscript computed for OP_CHECKMULTISIG?

I'm trying to learn the Bitcoin protocol by implementing it, and I've got OP_CHECKSIG working (following instructions in https://en.bitcoin.it/wiki/OP_CHECKSIG), but I can't get an transaction input ...
0
votes
1answer
32 views

Why can I observe three different network difficulties in a span of a few days?

https://www.blockchain.com/charts/difficulty If I study the difficulty changes the last 6 months, I can see, as would be expected, that roughly every two weeks, the network makes an appropriate ...
1
vote
0answers
55 views

Exchange development good practices

Is there any guide or good practice rules to follow when developing a service that uses the Bitcoin and other cryptocurrencies protocols? For instance, how is the best way to know if a user deposited ...
2
votes
0answers
92 views

Why is the Serialization limit set to 0x02000000?

In addition to the block size limit, there is a limit on the maximum message size. Is there a rationale behind the 32MB limit set in src/serialize.h or was it picked because it's just a nice round ...
0
votes
1answer
44 views

History of ideas behind a bitcoin protocol [closed]

Could you outline the logical sequence of main ideas (concepts) that contributed to the evolution of the bitcoin protocol from the beginning to now?

1
2 3 4 5
8