Transaction-Based Blockchain
A multi-threaded blockchain implementation in C++
Originally a class project for my Intermediate Software Design course, this project has evolved into my personal sandbox for exploring advanced systems design. Since the course ended, I've significantly expanded its scope by upgrading the hashing algorithm to the modern BLAKE3, optimizing the multi-threaded architecture, and ensuring code robustness with a comprehensive unit test suite. It serves as my long-term playground for applying C++ concepts and deepening my understanding of distributed systems.
How I contributed
Implements a transaction-based blockchain featuring cryptographic validation, a proof-of-work mining algorithm, and a custom Merkle tree. The multi-threaded architecture is designed for concurrency, using mutex locks and a thread pool to safely manage simultaneous transactions. Key features include complete transaction histories, balance tracking, and a user-friendly alias system for human-readable addresses. Automated mining threads run in the background to continuously secure the network. I am planning on implementing P2P networking, experimenting with a Proof-of-Stake consensus model, and adding lightweight smart contract functionality.