Projects

  • 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.
  • Notes
  • 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.
  • Notes
  • 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.
  • Notes