G. Maxwell
  • Member for 4 years, 7 months
  • Last seen this week
  • Somewhere mostly harmless
If someone wanted to pretend to be Satoshi by posting a fake signature to defraud people how could they?
Accepted answer
75 votes

Unfortunately, given the public's limited of understanding of cryptography this is apparently an easy fraud to pull off. The key trick is that non-technical people are prone to believe things that ...

View answer
Can someone please explain FIBRE to me like I'm 5 and why is it useful?
Accepted answer
25 votes

First the "why it matters": Fibre (Fast Internet Bitcoin Relay Engine) is a protocol which attempts to deliver Bitcoin blocks around the world with delays as close to the physical limits as ...

View answer
Why doesn’t Bitcoin use UDP to do Blockpropagation?
Accepted answer
23 votes

The Bitcoin system doesn't have just one network protocol: Any way of obtaining the blocks is equally valid-- blocks over freenet, over satellite broadcast, over the P2P network, all work just as ...

View answer
Bitcoin automatically diverted to bech32 address
Accepted answer
21 votes

I'm sorry to be the bearer of bad news: It looks like your funds are gone and the security of your computer is compromised. A quick google suggests that is one of the electrum phishing destination ...

View answer
If bitcoin is indivisible, where does change come from?
Accepted answer
18 votes

I like to suggest a mental model where the network is a metals forge: You have a 1 oz gold coin stamped with your key on it, with your transaction you send it to the forge to be melted down and re-...

View answer
What is the origin of insecure 64-bit nonces in signatures in the Bitcoin chain?
Accepted answer
17 votes

Based on the time-frame and my impression of the capabilities of the various groups developing wallet software during that period my initial guess was that the Bitpay copay software might be the ...

View answer
What are the downsides to enabling potentially suboptimal or unused opcodes in a future soft fork?
Accepted answer
11 votes

Every piece of additional consensus logic has implementation and ongoing maintenance cost which is perpetual and can never be removed without potentially confiscating some user's assets. When Satoshi ...

View answer
What is the reasoning behind the choice of 2^256-2^32-977 for the prime on the secp256k1 curve?
Accepted answer
11 votes

Secp256k1 was designed to be a 256-bit size elliptic curve without cofactor and admitting an efficient endomorphism for optimization purposes. The choices of the relevant parameters are derived from ...

View answer
Does running pruning node make the initial sync faster?
Accepted answer
11 votes

No, pruning will not make the initial sync faster. The information that gets removed by pruning isn't accessed turning the initial sync. Currently pruning makes the initial sync somewhat slower: more ...

View answer
51% attack - apparently very easy? refering to CZ's "rollback btc chain" - How to make sure such corruptible scenario can never happen so easily?
10 votes

(adding some color) Some discussion I saw suggested that people promoting this believed they only needed to achieve >50% hashpower, which caused them to overestimate the feasibility. Reorging with ...

View answer
How are scriptless scripts and taproot different?
Accepted answer
9 votes

One of the most common use of script in Bitcoin is to construct logically atomic operations, such as "Tx2 happens if and only if Tx1 happens". Scriptless scripts tells us how to use the additive ...

View answer
After downloading the entire Bitcoiin blockchain from a torrent, what are my next steps to link it to Bitcoin Core 0.17.1?
9 votes

You should not use a torrent to download the blockchain. There is no general purpose to using a torrent, as using it makes synchronization slower because validation (which is the slow part) cannot ...

View answer
Improvements that could be made to how bitcoin propagates its transactions and blocks?
Accepted answer
9 votes

The answer partially depends on on what you mean by "how bitcoin propagates" and "improvements"-- Fibre transmits blocks vanishingly close to the lowest latency possible, but at the expense of using ...

View answer
"HTLCs don't work for micropayments"?
8 votes

A very low value output in Bitcoin (or any similar system) has zero actual value because the cost in fees to spend it would be equal to or greater than the coins it provides. Like someone writing you ...

View answer
What is is minimum possible number for an ECDSA private key?
8 votes

One is the minimum number. [This space intentionally left unblank.]

View answer
Block verification time
Accepted answer
7 votes

It depends significantly if you're asking about the average, N-th percentile time, or a worst case including the possibility of maliciously constructed blocks. Nodes use the first copy of a block ...

View answer
Why aren't block hashes used directly as scores for difficulty purposes?
7 votes

The "apparent" work is 2x higher than actual work due to luck, but the reason it's good bitcoin doesn't use the apparent work is because it has bad stability properties due to variance, and bad game ...

View answer
PoW 51% attack vs. BFT 1/3 attack?
Accepted answer
7 votes

So from what I understand, Bitcoin's PoW is prone to 51% attack, but as a distributed system it is also prone to BFT's 1/3 attack right? No. Bitcoin is not a "consensus system" by any of the ...

View answer
Byzantine Fault Tolerance Threshold of Bitcoin: 1/2 or 1/3? (Edited)
6 votes

It depends on what you're actually asking. Bitcoin doesn't exist within the normal model of BFT consensus so in one sense the answer is mu. Under conventional assumptions Bitcoin will converge on a ...

View answer
How to confirm how many peers a node has?
6 votes

When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours. No it doesn't. It responds with list of nodes that its aware of being ...

View answer
Does Bitcoin Core accepts uncompressed address generation?
Accepted answer
6 votes

You can import an old uncompressed key. It'll work fine. Getnewaddress always uses scripts with 'compressed' keys now. BIP-143 (segwit) style inputs also require compression. The smaller key format ...

View answer
allowed DER encoding format violations for signatures in bitcoin: implications for libraries?
Accepted answer
6 votes

It isn't clear to me from your question what your goal is. If you want to accept all transactions and only transactions that Bitcoin would accept, libsecp256k1 alone is what you want. (You may need ...

View answer
Orphan Blocks rate
Accepted answer
6 votes

Orphan rate is primarily influenced by latency but by any source of latency, not just network latency. There are many sources of latency: Network latency and serialization delay (transmission time) ...

View answer
Version in transaction
5 votes

Other transaction version numbers are for future consensus rules. If you create transactions using undefined versions numbers they may be invalidated by future consensus rules, or their outputs may be ...

View answer
Miner transaction selection - how are sigops considered?
Accepted answer
5 votes

For the purpose of mining transaction selection Bitcoin Core converts sigops into an effective weight value based on the ratio of the limits. If the weight implied by the sigops count is higher than ...

View answer
Segfault when clearing mempool. What am I doing wrong?
5 votes

The only place clear is used on the mempool is after all peers are down. Presumably there are references to it that you can't just leave dangling. See CTxMemPool::Expire in txmempool.cpp for how ...

View answer
Are nodes that don't accept inbound connections necessarily leechers?
5 votes

An outbound connection is functionally equivalent to an inbound connection except in the respect that you initiated it. An outbound only node provides the same resources to the network except that it ...

View answer
How many wallets don't support address reuse? (for refunds)
5 votes

I think it would be helpful for you to identify your service here, so that I can encourage people to not do business with you. Users generally have no idea if this will work safely or not, so a ...

View answer
If I was developing a Bitcoin wallet, should I support both legacy and compatibility addresses?
Accepted answer
5 votes

Displaying two would be justified if you were asking about a BC1 p2wpkh vs a 3xxx p2sh(p2wpkh) because not everything supports BC1 but its pretty good to use when supported. Displaying two isn't ...

View answer
Spending UTXO from same block
Accepted answer
5 votes

The order must be causal. Most blocks today have outputs that were created earlier in the block.

View answer
1
2 3 4 5