Про децентрализованные интерфейсы
#комментарииДавно я не писал по этому тегу, но на днях прочитал
пост про децентрализованные интерфейсы.
И решил порассуждать над вариантами реализации.
Сразу скажу: если будет что-то непонятно, пишите в комментариях - отвечу.
0. О причинах.
Интерфейс Tornado cash заблокировали / удалили - это заставило задуматься сторонников web 3.0, что пора создавать децентрализованные интерфейсы, которые не будут зависеть от кого-либо.
1. Ipfs.
Если кто не знает, это распределённая сеть, типа торрентов (если очень упрощать - различий много).
Так вот: можно просто открывать страницы в ipfs.
Js файлы и стили css тоже подключаем в коде, указывая ipfs хэши.
И важно, что не прокладку, типа
ipfs.io, поскольку это снижает безопасность, а просто ipfs хэш.
Далее браузер / софт локально подключается к сети и скачивает нужные данные - только так...
Можно теоретически приложения создавать для ОС, обслуживающие ipfs, но это вряд ли станет популярным.
Другое дело ipfs браузер...
Вместо Ipfs можно использовать другие P2P сети.
2. Блокчейн, как хранилище страниц и файлов.
Этот вариант не является практичным, но упомяну его...
Естественно BTC или Эфир нельзя для этого использовать
☺: сожрут все деньги...
Но вот чейны с Bandwidth (пропускной способностью аккаунтов) возможно можно...
Примерами таких являются
#steem,
#hive,
#viz и пр.
2.1. Страницу можно разместить в посте.
Самый простой вариант. Даже помню 4 года назад игрался с этим и
писал пост.
Если кратко, отправляется операция с частью страницы или всей страницей.
2.2. В custom_json (в
#viz называется custom).
Добавляем части страницы и указываем блоки с custom id других частей или файлов.
Далее Клиент загружает основной блок, а оттуда собирает указания на остальные блоки и загружает страницу.
Естественно js содержимое, также как и стили, указывается в отдельных блоках тоже, а затем указывается на странице.
Пример:
``<script src="viz://
@login/block/id"></script>``
Думаю понятно, где что...
Можно размещать и весь html код страницы, но тогда исчезает возможность создания шаблона гибкого, да и есть риск, что в случае большого объёма контента страница не добавится в блокчейн...
3. Что-то неизвестное...
Нельзя отрицать возможность появления новых протоколов загрузки страниц, форматов интерфейсов и так далее...
4. Домены.
Оптимальной связкой мне видится сейчас распределённые домены + Ipfs или иная P2P сеть.
4.1. Владелец сайта регистрирует домен, например, в Ens, unstoppable domains или Viz.
4.2. Устанавливает браузер с поддержкой доменов.
4.3. Добавляет в блокчейн (в настройки) информацию с ipfs хэшем главной страницы.
4.4. Когда браузер открывает домен, он получает инфу о хэше, подключается к Ipfs, скачивает данный файл и выдаёт пользователю.
Естественно скрипты, стили, изображения и прочие файлы, которые есть на странице, указываются в виде ipfs хэшей, благодаря чему браузер их спокойно загружает.
4.4. Система доменных имён может давать возможность создания именования файлов и страниц, чтоб были не непонятные наборы символов, а красивые имена, типа site/about.
5. Про Viz домены.
Про ENS и unstoppable вы найдёте инфу в интернете спокойно, а вот Viz малоизвестный проект, поэтому думаю стоит рассказать про домены.
Дело всё в том, что в Визе есть аккаунты и субаккаунты. Тем самым и реализуется система, похожая на доменные имена.
Примеры:
Мой акаунт bda (Blind dev apps) и создал mgb.bda субаккаунт (mgb = mini games bot).
denis-skripnik и субаккаунт social.denis-skripnik.
У каждого аккаунта есть json_metadata -json, в котором можно хранить любую (естественно ограниченную по размеру) информацию.
Сейчас чаще всего это профиль, но можно сделать сервис, который будет добавлять:
А) Ip адрес сервера - половинчатый вариант.
Б) - Ipfs хэш главной и хэши других страниц с их именованиями.
В) Подключение к своей системе распределённого хранения за оплату (планируется Viz Hub).
Г) Иная реализация.
Всё.
Благодарю за внимание.
А вы что думаете по этой теме? Считаете ли децентрализованные интерфейсы важными? Буду рад комментариям.
И хороших выходных!