Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

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.

9
votes
1answer
3k views

Why does the default miner implementation use pay-to-pubkey?

Looking at the v0.9.3 source in miner.cpp: CBlockTemplate* CreateNewBlockWithKey(CReserveKey& reservekey) { CPubKey pubkey; if (!reservekey.GetReservedKey(pubkey)) return NULL; ...
10
votes
1answer
2k views

Is there developer documentation for the Bitcoin Core source code?

Is there a documentation somewhere to understand the C++ code of Bitcoin Core (available on Github) "from a to z" and being able to recreate it ?
3
votes
1answer
316 views

Is it necessary for blocks to record the nBits difficulty parameter?

The next difficulty to solve a block is determined from how fast blocks were solved before it. In addition, the difficulty only changes once every two weeks or so. So, couldn't every node keep track ...
12
votes
4answers
3k views

Who controls the Bitcoin software?

Is there anything comparable to a "board of directors" for Bitcoin or is the software on complete cruise-control?
7
votes
1answer
2k views

Where, in the code, in the Satoshi client is 21 million cap implemented?

Which fragment of the Satoshi client is verifying if announced block has a valid reward? I mean, we now live in the 25 BTC reward period. I guess client after receiving a newly minted block, does ...
23
votes
2answers
28k views

Why is bitcoin written in C++?

What made the core developers choose C++ as the main programming language for implementing bitcoin? Was this because of their personal preference? Or another reason?
9
votes
3answers
1k views

Do “the official bitcoin developers” control Bitcoin?

Is there one person or organization that controls Bitcoin? What if Gavin Andresen, the lead developer, or Bitcoin Foundation, "the official bitcoin organization", decide to change something? What if ...
5
votes
1answer
828 views

How to get BIP34Hash and nMinimumChainWork?

I'm interested in the technical question of how you got BIP34Hash and nMinimumChainWork. The changes were introduced here: nMinimumChainWork: https://github.com/bitcoin/bitcoin/commit/...
4
votes
1answer
1k views

What is meant by “relaxed standards” for P2SH redeem scripts in Bitcoin Core 0.10.0?

From the Bitcoin Core 0.10.0 release notes: Standard script rules relaxed for P2SH addresses The IsStandard() rules have been almost completely removed for P2SH redemption scripts, allowing ...
6
votes
1answer
192 views

What is bitcoin core developers solution to the increasing number of transactions?

I was reading that BitcoinXT is created to increase the blocksize to accommodate increasing transaction volume, but bitcoin core developers were against to it as it make the currency more centralized. ...
3
votes
1answer
227 views

What are the trust assumptions in --assumed-valid in bitcoin core 0.14?

Please help me understand and distinguish the trust assumptions in the following three cases shown below. Specifically, please elaborate the attacks possible (even though completely theoretical) and ...
2
votes
1answer
703 views

How do the people who work on Bitcoin Core get paid?

I'm wondering how the people who work on or manage Bitcoin Core get paid, e.g. Wladimir J. van der Laan. Do they do the work just... as volunteers?
0
votes
1answer
301 views

Web Wallet difference

I have some questions about the listed Web wallets. Can someone please help me understand? The bitcoin.org page for some web wallets says "Shared control over your money" (e.g. BitGo, BTC.com) while ...
17
votes
1answer
3k views

Migration from Berkeley DB to LevelDB

In 2013 a new bitcoin core was released and one of the supposed improvement was migrating from Berkeley DB to LevelDB. According to the release notes at bitcoin.org: LevelDB, a fast, open-source, ...
9
votes
1answer
824 views

What are version bits?

What does Pieter Wuille's version bits proposal change? How does a miner signal support for a particular fork? Can the version bits system be used with hard forks?
1
vote
1answer
1k views

How to create a blockchain snapshot for a hardfork?

I've done source forks (altcoins) and I understand how those work. But I'm a little stuck on how forks are activated? I need to know how blockchain snapshots are created and how the wallets know to ...
7
votes
1answer
1k views

Where exactly is the “off-by-one” difficulty bug?

I read through How is difficulty calculated? and want to understand where the "off-by-one" bug is in calculating difficulty. Here is a Matlab snipet I wrote to calculate difficulty. What are the ...
4
votes
1answer
507 views

How to specify ECDSA nonce used in bitcoin signing code?

Below is the CECKey::Sign() code (v0.9.3). bool Sign(const uint256 &hash, std::vector<unsigned char>& vchSig) { vchSig.clear(); ECDSA_SIG *sig = ECDSA_do_sign((unsigned char*)&...
2
votes
2answers
126 views

Who specified the Bitcoin protocol?

I went through the original paper by Satoshi, which outlines the Bitcoin protocol. However, the paper is a high level overview of Bitcoin, and does not specify important parts of the protocol. Who ...
1
vote
3answers
47 views

Where can I find more resources that explain Bitcoin simply?

I have been learning crypto for a little bit now and have been helped a lot by pebwindkraft, Andrew Chow and Adam in particular. I would like to ask about resources that help beginners like me to ...
6
votes
1answer
154 views

What is better, pre-existing Bitcoin-core API bindings for python or custom wrapper functions

How advisable is using the following code to query the bitcoin core as compared to using some python RPC library. import os btc_prefix = 'bitcoin-cli ' def getblockcount(btc_prefix): print("in ...
6
votes
1answer
220 views

Add dependency Bitcoin Core

I'm trying to add a new dependency to my Bitcoin Core fork. The dependency is Rapidcheck, a property based testing framework. I've added a file called rapidcheck.mk inside of depends/packages with ...
5
votes
2answers
4k views

16: mandatory-script-verify-flag-failed (Non-canonical DER signature) (code -26)

I try to send transaction via sendrawtransaction in console of bitcoind. Sig is: ...
3
votes
1answer
116 views

When an attacker publishes a longer chain, does Bitcoin Core emit a warning?

I tried answering a question about a majority-attacker's power to change the blockchain yesterday. There is one thing I haven't been able to get a clear picture on, yet: When a previously unknown ...
3
votes
2answers
928 views

How to make genesis block transaction spendable?

I read this question Why can’t the genesis block coinbase be spent? . It says because of some quirk (the genesis block coinbase transaction is not added to the global transaction database) genesis ...
2
votes
1answer
2k views

Difference between createmultisig and addmultisigaddress?

What is the functional difference between createmultisig and addmultisigaddress in bitcoincore (v 0.10)? To be clear, I understand how both function. ie. multisigCmd n ["address1 public key as hex", ...
1
vote
1answer
159 views

Protection against malware attacks

Does bitcoin or Blockchain protect against malware attacks that install a trojan to steal data from a device, on which bitcoin application is installed? Cause a trojan can steal the user's private key,...
1
vote
1answer
133 views

How transaction becomes confirmed by miners if InputScript has only the Sig

Please help me to understand how bitcoind client verifying TX with Input Script which consist only from the Sig. For example TX 6D5DF6C0D66CFFC25CC1ABA3655952D7B081ED4E9EA3B70FCD964FDBBA01E91E has ...