BTC PANDA MINERS LIMITED

Design

Bitcoins are created as a reward for payment processing work in which users offer their computing power to verify and record payments into a public ledger. This activity is called mining and miners are rewarded with transaction fees and newly created bitcoins. Besides being obtained by mining, bitcoins can be exchanged for other currencies, products, and services. Users can send and receive bitcoins for an optional transaction fee. Bitcoin as a form of payment for products and services has grown, and merchants have an incentive to accept it because fees are lower than the 2–3% typically imposed by credit card processors. Unlike credit cards, any fees are paid by the purchaser, not the vendor. The European Banking Authority and other sources have warned that bitcoin users are not protected by refund rights or chargebacks. Despite a large increase in the number of merchants accepting bitcoin, the cryptocurrency does not have much momentum in retail transactions. The use of bitcoin by criminals has attracted the attention of financial regulators, legislative bodies, law enforcement, and media. Criminal activities are primarily centered around black markets and theft, though officials in countries such as the United States also recognize that bitcoin can provide legitimate financial services. Bitcoin has drawn the support of a few politicians, notably U.S. Senator Rand Paul, who accepts donations in bitcoin.

Block chain

The block chain is a public ledger that records bitcoin transactions. A novel solution accomplishes this without any trusted central authority: maintenance of the block chain is performed by a network of communicating nodes running bitcoin software. Transactions of the form payer X sends Y bitcoins to payee Z are broadcast to this network using readily available software applications. Network nodes can validate transactions, add them to their copy of the ledger, and then broadcast these ledger additions to other nodes. The block chain is a distributed database; to achieve independent verification of the chain of ownership of any and every bitcoin (amount), each network node stores its own copy of the block chain. Approximately six times per hour, a new group of accepted transactions, a block, is created, added to the block chain, and quickly published to all nodes. This allows bitcoin software to determine when a particular bitcoin amount has been spent, which is necessary in order to prevent double-spending in an environment without central oversight. Whereas a conventional ledger records the transfers of actual bills or promissory notes that exist apart from it, the block chain is the only place that bitcoins can be said to exist in the form of unspent outputs of transactions.

Transactions

A transaction must have one or more inputs. For the transaction to be valid, every input must be an unspent output of a previous transaction. Every input must be digitally signed. The use of multiple inputs corresponds to the use of multiple coins in a cash transaction. A transaction can also have multiple outputs, allowing one to make multiple payments in one go. A transaction output can be specified as an arbitrary multiple of satoshi. As in a cash transaction, the sum of inputs (coins used to pay) can exceed the intended sum of payments. In such case, an additional output is used, returning the change back to the payer. Any input satoshis not accounted for in the transaction outputs become the transaction fee.

To send money to a bitcoin address, users can click links on webpages; this is accomplished with a provisional bitcoin URI scheme using a template registered with IANA. Bitcoin clients like Electrum and Armory support bitcoin URIs. Mobile clients recognize bitcoin URIs in QR codes, so that the user does not have to type the bitcoin address and amount in manually. The QR code is generated from the user input based on the payment amount. The QR code is displayed on the mobile device screen and can be scanned by a second mobile device.

Mining

The unit of account of the bitcoin system is bitcoin. As of 2014, symbols used to represent bitcoin are BTC, XBT Small amounts of bitcoin used as alternative units are millibitcoin (mBTC), microbitcoin (µBTC), and satoshi. Named in homage to bitcoin's creator, a satoshi is the smallest amount within bitcoin representing 0.00000001 bitcoin, one hundred millionth of a bitcoin. A millibitcoin equals to 0.001 bitcoin, which is one thousandth of bitcoin. One microbitcoin equals to 0.000001 bitcoin, which is one millionth of a bitcoin. A microbitcoin is sometimes referred to as a bit.

On 7 October 2014, the Bitcoin Foundation disseminated a plan to apply for an ISO 4217 currency code for bitcoin, and mentioned BTC and XBT as the leading candidates.

Ownership

A transaction must have one or more inputs. For the transaction to be valid, every input must be an unspent output of a previous transaction. Every input must be digitally signed. The use of multiple inputs corresponds to the use of multiple coins in a cash transaction. A transaction can also have multiple outputs, allowing one to make multiple payments in one go. A transaction output can be specified as an arbitrary multiple of satoshi. As in a cash transaction, the sum of inputs (coins used to pay) can exceed the intended sum of payments. In such case, an additional output is used, returning the change back to the payer. Any input satoshis not accounted for in the transaction outputs become the transaction fee.

To send money to a bitcoin address, users can click links on webpages; this is accomplished with a provisional bitcoin URI scheme using a template registered with IANA. Bitcoin clients like Electrum and Armory support bitcoin URIs. Mobile clients recognize bitcoin URIs in QR codes, so that the user does not have to type the bitcoin address and amount in manually. The QR code is generated from the user input based on the payment amount. The QR code is displayed on the mobile device screen and can be scanned by a second mobile device.

Practicalities

