Blog Posts
How RSA cryptosystem works?
The RSA is one of the oldest public-key cryptosystems that is widely used for secure data transmission.
How Queue and Stack data structures work?
Two of the most fundamental data-structures are stacks and queues. This blog post explains how these data structures work and their implementation.
Sending transactions
In this post, we will implement a CLI tool to send transactions and have miners include them in the block.
Visualize Blockchain With Graphwiz
In this post, we will learn how to use Graphwiz to visualize a blockchain, showing all the blocks in the blockchain and marking the active ones.
Relay blocks and update active chain
A miner submits new blocks to the node via the JSON-RPC protocol. The node stores the block and notifies its peers.
Mining Process
JSON-RPC is an RPC protocol encoded as JSON. A request is a call to a method provided by the server, and it contains three members: method, params, and id.
Initial Block Download
Newer versions of Bitcoin use an approach where a node builds a partial view of the blockchain using block headers only, without downloading full block data.
Node Roles and Handshake Protocol
A node role identifies the logic that runs on a node. There are four roles in the LearnCoin P2P network: network routing, full blockchain, miner, and wallet.
Message Encoding and Peer to Peer
A peer-to-peer, or P2P, network is a network architecture where all the participants are equals, i.e., peers.
Proof of Work and Mining
Proof-of-Work is a piece of data that requires significant computation to find but only a small amount of computation to verify as proven. In Bitcoin, miners must find a numeric solution to the SHA-256 hash that meets the difficulty criteria.
Blockchain, Block, and Merkle Tree
A blockchain is a distributed list (or a chain) of blocks of transactions. It is distributed across the entire network of nodes.
Hash Functions and Transactions
A cryptocurrency, a cryptographic hash function, and anatomy of the transaction, transaction inputs and transaction outputs. What are these?
Define Goals and Create Project
Let's Build Bitcoin
This project aims to teach you how blockchain works at its core, starting with simple concepts and building up to more complex ones.