Vanya Agnesandra

BitTorrent


protocols

Assorted Notes on Bittorrent.

BEP 0 / Index

BEP 0 is an index of all other BEPs.

BEP 4 / Reserved References

BEP 4 is a quick-reference of all reserved bits / message IDs.

BEP 52 / Protocol V2

BEP 52 / BitTorrent v2 does some cool stuff with Merkle Trees

BEP55 / NAT Traversal

My VPN of Choice, Mullvad, recently disabled port-forwarding. Therefore, to accept incoming connections, we need to figure out UDP hole-punching.

BEP55 is NAT hole-punch via STUN.

Aka, if both peers connect to a coordinator, and the coordinator says so, they start throwing udp at each other until the nat layers let things through :)

Cubit

The full paper: Approximate Matching for Peer-to-Peer Overlays with Cubit

An easier to digest version: Cubit Approach

The strategy here makes a lot of sense, but the “embedding space” is over single keywords, and the distance function is edit-distance. This is fine for single-word searches, but I’d love if it went into detail on multi-keyword search - I suppose you could search for all keywords, and then see what results overlap between searches? But that seems inefficient.

This should probably split into its own note: I am perfectly content with a crawl-style system; where nodes present what they have and indexers do the job of crawling.