🕸 Web3 на языке работяг

🕸 Web3 на языке работяг

Сегодня я хотел бы попробовать кратко и простыми словами объяснить, что вообще такое Web3 и чем он отличается от Web2. Если бы я знакомился с этой технологией сегодня, такое саммари мне сохранило бы какое-то временя, потому что хоть информации и много, но часто она какая-то неконцентрированная, плотно связана с каким-то левым крипто-скам-говном и инфоцыганскими лозунгами по типу:

  • Web2 это несекьюрно, а Web3 это секьюрно!
  • Децентрализация! Крипта!
  • Будущее уже здесь! Срочно хороним Web2 и переходим на Web3 👍

И приходится еще тратить кучу времени, чтобы всё-таки разобраться, что это такое.

Итак, чтобы понять разницу, опишем сперва очень грубую и краткую историю становления интернета:

  • Web1 - это интернет где-то до начала нулевых, в котором можно было только читать контент, но по сути нельзя было никак его изменять.
  • Web2 - это сегодняшний интернет, в котором можно читать контент и вносить изменения.
  • Web3 - это интернет "будущего", в котором можно не только читать и изменять контент, но еще и "исполнять" всё, что вообще в нем происходит.

✨ Что значит "исполнять"?

Грубо говоря, если представить, что вы пользуетесь каким-то приложением в Web2, то все ваши данные хранятся в какой-то закрытой базе у кого-то на сервере, обрабатываются каким-то неизвестным для вас кодом, а посмотреть на эти данные может любой, кто имеет доступ к серверу. Ну, это типа несекьюрно, плохо для вашей прайваси, ну и всё вот это ))0 Часто сетуют, мол, вот, корпорации захватили интернет и при желании дяди твой аккаунт просто дропнут, а ты лишишься аудитории, заработка, возможности высказываться, и ничего не сможешь с этим сделать. По факту это действительно так.
Вот в Web3 нет дяди, который может дропнуть ваш аккаунт. В Web3 вообще нет централизированных серверов с закрытой логикой и базами данных, которыми управляют какие-то дяди. В Web3 весь код ранят "ноды", чьи-то сервера с большим количеством вычислительных ресурсов, которые получают крипту за то, что они вообще ранятся.

✨ Разница между Web2 и Web3 на примере конкретного приложения

Привычный нам "код бэкенда" в Web3 - это "смарт-контракт", а данные вместо базы хранятся в блокчейне. Очень грубо можно представить, что "смарт-контракт" = REST API из Web2. Точно так же, как в Web2 может существовать, например, API взаимодействия со списком пользователей, может и существовать смарт-контракт редактирования и чтения какого-то списка пользователей из блокчейна, и у него тоже будут ручки "получить список", "удалить из списка", "отредактировать" и т.д. Чтобы было еще понятней, сравним два клауд-бэйсед приложения ToDo-менеджера, реализованных в Web2 и в Web3.

В случае Web2 всё выглядит по классике:

  • У вас есть сервер, на котором стоит база и на котором крутится ваша бэкенд-логика.
  • Есть фронтенд, он тоже где-то хостится.
  • На фронтенд заходят пользователи, нажимают на кнопку "Создать задачу", отсылается запрос на ваш бэкенд, бэкенд валидирует данные и сохраняет задачу в базу.
  • Список задач запрашивается фронтом из бэкенда, который достает их из базы.

В случае Web3 это было бы так:

  • Есть тот же самый фронтенд, который для простоты примера всё так же где-то хостится (хотя это уже не тру-Web3).
  • Разработчик закодил и запаблишил в сеть смарт-контракты, которые позволяют записать задачу в блокчейн, а также прочитать список задач текущего пользователя.
  • Пользователь заходит на фронтенд, нажимает на кнопку "Создать задачу", запускается смарт-контракт, задача валидируется контрактом и записывается в блокчейн.
  • Список задач запрашивается фронтом из контракта, который достает их из блокчейна.

В общих чертах всё выглядит так, и ваши задачи по итогу сохранены в блокчейне и никакой дядя не может с ними ничего сделать.
И вроде бы выглядит супер-классно, но светлое будущее с Web3 всё еще не наступило. В следующих статьях я расскажу, почему 🫡

Начать дискуссию