Difference between revisions of "Clients"

From Bitcoin Wiki
Jump to: navigation, search
m (For developers: Change "libbitcoin-explorer" display text to "Bitcoin Explorer".)
 
(75 intermediate revisions by 21 users not shown)
Line 1: Line 1:
 +
==Overview==
 +
A bitcoin client is the end-user software that facilitates [[private key]] generation and security, payment sending on behalf of a private key, and optionally provides:
 +
* Useful information about the state of the network and transactions.
 +
* Information related to the private keys under its management.
 +
* Syndication of network events to other peer clients.
 +
 +
This table compares the features of the different clients. All of the listed clients are open-source.
 +
 +
===Feature key===
 +
 +
; Wallet Security : How well the client protects your [[private key]]s from people with access to the machine the wallet is stored on. The private keys can be encrypted, for example. The private keys can also be either stored on your device or on a remote server.
 +
; Network Security : Clients which more fully implement the Bitcoin network protocol are safer -- they can't be as easily tricked by powerful attackers. A client which ''fully'' implements the protocol will always use the correct [[block chain]] and will never allow [[double-spending|double-spends]] or invalid transactions to exist in the block chain under any circumstances. Clients which only ''partially'' implement the protocol typically trust that 50% or more of the network's mining power is honest. Some clients trust one or more ''remote servers'' to protect them from double-spends and other network attacks.
 +
; Setup Time : Some clients require that you download and verify a large amount of data before you can send or receive BTC.
 +
; Maturity : When the project was started.
 +
 +
===Table===
 +
 +
<!-- please keep this alphabetic -->
 
