Hello builders, as the title implies, I built a BIP 324 implementation in Rust -- almost, it is like 98% done but need to add one more feature. I wanted to post about some recent enthusiasm I felt while building this project while sparing the most of the technical details.
BIP 324 describes encryption for the Bitcoin p2p protocol. It builds the cryptographic protocol from primitives, as to avoid existing protocols like TLS or Noise. The crux is that two peers can communicate with what is seemingly noise to packet-observers.
I first heard about BIP 324 on an optech podcast and literally thought nothing of it. I had to hear about it again in the context of ISP censorship and packet identification. V1 transport packets are easily identifiable, and may be potentially censored at the ISP level. From what I understand, V2 transport is a huge step towards mitigating that censorship. I am by no means an expert at internet infra so please share your thoughts.
While building the project, I thought about recent bills in United States congress that are hostile towards running bitcoins nodes (thanks elizabeth warren). I am glad to see devs are thinking about the system from every angle, and I thought of this project as my contribution to building out of a hostile regulatory environment if that day does come in the US. I am also hopeful that a focus on light clients (BIP 157/158) might occur with encrypted transport, as I think Tor should not be an end all solution for privacy and does not have strong privacy guarantees.
For context, I completed this project for a Chaincode seminar series. Check them out if you want to really level up your building in the space.
If you would like to read BIP 324 and have a look at my code I would greatly appreciate it!
tl;dr: Regulators will regulate. Let's keep building.