Bitcoin is the world’s first completely decentralized, peer-to-peer digital currency. It works using Blockchain technology, otherwise known as a distributed ledger. On a Blockchain network, unlike a bank, there is no central storage location where transactions are recorded. All the data is “distributed’ over a network of computers around the world. A distributed ledger (Blockchain) is nearly impossible to hack, which makes Bitcoin incredibly secure. The fact that all transactions on the ledger are public and incorruptible also makes double-spending of the same coins impossible.
The high security characteristics of Bitcoin are achieved through a very clever use of public-key cryptography. Public-key cryptography works by assigning two keys to every user: a private, secret key and a public key that is shared with the world. If you send Bitcoins to a friend, your transaction contains yours and your friend’s public keys (shared and stored on the network) and it is signed or authorized with your private key (encrypted and not shared). By viewing the public keys of the transaction, anyone in the world can verify that the transaction was indeed authorized with your private key, but they can never access your private key. This allows the network to automatically authenticate the transaction and verify that your friend is now the owner of the Bitcoins that were transferred.
This transfer of the ownership of the Bitcoins is recorded, time-stamped, and displayed on the Blockchain for all the world to see. Since all transactions on the Bitcoin network are tracked and recorded by a constantly updated and verified ledger of transactions, double spending and fraud are more or less impossible.
What is Bitcoin Mining? And Who are Bitcoin Miners?
Bitcoin mining is basically the computing process required to record and display transactions on the Blockchain. It is also the means by which new Bitcoins are released into the system. Anyone can mine Bitcoin. All you need is the hardware powerful enough to perform the mathematical operations required to organize encrypted transactions into “blocks” on the Blockchain. It is a purely mathematical process that involves finding (mining) a sequence of data called a block that produces a particular pattern when the Bitcoin “hash” algorithm is applied to the data. Since these blocks are interconnected by design, the mining process enforces a chronological order in the Blockchain, protecting the integrity of the network and ensuring neutrality.
Bitcoin miners are the users who provide their computing power to “solve” the mathematical puzzles needed to keep the network running. They are called miners because they are rewarded for their computational work with newly “mined” Bitcoins. In other words, it really is a goldmine metaphor. When miners uncover a block, they get payment in Bitcoin plus transaction fees if that block was used to verify a transaction. The reward for mining is reduced as Bitcoins around the world are mined. The difficulty of block-mining is also increased as more miners join the network. Reducing rewards and rising difficulty combine to reduce the rate at which Bitcoins are mined over time. This makes Bitcoin behave like other commodities such as gold in that not only is it a finite resource, it becomes harder and harder to find new “deposits”. Once all the Bitcoin is mined (it is capped at 21 million), new Bitcoins will no longer be produced and the only incentive for miners will be transaction fees.
Bitcoin Nodes and Security
Any computer that connects to the Bitcoin network is called a node. There are two types of nodes, full and lightweight or “SPV”. All nodes verify transactions on the Blockchain. Nodes that enforce all of the rules of Bitcoin, downloading every block and transaction and checking them against Bitcoin's core consensus rules are called full nodes. Running a full node is said to provide more thorough security — because if you can validate all transactions yourself, there is no need to rely on external confirmations. Also, running a full node theoretically provides greater privacy since the SPV client must rely on full nodes for information about specific addresses and transactions.
The nodes that use Simplified Payment Verification (SPV) are called lightweight nodes, which basically lets you validate your own transactions without paying attention to everyone else’s transactions. They don’t verify the entire Blockchain in order to validate your transaction, which means they are faster and simpler.
The Scaling Debate: Full vs SPV Nodes
Since Bitcoin has become so widely popular, the increasing size of its blocks is causing a slowdown in the network. This means Bitcoin has begun to fall short of its original goal of being a fast form of peer-to-peer cash. In response, Bitcoin users have adopted one of two viewpoints:
Some want block size to be increased, relying on SPV nodes and allowing more transactions to be handled per block at a faster rate. Others want to keep blocks small while relying on slower but more secure full node verification, transforming Bitcoin into a “settlement network”. Those who want a settlement network think that most users on the network should be running full nodes and that we need to limit bandwidth and storage costs, which means there’s no choice but to keep block size small. This means a slower, but theoretically more secure network.
Should I worry about security and run a full node?
Long story short, you don’t need to. SPV is effective and provides a high enough level of security for most users. An SPV node provides the two required ingredients to verify your Bitcoin transaction: it verifies that your transaction is on a block and that more blocks are being added to the chain. In other words, it ensures your transaction makes it onto the shared ledger without having to check the entire Blockchain.