Difference between revisions of "Bitcoin Core"

From Bitcoin Wiki
Jump to: navigation, search
m (fix internal link (avoid redirect))
m (Naming Controversy: Linking UASF)
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Bitcoin Core''' (formerly '''Bitcoin-Qt''') is the third [[Bitcoin]] [[Clients|client]], developed by [[Wladimir van der Laan]] based on the original reference code by [[Satoshi Nakamoto]].<ref name="Bitcoin Client Software">{{cite web|title=Bitcoin Client Software|url=http://bitcoin.org/clients.html|publisher=Bitcoin.org|accessdate=21 October 2012|quote=The original software written by Satoshi Nakamoto, the project's founder.}}</ref><ref>http://gavintech.blogspot.co.uk/2012/03/full-disclosure-bitcoin-qt-on-windows.html, Full disclosure: Bitcoin-Qt on Windows vulnerability, 21st October 2012</ref><ref>http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-4682, Vulnerability Summary for CVE-2012-4682, 21st October 2012</ref> It has been bundled with [[bitcoind]] since version 0.5.<ref name="Bitcoin-Qt/Bitcoind Releases">{{cite web|title=Bitcoin-Qt/Bitcoind Releases|url=http://bitcoin.org/news.html|publisher=Bitcoin.org|accessdate=21 October 2012}}</ref> Bitcoin-Qt has been rebranded to '''[[Bitcoin Core]]''' since version 0.9.0 <ref name="Rebranding to Bitcoin Core">{{cite web|title=Bitcoin Core version 0.9.0 released|url=https://bitcoin.org/en/release/v0.9.0|publisher=Bitcoin.org|accessdate=19 March 2014}}</ref>.
+
'''Bitcoin Core''' (formerly '''Bitcoin-Qt''') is the third [[Bitcoin]] [[Clients|client]], developed by [[Wladimir van der Laan]] based on the original reference code by [[Satoshi Nakamoto]].<ref>https://gavintech.blogspot.co.uk/2012/03/full-disclosure-bitcoin-qt-on-windows.html, Full disclosure: Bitcoin-Qt on Windows vulnerability, 21st October 2012</ref><ref>https://nvd.nist.gov/vuln/detail/CVE-2012-4682, Vulnerability Summary for CVE-2012-4682, 21st October 2012</ref> It has been bundled with [[bitcoind]] since version 0.5. Bitcoin-Qt has been rebranded to '''[[Bitcoin Core]]''' since version 0.9.0 <ref name="Rebranding to Bitcoin Core">{{cite web|title=Bitcoin Core version 0.9.0 released|url=https://bitcoin.org/en/release/v0.9.0|publisher=Bitcoin.org|accessdate=19 March 2014}}</ref>.
 
 
==History==
 
  
 
Bitcoin Core can be used as a desktop client for regular payments or as a server utility for merchants and other payment services.  
 
Bitcoin Core can be used as a desktop client for regular payments or as a server utility for merchants and other payment services.  
  
 
===Current version===
 
===Current version===
Source code (and build instructions for supported platforms) can be found at the [https://github.com/bitcoin/bitcoin Bitcoin GitHub page].
+
Source code (and build instructions for supported platforms) can be found on the [https://github.com/bitcoin/bitcoin Bitcoin GitHub page].
  
 
==Features==
 
==Features==
 +
* Most popular software implementation of a bitcoin [[full node]]. Provides trustless validation that all of bitcoin's consensus rules are being followed.
 +
* Has an RPC interface allowing developers to interface with Core and access the bitcoin currency trustlessly.
 +
* Has a GUI frontend, Bitcoin-Qt, allowing ordinary users to use bitcoin with full validation.
 
* Compatibility with Linux (both GNOME and KDE), Mac OS X and Windows
 
* Compatibility with Linux (both GNOME and KDE), Mac OS X and Windows
 
* All functionality of the original wxWidgets client
 
* All functionality of the original wxWidgets client
Line 22: Line 23:
 
* Payment requests (BIP 70)
 
* Payment requests (BIP 70)
 
* Coin control
 
* Coin control
* bitcoin-cli as a RPC client, instead of bitcoind executable functioning both as a server and as a RPC client
 
  
==Criticism==
+
== Naming Controversy ==
 +
 
 +
Some people like Peter Todd, Luke-jr and Greg Maxwell warned against the renaming to Bitcoin Core because it implied a centralization.<ref>https://www.reddit.com/r/Bitcoin/comments/60jmq2/a_proposal_for_and_demo_of_a_new_bitcoin_address/df73k2h/</ref><ref>https://www.reddit.com/r/Bitcoin/comments/60owl3/did_you_know_that_bitcoin_core_opposed_its_own/</ref><ref>https://bitcoinfoundation.org/forum/index.php?/topic/95-new-name-for-bitcoin-qt-bitcoind/&</ref>.
 +
 
 +
Bitcoin Core right now may be the most popular or "reference" [[full node]] implementation, but that status depends on the [[economic majority]] continuing to use it<ref>https://bitcoinmagazine.com/articles/a-primer-on-bitcoin-governance-or-why-developers-aren-t-in-charge-of-the-protocol-1473270427/</ref>. Should one day come where another implementation overtakes it economically, that implementation would become the reference implementation. In one situation in 2017 significant parts of the economy moved to the BIP148 [[UASF]] implementation<ref>https://bitcoinmagazine.com/articles/long-road-segwit-how-bitcoins-biggest-protocol-upgrade-became-reality/</ref> and then moved back to Core after BIP148 was successful. The point here is that Bitcoin Core does not control bitcoin and the naming "Core" is misleading in that respect.
  
===Sync time===
+
On the other hand, many people are happy with the name Bitcoin Core and continue to use it. As long as it's emphasized that Bitcoin Core is just one possible software implementation of bitcoin that people are free to use or not use.
Bitcoin Core is often criticized for being slow in downloading and verifying the Bitcoin transaction database (the [[blockchain]]). The download may be quicker using the [https://bitcointalk.org/index.php?topic=145386.0 bootstrap method]. '''NOTE:''' As of version 0.10.0 it is now slower to download the blockchain via the torrent than it is to download the full blockchain through the P2P client.
 
  
===Bandwidth use===
+
==See also==
It has also been criticized for "hogging" upload bandwidth when peers connect to download the blockchain (possible only when run with port 8333 accessible to outside connections).
 
This perceived "issue" has been [https://github.com/bitcoin/bitcoin/issues/273 discussed extensively on GitHub].
 
Most modern routers support quality-of-service that can be configured to properly share the internet connection across all services, and even deprioritise Bitcoin traffic.
 
Bitcoin Core includes a script for Linux to configure QoS on an individual host.<ref>https://github.com/bitcoin/bitcoin/tree/master/contrib/qos, Linux QoS bash script</ref>
 
Windows users can also use third-party software such as [http://seriousbit.com/netbalancer/ Netbalancer] to throttle the application's upload bandwidth and ensure that one has enough upload bandwidth available for regular computer and internet use to be unaffected.
 
  
===Lack of multiwallet support; node+wallet tied together===
+
* [[bitcoind]]
Wallet management is also cumbersome. Unlike clients such as [[Armory]], [[MultiBit]], [[Electrum]] and others only one wallet at a time is supported, and its location is required to be the same as the blockchain storage, making it [[Securing_your_wallet#Making_a_secure_workspace|difficult to place the wallet on an encrypted drive]]. It is recommended to backup the wallet.dat file every 50 transactions, due to the way Bitcoin Core handles [[Change|change]].
+
* [[Full node]]
 +
* [[Bitcoin Knots]]
 +
* [[QBitcoin]]
  
 
==External Links==
 
==External Links==
Line 47: Line 47:
 
* [https://github.com/bitcoin/bitcoin Current GitHub repository shared with bitcoind]
 
* [https://github.com/bitcoin/bitcoin Current GitHub repository shared with bitcoind]
  
<references
+
== References ==
  
/>
+
<references/>
 
 
==See also==
 
 
 
* [[QBitcoin]]
 
* [[bitcoind]]
 
  
 
[[es:Bitcoin-Qt]]
 
[[es:Bitcoin-Qt]]

Revision as of 21:32, 3 March 2019

Bitcoin Core (formerly Bitcoin-Qt) is the third Bitcoin client, developed by Wladimir van der Laan based on the original reference code by Satoshi Nakamoto.[1][2] It has been bundled with bitcoind since version 0.5. Bitcoin-Qt has been rebranded to Bitcoin Core since version 0.9.0 [3].

Bitcoin Core can be used as a desktop client for regular payments or as a server utility for merchants and other payment services.

Current version

Source code (and build instructions for supported platforms) can be found on the Bitcoin GitHub page.

Features

  • Most popular software implementation of a bitcoin full node. Provides trustless validation that all of bitcoin's consensus rules are being followed.
  • Has an RPC interface allowing developers to interface with Core and access the bitcoin currency trustlessly.
  • Has a GUI frontend, Bitcoin-Qt, allowing ordinary users to use bitcoin with full validation.
  • Compatibility with Linux (both GNOME and KDE), Mac OS X and Windows
  • All functionality of the original wxWidgets client
  • Asks for confirmation before sending coins
  • CSV export of transactions
  • Clearer transaction list with status icons and real-time filtering
  • Progress bar on initial block download
  • Languages: Dutch, English, German, Chinese and many more. Translations are being done by volunteers on Transifex.
  • Sendmany support in UI (send to multiple recipients in one transaction)
  • Multiple unit support, can show subdivided bitcoins (mBTC, µBTC) for users that like large numbers (only decimal units)
  • Splash screen that details progress
  • Debug window
  • Payment requests (BIP 70)
  • Coin control

Naming Controversy

Some people like Peter Todd, Luke-jr and Greg Maxwell warned against the renaming to Bitcoin Core because it implied a centralization.[4][5][6].

Bitcoin Core right now may be the most popular or "reference" full node implementation, but that status depends on the economic majority continuing to use it[7]. Should one day come where another implementation overtakes it economically, that implementation would become the reference implementation. In one situation in 2017 significant parts of the economy moved to the BIP148 UASF implementation[8] and then moved back to Core after BIP148 was successful. The point here is that Bitcoin Core does not control bitcoin and the naming "Core" is misleading in that respect.

On the other hand, many people are happy with the name Bitcoin Core and continue to use it. As long as it's emphasized that Bitcoin Core is just one possible software implementation of bitcoin that people are free to use or not use.

See also

External Links

References