100 sats \ 0 replies \ @justin_shocknet 8 Jan \ on: Fixing p2p web with Bitcoin, Cashu and PoW? An idea. devs
This idea gets revisited constantly, everyone seems to want to connect the dots with bitcoin (and a lot of shitcoins) and p2p file hosting... and it's been tried countless times as a result. It always ends the same way because everyone seems to overlook the same things.
It's also surprising how often IPFS still comes up despite the pile of bodies of devs who tried to do anything useful with it.
The first major problem is simply the way the physical internet is architected around the limitations of time and space. Datacenters and centralized hosting providers exist for a number of reasons.
In the case of active files, those that do not live in low-latency datacenters in relative geo-proximity to their clients are useless for most purposes. If a video or other file doesn't load in less than a second or so, users bounce, apps break, and the potential cost savings as negligible as it is never gets realized.
These are just some of the reasons DHT based protocols like IPFS, Hypercore etc, are dead in the water. DHT's don't scale and are too slow for anything useful. Torrents which tried going DHT ages ago still fall back to web-based trackers. DHT is a failed experiment in this context.
Keep in mind what problem you're actually trying to solve. Censorship resistance and redundancy? These aren't serious concerns in the status quo because there are so many competing providers. We already have an efficient market. If Alex Jones and the State of Iran have a robust web-presence, then adding p2p overhead isn't really accomplishing anything.
Decentralized archive storage, while doable at the edges due to relative indifference towards latency, doesn't benefit from a cost savings vs. the scale of the existing providers. Torrents are hard to beat here already for long term redundancy, they enforce the original file via a hash and a single torrent can be hosted by countless mirrors.
Multiple file-hosts, paid for with Lightning, wrapped in a single WebTorrent (which uses HTTP for streaming grade performance) can be used without a p2p Rube Goldberg machine. Just pick a few hosts, and pay them directly. This is how Lightning.Video operates, and our seeding service that spits out WebTorrent metadata is opensource on Github.
DNS: I have spent a lot of time thinking about decentralized DNS and drafting systems for it, but the result is always the same, it's not a real problem (see examples above). Additionally, anything built to replace DNS ultimately still needs to bootstrap off DNS at multiple points, just because of the way the internet works.
What people are really seeking are key-based aliases (see the proliferation of NIP-05 and Lightning Addresses). Aliases however are invariably a web-of-trust "pet name" association that can't be truly arbitrated. Enforcing a cost and uniqueness creates friction that mitigates any other advantages since it'll never gain significant traction to create a network-effect.
Where there's no source of truth for names in reality, it's a fools errand to emulate one technically. Who you think of when someone says "Bob" isn't necessarily the same as who my social network thinks "Bob" is. When we type in "Bob" the pubkey we expect to return will differ, yet neither is wrong nor correct. The problem is in who YouTube says Bob is, and that gatekeeping. The only solution to this is a decentralized reputation system that incorporates pet names, that's something I'm looking to draft into a nostr middleware.