9

Almost all CPUs these days work natively in little-endian. To operate on big-endian numbers, additional byteswap instructions are needed. For most things, I think this effect is negligible. Network protocols need a convention to represent things, and Bitcoin's creator picked one. The actual choice barely matters.


5

The protocol allows it but I believe many nodes will not relay a transaction whose fee is below a configured threshold. See What is the min relay min fee code -26?


4

Question 1) why is not the omni a new blockchain at all if they forked it from bitcoin ? we can see that on github. As Murch said, Omni uses Bitcoin as its immutable database. So Omni is like a separate blockchain, since the contents of Omni transactions embedded in the Bitcoin blockchain are not relevant to Bitcoin nodes. If there's an invalid Omni ...


4

A HD wallet doesn’t know what indexes of a seed to scan for until the ones prior have been used, which can’t be discovered out of order. To allow for out of order scanning the address gap limit would need to be prohibitively large, and might still result in re-scanning filters if the wallet is particularly active.


3

It is extremely unlikely that this will ever be possible. Fundamentally, any computation can be done more efficiently on hardware that was specifically designed for that computation than on general-purpose hardware. The only question is when there is enough to gain from the (possibly enormous) costs to design and build custom hardware for the used proof-of-...


3

How likely is it that some block from 1 year ago later turns out to be invalid? Very unlikely, but I think that isn't the problem. The problem is, how does a new user find out the current state (UTXO set or equivalent) without having to trust other parties? Any community has dishonest people preying on it. You cannot ignore, expire or invalidate unspent ...


3

First of all a meta note: lots of information on https://bitcoin.it is seriously outdated, including this. I don't really understand which of these two interpretations is meant here: The output referenced by the input must not be referenced by another input of a transaction already in the pool. The output referenced by the input must not be present in a ...


3

In a nutshell, mining solves the problem of achieving a globally agreed ordering of transactions and selection of one of several incompatible transactions. Here's the problem that needs a solution: If I have 10 Bitcoin and I simultaneously introduce to two distant parts of the network a transaction that gives 10 Bitcoin to Alice and a transaction that gives ...


3

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? Yes, it could, but it isn't. Ultimately serialization formats are a convention, and Satoshi picked one when he created the initial software which has persisted in the protocol. It could be changed, but why ...


3

Serialization is certainly not my area of expertise, but I'd guess: one challenge with serialized data is to know how much data to read. Explicitly providing the count of objects (and their length) you're about to parse is likely simpler and safer than having multiple levels of terminators in a hierarchical data structure and may actually require less data ...


2

They will exchange chainwork. The one that claims a lower chainwork will query the other to confirm that its claim for a higher chainwork is legitimate. If it can confirm the claim, then it will switch to the chain with the higher total work.


2

Miners are incentivized to validate both transactions and proof of work because if they start mining a new block on top of an invalid block any block they successfully mine won't be accepted by the full nodes and other miners on the network. Therefore the energy expended on finding a proof of work will be wasted. (Each block header refers to the hash of the ...


2

OP_RETURN is a way to get arbitrary data into the blockchain with less burden to the network As a consequence, the data will also be present in less clients, as OP_RETURN data can be pruned out. The goal of this answer is to explain what https://bitcoin.stackexchange.com/a/29555/21282 explained but with a bit more context for Bitcoin newbies. How a standard ...


2

If the output value was only constrained by their sum being smaller than that of the inputs, you could e.g. set one output to a negative value and create new money in a second output. You can also do more creative stuff: I think the rule might have been introduced as a response to the value overflow incident on 2010-08-15. A transaction in a (now invalid) ...


1

The default minRelayTxFeeRate is 1,000 sat/kvB. Nodes using the default value will not relay transactions that pay a smaller feerate than that. I just did a search for confirmed transactions paying less than the minRelayTxFeeRate (feerates up to 0.00000249 BTC/kWU, excluding coinbase txs): Lately, most days there are a couple and never more than a handful. ...


1

If your objection is specifically to the requirement to store old blocks (as you hinted in a comment), then you might consider pruning - see How can I run bitcoind in pruning mode?.


1

Easiest way to understand the response of other nodes IMO is using Wireshark and follow the below steps: Install Wireshark Capture packets according to the network you will be using on this system when Bitcoin full node connects with the network. Launch Bitcoin Core Stop capturing packets once the node is connected to few peers Filter captured data in ...


1

I do not know if there are any comparisons of the security difference between Bitcoin's P2P messages and JSON, but the binary format is certainly more compact than JSON. I think it would be reasonable to assume that there are security implications, but security likely was not the major concern when the P2P format was initially defined. Rather ease of ...


1

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, but how does it relay an entire chain? Forks appear naturally, when two miners produce competing blocks approximately simultaneously. Such forks may have ...


Only top voted, non community-wiki answers of a minimum length are eligible