DAT - Decentralized web storage layer


DAT protocol lets you visit static websites which are then copied to your machine and rehosted for other visitors.

By using a resource you become its seed, much like in torrents, but for websites. You can delete it at will, of course, but there’s tremendous social incentive in keeping resources alive, especially in censorship-vulnerable environments, and a particularly handy aspect of this is that the site becomes available offline later for as long as you’re still hosting it.

Sad sidenote: Do you remember the early 2000s when you could visit a site a week after the original visit and it would load from cache? Today you can’t even save an opened and fully loaded PDF to the desktop from the browser without re-downloading it again.

You can try DAT out with the Beaker Browser which has native support for dat:// built in, but there’s also a very interesting approach of integrating it into Chrome-based browsers with the DatPart extension and app. I think there’s even firefox support now.

The DatPart electron app plays the role of the seeder (server) into which sites are downloaded and served from, while the DatPart extension talks to this server and reads data from it when links that end in .dat_site/ are requested. The author is planning to add in dat:// protocol support but you can’t really override them easily in a way which would let an extension take over and render alternative content. The releases are outdated and seem stalled, but trying the stuff out from source should work well. I think it’s an incredibly worthwhile project that could do with some support, and not just financial.

Since Status values decentralization, it wouldn’t be true to the principles to focus on just one type of decentralized storage (IPFS), and even that one is happening via Infura right now.

I would argue for integrating DatProject into Status or just natively supporting dat:// links and giving users the option of seeding content for others:

(Settings -> Browser -> DAT support on/off (explainer help doc)).

This lends itself perfectly to dapps, as those are static sites anyway. We could even write guides on how to develop actually decentralized websites - no fetching of JS from CDNs, no using AWS, no relying on DNS, this is all possible already we just need to get the ball rolling. Status could be the kickstarter of the real web3 in practice, not just in theory.

Later on we can explore paying the seeders, incentivizing the hosting - once SNT relaying is up, imagine paying for it by auto-sending microSNT to the seed you’re fetching from. We can charge by byte, and thus not only help decentralize the web but also make the web lean again, and we can even possibly beat BAT at its own game by auto-sending subscription fees / tips to website authors (send part to author, send part to relayer / host, and burn another part of the SNT - all three economic pillars of SNT valuation satisfied).

Just in case integrating that sounds like overhead, Whatsapp desktop currently works by the mobile version starting up an HTTP server and serving content from its webview to the desktop browser. It’s literally just a UI proxy. An integration as simple as that would be enough for starters, to gauge interest, and help Status regain its edge in the dapp browser space.