Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I love the idea(ls) of cryptocurrencies and yet I hate "web3" because it's a misnomer that led to a series of misconstructions:

Web3 is futile because it attempts to rebuild the Web (1) on an abysmally resource-constrained global computer which (2) uses a bunch of protocols that makes it impossible interact with using web browsers thus requiring a series of intermediary parties whom participants have to rely on. It is not even the fact that I need to trust those intermediaries, I trust a bunch of Web 2 corporations for some of the most critical services anyway, but the fact that we end up where we have started except it is now more expensive and much slower.

It is easy to dismiss Web3 as such, but that would not be fruitful. Besides all financial incentives, I (would like to) believe that there is a group of people who are sincerely interested in a more decentralized web, or rather, a web that is decentralized in a fundamentally different way than Web 2 and Web 1 are and were. To make it more concrete, there is an interest in decoupling authoring and hosting of web services; Linux distributions have had mirrors all over the world for the efficient distribution of data years before BitTorrent, so the magic of BitTorrent was not just about its efficiency promises, but in bringing content-addressed data to masses and thus decoupling the authoring (torrent creating) and the hosting (seeding) of content. Instead of having to ask Debian's permission to set up a mirror, I could now simply seed its torrent. It thus mattered that this decoupling has been implemented not at a social level (mirrors) but at a protocol level (peers).

You may be familiar with the concept of cardinality in databases: one-to-one, one-to-many, many-to-many. Indeed, it can be just as useful to describe the access patterns to databases:

(A) A one-for-one database is where a single writer is storing data for themselves. In the world of decentralized apps (not necessarily crypto-ridden web3), a good example is draw.io (and Zero Data Apps[0] in general) which allows you to "bring your own storage". On desktop, you have Joplin[1] for note-keeping that can synchronize to various cloud services.

(B) A one-for-many database is where a single writer is distributing content to many. BitTorrent and IPFS are prime examples of this.

(C) On the other hand, a many-for-many database is one that multiple writers store data for multiple readers. A centralized example of this is Hacker News, Twitter, reddit, and so on... This is what web3 attempts to be. There are a couple application-level attempts[2] at this, but not as much at a lower level that can enable arbitrary many-for-many use cases except blockchains.

Sadly the critics of web3 do not acknowledge that there are legitimate use cases for decentralized many-to-many databases that would, for instance, allow members of Hacker News to be able to host it in the same way that they are able to seed an existing torrent, and there are currently no other application-agnostic solutions than blockchains. Sadly, again, the proponents of web3 do not realize that the consistency guarantees of a financial ledger are too unnecessarily strict for many use cases.

I am working on a many-for-many database with much lesser consistency guarantees using SQLite and based on CRDTs designed to be used in browsers from day one (hence, as an example, using P-256[3] for public key cryptography rather than Bitcoin's and Ethereum's secp256k1 as the former is readily available in WebCrypto). This is something I do in my spare time and 100% for experimentation and fun without any financial motives or elements; let me know if you are interested in collaborating or following, email in the bio.

----

[0] https://0data.app/

[1] https://joplinapp.org/

[2] https://getaether.net/

[3] https://developer.mozilla.org/en-US/docs/Web/API/EcKeyGenPar...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: