Typed webapps with ENS

Hello, everyone. I’m working on creating decentralized SSL for blockchains. It should be compatible with almost every existing website, so owners will be able to upgrade without changing a single line of code (only by replacing their certificates and hostnames in configuration). But I want to discuss blockchain backed websites ability to be managed by smart contracts.

We can use smart contracts not to defining resolution address only, but to define the site structure or initial code with the start parameters. Thus we can make a wrapper or boilerplate which is cached by browser and applied for the site each time it requested.

For example we have documentation site or blog which have layout, styles, scripts and highlighting rules, which could be shared across multiple sites. This code could be cached and used for other sites. Only uniq markdown/latex data should be downloaded each time.

Another example is self-hosted solutions like slack or mattermost. When the only thing that changes every time is the data source and there is no need to duplicated whole code or download it again.

What this gives to us:

  • Better performance for similar websites.
  • Auditability: you will always know what code you run and what can it do.
  • Predictability: you know what the webapp can/cannot do.
  • Easy learning: you know how this site works if you already has used same solution before.
  • Easy integration: you know what API the webapp is support.

Probably it solving Facebook monopoly issue: today each site is a masterpiece and users couldn’t predict its behavior, using the social network they don’t need to learn how to use new group, but using uniq site they do.

The other ability is to manage site parts separately and from a smart contract too. For example designer can change site appearance, developer site components and administrator can set payment receiver address. This is what Typed sites are.

Examples in articles are oversimplified. There could be more complex solutions: you can sell or rent exact routes of your webapp to anyone. Or allow users to bring their own frontends for your site. This technic could be combined in any order with other solutions.

What does community think about it?