It has become common for miners to join organized mining pools, which combine the computational resources of their members in order to increase the frequency of generating new blocks. The reward for each block is then split proportionately among the members, creating a more predictable stream of income for each miner without necessarily changing their long-term average income, although a fee may be charged for the service.

The rewards of mining have led to ever-more-specialized technology being utilized. The most efficient mining hardware makes use of custom designed application-specific integrated circuits, which outperform general-purpose CPUs while using less power. As of 2015, a miner who is not using purpose-built hardware is unlikely to earn enough to cover the cost of the electricity used in their efforts, even if they are a member of a pool.

As of 2015, even if all miners used energy-efficient processors, the combined electricity consumption would be 1.46 terawatt-hours per year—equal to the consumption of about 135,000 American homes. In 2013, electricity use was estimated to be 0.36 terawatt-hours per year or the equivalent of powering 31,000 US homes.

Supply

The successful miner finding the new block is rewarded with newly created bitcoins and transaction fees. As of 28 November 2012, the reward amounted to 25 newly created bitcoins per block added to the block chain. To claim the reward, a special transaction called a coinbase is included with the processed payments. All bitcoins in existence have been created in such coinbase transactions. The bitcoin protocol specifies that the reward for adding a block will be halved every 210000 blocks (approximately every four years). Eventually, the reward will decrease to zero, and the limit of 21 million bitcoins will be reached c. 2140; the record keeping will then be rewarded by transaction fees solely.

Transaction fees

Paying a transaction fee is optional, but may speed up confirmation of the transaction. Payers have an incentive to include such fees because doing so means their transaction is more likely to be added to the block chain sooner; miners can choose which transactions to process and prioritize those that pay higher fees. Fees are based on the storage size of the transaction generated, which in turn is dependent on the number of inputs used to create the transaction. Furthermore, priority is given to older unspent inputs.

Wallets

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 block chain transaction ledger. A better way to describe a wallet is something that "stores the digital credentials for your bitcoin holdings" and allows you 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 several types of wallets. Software wallets connect to the network and allow spending bitcoins in addition to holding the credentials that prove ownership. Software wallets can be split further in two categories: full clients and lightweight clients. Full clients verify transactions directly on a local copy of the block chain (projected to surpass 60 GB in 2016, which may be an inconvenience or impossible for some users). Lightweight (SPV/simplified payment verification) clients on the other hand consult a server to parse the block chain, and get only relevant transactions from the server (transactions to and from the user). When working with lightweight wallets, the user has to trust the server to a certain degree. The server can not steal bitcoins directly, or intercept transactions, but the server can report faulty values back to the user. With both types of software wallets, the users are responsible for keeping their private keys in a secure place.

Besides software wallets, 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.

Physical wallets also exist and are more secure, as they store the credentials necessary to spend bitcoins offline. Examples combine a novelty coin with these credentials printed on metal, wood, or plastic. Others are simply paper printouts. Another type of wallet called a hardware wallet keeps credentials offline while facilitating transactions.

Reference implementation

The first wallet program was released in 2009 by Satoshi Nakamoto as open-source code and was originally called bitcoind. Sometimes referred to as the "Satoshi client," this is also known as the reference client because it serves to define the bitcoin protocol and acts as a standard for other implementations. In version 0.5 the client moved from the wxWidgets user interface toolkit to Qt, and the whole bundle was referred to as Bitcoin-Qt. After the release of version 0.9, Bitcoin-Qt was renamed Bitcoin Core.

Privacy

Bitcoin is a pseudonymous currency, meaning that funds are not tied to real-world entities but rather bitcoin addresses. Owners of bitcoin addresses are not explicitly identified, but all transactions on the block chain are public. In addition, transactions can be linked to individuals and companies through "idioms of use" (e.g., transactions that spend coins from multiple inputs indicate that the inputs may have a common owner) and corroborating public transaction data with known information on owners of certain addresses. Additionally, bitcoin exchanges, where bitcoins are traded for traditional currencies, may be required by law to collect personal information. To heighten financial privacy, a new bitcoin address can be generated for each transaction. For example, hierarchical deterministic wallets generate pseudorandom "rolling addresses" for every transaction from a single seed, while only requiring a single passphrase to be remembered to recover all corresponding private keys. Additionally, "mixing" and CoinJoin services aggregate multiple users' coins and output them to fresh addresses to increase privacy. Researchers at Stanford University and Concordia University have also shown that bitcoin exchanges and other entities can prove assets, liabilities, and solvency without revealing their addresses using zero-knowledge proofs. Overall, without additional privacy-preserving measures, it has been suggested that bitcoin payments should not be considered more private than credit card payments.

Fungibility

Wallets and similar software technically handle bitcoins as equivalent, establishing the basic level of fungibility. Researchers have pointed out that the history of each bitcoin is registered and publicly available in the block chain ledger, and that some users may refuse to accept bitcoins coming from controversial transactions, which would harm bitcoin's fungibility. Projects such as Zerocoin and Dark Wallet aim to address these privacy and fungibility issues. The implementation of a proposal for "Confidential Transactions" could increase the fungibility of bitcoins.