Questions tagged [bitcoincore-development]

This tag should be used for questions regarding Bitcoin Core development. This includes questions about the source code and development of Bitcoin Core.

Filter by
Sorted by
Tagged with
3
votes
2answers
73 views

What stops an attacker from crippling the Bitcoin network?

An individual (or government) who wants to bring down the Bitcoin network could conceivably broadcast a ton of junk/illegitimate transactions to the network thereby consuming the bandwidth and ...
0
votes
1answer
31 views

I generated a Signet address on a Bitcoin Core PR branch and obtained some Signet from the faucet. How can I locate that private key?

I previously (months ago) generated a Signet address on a Bitcoin Core PR branch and obtained some Signet from the faucet to that address. How can I locate that private key in my file system if I know ...
0
votes
1answer
29 views

How can I obtain a better understanding of the P2P messages between my full node and its peers?

I am interested in how my full node interacts with its peers, what messages it exchanges (e.g. gossip about other nodes on the network, transactions, blocks) and why my full node disconnects with ...
2
votes
3answers
271 views

ASIC-Resistant Proof of Work

Bitcoin uses a Proof of Work algorithm that makes it the perfect victim of ASIC mining. As a result, it is not very decentralized (more than 50% of Bitcoin's hash power is concentrated in China and ...
0
votes
2answers
44 views

1 MB Block Size as a Anti-DoS Attack Measure

Wikipedia explains the rationale behind the 1 MB block size limit as follows: The one megabyte block size limit was added in 2010 by Satoshi Nakamoto as a temporary anti-DoS measure A SE post ...
0
votes
1answer
40 views

“At first, anyone could spend anyone's coins”?

I've been watching this Bitcoin video: https://youtu.be/ZIugzFygviw?t=294 At the linked-to timestamp, he claims that: Due to bugs, at first, anyone could spend anyone's coins! I'm not saying that I ...
2
votes
0answers
36 views

Why does my full node need to load IP addresses from DNS seeds on restart?

I stop one of my Bitcoin Core full nodes (v0.19.1) with 10 connections and then start it again. It needs to load IP addresses from DNS seeds. Why is this? Why doesn't it try the addresses of peers it ...
0
votes
2answers
63 views

Mitigating a Double Spend Attack by Punishing the Attacker?

One of the main reasons it's not safe to accept Bitcoin with 0 confirmations is due to the possibility of a double spend (where Mr. Scammer first sends 1 BTC to Alice and then creates an identical ...
0
votes
2answers
58 views

How does an individual access the Bitcoin Core repo and contribute to it in the case that GitHub boots Bitcoin Core or the individual off GitHub?

It is not looking like Bitcoin Core will be moving from GitHub anytime soon (unless forced to). How does an individual access the Bitcoin Core repo and contribute to it in the case that GitHub boots ...
0
votes
0answers
20 views

Bitcoin core Recent Transactions seems Empty

I have setup bitcoin core 0.20.1. Everything is set up correctly, I made a transaction on main net - but it is not showing under recent transactions. Though transaction is confirmed on blockchain. ...
1
vote
1answer
32 views

Why doesn't Bitcoin Core use Google's OSS-Fuzz?

Google offers free access to their ClusterFuzz fuzzing infrastructure (through OSS-Fuzz) to open source projects. Why does Bitcoin Core not take advantage of this?
1
vote
1answer
20 views

Does python-bitcoinlib and the Bitcoin Core functional test framework share code? Were changes ever pushed down/upstream?

Does python-bitcoinlib and the Bitcoin Core functional test framework share code? Were changes ever pushed down/upstream?
2
votes
1answer
55 views

What backward compatibility testing is done on Bitcoin Core?

The unit and functional tests of the latest release of Bitcoin Core obviously test the codebase of that release. What backward compatibility testing is done to ensure the latest release passes ...
1
vote
1answer
24 views

What does the MiniWallet class currently do and need to do in the Bitcoin Core functional test framework?

I tried to run the Taproot functional tests after building Bitcoin Core with the wallet disabled (as I knew there was no Taproot code in the Core wallet at the time of writing, December 2020). However,...
0
votes
0answers
22 views

Most Energy-Efficient Way To Reactivate Disabled Operational Codes (Opcodes)?

Currently, there exist a number of operational codes (opcodes) within the bitcoin protocol that have been disabled for security reasons. These script functions of the bitcoin protocol were taken out ...
1
vote
1answer
31 views

What mistakes do first time contributors to Bitcoin Core often make?

What mistakes do first time contributors to Bitcoin Core often make with their first pull request?
0
votes
1answer
54 views

Why don't we have a help for Bitcoin Core CLI options in the same way as we do for CLI commands?

There is detailed help for bitcoin-cli commands using for example: ./src/bitcoin-cli getconnectioncount help. However, there isn't generally detailed help for bitcoin-cli options such as ./src/bitcoin-...
0
votes
0answers
13 views

Mining with getblocktemplate for specific number of transactions

Can you control the number of transactions in a getblocktemplate curl/get request ? Given that you can exhaust 4 billion nonces . I'm wondering how you vary the number of transactions without varying ...
3
votes
1answer
137 views

What is structured fuzzing and is the fuzzing that Bitcoin Core does currently considered structured?

Can you define what structured fuzzing is and the benefits it brings over plain vanilla fuzzing? Is some of the fuzzing that Bitcoin Core does currently considered "structured"?
8
votes
2answers
2k views

How do Bitcoin devs make sure that their modifications do not affect the consensus rules or the running network protocol?

I understand that Bitcoin consensus rules are enforced by every single node individually. However, most people run the default version of Bitcoin Core, which makes the implementations done by Bitcoin ...
1
vote
1answer
46 views

Using secp256k1 in personal project

I am trying to use secp256k1 for a toy project that I am working on for learning purposes. I am using Ubuntu 20.04 and I can clone and compile the library just fine. I have tried to include it in a ...
6
votes
1answer
90 views

What version of C++ is used in Bitcoin Core?

I can't find the information on which C++ version is being currently used in bitcoin core project? Is it decided for future releases somehow? How does the situation looks now? The only thing I could ...
2
votes
0answers
44 views

Linking libsecp256k1 as shared library to Bitcoin Core

I'm not sure if this question is better suited in the context of Autotools, but since it's about Bitcoin Core, I'll try to ask it here. I am trying to Compile/Link libsecp256k1 as a shared library ...
2
votes
1answer
41 views

What is a stale blockchain tip? Is it a blockchain tip missing the latest mined block?

Stale blocks and orphaned blocks are defined here. What is a stale blockchain tip? Is it a blockchain tip missing the latest mined block? Or is it a blockchain with a stale block (as defined in that ...
3
votes
1answer
111 views

What is the difference between policy and consensus when it comes to a Bitcoin Core node validating scripts?

What is the difference between policy and consensus when it comes to a Bitcoin Core node validating transaction scripts? Can you give some examples of checks that are considered policy and checks that ...
0
votes
1answer
79 views

What is a fuzz testing harness?

The Bitcoin Core fuzzing docs refer to "fuzzing harnesses". What is a harness in this context? (There have been two previous Bitcoin Core PR review club sessions on fuzz testing at the time ...
2
votes
1answer
21 views

Are there any other ways of speeding up the building of Bitcoin Core PRs other than ccache?

I am already using ccache to speed up recompilation when building Bitcoin Core PRs. Are there any other ways of speeding up the process?
4
votes
1answer
131 views

What is fuzz testing?

I've been looking at the Bitcoin Core PR review club sessions on fuzz testing here and here. Can you explain at a high level what is fuzz testing?
0
votes
1answer
43 views

Should I try to get fuzz testing working on MacOS or should I stick to Linux?

The Bitcoin Core fuzzing docs contain some hints for getting fuzz testing working on MacOS. But if I have access to a Linux machine/VM should I stick to doing all fuzzing on Linux? I'm assuming there ...
0
votes
1answer
53 views

Which fuzzer should I use to fuzz test Bitcoin Core?

In the Bitcoin Core fuzzing docs there are setup instructions for three different fuzzers: libFuzzer, american fuzzy lop (afl-fuzz) and Honggfuzz. Presumably I should try them in this order. How do ...
3
votes
2answers
197 views

Who really controls Bitcoin?

Surely if there was a major bug discovered in the Bitcoin architecture, there is someone who would have the power to push an update and fix it. Then I assume that they could also make changes for ...
0
votes
1answer
34 views

Advanced math operations in TapScript?

Hence BIP 342 proposes to enable opcodes like OP_MOD, OP_DIV, OP_MUL is it possible to perform advanced math operations like EC point addition/multiplication in a script size of up to 10kB?
3
votes
1answer
286 views

When does Bitcoin update the UTXO set?

I am kind of confused with something. I hope you can clarify it for me... Let's say I want to make a transaction. So my exchange wallet does that for me. The way it does this is it first grabs the ...
0
votes
1answer
21 views

how does bitcoinjs-lib grab utxo

So, Let's say I want to create a transaction by using bitcoinjs-lib. As far as I can see, this library doesn't provide the help so that it can automatically figure out/grab unpent transactions for ...
1
vote
1answer
66 views

How to improve bitcoin-qt when downloading blockchain? (very technical, dev views appreciated)

GitHub suggested discussing here before bothering developers with an issue. So be it! :) I'm running Bitcoin Core Version v0.20.1 and Linux Mint 18.3 on crappy old hardware. Pruning blockchain to 2 G ...
1
vote
1answer
32 views

What RBF policy will be default on SegWit v1 nodes?

What RBF node policy will be applied by default in order for a SegWit v1 transaction to relay when encountered. Full RBF, or Opt-in RBF?
1
vote
1answer
33 views

Should I always run “make clean” between building different PR branches of Bitcoin Core?

I am switching between building different PR branches (ie I built one PR author's branch and now I am building a different PR author's branch). Jon Atack's doc suggests: On the other hand, when you ...
1
vote
1answer
46 views

Taproot - Eliminating Key Path

I want to struct a transaction output the key-path of which I want to be eliminated, so enforcing only the script path. In order to eliminate key-path, in my opinion, I should set "Internal ...
1
vote
1answer
38 views

Can I speed up the running of functional tests?

I am running the Bitcoin Core functional tests using the test runner and it is taking a long time to get through all the tests. Is there a way to speed it up? test/functional/test_runner.py --extended
5
votes
1answer
478 views

How do devs decide who should have commit access? what is the process?

Andrew Chow (2020) compiled a great list on when people gained/lost commit access to Bitcoin Core. Satoshi asked Andresen to take over as Lead Maintainer, and Andresen passed the responsibility to Van ...
2
votes
1answer
55 views

Are P2SH transactions with disabled opcodes relayed/mined?

Many OPCODES like OP_AND, OP_CAT, OP_SUBSTR are disabled as described in https://en.bitcoin.it/wiki/Script. Although, with Bitcoin Core 0.10.0 Gavin Andresen proposed "any Script" in P2SH ...
2
votes
1answer
95 views

How will the migration tool from a Bitcoin Core legacy wallet to a descriptor wallet work?

In this Andrew Chow blog post on what's coming to the Bitcoin Core wallet in 0.21 he states: It is, and will be, possible to take an existing Legacy Wallet, and make a Descriptor Wallet which exactly ...
6
votes
1answer
721 views

Why is the Bitcoin Core wallet database moving from Berkeley DB to SQLite?

Why is the Bitcoin Core wallet moving from Berkeley DB to SQLite for its database backend?
2
votes
1answer
54 views

DumpMempool() and LoadMempool() in src/validation.cpp

My understanding is that DumpMempool() saves the memory pool state (unconfirmed txs received from other peers and if any txs broadcasted from this node) to disk and LoadMempool() is used if this state ...
0
votes
1answer
47 views

If I delay upgrading to the latest Bitcoin Core version post Taproot activation does my node ever verify early Taproot spends?

Let's assume the Taproot soft fork is activated in June 2021. I continue to run an old version of Bitcoin Core (not enforcing Taproot rules) in July 2021 and so my full node treats valid Taproot ...
0
votes
1answer
27 views

What is stopping a Taproot spend following old Taproot rules (initially treated as anyone-can-spend) pre-activation creating a re-org post activation?

This question is similar to this Signet question on Signet nodes enforcing different Taproot rules (old and new) pre mainnet activation. Instead it is regarding how a valid Taproot spend on mainnet ...
0
votes
1answer
31 views

How do I tweak the bip340_test_vectors to check that signature verification fails for other test vectors?

I now understand why some of the bip340_test_vectors fail signature verification. I would like to tweak these test vectors to check that signature verification fails for other test vectors. How do I ...
0
votes
1answer
29 views

What does the Bitcoin Core linearize script do? What use cases would make use of it?

What does the Bitcoin Core linearize script do? The Bitcoin Core docs state it will: Construct a linear, no-fork, best version of the Bitcoin blockchain. By "linear, no-fork" blockchain ...
1
vote
1answer
93 views

I'm digging further into the open Taproot PR. Can you explain the bip340_test_vectors?

I'm digging further into the open Taproot PR. I found these bip340_test_vectors. They have secret keys, public keys, aux_rand (auxiliary randomness), message, signature and whether the signature ...
1
vote
1answer
36 views

Who will the first adopters of Taproot be (assuming it is activated at some stage)? What incentives are there to start using it straight away?

Adoption of SegWit by users and companies after it was activated was slow. Should we expect adoption of Taproot to be slow also (assuming it is activated at some stage)? Who will the first adopters of ...

1
2 3 4 5
9