Bitcoin Core

From Bitcoin Wiki
Revision as of 18:02, 30 December 2017 by Nullius (talk | contribs) (Add link to bitcoincore.org.)
Jump to: navigation, search

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

History

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 at the Bitcoin GitHub page.

Features

  • 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
  • bitcoin-cli as a RPC client, instead of bitcoind executable functioning both as a server and as a RPC client

Criticism

Sync time

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 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

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 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.[6] Windows users can also use third-party software such as 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

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 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.

External Links

  1. "Bitcoin Client Software". Bitcoin.org. http://bitcoin.org/clients.html. Retrieved 21 October 2012. "The original software written by Satoshi Nakamoto, the project's founder."
  2. http://gavintech.blogspot.co.uk/2012/03/full-disclosure-bitcoin-qt-on-windows.html, Full disclosure: Bitcoin-Qt on Windows vulnerability, 21st October 2012
  3. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-4682, Vulnerability Summary for CVE-2012-4682, 21st October 2012
  4. "Bitcoin-Qt/Bitcoind Releases". Bitcoin.org. http://bitcoin.org/news.html. Retrieved 21 October 2012.
  5. "Bitcoin Core version 0.9.0 released". Bitcoin.org. https://bitcoin.org/en/release/v0.9.0. Retrieved 19 March 2014.
  6. https://github.com/bitcoin/bitcoin/tree/master/contrib/qos, Linux QoS bash script

See also