A wallet stores the information necessary to transact bitcoins. While wallets are often described as a place to hold or store bitcoins, due to the nature of the system, bitcoins are inseparable from the blockchain transaction ledger. A better way to describe a wallet is something that "stores the digital credentials for your bitcoin holdings" and allows one to access (and spend) them. Bitcoin uses public-key cryptography, in which two cryptographic keys, one public and one private, are generated. At its most basic, a wallet is a collection of these keys.There are three modes which wallets can operate in. They have an inverse relationship with regards to trustlessness and computational requirements.Full clients verify transactions directly on a local copy of the blockchain (over 150GB As of January2018). They are the most secure and reliable way of using the network, as trust in external parties is not required. Full clients check the validity of mined blocks, preventing them from transacting on a chain that breaks or alters network rules. Because of its size and complexity, storing the entire blockchain is not suitable for all computing devices. Pruning clients store only the set of transactions that have not been spent (the "UTXO set"), thereby reducing the size of data they need to store, while simultaneously allowing them to validate new transactions. However, if miners alter the blockchain at a point suitably far back in time (a "reorg"), the pruning client must re-validate the entire blockchain from its genesis. Lightweight clients consult full clients to send and receive transactions without requiring a local copy of the entire blockchain (see simplified payment verification – SPV). This makes lightweight clients much faster to set up and allows them to be used on low-power, low-bandwidth devices such as smartphones. When using a lightweight wallet, however, the user must trust the server to a certain degree, as it can report faulty values back to the user. Lightweight clients follow the longest blockchain and do not ensure it is valid, requiring trust in miners.Third-party internet services called online wallets offer similar functionality but may be easier to use. In this case, credentials to access funds are stored with the online wallet provider rather than on the user's hardware. As a result, the user must have complete trust in the wallet provider. A malicious provider or a breach in server security may cause entrusted bitcoins to be stolen. An example of such a security breach occurred with Mt. Gox in 2011. This has led to the often-repeated meme "Not your keys, not your bitcoin".Physical wallets store offline the credentials necessary to spend bitcoins. One notable example was a novelty coin with these credentials printed on the reverse side. Paper wallets are simply paper printouts.Another type of wallet called a hardware wallet keeps credentials offline while facilitating transactions.