3 ms·
I think a cool layer on top of this would be to create a P2P network where you can 'friend' certain peers and produce a reddit-like aggregation of new content f
by cwkoss 8y ago
I think a cool layer on top of this would be to create a P2P network where you can 'friend' certain peers and produce a reddit-like aggregation of new content from various sources.
- Friend another user by adding their key and IP to a trust group.
- When your client boots up, it connects to friend nodes and downloads their recent DHT.
- DHTs from all friends are summed to sort the hashes by descending frequency, perhaps with a time decay factor.
- Display reddit-like UI of content to User: see which files are recently most popular among the set of all your friends.
Possible improvements:
- User could customize time vs vote weighting, script custom sort rules
- Give certain peers greater vote weighting ('best friend' vs 'acquaintance')
- Allow peers to 'tag' hashes to create subreddit like collections of things.
- Allow attachment of metadata to hashes - title, description, etc - figuring out how to handle discrepancies between sources here could be tricky.
- Make client automatically re-host content in your DHT: hosting IS the upvote
- wesleytodd 8y agoCheck out beaker browser and fritter: https://beakerbrowser.com/ https://beakerbrowser.com/ https://github.com/beakerbrowser/fritter https://github.com/beakerbrowser/fritter Built on top of dat, it is basically this kind of architecture.
- cwkoss 8y agoCool, I'll have to look into this more, thanks.
- kodablah 8y agoYou and I must have like minds. I have even created an anon DHT PoC [0], conceptualized how the messaging might work [1], made a lib to use Tor easier since it's the best anon nat buster these days [2], began toying with a superset of reddit/slack/forums/etc (some grpc files at [3] and some impl in that same repo), and a bunch of other small things in order to arrive at this final destination. 0 - https://github.com/cretz/tor-dht-poc https://github.com/cretz/tor-dht-poc 1 - https://github.com/cretz/software-ideas/issues/6 https://github.com/cretz/software-ideas/issues/6 2 - https://github.com/cretz/bine https://github.com/cretz/bine 3 - https://github.com/cretz/yukup/tree/master/yukup/pb/proto https://github.com/cretz/yukup/tree/master/yukup/pb/proto