10 votes
Accepted

Why do compressed and uncompressed public keys have to produce different addresses?

My question is: Why cant you just uncompress the compressed public key (effectively making it an uncompressed public key) and then derive the address. That way even if you use the compressed key, ...
user avatar
4 votes
Accepted

Why is the block header version value different from the getblocktemplate version value in the bitcoin blockchain?

There is no requirement that a miner must follow the block template. They can construct their own blocks as they see fit, so long as their block follows the consensus rules. There cannot be a ...
user avatar
  • 62.3k
4 votes
Accepted

What is the different between CompactSize and VarInt encoding?

There are two distinct variable-length integer encodings implemented in Bitcoin Core's serialization framework: The encoding used in the P2P protocol for the lengths of vectors (number of ...
user avatar
4 votes

What was the bug for the Bitcoin value overflow in 2010?

Your first source is wrong. The block in question contained three transactions: the first is a coinbase transaction, the second is the one that did the overflow. The third is unknown, and not relevant....
user avatar
  • 62.3k
4 votes
Accepted

What is the difference between 51% attack fork, hard fork and soft fork?

Any forking that results from a 51% attack is a fork of the blockchain. It is a fork in the data, not in the rules. The phrases "hard fork" and "soft fork" usually refer to a fork ...
user avatar
3 votes

What can cause bitcoind to take a long time to shutdown?

At shutdown, the chainstate cache has to be flushed to disk. The bigger you set dbcache, the bigger this cache can grow, and the longer it can take to flush it.
user avatar
3 votes
Accepted

Splitting of data across blkxxxxx.dat files

Blocks are never split across files: the whole block, from magic to length, to header, to transaction data, is always stored in a single file, continuously. However you may need to take into account: ...
user avatar
3 votes
Accepted

How do I maintain a continuously updated copy of a local mempool?

There are two methods to do this: ZMQ and Tracepoints. The zmqpubsequence can be used to notifications for all mempool events. See the PR and test for more information. It was designed specifically ...
user avatar
  • 62.3k
3 votes

Paper backup of Core descriptor wallet

This is working now, with version 23 of the bitcoin-core: How to create the descriptors wallet? createwallet("my_wallet", False, False, "", False, True, False) getnewaddress("...
user avatar
  • 131
3 votes
Accepted

I think I was victim of a sybil attack

It sounds to me like you are either running a compromised version of Bitcoin Core (https://bitcoincore.org/) or Electrum (https://electrum.org/) or your laptop is compromised. A sybil attack is when ...
user avatar
3 votes

How 2 chains co-exist together?

In one reading I have read, Only longest chain is valid and and rest chains transactions are sent back to unconfirmed transactions, but in bitcoin blockchain how more than 2 chains(Side Chains) co-...
user avatar
2 votes

How 2 chains co-exist together?

Blockchain forks, chain reorganizations, and stale blocks You're mixing up a few separate concepts. Since there is no central coordination, occasionally two miners will randomly find a new block at ...
user avatar
  • 64.5k
2 votes
Accepted

Is anyone working on separating the wallet from Bitcoin Core?

I think you are referring to Russell Yanofsky's work on process separation (see this StackExchange post) which aims to separate out not only the wallet but the GUI as well from the node. When ...
user avatar
2 votes

On signet of bitcoin core, why didn't the average time between blocks I mined accord with the time I set?

I spent some time figuring out what's going on in the miner script, and here's what I think I have understood so far: on a signet network difficulty adjustement is similar to what it is on mainnet, ...
user avatar
  • 487
2 votes

How to serialize the CBlock Class in C++ and print the hex to terminal?

Since pblock is a pointer, you are printing an address. Dereference it to get the format you want: std::cout << *pblock << std::endl;
user avatar
  • 170
2 votes

When did Bitcoin Core deprecate the mining function?

Arguably, never: Bitcoin Core still has a rudimentary mining function built-in, as it is used for testing purposes (on testing networks where the difficulty is lower). CPU mining has however been ...
user avatar
2 votes

Bitcoin core sync stuck with an error "peer=X is stalling block download"

I can't reproduce this, I can sync fine on testnet beyond this point. Did you delete the correct datadir (.bitcoin/testnet3) in step 4? And did it then start syncing headers from 0% (you can check ...
user avatar
  • 421
2 votes
Accepted

How to use a watch-only wallet in bitcoin-core?

If you're using Bitcoin Core 23.0, and created a new wallet using that, it is by default a descriptor wallet. These are a new generation of wallets which use Output Descriptors to determine which keys/...
user avatar
1 vote

Where can I see the requirements for creating a password in Bitcion core?

Where can I see the specification/specification/clear requirements for the password to be created? I suspect the source code is the best guide. the wallet wrote an error "invalid password"....
user avatar
1 vote
Accepted

DNS Seeds for TORv3

Does querying the DNS Seeds via TOR return .onion addresses? No. This is discussed in this open Bitcoin Core PR (#25678). You instead fall back to relying on the .onion addresses in the hardcoded ...
user avatar
1 vote
Accepted

bitcoind syncing headers but not blocks

A synchronizing node will look for a peer that announces the NODE_NETWORK service flag which indicates that a node has all blocks and can serve them. Pruned nodes will only ever serve the newest 288 ...
user avatar
  • 64.5k
1 vote
Accepted

Bitcoin core sync stuck with an error "peer=X is stalling block download"

I appreciate everyone's helpful comments, but I have had no luck solving this problem in a "clean" way. Since I tried to run the nodes on the university's virtual machines, I suspect the ...
user avatar
1 vote

When did Bitcoin Core deprecate the mining function?

The mainnet mining capability was removed in 0.13.0, The release note is dated 23 August 2016 https://bitcoin.org/en/release/v0.13.0#removal-of-internal-miner Removal of internal miner As CPU mining ...
user avatar

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