pcp: A Fully Decentralized Peer-to-Peer File Transfer Tool
Dennis Trautwein
About this talk
Dennis introduces PCP (peer copy), a decentralized command-line file transfer tool he built as an entry project into libp2p, positioning it as a decentralized alternative to centralized tools like croc and Magic Wormhole. The talk walks through how PCP encodes a short channel identifier as four BIP-39 words combined with a truncated timestamp, hashes that into a CID, and writes a provider record into the Amino DHT so the receiver can rediscover the sender's multiaddrs and establish a direct connection. He covers the supporting mechanics: AutoNAT v2 for address discovery, mDNS for local-network peers, Circuit Relay v2 reservations and DCUtR-based hole punching for NAT traversal, and a PAKE-style exchange over the remaining words to derive a session key and authenticate the transfer. Dennis closes by noting that the current 0.4 release is outdated, that an in-progress 0.5 rewrite to adopt newer libp2p features has stalled due to time constraints, and he calls on the community to help drive features like CID-based fetches, transfer resumption, and a JS or browser port.