Important Features of Bitcoin you May Not Have Known or You’d Forgotten

   2020-12-05 07:12

In the past few days, the price of bitcoin has been on a rollercoaster ride. What started as a thrilling journey to the moon has been short-lived by factors not even the crypto aficionados can fathom. Well, on that note, this has raised the question, maybe people have forgotten some of the nitty-gritty details about Bitcoin.

Satoshi Nakamoto’s 2009 paper titled “Bitcoin: A Peer-to-Peer Electronic Cash System” introduced Bitcoin as a purely peer-to-peer version of electronic cash that allows online payments to be sent directly from one party to another without passing through a centralized intermediary such as a bank. As such, Bitcoin replaces financial institutions’ functions in the transaction chain with anonymous people who verify the transaction’s accuracy and trustworthiness over the Internet. 



In Bitcoin’s network, a financial institution’s functions in processing payments are replaced by the network’s open-source software, enabling the decentralized network members, i.e., nodes, to vote with their computing/CPU power to determine the validity of a transaction. 

Bitcoin employs a peer-to-peer network architecture based on the Internet. Being a P2P network, Bitcoin’s nodes are all equal, with all nodes sharing the burden of running the network in equal measure. Despite the enormous popularity of Bitcoin, few people actually understand the network architecture. Here’s a look at the undocumented features of Bitcoin’s architecture 

Bitcoin’s Peer-to-Peer Network Architecture    

Bitcoin’s P2P network architecture is much like the peer-to-peer digital cash system by design. Bitcoin network is essentially a collection of nodes running the P2P protocol. On top of the P2P protocol, the Bitcoin network constitutes other protocols such as Stratum, which carries out various functions on the network such as mining and supporting mobile wallets. 

The network’s additional protocols are supported by gateway routing servers that access the Bitcoin network using its P2P protocol, then offer the network to nodes operating other protocols. The overall Bitcoin network consisting of bitcoin P2P protocol, the Stratum protocol, and any other protocol connecting to the Bitcoin network architecture components is collectively referred to as the “extended Bitcoin network.” 

Running the Bitcoin Network 

As earlier stated, nodes are responsible for running the Bitcoin network. A Bitcoin node consists of a collection of functions, including the blockchain database, routing, mining, and wallet services. 

All nodes in the Bitcoin network propagate and validate transactions on the network and maintain connections to other network nodes. A full Bitcoin node consists of all four functions, i.e., wallet, miner, full blockchain database, and network routing. 

Full nodes can autonomously and authoritatively verify any transaction without external reference. Apart from full nodes, the Bitcoin network is also run by other types of nodes. These include lightweight or simplified payment verification (SPV) nodes responsible for verifying transactions.

The mining nodes leverage Proof-of-Work consensus to create new blocks. To run the Bitcoin network, the nodes follow a predetermined step as below: 

  1. All nodes are notified of a new transaction on the network
  2. Each node collects new transactions into a block
  3. Each node then works to establish a difficult proof-of-work for its block 
  4. After finding a proof-of-work, the node broadcasts the block to all nodes
  5. Network nodes then accept the block but only if all transactions in it are valid and not spent
  6. To portray their acceptance of the block, nodes start working on the next block in the chain, using the hash of the accepted block as in the previous hash

Sometimes, two nodes on the Bitcoin network may broadcast different versions of the next block causing other nodes to receive any of the different block versions. In this case, nodes work on the first block they’ve received but still save the other block in case it becomes longer.

Not all nodes receive the new transaction broadcast. However, new transactions reaching a majority of the network nodes can be accepted in the block much faster, and if a node doesn’t receive a block, it can request it on receiving the next block and realizing it had missed one block. 

Transactions on the Bitcoin Network 

Transactions on the Bitcoin network are done electronically using a chain of digital signatures. This means that each Bitcoin owner transfers a coin to the next person by digitally signing a hash of the previous transaction and the next owner’s public key and incorporating a signature at the end of the coin. A payee can verify the signature to verify the chain of ownership. 

To ensure that a payee can verify that one of the owners did not double-spend the coin, the Bitcoin network implements a timestamp server. A timestamp server functions by taking a hash of a block of items to be timestamped and widely publishing the hash. 

A transaction must obviously exist at that particular time to get into the hash. The timestamps on the network form a chain with each timestamp including the previous timestamp in its hash and each additional timestamp reinforcing the prior to it. 

Bitcoin network implements the timestamp functionality by leveraging the proof-of-work algorithm. Bitcoin’s PoW involves scanning for a value like SHA-256 such that when hashed, the hash starts with a number of zero bits. To timestamp the transactions, the Bitcoin network implements the proof-of-work algorithm by incrementing a nonce in the block until a value that gives the block’s hash zero bits is found. 

By employing PoW, Bitcoin also solves the issue of determining major decisions via voting. PoW on the network is basically one-CPU-one-vote; thus, the majority decision is determined by the longest chain, which has the greatest proof-of-work effort linked to it. 

A moving average targets an average number of blocks per hour to balance block generation and compensate for varying interest in running nodes; if blocks are generated too fast, the proof-of-work difficulty increases. 

Conclusion

Bitcoin is a peer-to-peer network that uses proof-of-work to record a public history of transactions. The main bitcoin network, running the bitcoin P2P protocol, consists of between 7 000 and 10 000 listening nodes running various versions of the bitcoin reference client (Bitcoin Core) and a few hundred nodes running various other implementations of the bitcoin P2P protocol, including BitcoinJ, btcd and Libbitcoin. 

Nodes in the Bitcoin Network act as network edge routers supporting various network services such as exchanges, wallets, block explorers, and merchant payment processing. Bitcoin’s unique network architecture can be implemented in other industries to offer decentralization and enhance network security.     


Original Source