Bitcoin's introduction in 2009 signaled the beginning of a modern financial age characterized by the introduction of a decentralized financial control system that removes the need for third parties in financial transactions. Bitcoin is a groundbreaking technology that has shaped the global economy, not just a digital currency.
Through the introduction of blockchain-based applications, Bitcoin has helped popularize blockchain technology, which has acquired widespread use cases in a number of industries, including supply chain services, the Internet of Things (IoT), and reputation systems.
Despite its widespread use, few people are familiar with the technological aspects of the world's most common cryptocurrency. Although the whitepaper lays out Bitcoin's network architecture, certain elements are undocumented, obsolete, or excluded.
The consensus protocol, transactions (including scripts), and the communication network are the three key technical components of Bitcoin.
Bitcoin's network design is overly complex, and understanding it necessitates a sufficient technological context. Nonetheless, here's a quick rundown of Bitcoin's structure.
Architecture
When examining Bitcoin's architecture, there are five main things to consider. The Bitcoin application, nodes and the network discovery process, transactions, security implementation, and adding new blocks to the Bitcoin chain are all examples of these.
The Bitcoin network is made up of a set of distributed servers. A transaction database, which serves as a stable ledger, is at the heart of the network. Both nodes (servers) running the Bitcoin protocol's full stack share the protected ledger—the protocol acts as a decentralized transaction mechanism with the tendencies of a highly transparent ledger.
The entire network is run locally by nodes that run the blockchain protocol. Bitcoin nodes install the entire Bitcoin software stack on their computers, then automatically sync with other network nodes in a peer-to-peer fashion. As a result, the nodes ensure that all transactions on the network are true and in chronological order, as well as that cryptographic rules are followed.
To process and validate transactions, the network's nodes use a peer-to-peer IP network. When nodes are in the same block as individual databases, a consensus is reached.
Blockchain Design
The bitcoin blockchain aims to build and disseminate a global public ledger that keeps track of all bitcoins in circulation. A transaction is an entry in the public ledger that represents the transfer of a cryptocurrency from one virtual account to another. A transaction in Bitcoin is made up of inputs and outputs: it "spends" a set of transaction inputs and "creates" a transaction output.
Every transaction has an input reference, which is a hash of a previous transaction's output. As a result, each transaction output includes a value reflecting the sum of bitcoin currency as well as information about the coin owners. Users can preserve invariants regarding the transaction log by structuring transactions on the network as a guided graph.
The Bitcoin network's first block was not created by the Bitcoin consensus mechanism that encourages mining. The first block, on the other hand, was hard-coded into the source code. This was unusual since the block is referred to as the Genesis block because it does not refer to a previous block.
Another architectural principle in the Bitcoin network was the limited number of Bitcoins that could be earned by mining (evaluating) a new block and the reward that a miner could receive. A new block is mined every 10 minutes on the Bitcoin network (regardless of the technology used, as stated later), and the mining reward was 50 Bitcoins per block at the start of the system. Every four years, the block incentive is halved (or every 210 000 blocks on average)
The block size is an essential feature of Bitcoin's architecture. The block size is currently limited to 1MB (on average), which means that one block will cover about 4000 transactions with an average size of 250 bytes. As a result, the average transaction rate is about seven transactions per second (tps.) The Bitcoin blockchain keeps track of each block's information.
Any node in the system will broadcast transactions on the Bitcoin Network at the same time. A Bitcoin transaction, at its most basic level, consists of three parts: an input, a number, and an output.
Since miners are responsible for selecting a transaction from the so-called mem-pool where all authenticated transactions are processed, grouping them, and including them in the block, the decision on which transactions of those broadcasted to be included in a new block is based on the node (the miner) running the proof-of-work (PoW) algorithm.
The transaction fee (the standard fee is 1.000 Satoshi= 10 BTC = 0.01 mBTC = 0.0001 BTC per kB), which forms an incentive for the miner's efforts in addition to the Coinbase reward, determines the miner's transaction selection. Users must first create the appropriate Bitcoin keys, starting with a random 256-bit private key, before initiating a transaction on the Bitcoin blockchain.
To sign a transaction and earn Bitcoins, you'll need this private key. To generate a 512-bit public key from a private key, the elliptic curve DSA algorithm is necessary. A transaction's signature is checked using the public key. The public key, on the other hand, is not disclosed until the transaction is completed.
Lightning Network
The lighting network was created in response to Bitcoin's scalability issues, allowing for faster transaction times. The Lightning Network is a Bitcoin-based “layer 2” payment protocol that allows for quick transactions between participating nodes.
When compared to transactions confirmed on the bitcoin blockchain, transactions on the lightning network are quicker, cost less, and are more easily confirmed. The Lightning Network was created to help decongest the bitcoin blockchain by allowing transactions to be made off-chain, away from the main blockchain, and lowering transaction fees. It enables quick transactions between participating nodes.
Conclusion
To validate blocks and distribute pending transactions, the Bitcoin network uses peer-to-peer broadcast. The network's transactions are first evaluated using Bitcoin's protocol rules, and then checked using a scripting language that uses locking and unlocking scripts.
Full Bitcoin nodes (miners) can pick transactions from the memory-pool for network validation, hashing pairs of transaction values until only one hash remains, anchoring the transaction tree into the block header. In essence, Bitcoin has a one-of-a-kind and remarkable architecture that allows for private or anonymous transactions.