will merge in a few hours. next step is implementing some of the security features we've been talking aoubt (main focus first is getting the api right an scaling)
a question about the dat protocol: how's dat performing when it comes to the classic strengths of bittorent, i.e. transferring huge files, or just small chunks within big files?
i'm particularly thinking of designing a p2p protocol for a decentralized VR space
people need to be able to share assets with each other, and some of those could be larger binary blobs -- or could they? i guess that's what i wonder about
scoopex5 joined the channel
pfrazee
lritter: dat is only okay at that right now but we've got improvements rolling out. I think it's a good bet in the long term
maf has done a bunch of work on indexing structures and gotten really good benches out of it
scoopex5 has quit
lritter
pfrazee, nice
pfrazee, are you aware of a high frequency p2p protocol right now that could be used to share lossy realtime data like 3d orientation and such?
i'm thinking of something UDP based
fiete25 joined the channel
pfrazee
lritter: it depends on some of the properties you're looking for. What do you need in addition to being able to establish UDP channels between all users in the same area?
fiete25 has quit
e.g. do you need it to work without having complete connectivity between all nodes? Then you probably want to look into gossip systems
lritter
pfrazee, the idea is that a protocol like dat would be used to share static assets and other low freq data that doesn't change much, and the hifreq protocol would be used to share realtime events; i don't know if it's really necessary to manage a session tho
i'd love something like region based discovery where ip's start talking to each other because they are spatially close in VR
pfrazee
lritter: yeah that makes sense. I haven't researched the realtime channel question so I can't give great answers. I'm sure there's some work being done because of projects like decentraland. Of course, the games world is going to be a big source of past work, but their requirements are specific
lritter
i guess there would be a tcp based midfreq protocol for handshakes and chat, a udp based hifreq protocol for realtime events, and dat for the assets
pfrazee, yeah i'm mostly based in games
i'm dreaming of a VR analogy to the web for 20 years
pfrazee
yeah for sure
lritter
if it was possible to get that working without a central matchmaker or commercial intermediary, that would be amazing
pfrazee
off the top of my head, yeah I'd probably use a discovery system similar to what we're building with hyperswarm, but modified to lookup peers based on "regions" as opposed to "content" topics
lritter
think "second life" but without linden labs :)
pfrazee
for sure
lritter
yeah
pfrazee, i guess i need to read myself into this topic of discovery
pfrazee
lritter: that'd be the first step because that's how you're going to arrange connections between virtually-colocated users. After that you need to figure out your requirements for the network after some connections are made
lritter
pfrazee, i guess one could just repurpose topics to mean "rooms"; that would be specific enough i think
right
pfrazee, did you know that most of GTA V's online services are p2p based? one user is always hosting the session for everyone else
pfrazee
I'd bet that your main challenges will be 1) counteracting delays to get a connection, 2) counteracting peers in the same region that cant establish connections to everyone else in the region, 3) latency once the connections are established, and 4) malicious behavior
lritter: yeah that's interesting. It means 1 user always has better latency than the others, and Im sure they had to work really hard to counteract cheating
lritter
pfrazee, they completely fail on the cheating problem
pfrazee
yeah that's not surprising
for VR, those 2 issues may actually be okay
lritter
for an unconstrained space, there are less ways in which things can go wrong
but as soon as constraints come into play, it gets difficult
pfrazee
like, whoever runs the session controls some of the rules, sure, but you *can* just work that into the system
you could set it up where regions simply have owners and they're expected to set those rules
lritter
only thing i can think of is that each client validates the data it's seeing and penalizes non-cooperative peers
pfrazee
plus if those owners go offline, the region goes down
you could do that too, but without appointed authority, it becomes he-said/she-said
which means the participation will segment
lritter
it's a tricky problem.
lupinedk20 joined the channel
lupinedk20 has quit
fleeky
godamnit i always miss the good conversations
Vito`
except, geographically close is not the same as low-latency between (network-close)
fleeky
in the end you really dont even need dat for this kind of vr space
you could easily do it with portals to other nodes ,
people host there game , people share there nodes ip addy , yes the person who started the game has supreme power but they will either play nice and not use there admin powers or abuse them and people will just not participate on that server
if anything dat could be useful for a discovery program
not sure how good dat is punching through nats
if it could do something there that would also be helpful i suppose
if you want something that is seamless across nodes, just space people apart based on latency distance