9 votes
Accepted

Is it doable to supplant the current Bitcoin Core implementation with another rewritten in a different language?

There are many implementations of the Bitcoin protocol written in other languages, e.g., Bcoin in JavaScript, btcd in Go, bitcoin-s in Scala, etc. Bitcoin Core is widely considered as the "...
user avatar
7 votes
Accepted

Why was BIP34 (Block v2, Height in Coinbase) not implemented via the coinbase tx's locktime or nSequence?

That would have made perfect sense, and I see no reason why that wouldn't have been the superior way of doing it. However, as far as I remember, nobody suggested this at the time.
user avatar
5 votes
Accepted

Bitcoin core multisig signing order

The signatures must be ordered the same way as public keys. Otherwize transaction is invalid. This is how OP_CHECKMULTISIG(VERIFY) works. Of course, you may use the private keys for signing in any ...
user avatar
  • 6,650
5 votes

Is it doable to supplant the current Bitcoin Core implementation with another rewritten in a different language?

It is extremely difficult to write a specification for a complex format that is 100% watertight and has no poorly defined corner cases. Further even if the specification itself is watertight it's ...
user avatar
4 votes

Is the entire blockchain kept in memory?

The original Bitcoin code base definitely didn't support this. Currently it's possible to effectively keep the entire UTXO set in memory in Bitcoin Core if you set the database cache large enough (...
user avatar
4 votes
Accepted

Do payment channels have an address? And where are their transactions actually being written to?

The payment channel between Alice and Bob is encoded as a 2-2 multisig Adress the balance of that Adress is the capacity of the channel. A channel is opened by sending funds to that multisig Adress ...
user avatar
2 votes
Accepted

Python implementation for LND path finding algorithm

These implementations use some form of the Dijkstra algorithm which is implemented in the open source networkx python lib https://networkx.github.io/documentation/stable/reference/algorithms/...
user avatar
2 votes

What is a cryptocoin made of?

A cryptocoin is a piece of information, like a text in some language. What a cryptocoin says depends on conventions set by the cryptocurrency system, much like what a given text says depends on the ...
user avatar
  • 153
2 votes

Error message still returned after transaction was indeed broadcast

This looks like an implementation choice of the PeerGroup.broadcastTransaction method of bitcoinj. If you send a transaction out to one or more peers, there is no guarantee that any of those peers ...
user avatar
  • 3,239
2 votes

How to install Hard Fork of Bitcoin, such as Bitcoin Cash and Bitcoin Gold?

I agree with you, that from a marketing standpoint, the different names used by the various implementations of the Bitcoin Cash fork are confusing. First, let's understand what a fork is. The rules ...
user avatar
  • 589
1 vote

Why are blocks and reverse patches not stored in individual files?

No file systems handle large numbers of files well, putting 600,000+ files in a directory would cause absurd performance problems. Opening and closing that many files during sync would have a ...
user avatar
  • 15.1k
1 vote

CVE-2012-2459 , possible code and performance improvement, is my logic correct?

Trigger warning: I'm not about to be nice. Because this code is responsible for my elevated blood pressure. uint256 ComputeMerkleRoot(std::vector<uint256> hashes, bool* mutated) { bool ...
user avatar
1 vote

How to install Hard Fork of Bitcoin, such as Bitcoin Cash and Bitcoin Gold?

Bitcoin ABC and Bitcoin unlimited are nodes of the main fork of bitcoin cash. Bitcoin Cash XBC is a "Adjustable Block Size" implementation of the original Bitcoin client, allowing up to 8mb ...
user avatar
  • 3,569
1 vote

Implementation of getdata

There isn't even a database lookup in Bitcoin Core. All blocks and mempool transactions are indexed by hash in memory. It's typically just serializing from memory, or one disk read directly sending ...
user avatar

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