SoB '25: Towards Braidpool v1
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.

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
- Replace beadhash with beads and indices #207 • Merged
- Moving the tests to a dedicated file tests.rs #199 • Merged
- Consensus data structures and serialization #179 • Merged
- Implement encodable trait for Bead structure #162 • Merged
- Update rustfmt.yml to target all the branches #105 • Merged
- Place beads both above and below the highest work path #88 • Merged
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.