20

I'm curious as to why Bitcoin has not perused a similar path to privacy. I want to start by commenting on the phrasing of this question. Bitcoin is defined by the consensus of its users, and isn't a central entity that can set a development goal or priority of what to work on. Individual people - including developers like me - have priorities on what to ...


16

This is possible, but not exactly in the way you're expecting! Consider what you really want here: is it just an increased number of dollars or BTC? Nope! What you want is an increase in your buying power. Stop to think about the difference here for a second - it is important! The goal is an increase in buying power, which means you want the ability to buy ...


11

Encryption isn't part of Bitcoin at all. Nothing on the blockchain is encrypted. There is no encryption in consensus or the P2P network. Only wallets have encryption for protecting private keys. Bitcoin Core specifically uses AES-256-CBC because it is not known to be insecure and is widely used. Other wallets may choose to use other encryption schemes.


11

It looks like https://bitcoincore.org/ is the one run by the people who run the Github bitcoin/bitcoin project (the actual core developers) since it is the one listed on their Github page: https://github.com/bitcoin/bitcoin If you want the absolute best source for the client directly from Bitcoin Core devs then I would use that site or their Github page for ...


10

Is the native Bitcoin client intended for mining? No. Long long A decade or so ago, back in the mists of time, in prehistoric days when dinosaurs roamed the earth, early versions of the Bitcoin software did indeed include a mining capability that used the pitiful capabilities of CPUs. But this function has long been rendered defunct by the advance of ...


10

No, the chainstate is the nodes view of correctness. It would take many hours or days to re-verify the whole chain on most hardware, so an assumption is made that the state stored at the previous shutdown is most likely correct. There's some sanity checking of the previous couple of blocks to make sure there is no gross accidental corruption, but malicious ...


10

You misunderstand the fiat banking system. You aren't really maintaining custody of the dollars in your bank account when you earn interest. You have actually lent your money to the Bank and the interest is a reward for the risk of losing your funds if the Bank becomes insolvent. This may happen if too many debtors default on their loans. When you log on to ...


10

