[HN Gopher] Show HN: Peer-to-Peer data transfer tool based on li...
___________________________________________________________________
Show HN: Peer-to-Peer data transfer tool based on libp2p
Author : dennis-tra
Score : 71 points
Date : 2021-02-13 15:47 UTC (7 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| mapgrep wrote:
| Looks cool. Is it safe to assume it's just a typo/accident that
| the codes don't seem to match here?: The sending
| peer runs: $ pcp send my_file Code is:
| bubble-enemy-result-increase On the other machine run:
| pcp receive bubble-enemy-result-increase The
| receiving peer runs: $ pcp receive december-iron-
| old-increase Looking for peer december-iron-old-increase...
| lifty wrote:
| Indeed it was a typo. The README has been updated.
| dennis-tra wrote:
| Thanks @mapgrep, I fixed the typo based on your comment, but
| couldn't reply timely due to the noprocrast setting of HN.
| rgbrgb wrote:
| Nice README and tech! I like these projects in theory and I get
| the technical motivation, especially in reference to similar p2p
| tools that rely on a centralized peering server. But I'm having
| trouble understanding what people use these tools for in
| practice. I'm betting there are good use-cases, but I haven't
| seen any yet that wouldn't be better served by s3, airdrop, or
| BitTorrent.
|
| Anyone here using pcp, croc, magic-wormhole, etc.?
|
| What are you using it for?
| _prometheus wrote:
| awesome! :)
| mintplant wrote:
| > When the peer is found, its public key is checked against the
| three remaining words (as the words were derived from that key),
| and a password authenticated key exchange happens to authenticate
| each other.
|
| What's the PAKE used for, if the public key is already verified?
| What's the "password" here?
| wngr wrote:
| Awesome project, and a great README! How does it handle NATs?
| And, if I understand correctly, the receiver needs to enter `pcp
| receive` within 5 mins from the sender initiating the send? Seems
| a bit unergonomic. Anyway, why do you think that kind of
| "sharding" is necessary?
| dennis-tra wrote:
| Thanks @wngr!
|
| I really appreciate that this project gets a little attention.
|
| Libp2p provides ways to establish a connection through NATs.
| For more information I recommend looking up the Identify [0]
| and Circuit Relay [1] protocols, as well as the NAT Traversal
| docs [2].
|
| I implemented time based sharding because the DHT entries will
| remain there for up to 24h. So there is a significant chance
| for a channel ID collision that would result in connection
| attempts to peers that are long gone.
|
| This is indeed a bit unergonomic and I haven't covered edge
| cases that come with that approach. Open for suggestions :)
|
| Best
|
| [0] https://docs.libp2p.io/concepts/protocols/#identify [1]
| https://docs.libp2p.io/concepts/protocols/#circuit-relay [2]
| https://docs.libp2p.io/concepts/nat/
| woleium wrote:
| so.. like magic wormhole then?
| Ericson2314 wrote:
| Always excited to see libp2p used by more things. Historically I
| feel like the efforts for p2p things were pretty balkanized.
| Experimentation is good, but not at the cost of network effects
| and the eventual need to pressure network operators.
|
| The more different things use libp2p, the more flexible it will
| become. We can get meaningful experimentation and
| interoperability (different concepts won't interoperate of
| course, but the same concept will). This is nice!
| marcodiego wrote:
| I miss the days when it was easy to find content on Napster and
| later Kazaa. Today, Solseek seems to be the only p2p network that
| still preserves that feeling while gnutella fells more like a
| graveyard and torrent needs external trackers.
|
| Is there any decentralized p2p network where it is easy to find
| content nowadays?
| capableweb wrote:
| Agree with you. I fondly remember the days of browsing and
| trying to get invited to DC++ hubs and trying to add more local
| data in order to see more. Gone are those days.
|
| We're so close as well! P2P is stronger than ever, especially
| torrents who have very mature implementations now. We're just
| missing being able to distribute the metadata in order to get
| the torrents (or magnet links) to be P2P as well, something
| like TPB on a P2P network would make things unstoppable.
| marcodiego wrote:
| Why can't simply .torrent files be distributed using
| gnutella2? Both services could then be integrated and we
| would automatically get decentralized distributed search and
| sharing.
| yjftsjthsd-h wrote:
| Don't you need a tracker still?
| heavyset_go wrote:
| Not with DHT.
| rakoo wrote:
| Having a distributed search engine is far from easy (there's
| the main issue of trust in the index). It's possible to do it
| the other way around, thanks to DHT scraping being allowed:
| everyone can scrape the peers and build an index at home,
| with tools like magnetico
| (https://github.com/boramalper/magnetico) for example
___________________________________________________________________
(page generated 2021-02-13 23:01 UTC)