A little bit about Myself:

Hey, I'm Aritra! I'm currently doing my Master's in Computer Science at Chennai Mathematical Institute. I did my Bachelor's in Electrical Engineering from Jadavpur University. I've always been a huge fan of math, physics, and computer science, and right now I'm diving into some cool topics like cryptography, Bitcoin, and complexity theory.
I was lucky enough to be part of Google Summer of Code twice – first with Mathesar in 2023, and then with omegaUp in 2024.
When I'm not coding, you can usually find me playing football, cheering for Real Madrid (¡Hala Madrid!), watching anime, or reading manga.
If you want to see more of my work or just say hi, check out my LinkedIn, GitHub, or my portfolio. I'll be posting more about my Summer of Bitcoin journey, so you can find all the updates here.



Google Summer of Code

Progress till now

It's been quite a journey working on braidpool so far! Before the contribution period, I started with going through the codebase and reading a few relevant papers. Subsequently, I started contributing with a few small issues and PRs and then moved on to the Braidpool V1 implementation. Then I dove into the core encodable trait for the Bead structure, which was pretty crucial for serialization. The consensus data structures and serialization work was probably the most challenging part, as it required understanding how the different components of the pool communicate with each other.
I also spent time organizing the codebase by moving tests to their own dedicated file, which makes everything cleaner and easier to maintain. Most recently, I worked on replacing the beadhash system with a more efficient approach using beads and indices instead of using references resulting more efficient insertion and function implementation. Each of these changes builds on the previous ones, and it's really cool to see how the entire system is coming together piece by piece.
Currently, Ansh and I are writing the RPC server so that it can handle requests from the frontend for dashboard purpose.
Ansh, Abdullah and Mohd are primarily working on P2P, Initial Beads Download and IPC server for cmempoold respectively. You can also check their work by visiting the pull requests page.

Pull requests



Towards the next phase

After working on the core data structures and consensus logic, we're now moving into the next exciting phase of the project.

  • Node Architecture Design: Working on restructuring the Node to better handle communication between different components like the Braid, P2P networking (swarm), and RPC handlers. Uh Oh :-(, what to choose? Message passing channels or shared data structures with mutexes?
  • Orphan Bead Management: Implementing proper handling of orphan beads (beads that arrive before their parents) by moving the orphan list outside the Braid data structure. Our main goal is to decouple things in an efficient way.
  • Stratum v2 Integration: Starting work on Stratum v2 protocol implementation, which will be a major component for connecting miners to the braidpool network.
  • Threading and Performance: Optimizing the multi-threaded architecture. Why? To ensure the Braid data structure can handle multiple readers while maintaining thread-safe writes. We will have a lot of users for sure.

The discussions with Bob, Ansh, Abdullah and Mohd have been really helpful in understanding the trade-offs between different architectural approaches. Excited to see how all these pieces will come together to create a scalable peer-to-peer mining pool!

P.S. The character in the background is Rengoku from Demon Slayer. The character from the gif is Lucilfer from Hunter X Hunter.


Lucilfer