Jon Atack answered this on Twitter. Configuration and setup First install and start I2P (version 2.35 or above). $ apt install i2pd $ systemctl enable i2pd.service $ systemctl start i2pd.service In your bitcoin.conf file add (I will assume you run Bitcoin Core v22+ and want to use both Tor and I2P but remove debug=tor and onlynet=onion if not interested in ...


10

This is a question of definition. The blockchain doesn't store anything, it's an abstract data structure that's collectively maintained by nodes in a network. Those nodes are the ones that store things. That may or may not include the actual transaction data - it doesn't matter. The Bitcoin blockchain consists of hash-linked block headers. Every block header ...


9

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 "reference implementation" and it is certainly the most widely used implementation on the network. Without a written specification, the authoritative resource, if ...


9

Just to give a little background first: Bitcoin uses a so-called UTXO model. You own UTXOs (or "coins", to give an analogy). Every coin has a value (which can be any number of satoshis) and has an owner (script) "stamped" into it. Every transactions "melts down" a number of existing coins, and "forges" new coins. The ...


8

There are two ways by which bitcoind connects to peers. The default is purely outbound connections - the node will use DNS seeds, as well as its own database of previously seen peers, and attempt to establish connections to them as needed (upon startup, or when existing connections are closed). Allow incoming connections allows you to return this favour - it ...


8

Your instinct is correct: a full node can lie-by-omission to a light client and deny them proof that a transaction was included in a block. This is a well-documented vulnerability of SPV wallets and the only mitigation really is to connect to more peers (you only need one "honest" peer). This problem is also somewhat addressed by BIP157 aka "...


8

Is there some way, or planned future feature of Bitcoin, to get "interest" on your coins simply by holding on to them? Its not a feature of "Bitcoin" but interest is a feature in lot of financial applications which are possible using Bitcoin technologies: HodlHodl is a No KYC, Non-custodial, Peer to Peer exchange which recently started ...


8

Beginning with Taproot? Hmm... Something about this feels scary to me. Your mistrust is misguided. So, they are no longer making "signed" installers? The releases are still signed with the release GPG key, what is lacking is the Windows specific binary signatures which have to be made by a paid certificate by one of several authorities Microsoft ...


7

This is implementation dependent, but in Bitcoin Core there is not just a single UTXO set: The UTXO set on disk in the chainstate/ directory in a database. It corresponds to the state as of the last flushed block (and does not include the effects of any mempool transaction, or of any block since the last flush). The in-memory coins cache is a cache on top ...


7

While nodes are set to be listening by default, the vast majority does not permit inbound connections either because listening has been disabled or their network setup doesn't make the necessary port accessible. There seem to be in the range of 8-10k listening nodes, while estimates for non-listening nodes range in 60-400k depending on the source. Next to ...


6

The Wiki was incorrect (I wrote the original text and I apologize). As indicated in the question, the ordering on the Wiki was backwards. However, upon investigating, I don't believe it was a hard fork. In the original Bitcoin 0.1 code, we find the following function: bool IsFinal() const { if (nLockTime == 0 || nLockTime < nBestHeight) ...


6

Bitcoin Core does validate all signatures after a certain point, and can be configured to validate all signatures in history if so desired. The assumevalid feature only disables signature validation for blocks prior to a specific configured block which is updated for each version. This block is typically several (tens of) thousand blocks deep by the time the ...


6

As mentioned by Andrew, this is due to macOS' enforcement of notarization requirements. This can be bypassed by right clicking on the application, then selecting Open - A dialog will popup warning you that it is not verified, but this one will have an Open button. Once you open the application through the above process once, a regular double click will work ...


6

The renaming was merged in December 2013 with prior discussion on this GitHub issue. The general motivation was to distinguish between one particular implementation of the Bitcoin protocol (many refer to Bitcoin Core as the "reference implementation") versus other implementations (libbitcoin, btcd, bcoin, bitcoin-s etc) that either existed at the ...


6

At the protocol level, Bitcoin has no concept of "balances" or "addresses", and their common interpretation isn't relevant during verification. Every transaction spends "coins" and reforges them into new "coins" (called UTXOs). Every UTXO has a value (in number of satoshis) and an locking script. UTXOs are always spent ...


6

Bitcoin Core: v0.1.0...v0.12.x: C++03 v0.13.0...v0.21.x: C++11 v22.0...: C++17 (current master branch, no releases yet)


6

No, that is not possible. Even in the fiat world this isn't possible. Bank accounts only earn interest because banks pay out interest. This isn't a feature inherent to fiat. The analogy to Bitcoin would be like if you kept all of your money in cash in a safe - you aren't going to be making any money by doing that. Furthermore, people who are living off of ...


6

Because that would require to trust the person that gave you the data (the utxo set). If you could download just the utxo set and start running your node someone could easily circulate fake data i.e credit his own address with 1000 BTC. In order to know that his address does not actually have 1000 BTC you need to replay all the transactions that ever ...


6

There are three things pruned Bitcoin Core nodes (as of version 0.21.0) cannot do: Serve historical blocks to new nodes that are trying to bootstrap. Rescan for old wallet transactions after importing more addresses. The getrawtransaction RPC for retrieving arbitrary transactions. Validation (and security in general) are unaffected.


6

First of all, what is the goal? The Bitcoin consensus rules already completely eliminate the possibility of an "double spend" within any individual version of history ("chain"). The concern is about individual wallets accepting a transaction as a fullfilled payment, before it is certain that that transaction will end up in the winning ...


6

No. There are multiple kinds of addresses in common use: A Pay to Public Key Hash (P2PKH) address, beginning with a 1... uses a Hash160 (Sha256 followed by RipeMD160) of the public key. The public key is not revealed until this output is spent, as the spending transaction will include the public key in its scriptSig. A Pay to Script Hash (P2SH) address, ...


6

You are using testnet. Addresses starting with "M", "N", "2" and "tb1" are testnet addresses.


6

With respect to the original wording of the question I believe Taproot will actually make the Lightning Network pointfull instead of pointless. While Taproot allows us to save some space on the bitcoin base layer, it will not make the Lightning Network obsolete. Remember, the main issue with respect to on-chain scaling is that a protocol in which every ...


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