Difference between revisions of "Wallet"

From Bitcoin Wiki
Jump to: navigation, search
(Added coinb.in to wallet list)
m (Note that default keys are no longer used)
 
(28 intermediate revisions by 18 users not shown)
Line 1: Line 1:
A Bitcoin '''wallet''' is a file that contains a collection of private keys.  
+
A Bitcoin '''wallet''' is a collection of private keys but may also refer to [[Clients|client software]] used to manage those keys and to make transactions on the Bitcoin network.
  
=== Bitcoin Qt ===
+
This page covers various wallet formats in use.
  
The original Bitcoin [[Clients|client]] wallet file is named '''wallet.dat''' and contains<ref>[https://bitcointalk.org/index.php?topic=4448.0 Wallet import/export: bitkeys format]</ref>:
+
=== [[Bitcoin Core]] ===
 +
 
 +
The original Bitcoin client stores private key information in a file named '''wallet.dat''' following the so called [https://bitcointalk.org/index.php?topic=4448.0 "bitkeys"] format.
 +
 
 +
The wallet.dat file contains your private keys, public keys, scripts (which correspond to addresses), key metadata (e.g. labels), and the transactions related to your wallet. If you have an HD wallet, it also includes the HD seed and the derivation paths for each private key.
 +
 
 +
It contains:
  
 
* keypairs for each of your [[address|addresses]]
 
* keypairs for each of your [[address|addresses]]
 
* transactions done from/to your addresses
 
* transactions done from/to your addresses
 
* user preferences  
 
* user preferences  
* default key
+
* default key (obsolete, no longer used by Bitcoin Core except by parsing them to detect key/value and wallet corruption)
 
* reserve keys
 
* reserve keys
 
* [[Accounts_explained|accounts]]
 
* [[Accounts_explained|accounts]]
Line 15: Line 21:
 
* Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.
 
* Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.
  
The data file for the wallet is wallet.dat and is located in the [[data directory|Bitcoin data directory]].
+
The wallet.dat file is located in the [[data directory|Bitcoin data directory]] and may be [[Wallet_encryption|encrypted with a password]].
  
It is intended that a wallet be used on only one installation of Bitcoin at a time.  Attempting to clone a wallet for use on multiple computers will result in "weird behavior"<ref>[http://forum.bitcoin.org/index.php?topic=5324.msg77896#msg77896 Multiple instance of bitcoin with the same wallet]</ref>.
+
It is intended that a wallet file be used on only one installation of Bitcoin at a time.  Attempting to clone a wallet file for use on multiple computers will result in "weird behavior"<ref>[http://bitcointalk.org/index.php?topic=5324.msg77896#msg77896 Multiple instance of bitcoin with the same wallet]</ref>.
  
 
The format of this file is Berkeley DB.  Tools that can manipulate wallet files include [[pywallet]].
 
The format of this file is Berkeley DB.  Tools that can manipulate wallet files include [[pywallet]].
  
=== [[Anonimcoin]] ===
+
=== [[Armory]] ===
  
[http://anonimcoin.com Anonimcoin.com] is online wallet with free bitcoin mixing service. Service has its own reserve of premixed coins, this method makes mixing instant. Recommend using with a socks, proxy or TOR to maximize anonymity.  
+
The Armory client uses a custom [[Deterministic wallet]] format [https://www.bitcoinarmory.com/wallet-format/ described here] and runs on top of [[Bitcoin Core]].
  
=== [[Armory]] ===
+
=== [[Bitcoin Wallet]] ===
 +
 +
[[File:bitcoin_wallet.png|192px]] Bitcoin Wallet uses the bitcoinj [http://code.google.com/p/protobuf/ protobuf] format for its wallet file. However, due to Android isolation of applications, it is impossible to access the wallet file as a non-root user.
  
The [[Armory]] client uses a custom [http://bitcoinarmory.com/developers/armory-wallet-files/ binary wallet format].
+
=== [[Blockchain.info#Wallet|Blockchain.info]] ===
  
=== [[Bitcoin Wallet]] ===
+
Blockchain.info offers a [[Browser-based_wallet#Hybrid_e-wallets|hybrid eWallet]] called "My Wallet".  It use a plain text [https://blockchain.info/wallet/wallet-format JSON wallet format]. Private keys Keys are stored in base58.
  
[[File:bitcoin_wallet.png|192px]] Bitcoin Wallet uses the bitcoinj [http://code.google.com/p/protobuf/ protobuf] format for its wallet file. However, due to Android isolation of applications, it is impossible to access the wallet file as a non-root user.
+
=== [[Denarium.com]] ===
  
=== Blockchain.info ===
+
Denarium is Physical Bitcoin coin manufacturer. Denarium produces easy, handy and secure wallets in a coin form. The private key is stored under a security seal without password protection. Denarium also offers a trustless multisignature coins, which eliminates the need to trust the manufacturer.
  
Blockchain.info use a plain text JSON wallet format documented [https://blockchain.info/wallet/wallet-format here]. Private keys Keys are stored in base58.
+
=== [[Ledger Wallet]] ===
  
=== [[Coinb.in]] ===
+
Ledger Wallet manufactures various hardware wallets.
 +
=== [[Blockchain_App_Factory|Blockchain App Factory]] ===
  
[http://coinb.in Coinb.in] is a javascript based bitcoin wallet with mutlisig functionality and other advanced features.
+
Blockchain App Factory offers Whitelabel cryptocurrency wallet with the latest features, unrivaled security, and user-friendly design to safeguard your cryptocurrencies and monitor them 24/7.
  
=== [[Coinkite]] ===
+
=== [[Multibit]] ===
  
[[File:Coinkite.gif|20px|link=https://coinkite.com]] [https://coinkite.com/promo/wiki Coinkite] is a web wallet using [https://en.bitcoin.it/wiki/BIP_0032 "HD Wallet (BIP32)"] technology, which can be shared partially or entirely with different systems, each with or without the ability to spend coins  [https://coinkite.com/faq here]. Private keys Keys are sent to you encrypted with AES-256-CBC.
+
Multibit HD (the current version) uses a [[BIP 0032]] (type 2) [[Deterministic wallet]] with the [https://www.multibit.org/en/help/hd0.1/files.html format described here]. The "Classic" version used the bitcoinj [https://github.com/google/protobuf protobuf] wallet file.
  
=== [[Coinprism]] ===
+
=== [[Blocktrail]] ===
  
[[File:Coinprism_Favicon.png|16px|link=https://www.coinprism.com]] [https://www.coinprism.com Coinprism] is the first [[Colored Coins]] web wallet. Coinprism is similar to other web wallets, except you can store, issue, send and receive colored coins and not only normal Bitcoins. Note that the site is currently in invite-only beta.
+
Blocktrail offers a [[BIP 0032]] (type 2) [[Deterministic wallet]] and for added security also implements [[Multisignature]] wallet technology.  
  
=== Email Tip Bot ===
+
=== [[TREZOR]] ===
  
[http://emailtipbot.com Email Tip Bot] is a wallet that works entirely through email. This makes it the only native solution to sending bitcoins on iOS devices, like the iPhone and iPad. It is secure against email spoofing, but can be compromised by anyone who has read access to your email.
+
TREZOR is an isolated hardware environment for offline transaction signing and using a small display you can visually verify the transaction contents.
  
=== [[Hive]] ===
+
=== [https://opendime.com Opendime] ===
  
[https://www.hivewallet.com Hive] is a lightweight "thin client" Bitcoin wallet for Mac OS X and soon in iOS, Web and Android. It is primarily based on bitcoinj focusing on ease-of-use that offers multi-currency support and many others.
+
Opendime is a small USB stick that allows you to spend Bitcoin like a dollar bill. Pass it along multiple times. Connect to any USB to check balance. Unseal anytime to spend online. Trust no one.
  
=== [[HolyTransaction]] ===
+
=== [[Wasabi Wallet]] ===
  
[https://www.holytransaction.com HolyTransaction] is your universal multi-currency wallet with instant exchange. You can send payments in one digital currency, and receive in another. It's designed for nontechnical users. Mobile wallet client available on any device with HTML5 support.
+
'''Wasabi Wallet''' is an open-source, non-custodial, '''privacy-focused''' Bitcoin wallet for Desktop, that implements trustless '''[[CoinJoin]]'''. The CoinJoin coordinator (run by zkSNACKs Ltd., the company that is sponsoring the development of Wasabi) cannot steal from, nor breach the privacy of the participants.
  
=== Multibit ===
+
The package includes built-in [[Tor]] and, by default, all traffic between the clients and the server goes through it, so IP addresses are hidden and privacy of the users is respected. Under normal conditions, Wasabi Wallet never leaves Tor onion network and it never uses Tor exit relays, significantly decreasing the network attack surface.
  
Multibit uses the bitcoinj [http://code.google.com/p/protobuf/ protobuf] wallet file.
+
Wasabi also includes all standard privacy tech like a Hierarchical [[Deterministic wallet]] and [[address reuse]] avoidance, as well as mandatory coin control and labeling. The wallet uses BIP-158 [[Client-side block filtering]] to obtain its own transaction history in a private way and it has a one-click partial full node integration as it ships with Bitcoin Knots.
 +
If the user already has a Bitcoin full node on a local or remote device, then it is possible to specify the IP address and port, or the Tor onion service, and Wasabi will use it to verify and enforce rules of Bitcoin.
  
 +
In addition to this, it has advanced cutting-edges features like:
 +
* Opt-in [[PayJoin]]
 +
* Dust attack protections
 +
* Custom change address
 +
* Anti wallet fingerprinting
  
 
==See Also==
 
==See Also==
  
 +
* [[Transaction fees]]
 
* [[Securing your wallet]]
 
* [[Securing your wallet]]
 
* [[EWallet]]
 
* [[EWallet]]
 
* [[Deterministic Wallet]]
 
* [[Deterministic Wallet]]
* [http://bitcoinx.io/wallets Finding a Wallet]
+
* [https://bitcoin.org/en/choose-your-wallet Choose your wallet]
* Third party [http://www.expresscoin.com/wallets Bitcoin Wallets] on [[expresscoin]]
+
* [https://allprivatekeys.com/wallet.dat wallet.dat files with balance and lost password]
  
 
==References==
 
==References==
 
<references />
 
<references />
 +
[[Category:Wallets| ]]

Latest revision as of 20:20, 1 July 2021

A Bitcoin wallet is a collection of private keys but may also refer to client software used to manage those keys and to make transactions on the Bitcoin network.

This page covers various wallet formats in use.

Bitcoin Core

The original Bitcoin client stores private key information in a file named wallet.dat following the so called "bitkeys" format.

The wallet.dat file contains your private keys, public keys, scripts (which correspond to addresses), key metadata (e.g. labels), and the transactions related to your wallet. If you have an HD wallet, it also includes the HD seed and the derivation paths for each private key.

It contains:

  • keypairs for each of your addresses
  • transactions done from/to your addresses
  • user preferences
  • default key (obsolete, no longer used by Bitcoin Core except by parsing them to detect key/value and wallet corruption)
  • reserve keys
  • accounts
  • a version number
  • Key pool
  • Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.

The wallet.dat file is located in the Bitcoin data directory and may be encrypted with a password.

It is intended that a wallet file be used on only one installation of Bitcoin at a time. Attempting to clone a wallet file for use on multiple computers will result in "weird behavior"[1].

The format of this file is Berkeley DB. Tools that can manipulate wallet files include pywallet.

Armory

The Armory client uses a custom Deterministic wallet format described here and runs on top of Bitcoin Core.

Bitcoin Wallet

Bitcoin wallet.png Bitcoin Wallet uses the bitcoinj protobuf format for its wallet file. However, due to Android isolation of applications, it is impossible to access the wallet file as a non-root user.

Blockchain.info

Blockchain.info offers a hybrid eWallet called "My Wallet". It use a plain text JSON wallet format. Private keys Keys are stored in base58.

Denarium.com

Denarium is Physical Bitcoin coin manufacturer. Denarium produces easy, handy and secure wallets in a coin form. The private key is stored under a security seal without password protection. Denarium also offers a trustless multisignature coins, which eliminates the need to trust the manufacturer.

Ledger Wallet

Ledger Wallet manufactures various hardware wallets.

Blockchain App Factory

Blockchain App Factory offers Whitelabel cryptocurrency wallet with the latest features, unrivaled security, and user-friendly design to safeguard your cryptocurrencies and monitor them 24/7.

Multibit

Multibit HD (the current version) uses a BIP 0032 (type 2) Deterministic wallet with the format described here. The "Classic" version used the bitcoinj protobuf wallet file.

Blocktrail

Blocktrail offers a BIP 0032 (type 2) Deterministic wallet and for added security also implements Multisignature wallet technology.

TREZOR

TREZOR is an isolated hardware environment for offline transaction signing and using a small display you can visually verify the transaction contents.

Opendime

Opendime is a small USB stick that allows you to spend Bitcoin like a dollar bill. Pass it along multiple times. Connect to any USB to check balance. Unseal anytime to spend online. Trust no one.

Wasabi Wallet

Wasabi Wallet is an open-source, non-custodial, privacy-focused Bitcoin wallet for Desktop, that implements trustless CoinJoin. The CoinJoin coordinator (run by zkSNACKs Ltd., the company that is sponsoring the development of Wasabi) cannot steal from, nor breach the privacy of the participants.

The package includes built-in Tor and, by default, all traffic between the clients and the server goes through it, so IP addresses are hidden and privacy of the users is respected. Under normal conditions, Wasabi Wallet never leaves Tor onion network and it never uses Tor exit relays, significantly decreasing the network attack surface.

Wasabi also includes all standard privacy tech like a Hierarchical Deterministic wallet and address reuse avoidance, as well as mandatory coin control and labeling. The wallet uses BIP-158 Client-side block filtering to obtain its own transaction history in a private way and it has a one-click partial full node integration as it ships with Bitcoin Knots. If the user already has a Bitcoin full node on a local or remote device, then it is possible to specify the IP address and port, or the Tor onion service, and Wasabi will use it to verify and enforce rules of Bitcoin.

In addition to this, it has advanced cutting-edges features like:

  • Opt-in PayJoin
  • Dust attack protections
  • Custom change address
  • Anti wallet fingerprinting

See Also

References