Project -- Scalable, Fast, and Power Efficient Blockchain Systems (Ioan Raicu)
Blockchain technologies enable the success of digital currencies by providing security, decentralization, and trustless operation. They accomplish this by distributing a ledger across multiple nodes in a network, ensuring that no single entity can unilaterally alter transaction data. Cryptographic tools like hashing and digital signatures safeguard the integrity of the data, making it extremely difficult for malicious actors to tamper with existing records. One important consensus algorithm is Proof-of-Work (PoW), which underpins well-known blockchains such as Bitcoin. In a PoW system, miners compete to solve a cryptographic puzzle that requires significant computational power. The first miner to solve the puzzle adds the next block of transactions to the blockchain and is rewarded with new coins. This process makes it computationally expensive to alter the chain because an attacker would have to redo the work for every block they attempt to modify—effectively deterring dishonest behavior. However, while PoW is highly secure and has proven to be effective, it is also energy-intensive, prompting the community to develop alternative consensus mechanisms such as Proof-of-Space (PoSp) aimed at reducing energy consumption.
We investigate how our methods can improve the performance of a blockchain application using the Proof-of-Space (PoSp) consensus algorithm. PoSp is an alternative to Proof-of-Work (PoW) that is less computationally expensive and reduces energy consumption. We have developed a clean-slate approach to implementing PoSp as part of the MEMO blockchain. PoSp transforms a compute-intensive PoW problem into a data-intensive/storage problem where cryptographic puzzles are recorded in a persistent storage medium, later organized in order to be efficiently retrieved. PoSp uses the BLAKE3 cryptographic hashing algorithm (over SHA-256) due to its excellent performance on a wide range of hardware. We extend a PoSp implementation that is written in C and using OpenMP as the primary mechanism to extract parallelism from the generation and storage of the cryptographic puzzles. PoSp uses a bucket approach where it stores cryptographic puzzles (both input and output) based on the output prefix. This allows PoSp to reduce the memory footprint when shuffling the data in order to achieve good sequential read/write patterns to disk, making traditional mechanical hard drives (HDD) a viable storage medium. HDDs are most interesting (compared to SSD technologies) due to their lower cost per TB, and lower power consumption per TB under active loads.
We are developing a new blockchain system MEMO (High-Throughput Blockchain using Memoization) that is a high-throughput blockchain using memorization to implement PoSpace. MEMO was designed to be lightweight enough to operate on small nodes such as Raspberry PIs, as well as making use of high-end servers with 100+ cores, hundreds of gigabytes of memory, and multiple NVMe storage devices. We are aiming to provide a scalable blockchain system that allows the efficient management of digital currencies. Students will explore decentralized architectures for the MEMO blockchain, use network programming to implement internode communication, and explore the use of sharding to parallelize block creation. Regarding PoSpace, students will explore methods for efficient hashing, efficient data organization in memory and on disk (both NVMe and traditional HDD), and efficient search mechanisms. Parallelism and concurrency is explored using OpenMP and Pthreads, while exploratory work has been done to evaluate Intel’s TBB, Intel’s OneAPI, and CUDA. Students will explore various methods of lossy compression aimed at reducing the storage requirements of PoSpace.
These projects are suitable for undergraduate students as they typically require knowledge from students on data structures, algorithm analysis, and systems programming, all typical courses in most undergraduate programs. With one-on-one guidance from graduate students in the lab, undergraduate students will thrive on projects related to blockchain systems, giving them a deeper appreciation and understanding of blockchain technologies they hear about every day (e.g. Bitcoin, Ethereum, Ripple, Solana, and Chia).