WalletMatrix

34

wallets and stacking!

Glossary

Whenever you learn to use a new technology; whether it's a cellphone, a TV, a website or some software, then there's usually a lot of new stuff to learn about. Manufacturers and service providers usually provide you with a manual to help, but you probably don't read it!

We think the best way to learn anything is to just use it. You can figure out what unfamiliar words and concepts mean as you go. This glossary of terms will always be here to help you with that.

Contents

  • Testnet

    Introduction

    Bitcoin is both a currency and a network. In the latter's case, there are actually two with each used for a different purposes:

    • Mainnet is used by most people when making day to day payments. You don't know you're even using it
    • TestNet is used by wallet software developers when building and testing new features. It's used as if it were the Mainnet but without any danger of losing real funds. Think of it as a "Sandboxed" network.

    Use Cases

    The programmers of wallet, node or related software need to ensure that new features and bug-fixes work correctly while using a safe environment that behaves as closely as possible to the real thing. An environment where there is no risk at all of losing any real-world funds.

    Features described elsewhere on WalletMatrix such as Batch Transactions and RBF will all have been tested on TestNet.

    Further Reading

  • Multisig

    Introduction

    A Multiple Signature feature ("Multisig" for short) allows more than one person to digitally "sign off" on a transaction before any funds can be spent. This might be useful in an escrow situation for example, and is usually one aspect of a larger solution provided by Bitcoin security companies that help their clients better secure their funds from personal mistakes or software/hardware failure.

    Use Cases

    You work for a company of accountants. The company has clients that prefer being paid for their services in Bitcoin. In order to reduce the potential for fraud or to mitigate circumstances where one accountant is away sick and a payment needs to go through, it is company policy for two of the team to sign-off on all outgoing payments. Using a Bitcoin wallet that supports multisig for all the company's outgoing payments, this can be easily achieved.

    Another example is in the execution of a person's will; where there exists a stipulation that at least 3 of the 4 beneficiaries sign a transaction, before Bitcoin funds are able to be paid out.

    Further Reading

  • Batch Tx

    Introduction

    Batch Transaction feature allows multiple payments to be made to several individuals at the same time as part of a single Bitcoin transaction.

    Use Cases

    Because every Bitcoin transaction incurs a fee paid to Bitcoin miners as a reward for them validating payment transactions and for including those transactions in a block, it makes sense to batch payments together, to keep fees to a minimum. Given a company with hundreds of employees - some of whom will have requested to be paid their salary in Bitcoin - batching all payments into a single transaction drastically reduces the fees that the company needs to pay miners, in order to broadcast and send all those payments across the Bitcoin network.

    Further Reading

  • BIP32

    Introduction

    The Hierarchical Deterministic wallet feature ("HD" for short) is fairly standard in most Bitcoin wallets.  Also known as "HD Wallets" or "BIP32 Wallets", this feature provides users with the ability to "rebuild" a wallet and recover funds in the event that a smartphone or hardware wallet is lost, destroyed or even stolen. There is also an additional privacy bonus to be had where for each payment you create, the wallet generates a brand new address to which payments to the wallet, can be made. This makes it much harder for those engaging in chain-analysis, to determine if the same person sent two or more transactions from the same "physical" wallet.

    When these HD wallets are first opened, users are usually prompted to save a 12 or 24 word "seed" or "seed phrase" as an offline backup. These words need only be re-typed into a brand new wallet, even on a brand new smartphone, in order to make otherwise "lost" funds available to be spent once again.

    Hierarchical Deterministic wallets can also have an additional "word" or "passphrase" added to the base set of 12 or 24 word seed phrase. Wallets will prompt for this word separately thus providing users with a form of 2 Factor authentication.

    Use Cases

    The intended use of an HD Wallet is as a means for backing-up the entire wallet. Should you lose access to your phone either by loss, damage or theft, and assuming the wallet's instructions were followed when setting it up originally, users can "re-create" a new wallet, with all their funds intact on a completely new device, and have immediate access to their funds.

    The ability to send funds from an address only once is a useful privacy future. Because the Bitcoin network comprises a public ledger of all transactions that have ever occurred, and while no identifying names or email addresses are included in it, it is still possible with the right technical knowledge to perform a process known as Chain Analysis on the data and to derive patterns of behaviour with reference to individual wallet addresses.

    Being able to generate new addresses for each transaction therefore, makes this process much harder to perform.

    Further Reading

  • BIP125

    Introduction

    Replace By Fee feature ("RBF" for short) and also known as "Fee Bumping" or "Transaction Replacement", allows users to replace one of their currently unconfirmed transactions with a newer transaction.

    Use Cases

    Due to a lot of activity on the Bitcoin network, transactions can occasionally take longer to settle than the standard hour or so (Otherwise known as "confirmation" or "confirmation time"). Using RBF, users can instruct their wallet to replace a pending or "unconfirmed" transaction with another one, that sets a higher fee. The purpose of this fee increase is to incentivise miners to process your transaction sooner than it would have otherwise, with a lower fee.

    Further Reading

  • BIP173

    Introduction

    Segwit Native Address is a feature that resulted from a Bitcoin network upgrade in 2017 known as "Segwit" which had several intentions: In the context of wallets, this change resulted in the adoption of a new wallet address format known as a "Bech32 Encoded Address" a "Bech32 Address" or "Segwit Native Address".

    Use Cases

    When you need to send funds from your wallet to another wallet or service that only supports receiving funds to a Bech32 address.

    Further Reading

  • Custodial

    Introduction

    A custodial wallet requires you to relinquish some control of your funds to a centralised service provider.

    Almost every Bitcoin wallet requires the use of an automatically generated "Private Key". This key is central to everything your wallet does for you. As such, and for security reasons it is considered to be poor operational security practice ("OPSec" for short) to share your private keys in any way, with anyone or anything. Should you ever do this, is is entirely possible for you to permanently lose access to any funds that are secured with those keys.

    A custodial wallet service may not need you to give them the keys if you purchased Bitcoin using it as an exchange. In this case, those Bitcoin will be initially paid to an address controlled by the exchange and not you. It is always a good idea to remove Bitcoin from these wallets as soon as is practicable.

    You wouldn't give the keys to your car or your home to a stranger, nor would you hand out 100 dollar notes to anyone on the street. The same rule applies to your wallet's private keys.*

    * This is only relevant to wallets that automatically generate and securely store a private key for you. Note that there are some wallets that generate a private key in a different manner, assembling it in parts and storing each separately, rendering private key security able to be handled differently, these are known as "keyless" wallets.

    Use Cases

    A wallet can be a physical thing like a USB Hardware wallet, a semi-physical thing like a mobile wallet in the form of a software app installed on a smartphone, or it can be a little more ephemeral than that.

    Consider your use of a web-based exchange for converting New Zealand Dollars into Bitcoin for example. For the duration that you keep your converted dollars in the form of Bitcoin "on" an exchange, those Bitcoin are associated with a form of software wallet that the exchange owns, runs and ultimately controls.

    While it is in an exchange's best interests to serve their customers well, it is still possible for an exchange to move funds out of that wallet on a whim, if coerced or for some other reason, and into any other wallet of their choosing if they so desired.

    This sort of wallet is known as a form of Custodial wallet. However there are "shades" of custodianship. If any feature of a wallet app requires the use of some centralised entity to provide it, then that wallet is said to be custodial in nature.

    You might elect to use a custodial wallet, when purchasing Bitcoin from an exchange for example. But it's a good idea to forward your funds to a wallet that you control, a service like WalletMatrix can help you find one.

    Further Reading

  • Fee Estimation

    Introduction

    Fee Estimation is a wallet feature that enables users to change the miner's fee* they'd like to pay. The higher the fee, the higher the incentive is for miners to place your transaction into their next block, potentially speeding up the time it takes for payees to receive their funds. Some wallets will try to estimate an appropriate fee automatically while still enabling you to override that estimate.

    Use Cases

    You need to get a transaction to someone quickly. With a fee set at its lowest, you may be waiting upwards of an hour before your transaction is included in a block. In addition, you need to wait for the appropriate number of confirmations* before your transaction is spendable by the payee. Setting your fee to its highest however, automatically signals to miners that your transaction has a higher priority than others with a lower fee.

    Further Reading

  • Fee Control

    Introduction

    Fee Control in Bitcoin wallets allows wallet users to have some control over how their transactions are processed by miners.

    Use Cases

    You have a payment that needs to be made immediately. In order to achieve this, it needs to be ideally included in the next block of Bitcoin transactions, leading to it being "confirmed" as quickly as possible. By using your wallet's fee control feature to set a high fee, you're incentivising those who process Bitcoin transactions, known as "Miners", to prioritise your transactions over others. This doesn't absolutely guarantee that yours will be included in the next block, because you cannot know the fees being paid by others at around the same time, however, you do increase the chances of it working in your favour.

  • FIO

    Introduction

    Short for Foundation for Interwallet Operability. The FIO are an independent organisation that are pushing for interoperability standards between wallet vendors, by means of adopting the FIO Protocol. Wallets marked with FIO support, offer some level of interoperability with other wallets that themselves use the FIO Protocol.

    Use Cases

    Wallets with FIO Protocol support may comprise one or more of the following individual features:

    1. Human readable payment addresses
    2. Notifications when payments are received
    3. Encrypted (secure) meta-data sent between wallets

    With regard to 3, this means your wallet may be able to send and receive "structured data" (Data in a form that is machine-readable). This means that in the near future, your wallet becomes more than just a sender or receiver of funds, it can also help you manage what you spend your funds on, by breaking down and analysing shopping lists or even electronic receipts sent to it from other FIO-aware point of sale (POS) systems.

    Further Reading

  • Lightning

    Introduction

    Lightning is an instant payment settlement network built on top of the Bitcoin network. This arrangement classes Lightning as a "Layer 2" network (Where the original, base Bitcoin network is considered to be "Layer 1" acting as the ultimate transaction arbiter).

    Lightning enabled wallets permit "payment channels" to be setup between peers on the network in order to facilitate lightning fast payments without ever needing to touch the Bitcoin base layer for every transaction confirmation. With there now being no need to wait for several confirmations to occur before a payment "clears", payments "clear" almost instantaneously.

    Use Cases

    Lightning is designed for use with a particular type of financial transaction. In the same way as a wire transfer, inter-bank transfer, credit card, cash or even cheque payment are each designed for a certain type of transaction, so too is Lightning.

    In order to liquidate funds from Bitcoin say into New Zealand Dollars, a currently open channel between two people would either need to be closed with the usual number of confirmations having occurred, or a new Bitcoin transaction created that "re-populated" an existing channel with further funds.

    But as the circular Bitcoin economy grows, the services that you use every day will begin to accept Bitcoin alongside more traditional methods for the payment of goods and services. Because you may use one or more of these so frequently; such as your local market, car mechanic or ISP, you might consider establishing an always-open payment channel to each for the near-instant settlement of bills, tabs and invoices.

    In-game and in-app purchases are also a burgeoning use-case for an always-on payment channel where value needs to be transferred several times a minute. Try doing that with your bank account!

    Further Reading

  • Form Factor

    Introduction

    Wallets can be used on different types of device.

    Form Factor is just another way of saying "wallet type". For example a Mobile form-factor usually denotes a Smartphone or tablet app that is downloaded from an app store like Apple's iTunes. A Desktop form-factor usually means software that can only be installed on a desktop operating system like Microsoft Windows, Ubuntu Linux or Apple's OSX. A Hardware form-factor indicates a special kind of highly secure wallet, usually in the form of an external USB device.

    Use Cases

    With the ubiquity of Smartphones these days in almost all economies of the world, a software Mobile wallet installed as an app on your phone or tablet is probably going to suit you best for day-to-day use.

    If you're in front of a laptop of desktop computer for lengthy periods and/or you usually do some or all of your shopping online, a Desktop wallet may suit.

    For more advanced users, or those users for whom security is utterly paramount, the use of a hardware device about the size of a standard USB thumb-drive as a Hardware wallet, is usually the way to go.

    Further Reading

  • Validation

    Introduction

    Ensure that your transactions stick to the rules of network.

    Validation is one process that wallets perform when sending and receiving payments. Validation ensures that individual payments cannot break the rules of the network. Bitcoin is a "trustless" network of participants, humans and computers (known as "nodes") and in the case of a smartphone wallet app, your phone is also acting as a special kind of node.

    Some wallets perform a minimal set of validation checks; these are designated as SPV (Simple Payment Verification) nodes and they represent a large proportion of available smartphone wallet apps, because SPV validation is very fast, and requires comparatively little data to be downloaded from the Bitcoin blockchain.

    Other wallets will defer the validation process to a dedicated full node (usually hosted on a dedicated computer or a server) that it connects to, and which is located elsewhere on the Bitcoin network. This is done in order to perform a greater range of validation checks. Wallets that behave this way are known as Fully Validating.

    You might select a wallet based on a particular form of validation for reasons of overall network health or for your own security reasons. A fully validating node will validate all transactions and will ensure network consensus rules are being adhered-to.

    Importantly: Such a wallet cannot be tricked into receiving malformed payments.

    Many wallets that have Lightning Network integration will use Neutrino payment validation. Unlike SPV, which only performs a subset of the possible range of validation tasks because for reasons of speed, it only ever receives a small amount of the available data from the network. Neutrino validation is able to perform a wider range of validation on more data, due to the advanced data compression it employs.

    Further Reading

  • Platform

    Introduction

    Wallets run on phones, computers or as independent devices.

    A Platform refers to the operating system that powers a smartphone, tablet or laptop computer. Examples are Microsoft Windows, Ubuntu Linux or Android.

    Use Cases

    Every computer, tablet and smartphone has an operating system built into it. Depending on your purchasing patterns and the amount of time you usually spend in front of each of these devices, your choice of wallet software will be dependent on the operating system that these devices have installed on them.

  • Currency

    Introduction

    Wallets support a range of currencies in their user interfaces.

    A currency refers simply to any supported fiat currency like the New Zealand dollar, the European Euro or Argentinian Paeso, as well as any cryptocurrency supported by the wallet such as Bitcoin, Litecoin or Ether.

    There is also a third class of currency called a "stablecoin". A stablecoin can have many of the features of a cryptocurrency like Bitcoin, but the key differentiator is that its value is "pegged" to the current value of one or more fiat currencies - usually the US Dollar. While the number of available services and outlets that accept stablecoins is very few, they are mostly suited for trading and used primarily as investment instruments.

    Use Cases

    A Wallet with support for Euro, Paesos or Dollars and Bitcoin, Bitcoin Cash and Litecoin should enable the display of crypto-to-fiat conversions for each of those currencies.

    WalletMatrix believes that both fiat currencies and cryptocurrencies should not be made arbitrarily distinct from one another. They are all currencies and function as "money" per the definition of money in terms of its three core features, and one is not going to die-off or replace the other any time soon. As such, both types of currency are considered together in the WalletMatrix system.

    Further Reading

  • Language

    Introduction

    The languages that wallets use in their user interfaces.

    The language as a feature is represented simply as the range of country-specific human languages that a particular wallet is able to display within its user interface.

    Use Cases

    The ability to show your wallet balances among other of its features, in a language of your choice within the wallet itself.

  • License

    Introduction

    The software license used by a wallet's source code.

    Mostly of interest to software developers, a software license stipulates the terms under which the code that wallet software is written in, may be used.

    Use Cases

    Some licenses are less permissive than others, and may even restrict developers from using a software library or codebase for a commercial product or service.

    Further Reading

  • Wallet

    Introduction

    Particular types of transaction, suit particular types of wallet.

    A wallet app or hardware wallet may itself also comprise several independent "wallets", with each one designed for a specific purpose. This is somewhat analogous to a customer having several accounts within a bank such as a chequing, savings or revolving credit account, or with a traditional personal wallet or purse that may have zipped pockets for coins, a wide slot for notes or bills and several smaller slots for credit, debit and store cards.

    You might use coins from the zipped pocket to pay for coffee, a chip-and-pin or EFTPOS card to pay for lunch and a credit card to pay for a new kitchen appliance such as a fridge. Each of these forms of payment provides you with different features, and the same is true for individual wallets within an app or device.

    Use Cases

    An Online Wallet can usually be thought of as the default provided by most wallet software and devices. It allows users to immediately send and receive peer to peer payments with users of other wallets.

    A BRD Wallet offers functionality or compatibility with the popular BRD wallet.

    A Single Address wallet provides a wallet for which there is only ever a single address. This might be useful for example if you're accepting one-off payments as tips from your website (or your github account if you're a developer), although this sort of wallet is no longer recommended for privacy reasons.

    An HD wallet can be thought of as the opposite of Single Use wallets. HD wallets will generate a new address every time you wish to use it. These days, most "default" wallet-types in apps are already HD "aware". If you're interested, "HD" stands for "Hierarchical Deterministic" which is a reference to the underlying cryptographic principles these wallets use.

    Watch Only wallets allow wallet users to monitor activity for an address or collection of addresses. They won't let you spend from them, or receive payments to them, rather they're more of use to advanced users who may want to observe the transactions that occur to or from any Bitcoin address, which needn't be one that they own.

    Further Reading

  • Security

    Introduction

    Funds are your responsibility, so take wallet security seriously.

    Security is a far-reaching and detailed topic in its own right, for which there are many good resources.

    In terms of Bitcoin wallets, several will offer a range of security features, but it can be hard to know which of these offer protections that are valid for scenarios you can envisage finding yourself in.

    It's important to understand one of the fundamental differences between currencies such as Bitcoin and the Dollars, Euro, Yen or Paeso that you may be familiar with: A traditional bank may be able to refund you should you lose funds during a fraudulent scenario such as an unauthorised person discovering your internet banking password or stealing or skimming your credit card. But with digital currencies like Bitcoin, the burden of security is on you. If you lose access to your Bitcoin wallet or the private keys that it securely maintains on your behalf, you have lost that Bitcoin forever. You only need to Google "Lost Bitcoin" to hear of some amazing and saddening stories of thousands of US Dollars worth of Bitcoin having been lost forever, due to poor security.

    Depending on the frequency with which you use Bitcoin for payments, and/or the amount you hold or wish to hold in Bitcoin, you may choose to be more or less security conscious and therefore select from a subset of the total range of security features offered by currently available wallets.

    Fake Wallet

    This security feature allows you to create what appears to be a genuine wallet with a genuine wallet balance, but is in fact only a facade, containing perhaps only a fraction of your total Bitcoin balance. This confers a "plausible deniability" ability onto users in a "5 dollar wrench" attack scenario.

    Pin On Wallet

    This security feature allows users to set a secret PIN, which needs to be manually entered into a wallet, before being able to use it or any of its features.

    Pin On TX

    This security feature allows users to set a secret PIN, which needs to be manually entered into a wallet before being able to send any transactions.

    Encrypted Password

    A wallet with an encrypted password feature will simply store the password in question in an encrypted form on the device itself, therefore rendering a stolen device such as a smartphone, useless to a thief or attacker who isn't also in possession of the cryptographic keys used to perform the encryption itself.

    Dust Protection

    Unlike most decimal currencies that are divisible only to two decimal places, and usually employing a separate currency denomination e.g. Dollars and Cents, or Pounds and Pence; Bitcoin is divisible to eight decimal places, each unit of which is known as a Satoshi. This immediately allows for very fine-grained payments called "micropayments" and Dust is the word generally used to describe extremely small amounts of Bitcoin, usually in the context of receiving change from a standard Bitcoin transaction, around the 1000 Satoshi mark (0.00000001 Bitcoin).

    Scrambled Pin

    Wallets offering a scrambled PIN feature will scramble the digits on any PIN-entry screen, to confound screen-reading and key logging malware that could be present on a mobile device. Whenever the PIN-entry screen is displayed, the keypad will arrange each digit differently each time.

    2 Factor Authentication

    A wallet that features two factor authentication (2FA) will require you to use at least 2 different means of verifying that you have permission to either open a wallet or create and send a transaction on that wallet - it depends on the wallet itself as to how exactly it has implemented this feature.

    Keyless

    Ordinarily, almost every wallet you'll come across will prompt you to store a set of 12 or 24 words known as a "seed" or "seed phrase" or "wallet seed" the first time you use it. The seed is used by your wallet to derive a private cryptographic key, which in turn is used to generate unlimited, payment addresses - good for privacy (to prevent simple analysis of payments to the same address using public block explorers). If you lose your wallet or it's stolen, a new wallet can be purchased or downloaded and the funds associated with the former can be re-instated within the latter.

    In and of itself, this is a pretty useful feature, except that you need to keep the seed somewhere secure away from the wallet itself. Often this means writing it down on a piece of paper, storing it on some sort of indestructible device or material and storing that somewhere safe like a lock box or bank vault.

    With a Keyless wallet however, there is no single private key stored in a single location. Instead the key is derived from multiple, geographically separate and cryptographically produced pieces and assembled from each piece whenever they're needed, e.g. when your wallet digitally "signs" transactions on your behalf when making a payment.

    Touch ID

    A wallet with a Touch ID security feature, allows it to authenticate you either for a making a transaction or for opening the wallet itself, with the use of a finger or thumbprint. If you have a recent Apple or Android smartphone, you'll probably already be familiar with this feature.

    Further Reading

  • Privacy

    Introduction

    Minimise other's ability to analyse and track your transactions.

    Privacy is a big deal. It seems every week there are new revelations of data breaches and surveillance from social media, e-commerce and traditional banking. Choosing to use Bitcoin for a share of your day-to-day transactions is already one way in which you can signal your intent or your desire to use an alternative to centralised payment systems, but there is always more that you can do to further anonymise your transactions.

    Own Node

    Every wallet needs to be able to connect to the Bitcoin network for sending out and receiving transactions. When such a connection is made, it is made to a "node" usually owned and run by someone else that you've probably never met. It's this node that other nodes, including other mobile wallets, will connect to.

    Mobile wallets are usually also nodes themselves, but "lighter" versions known as "SPV" or "Neutrino" nodes. SPV and Neutrino nodes don't need to perform every available validation check on incoming and outgoing transactions, that full nodes do.

    Usually, a mobile wallet will connect to the first "Full" node it can find, but for those wallets that support Custom Nodes (Also known as a Local Node) the wallet will allow users to connect to a Full Bitcoin node that they run (or one that is run by someone that they trust such as a family member or close friend for example).

    Unlike the traditional banking network which is centralised, the Bitcoin network is de-centralised. In this way, the number of individuals and companies that run their own Bitcoin Node software are the network. And while the rules of Bitcoin already prevent bad behaviour on the part of node owners and operators, a Local Node offers total piece of mind.

    What better way to trust a node operator, than when that operator is you? Take a look at the "Further Information" link below for suppliers of user-friendly full node products that can be ordered over the internet and that accept Bitcoin as payment!

    Tor

    Using the Tor network layer as a wallet privacy feature, allows all internet traffic sent from your wallet to be fully anonymous. No cookies, IP address or network information can be discerned by the Bitcoin nodes or intermediary services that may carry, process or receive your transaction data.

    CoinJoin

    Usually when a Bitcoin transaction is created, there is a fairly simple way for outsiders to review the amount of funds transferred from one wallet address to another. A wallet that supports coinjoin will transmit your payments to the Bitcoin network by combining or "joining" it along with several others. This makes it harder (but not impossible) for third parties to discover which addresses are paying which other addresses.

    PayNym

    On the Bitcoin network, a PayNym is a publicly shareable identity, like a name or an alias, that is cryptographically associated with a wallet address. Only yours and the recipient's wallet will ever be able to read the address. This is a privacy feature because it prevents analysis of previous transactions and the amounts sent.

    Offline Transaction

    How might you send a Bitcoin transaction without being connected to the internet? Well a Bitcoin transaction comprises purely digital data, therefore any computer or communications network is capable of transmitting it. Examples of transmission networks, other than the internet that some wallets are capable of using are Mesh Networks and Mobile Phone Networks (via SMS messaging).

    One reason you might be interested in offline transactions are if you plan on being located somewhere with no or poor internet connectivity for some time.

    Further Reading