Can anybody post a link to bitcoins explained visually by diagrams or video, especially the concept of mining please.
OK, Bitcoin explained...
IntroductionBitcoin is a decentralized peer-to-peer currency system, that has no central bank or authority. Bitcoin has its own unit of currency, the bitcoin, that has no set value in relation to government-issued currencies – it is valued independently on the merits of its usefulness and scarcity.
Bitcoin is also a computer network of users and organizations that communicate and store information about Bitcoin address balances with each other over the Internet, primarily by running the original Bitcoin software on their computer.
The design of Bitcoin includes novel methods to transmit payments, to create and distribute new bitcoins at a known and limited rate, and to cryptographically protect a shared record of all past Bitcoin transactions.
Bitcoin AddressesYou may have seen people on the Internet posting their Bitcoin address. Your Bitcoin address is given to others so they may send you a payment, similar to how you give out your email address to receive email. An address is 25-34 characters long, and always starts with the number “1″.
An address is actually made of two parts – the public part that is safe to give to anyone, and a corresponding secret part used behind the scenes by Bitcoin software when sending a payment. Only an address’s owner can send a payment from an address, because only an owner’s wallet contains the secret private key.
Address CryptographyAn address is an Elliptic Curve Digital Signature Algorithm public/private key pair. The actual address that is shared with others is a cryptographic hash of the public key, encoded in a human-readable format called Base58.
The WalletMost people’s introduction to Bitcoin is by using a Bitcoin wallet. A wallet is the equivalent of a Bitcoin bank account, and is what enables sending and receiving payments with others. A Bitcoin wallet contains a collection of Bitcoin addresses. A nearly-unlimited number of addresses can be created and stored by your wallet, so that you can give different addresses to different people and track payments you’ve received. When a payment is sent to one of your addresses, your Bitcoin wallet will reflect your new balance – you’ve got bitcoins!
In addition to wallet software that runs on your computer or mobile device, web wallets – cloud services run by independent organizations – can also maintain a wallet with addresses, or can operate like a bank where your bitcoins are simply stored as an account balance in their Bitcoin wallet. Choose a wallet that is appropriate for you.
If the wallet data stored on a computer is deleted, or the computer hard drive dies, then the owner loses the ability to send their bitcoins to anyone else – they are lost. This is why it is important to make a secure backup of the wallet before using Bitcoin for significant amounts.
If someone else gains access to your computer or the wallet data, they can spend your Bitcoins. Bitcoin-Qt allows encrypting a wallet with a passphrase, so even if the wallet data is stolen, the bitcoins contained in the wallet addresses cannot be sent or stolen without cracking the password.
Wallet reserve poolA wallet also contains a reserve pool of pregenerated addresses for future use, which are not shown to the user. When a new address is needed, it is taken from the reserve pool instead of created on-demand. This prevents a wallet backup from quickly becoming obsolete.
The Bitcoin peer-to-peer networkBitcoin neither has, nor requires, a central Internet server or authority. Users running the Bitcoin software communicate directly with each other over the Internet. Through this distributed network, the Bitcoin network protocol communicates both transactions – instantaneous messages transmitting a desire to send money, and the blockchain – the permanent record of accepted transactions.
The communication between clients, also called nodes, is called relaying. Bitcoin nodes have relaying rules where they inspect transactions and blocks, and won’t pass along messages that are spam-like (having less than the minimum required fee) or are invalid.
TransactionsThe Bitcoin network doesn’t directly store a balance for each of its users. Instead, Bitcoin uses a record of all transactions that have ever taken place, allowing each node to calculate the current balance of any Bitcoin address.
When you send a payment to someone else on the Bitcoin network, you are creating a transaction. A transaction is a digitally signed unalterable message that transfers ownership of bitcoins to another address. A transaction is instantaneously communicated with other Bitcoin network nodes, which verify its authenticity and temporarily store it as a pending transaction for futher processing.
Transaction Ins and OutsTransactions are comprised of a list of inputs, individual payments that were previously received by a wallet, and outputs, a list of amounts and addresses to which the bitcoins will be transferred.
Only the full amount of an input can be spent. If the exact amount of the transaction can’t be constructed from available inputs, an additional output, called change, is added, which sends the remainder back to a new address in the user’s wallet. Change addresses are not shown to the user.
The Crypto of TransactionsA transaction is signed by an address’s private key, and is transmitted with a full copy of the public key, to enable verification of the digital signature.
BlockchainAbout every ten minutes, a group of pending transactions is packaged together into a transaction block, which is transmitted to all Bitcoin nodes. When a transaction has been included in a block, it is considered to have been confirmed, meaning that it very likely to become part of the permanent record of transactions.
The contents of a block are protected from alteration by a cryptographic hash function which is very difficult to compute. Each block also contains information about the previous block, so as future blocks are added to this chain of blocks, creating an alternate version of a block becomes even harder. By this mechanism, the blockchain becomes a cryptographically protected permanent record of all past transactions.
The size of the blockchain is continuously growing, and the reference Bitcoin client requires a complete download of the entire transaction record to function as a wallet. Using a full Bitcoin client supports the operation of the Bitcoin network, but new users may find a “light” client or a web wallet a faster introduction to Bitcoin.
MiningThe process of securing the blockchain is called mining. Miners enforce the rules of Bitcoin, rejecting any invalid transactions or blocks, such as those that might try to use bitcoins that have already been spent. Thousands of dedicated computers and high-end computing devices are continuously attempting to compute a valid block hash and add a block of transactions to the blockchain. To compensate for a growing computing power of miners, the difficulty of finding a block hash is regularly adjusted to maintain an average of six blocks per hour.
Mining is also the process by which new bitcoins are created. As an incentive to encourage a higher difficulty against attack, mining a block includes a reward – newly created bitcoins paid to the miner. The amount of Bitcoins generated per block started at 50 bitcoins in 2009, but the reward amount is halved every four years. This formula ensures a maximum money supply of 21 million bitcoins will be distributed. A whole bitcoin is not the smallest amount that can be sent by users though – a bitcoin can be subdivided down to eight decimal places, ensuring enough currency supply for a globally-sized economy.
While mining was originally performed using normal computer CPU power and the reference Bitcoin client, it is no longer practical or energy efficient to mine using less than a high end graphics card (GPU) and specialized software. Recently, hardware devices designed only for mining (using FPGA or ASIC technology) are even more efficient and may eventually obsolete GPUs.
Since it may take years for an individual with a single dedicated computer and GPU to find a Bitcoin block himself and claim the full reward, most miners pool their resources into a mining pool, to receive regular reward payments. A pool is an independently run organization running Bitcoin that coordinates computing resources and pays out fractional rewards to individual miners.
Mining Technical InfoEach bitcoin block has a SHA256(SHA256()) hash that is the main “block hash”, a hash of the contents of the block (technically, the top hash of the Merkle tree of the transactions in the block). Hashing algorithms such as SHA256 create a digital fingerprint of data that cannot be easily falsified. 256-bit hash output is an unpredictable random-looking 64-character hex number (it is unpredictable and irreversible by design). This is the puzzle that Bitcoin mining uses to secure the blockchain – since the output of SHA256 is unpredictable, it is very hard to find a hash that looks like something you specify.
Bitcoin’s mining challenge is to find a block hash that starts with many zeros, the more zeros desired at the beginning of a 256-bit hash (and the smaller the value), the more difficult it becomes to find one. A completely different hash will be obtained by only changing a small amount of data in a block; miners change a special area of the block called a nonce and then check if the hash is a “winner”. Only after discovering a hash of a group of transactions that is smaller than the current difficulty target can a transaction block be added to the blockchain. This process makes falsifying or altering the Bitcoin blockchain computationally difficult.
Transaction FeesA transaction may include a transaction fee, to encourage miners to include the transaction in the blockchain. When a transaction is included in a block, miners can collect the included fees. Transactions fees may supplement, and must eventually replace, the diminishing block reward paid to miners.
Some transactions require a mandatory fee when they spend small amounts of recently received bitcoins. The minimum fee rules are enforced by relay nodes and miners to discourage spam-like or attack transactions that may unnecessarily bloat the blockchain.
An appropriate minimum fee is automatically calculated when sending a payment, but for preferential treatment, a larger optional fee can be included with a transaction.
How a fee is createdBitcoin adds a transaction fee by paying more in inputs than the amount sent as outputs. Miners claim the fee when they mine a block, by adding it to the transaction that creates new bitcoins.
Minimum fee amounts are based on transaction data size, currently 0.0005 bitcoins per kilobyte. A transaction can include about five inputs and outputs before it is larger than a kilobyte.
Even more readingTo review in-depth information, you can read the
original paper that describes Bitcoin’s design, or explore detailed subjects on the
Bitcoin wiki.
(yes, I wrote all the above, at:
http://we.lovebitco.in for reference)