{| class='wikitable' style='text-align: center'
 
{| class='wikitable' style='text-align: center'
! Client !! Armory !! Bitcoin-Qt !! bitcoind !! Electrum !! MultiBit !! My Wallet
+
! Client !! Get Started !! Audience !! Wallet Security !! Network Security !! Backups !! Setup Time !! Disk Space !! Maturity !! Multi-user !! Available for
 +
|-
 +
! [[Airbitz]]
 +
|| [https://airbitz.co/app Download] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device. Server backup}} || Partial || {{CLGood|Automatic}} || {{CLBest|Instant}} || {{CLGood|20 MB}} || Oct 2014 || {{CLBest|Multi-wallet}} || {{CLAndroid}}{{CLiOS}}
 +
|-
 +
! [[Armory]]
 +
|| [https://bitcoinarmory.com/download Download] || Power users || {{CLGood|Encrypted, on-device}} || Addon || {{CLBest|One-time}} || {{CLBad|Hours}} || {{CLBad|150+ GB}} || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}
 +
|-
 +
! [[Bitcoin Core]]
 +
|| [https://bitcoin.org/en/download Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLGood|May 2011}} || {{CLBad|No}} || {{CLLinux}}{{CLMac}}{{CLWin}}
 +
|-
 +
! [[Bitcoin Knots]]
 +
|| [http://bitcoinknots.org/ Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLYellow|5 GB}} || {{CLGood|Dec 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}
 +
|-
 +
! [[bitcoind]]
 +
|| [https://bitcoin.org/en/download Download] || Programmers || {{CLGood|Encrypted, on-device}} || {{CLBest|Full}} || Manual || {{CLBad|Hours}} || {{CLBad|120+ GB}} || {{CLBest|Aug 2009}} || {{CLBad|No}} || {{CLLinux}}{{CLWin}}
 +
|-
 +
! [[Bitcoin_Explorer|Bitcoin Explorer]]
 +
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki/Download-BX Download] || Power Users || {{CLBest|Ephemeral, Multisig Optional}} || {{CLBest|Full w/local node}} || {{CLBest|BIP39}} || {{CLBest|Instant}} || {{CLBest|3 MB}} || {{CLGood|May 2011}}  || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}
 +
|-
 +
! [[Bitcoin Wallet]]
 +
|| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Google Play] [https://appworld.blackberry.com/webstore/content/23952882/ BlackBerry World] || {{CLGood|End-users}} || {{CLGood|Isolated, on-device}} || Partial || Manual || {{CLBest|Instant}} || {{CLGood|15 MB}} || {{CLGood|Mar 2011}} || on JB tablets || {{CLAndroid}} [[file:ico-blackberry.png]]
 +
|-
 +
! [[Blocktrail]]
 +
|| [https://www.blocktrail.com/ Download] || {{CLBest|Everyone}} || {{CLBest|Encrypted, on-device, Multisig, HD, Backup server}} || Remote || {{CLBest|One-time}} || {{CLBest|Instant}} || {{CLBest|7.5 MB}} || Sep 2015 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}
 
|-
 
|-
! Get Started
+
! [[Electrum]]
| [http://bitcoinarmory.com/index.php/get-armory Download] || [http://sourceforge.net/projects/bitcoin/files/Bitcoin/ Download] || [http://sourceforge.net/projects/bitcoin/files/Bitcoin/ Download] || [http://ecdsa.org/electrum/ Download] || [http://multibit.org/releases.html Download] || [https://blockchain.info/wallet/new eWallet]
+
|| [https://electrum.org/download.html Download] || Power users || {{CLGood|Encrypted, on-device}} || Minimal || {{CLBest|Memorized}} || {{CLGood|Minutes}} || {{CLGood|5 MB}} || {{CLGood|Nov 2011}} || {{CLBad|No}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}
 
|-
 
|-
! Audience
+
! [[Gocoin]]
| Power users || {{CLGood|End-users}} || Programmers || Power users || {{CLGood|End-users}} || {{CLBest|Everyone}}
+
|| [https://github.com/piotrnar/gocoin Build It Yourself] || Power users || Designated offline PC || {{CLBest|Full}} || {{CLBest|Memorized}} || {{CLBad|Hours}} || {{CLBad|120+GB}} || May 2013 || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}{{CLFreeBSD}}
 
|-
 
|-
! Wallet Security
+
! [[GreenAddress]]
| {{CLGood|Encryption}} || {{CLGood|Encryption}} || {{CLGood|Encryption}} || {{CLGood|Encryption}} || {{CLBad|None}} || {{CLGood|Encryption}}
+
|| [https://greenaddress.it Web] [https://chrome.google.com/webstore/detail/greenaddressit/dgbimgjoijjemhdamicmljbncacfndmp ChromeApp] [https://play.google.com/store/apps/details?id=it.greenaddress.cordova&hl=en Google Play] || {{CLBest|Everyone}} || {{CLGood|Encrypted, on-device}} || {{CLBad|Remote}} || Memorized/Manual || {{CLBest|Instant}} || {{CLBest|None}} || Apr 2013 || {{CLBest|Yes}} || {{CLAndroid}}{{CLLinux}}{{CLMac}}{{CLWin}}
<!-- CLBest is for multisig-based -->
 
 
|-
 
|-
! Network Security
+
! [[MultiBit]]
| Addon || {{CLBest|Full}} || {{CLBest|Full}} || Minimal || Partial || {{CLBad|Remote}}
+
|| [https://multibit.org/releases.html Download] || {{CLGood|End-users}} || {{CLGood|Encrypted, on-device}} || Partial || {{CLGood|Automatic (local)}} || {{CLBest|Seconds}} || 50 MB || {{CLGood|Jul 2011}} || {{CLBest|Multi-wallet}} || {{CLLinux}}{{CLMac}}{{CLWin}}
 
|-
 
|-
! Backups
+
! [[Mycelium]]
| {{CLBest|One-time}} || Manual || Manual || {{CLBest|Memorized}} || {{CLBad|No}} || {{CLGood|Automatic}}
+
|| [https://mycelium.com/download Download] [https://play.google.com/store/apps/details?id=com.mycelium.wallet Google Play]|| {{CLBest|Everyone}} || {{CLGood|Isolated, on-device}} || Partial || Manual, encrypted || {{CLBest|Instant}} || {{CLGood|10 MB}} || Sep 2013 || {{CLBad|No}} || {{CLAndroid}}{{CLiOS}}
 
|-
 
|-
! Setup Time
+
! [[BlockChain.info#Wallet|My Wallet]]
| Varies || {{CLBad|Hours}} || {{CLBad|Hours}} || {{CLGood|Minutes}} || 1 hour || {{CLGood|Minutes}}
+
|| [https://blockchain.info/wallet/new Web-based] || {{CLBest|Everyone}} || {{CLBad|Encrypted, on-server}} || {{CLBad|Remote}} || {{CLGood|Automatic}} || {{CLGood|Minutes}} || {{CLBest|None}} || {{CLGood|Dec 2011}} || {{CLBest|Yes}} || {{CLAndroid}}{{CLiOS}}{{CLLinux}}{{CLMac}}{{CLWin}}
<!-- CLBest is for instant (no setup) -->
+
|}
 +
 
 +
<!-- For Wallet Security: CLBest is reserved for multisig-based, if signatures can be managed independently. -->
 +
 
 +
==For developers==
 +
 
 +
This table shows additional information about various Bitcoin clients that may be relevant to developers.
 +
 
 +
{| class='wikitable' style='text-align: center'
 +
! Client !! Website !! Source Code !! License !! Discussion !! Architecture
 
|-
 
|-
! Disk Space
+
! Armory
| {{CLBad|2+ GB}} || {{CLBad|2+ GB}} || {{CLBad|2+ GB}} || {{CLGood|5 MB}} || 50 MB || {{CLBest|None}}
+
|| [http://bitcoinarmory.com/ Link] ||[https://github.com/etotheipi/BitcoinArmory/ Github] || AGPLv3 || [https://bitcointalk.org/index.php?board=97.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]
 
|-
 
|-
! Maturity
+
! Bitcoin Core (Satoshi)
| Jul 2011 || {{CLGood|May 2011}} || {{CLBest|Aug 2009}} || Nov 2011 || Jul 2011 || Dec 2011
+
|| [https://bitcoincore.org Link] || [https://github.com/bitcoin/bitcoin Github] || MIT || [https://lists.sourceforge.net/lists/listinfo/bitcoin-development Sourceforge] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]
 
|-
 
|-
! License
+
! Bitcoin Explorer
| AGPLv3 || MIT || MIT || GPLv3 || MIT || BSD*
+
|| [https://github.com/libbitcoin/libbitcoin-explorer/wiki Link] || [https://github.com/libbitcoin/libbitcoin-explorer Github] || AGPLv3 || [https://lists.dyne.org/lurker/list/libbitcoin.en.html Listserv], {{Freenode IRC|libbitcoin}} || [[Thin Client Security#Server-Trusting Clients|Server-Client]] or Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]
 
|-
 
|-
! Multi-user
+
! Bitcoin Wallet
| {{CLBest|Multi-wallet}} || {{CLBad|No}} || {{CLGood|Virtual accounts}} || {{CLBad|No}} || {{CLBest|Multi-wallet}} || {{CLBest|Yes}}
+
|| [http://wallet.schildbach.de Link] || [https://github.com/bitcoin-wallet/bitcoin-wallet Github] || GPLv3 || [https://plus.google.com/b/101256420499771441772/communities/105515929887248493912 Google+], [https://bitcointalk.org/index.php?board=100.0 Bitcointalk] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]
 
|-
 
|-
! Available For
+
! Electrum
| {{CLLinux}}{{CLWin}} || {{CLLinux}}{{CLMac}}{{CLWin}} || {{CLLinux}}{{CLWin}} || {{CLLinux}}{{CLWin}} || {{CLLinux}}{{CLMac}}{{CLWin}} || {{CLAndroid}}{{CLiOS}}{{CLLinux}}{{CLMac}}{{CLWin}}
+
|| [https://electrum.org/ Link] || [https://github.com/spesmilo/electrum Github] || MIT || [https://electrum.org/#community Community] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]
 +
|-
 +
! Gocoin
 +
|| [http://www.assets-otc.com/gocoin Link] || [https://github.com/piotrnar/gocoin Github] || proprietary || [https://bitcointalk.org/index.php?topic=199306.0 Bitcointalk] || Integrated with [[Thin_Client_Security#Full_Node_Clients|Full Node]]
 +
|-
 +
! GreenAddress
 +
|| [https://greenaddress.it/ Link] || [https://github.com/greenaddress/ Github] || LGPLv3 || [https://bitcointalk.org/index.php?topic=521988.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]
 +
|-
 +
! MultiBit
 +
|| [http://multibit.org/ Link] || [https://github.com/jim618/multibit Github] || MIT || [https://groups.google.com/forum/?fromgroups#!forum/bitcoin-multibit Google Groups] || [[Thin Client Security#Simplified Payment Verification (SPV)|SPV]]
 +
|-
 +
! My Wallet
 +
|| [https://blockchain.info/wallet/ Link] || [https://github.com/blockchain/My-Wallet/ Github] || BSD* || None || [[Thin Client Security#Server-Trusting Clients|Server-Client]]
 +
|-
 +
! bits of proof
 +
|| [http://bitsofproof.com Link] || [https://github.com/bitsofproof/supernode Github] || Apache 2.0 || [https://bitcointalk.org/index.php?topic=122013.0 Bitcointalk] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]
 +
|-
 +
! btcd
 +
|| [https://github.com/btcsuite/btcd Link] || [https://github.com/btcsuite/btcd Github] || ISC || [https://github.com/btcsuite/btcd#irc IRC] || [[Thin Client Security#Server-Trusting Clients|Server-Client]]
 
|}
 
|}
 +
 +
==See Also==
 +
* [[Software#Bitcoin_clients|List of clients]]
  
 
<references/>
 
<references/>
 +
 +
[[Category:Software]]

Latest revision as of 01:52, 9 March 2021

Overview

A bitcoin client is the end-user software that facilitates private key generation and security, payment sending on behalf of a private key, and optionally provides:

  • Useful information about the state of the network and transactions.
  • Information related to the private keys under its management.
  • Syndication of network events to other peer clients.

This table compares the features of the different clients. All of the listed clients are open-source.

Feature key

Wallet Security 
How well the client protects your private keys from people with access to the machine the wallet is stored on. The private keys can be encrypted, for example. The private keys can also be either stored on your device or on a remote server.
Network Security 
Clients which more fully implement the Bitcoin network protocol are safer -- they can't be as easily tricked by powerful attackers. A client which fully implements the protocol will always use the correct block chain and will never allow double-spends or invalid transactions to exist in the block chain under any circumstances. Clients which only partially implement the protocol typically trust that 50% or more of the network's mining power is honest. Some clients trust one or more remote servers to protect them from double-spends and other network attacks.
Setup Time 
Some clients require that you download and verify a large amount of data before you can send or receive BTC.
Maturity 
When the project was started.

Table

Client Get Started Audience Wallet Security Network Security Backups Setup Time Disk Space Maturity Multi-user Available for
Airbitz Download Everyone Encrypted, on-device. Server backup Partial Automatic Instant 20 MB Oct 2014 Multi-wallet Ico-android.pngIco-ios.png
Armory Download Power users Encrypted, on-device Addon One-time Hours 150+ GB Jul 2011 Multi-wallet Ico-linux.pngIco-mac.pngIco-win.png
Bitcoin Core Download End-users Encrypted, on-device Full Manual Hours 120+ GB May 2011 No Ico-linux.pngIco-mac.pngIco-win.png
Bitcoin Knots Download End-users Encrypted, on-device Full Manual Hours 5 GB Dec 2011 Multi-wallet Ico-linux.pngIco-mac.pngIco-win.png
bitcoind Download Programmers Encrypted, on-device Full Manual Hours 120+ GB Aug 2009 No Ico-linux.pngIco-win.png
Bitcoin Explorer Download Power Users Ephemeral, Multisig Optional Full w/local node BIP39 Instant 3 MB May 2011 Multi-wallet Ico-linux.pngIco-mac.pngIco-win.png
Bitcoin Wallet Google Play BlackBerry World End-users Isolated, on-device Partial Manual Instant 15 MB Mar 2011 on JB tablets Ico-android.png Ico-blackberry.png
Blocktrail Download Everyone Encrypted, on-device, Multisig, HD, Backup server Remote One-time Instant 7.5 MB Sep 2015 No Ico-android.pngIco-ios.png
Electrum Download Power users Encrypted, on-device Minimal Memorized Minutes 5 MB Nov 2011 No Ico-android.pngIco-linux.pngIco-mac.pngIco-win.png
Gocoin Build It Yourself Power users Designated offline PC Full Memorized Hours 120+GB May 2013 Multi-wallet Ico-linux.pngIco-mac.pngIco-win.pngIco-freebsd.png
GreenAddress Web ChromeApp Google Play Everyone Encrypted, on-device Remote Memorized/Manual Instant None Apr 2013 Yes Ico-android.pngIco-linux.pngIco-mac.pngIco-win.png
MultiBit Download End-users Encrypted, on-device Partial Automatic (local) Seconds 50 MB Jul 2011 Multi-wallet Ico-linux.pngIco-mac.pngIco-win.png
Mycelium Download Google Play Everyone Isolated, on-device Partial Manual, encrypted Instant 10 MB Sep 2013 No Ico-android.pngIco-ios.png
My Wallet Web-based Everyone Encrypted, on-server Remote Automatic Minutes None Dec 2011 Yes Ico-android.pngIco-ios.pngIco-linux.pngIco-mac.pngIco-win.png


For developers

This table shows additional information about various Bitcoin clients that may be relevant to developers.

Client Website Source Code License Discussion Architecture
Armory Link Github AGPLv3 Bitcointalk Integrated with Full Node
Bitcoin Core (Satoshi) Link Github MIT Sourceforge Integrated with Full Node
Bitcoin Explorer Link Github AGPLv3 Listserv, IRC Web #libbitcoin Server-Client or Integrated with Full Node
Bitcoin Wallet Link Github GPLv3 Google+, Bitcointalk SPV
Electrum Link Github MIT Community SPV
Gocoin Link Github proprietary Bitcointalk Integrated with Full Node
GreenAddress Link Github LGPLv3 Bitcointalk Server-Client
MultiBit Link Github MIT Google Groups SPV
My Wallet Link Github BSD* None Server-Client
bits of proof Link Github Apache 2.0 Bitcointalk Server-Client
btcd Link Github ISC IRC Server-Client

See Also