Implemented a crash fault tolerant distributed banking system that uses a variant of Multi-Paxos
protocol to replicate a transaction log and maintain consistent account balances across a 5-node
cluster.
Developed a high-throughput PBFT consensus protocol in Java featuring a collector node pattern
to reduce communication overhead as well as prune message logs with Checkpointing and Threshold
Signatures.
Wrote extensive test cases to simulate network partitions, timing attacks, and equivocation,
ensuring the protocol recovered correctly from Byzantine failures.
Built a distributed, in-memory key-value store in Java supporting cross-shard ACID transactions
and linearizable consistency, with row-level locking for high performance.
Implemented Multi-Paxos for intra-shard replication and Two-Phase Commit (2PC) for atomic
cross-shard transactions, ensuring data integrity across distributed nodes
Optimized for high throughput (~5000 TPS) using multi-threading and non-blocking I/O;
implemented dynamic sharding and cluster reconfiguration to handle node failures and scaling.