Пользователь небрежно облокотился о широко раскрытую дубовую дверь с логотипом webRunes и недоверчиво посмотрел на старика. Тот деловито вытаскивал массивное кресло из тени комнаты в центр большого и яркого солнечного пятна на полу.
— Да-а, прошло три года с момента публикации первого рассказа — старик, покряхтывая, поерзал в глубоком кресле устраиваясь —… многовато, кх… Но зато и рассказать и даже показать теперь есть что! Ты заходи, добрый Пользователь, не стой в дверях. Наливай чайку или кофе и усаживайся поудобнее, разговор займет какое-то время.
— В начале беседы принято представляться, — продолжил старик, небрежно достав из кармана пиджака и ровняя о колено довольно толстую пачку записей, — но я оставлю эту церемонию до завершения нашего разговора.
Пользователь пожал плечами и беззаботно утонул в кресле напротив, готовый слушать.
— Начнем с азов.
Рассказчик прищурил глаз и осекся, наконец разглядев на лоцкане посетителя значок “Хабрахабр”. Быстро отобрав сверху несколько первых страниц, на одной из которых Пользователь успел лишь мельком заметить “Что такое и как работает интернет”, старик отложил их на край кресла.
— Так, с азами закончили. Теперь перейдем к проблемам веба. Это централизованность и отсутствие end-to-end шифрования для большинства сайтов. Хотя ситуация со вторым начала в последнее время улучшаться.
Седовласый посмотрел на молчащего Пользователя, который несколько опешил от столь резкого перехода, но после того, как тот на всякий случай неуверенно кивнул, воодушевленно продолжил:
— Помимо этого все сайты разделены между собой, словно комнаты в здании. Пользователю — рассказчик многозначительно посмотрел на собеседника и на дверь за ним — приходится ходить из одной комнаты в другую чтобы получить нужную информацию. При этом в коридорах, символизирующие интернет-каналы, стоят камеры, которые отслеживают все перемещения. Отслеживают государства, корпорации и соцсети, в общем, все, кому не лень.
Старик чему-то коротко хохотнул, но тут же продолжил:
— Веб-страницы в нашей аналогии — это книги в помещениях-сайтах, обложки которых олицетворяют собой UI. В последнее время вес таких книг составляет в основном тяжеленная обложка с одним листком внутри — данными, за которыми и пришел пользователь. Причем он не может переносить их из одной комнаты в другую в случае необходимости использовать за пределами родного сайта, разве что в комнате найдется окошко-API предусматривающий такой функционал. Напоследок отметим, что некоторые комнаты напичканы рекламой, а иногда встречаются двери, за которыми и вовсе можно столкнуться с мошенниками или подцепить вирус.
Седой рассказчик снова остановился, но после того как его собеседник в очередной раз кивнул, показывая, что следит за мыслью, продолжил:
— Теперь представим себе другое здание, в котором лишь одна огромная комната, наполненная стелажами-доменами хранящие только страницы без обложки. Они имеют важное отличие от книг в первом здании: те, пока не откроешь и не прочтешь, — не поймешь какую информацию они хранят. Cтраницы же имеют бирки-теги, описывающие свое содержание. Даже сама их структура, о которой поговорим чуть позже, указывает на тип перечисляемых данных и обеспечивает еще одно важное свойство — семантичность. Это дает возможность простой автоматической обработки, что особенно важно для поисковиков. Но куда более интересна открывающаяся перспектива создания на их основе рекомендательной системы.
Заметив, что фокус Пользователя начал ускользать, старик быстро завершил:
— В общем, если подвести итоги, то во втором случае описана работа WRIO Internet OS, которую мы и разрабатываем.
Пользователь решил уточнить:
— Еще разок, одним предложением, что такое эта ваша “как ее” OS?
Дедуля набрал побольше воздуха в легкие и выпалил заученной фразой:
— WRIO Internet OS или просто WRIO OS — ваше окно в мир децентрализованного, семантического и безопасного интернета.
Затем он аккуратно перебрал свою пачку бумаг, выбрал пару листков и передал их Пользователю.
Сегодняшняя типичная схема взаимодействия пользователя с сайтами.
website 1: браузер пользователя отправляет запрос к сайту и последовательно получает разметку (HTML+UI), стили (CSS) и скрипты (JS) отвечающие за интерактивность взаимодействия. Сервисы зачастую предоставляют третьим сторонам личные данные пользователей.
website 2: сайты могут быть под контролем мошенников или содержать вредоносный код.
website 3: вебресурсы могут быть блокированы провайдером.
Семантический интернет.
Нет разделения на сайты и веб предоставляет собой единую взаимосвязанную семантическую сеть данных.
Данные могут быть зашифрованы пользователем и недоступны третьим сторонам и мошенникам.
Текстовая природа данных исключает возможность внедрения вредоносного кода при соблюдении некоторых условий (о них будет отдельно рассказано).
Возможность создания собственной ноды позволяет обходить блокировку ресурсов даже в случае блокировки официальной WRIO ноды.
Это схемы из книги, которую можно найти по ссылке https://wrioos.com/ru/. И хотя она лишь в начале своего процесса написания, из нее можно вынести основную цель — создание семантического веба устойчивого к блокировке и цензуре. На практике это страницы в формате JSON-LD, которые могут быть расположены на любых серверах, оставаясь при этом связанными между собой в распределенную общедоступную базу данных — концепция Linked Data. Каждая такая страница представляет собой набор данных, относящихся к одной сущности: статье, книге, песне, персоне и так далее, все схемы можно найти по ссылке https://schema.org/docs/schemas.html. Вот, например, как выглядит страница-профайл:
https://aa.wr.io/ru/
Если открыть ее исходный код, то видно, что она состоит лишь из минимальной HTML разметки с заголовками, непосредственно JSON-LD данных и ссылки
<script type="text/javascript" src="https://wrioos.com/start.js"></script>
Ссылка ведет на одну из WRIO OS нод и превращает данные в страницу с дополнительным функционалом: авторизацией, редактором страниц, переводом пожертвований (отдельная большая тема), комментированием с помощью твиттера и так далее. За каждым функционалом стоит свой отдельный модуль построенный на Node.js+React. Со временем пользователь сможет собрать свой уникальный набор модулей выполняющие роль сегодняшних десктопных программ. Только без необходимости в установке, настройке или обновлениях, так как физически модули находятся на серверах своих разработчиков и подключаются в один клик.
Больше нет необходимости в установке CMS и баз данных, авторы могут создавать собственные сайты с богатым функционалом просто сохраняя статические страницы на своем сервере либо сторонних сервисах вроде Google Drive, Dropbox, Github Pages и любых других. Пример такого хаба можно найти по адресу https://webrunes.com/ выложенный на Github Pages: https://github.com/webRunes/webrunes.com-WRIO-Hub; для демонстрации мы также создали копию https://aa.wr.io/ru/ на Google Drive и разместили ее здесь.
Статичная природа JSON-LD обеспечивает кэширование и простоту разработки Offline First приложений. Также текстовый формат — это минимальная разметка, отсутствие CSS, JS, шрифтов и прочего, что обеспечивает совсем небольшой размер страниц. Даже объемные статьи легко умещаются в несколько десятков килобайт, что экономит трафик и позволяет минимизировать время загрузки. Это в первую очередь оценят мобильные пользователи.
Также текстовый формат позволяет хранить и получать доступ к файлам по DHT, что открывает новые возможности по созданию P2P интернета даже без необходимости в WRIO OS нодах; для этого, правда, потребуется блокчеин-браузер, который мы разработаем позже. Это также позволит получать страницы из Dark web сетей: Tor, I2P и других, соединяя их воедино. Обычный пользователь даже не заметит, что теперь использует прежде закрытый для большинства интернет-сегмент.
Для регистрации пользователей WRIO OS использует блокчеин Ethereum. Процесс регистрации — это создание ключей доступа на стороне клиента и одновременно являются его крипто-кошельком. Такой подход позволяет пользователю быть независимым от привязки к конкретной ноде, а ее взлом становится бесполезным занятием, так как она не хранит никаких пользовательских данных. В книге будет отведена отдельная большая глава посвященная вопросу защиты, сохранности личных данных и анонимности.
Весь код проекта открыт https://github.com/webRunes и может быть использован для поднятия собственной ноды или участия в разработке. Черновая документация находится по адресу https://github.com/webRunes/WRIO-InternetOS/wiki
Под напором потока информации Пользователь лишь успевал автоматически кивать головой и сделал это еще несколько раз прежде чем осознал, что рассказчик остановился.
— Ну а теперь, позволь представиться.
Старик гордо и так сильно вскинул седую голову, что пыль, прежде неторопливо плавающая над ним, заметалась в лучах пробивающегося в комнату солнца.
— Я — аватар IA. Нуу… точнее, один из них, зато самый старый! И… мудрый!
Пользователю послышалось во фразе “якобы”, но тот произнес его очень быстро, тихо и в сторонку.
— Чего-чего ты аватар?
— IA — Individual Assistant. Личный помощник — насупился старик, — Обо мне, кстати, уже упоминали на Хабре в интервью с Николаем Горькавым. Я по-прежнему всего лишь идея-абстракция с некоторыми математическими выкладками построения индивидуальных матриц, а из кода только набор сценариев “если А, то B”, но!
Тут он вскинул узловатый палец и так многозначительно проследил за ним взглядом, что Пользователь машинально последовал его примеру, однако палец уже указывал на него.
— Свою задачу по объяснению пользователю, то есть тебе, — старик заговорщицки подмигнул — идей и целей проекта я уже выполняю. Если коротко, то я — интерактивный… ну ладно, буду интерактивной системой помощи и ответов!
Старикан снова вытянул указательный палец вверх и аж привстал от воодушевления, глядя куда-то ввысь.
— Зачем? — Пользователь непонимающе моргнул.
Рассказчик осекся, взгляд его потускнел и он рухнул назад в кресло.
— Ну как “зачем”?.. Впрочем, — старик снова расплылся в улыбке, еще раз быстро перебрал внушительную пачку своих записей, выбрал из него листок со списком вопросов и протянул Пользователю — это хорошая тема для одного из следующих рассказов. Если захочешь (опрос в конце статьи).
— В случае заинтересованности, наша команда готова поделиться с сообществом любыми техническими и/либо идейными аспектами проекта, без купюр. Сегодняшняя вводная статья лишь кратко затронула техническую сторону, за рамками остались:
- децентрализованный рейтинг основанный на донейтах, который представляет собой оценку контента основанную на суммах пожертвований в отличие от плоских true/false “лайков” соцсетей. Вскоре будет добавлена возможность создания страниц на базе постов из различных соцсетей с донат-функционалом.
- Taglang — система тегов
- рекомендательная система основанная на рейтинге, тегах и пользовательских предпочтениях
- локализация постов и хабов
как и множество других особенностей системы. Проект действительно большой, и хотя реализовано не так много, информации собрано уже на целую книгу, которая состоит из пяти разделов:
- webRunes. История команды, цели и принципы работы
- WRIO Internet OS. Семантический веб 3.0
- IA — Individual Assistant
- Альтернатива
- Художественные рассказы, описывающие использование WRIO OS и ее место в мире Альтернативы
Уже сегодня в официальных хабах команды webRunes https://webrunes.com/ru и WRIO OS https://wrioos.com/ru заинтересованные смогут найти чуть больше деталей.
ВНИМАНИЕ: проект представлен на суд хабрапользователям эксклюзивно и находится на стадии пре-альфы, пожалуйста, не пересылайте сколько-нибудь значимых сумм в случае использования функционала “Add funds”, который пока включен в режиме тестирования.
Желающие поэксперементировать в создании собственного хаба могут взять за основу https://github.com/webRunes/webrunes.com-WRIO-Hub и отредактировать страницы в любом текстовом редакторе. Страницы также можно создавать с помощью редактора https://core.wrioos.com/?create, однако он пока совсем “сырой” и поддерживает лишь базовый функционал. Для сохранения используйте “Save as..”. После чего, как указано в рассказе, страницу можно положить на любой сервер или воспользоваться услугами сервисов вроде Dropbox, Google Drive и прочих.
Если у вас есть вопросы или вы хотите присоединиться к команде, то пишите нам по адресу info@webrunes.com.
Спасибо за ваше внимание и время!
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (6)
tmin10
21.06.2016 16:16Смутило начало, подумал, что это художественное произведение. Полистал, обнаружил где-то в середине технические термины. Когда прочитал, вроде немного понял суть.
Скажите, а насколько близок ваш проект к ZeroNet? С первого взгляда чётко прослеживается общая концепция (децентрализованный интернет, использование технологий криптовалют).webRunes
21.06.2016 16:45С точки зрения идей p2p и использования блокчеина — близок, но реализация иная. В случае с ZeroNet необходимо скачать клиент, помимо этого сайты являются аналогом web 2.0. Они начали с того, чем мы хотели бы закончить — клиентом на стороне пользователя. Еще стоит отметить, что в случае WRIO OS не нужно быть гиком, чтобы пользоваться. Не сейчас, но когда будет разработан редактор хабов.
dabar347
Вы планируете конкурировать с текущим Web2.0? Почему в браузере, ведь тогда же тоже происходит скачивание интерфейса, скриптов, etc? Предполагается что люди будут писать под систему; как их мотивировать то? В общем совершенно не понимая дальнейшее развитие проекта.
webRunes
Речь не идет о «конкуриренции». Это сревис представляющий возможность создания хабов без привязки к нему — данные всегда остаются у пользователя — с различным функционалом. Этот функционал разрабатывается нами, но любой желающий может писать свой. Мотивация та же, что и в случае написания плагинов для любых CMS или браузеров — продажа либо привлечение пользователей, реклама.
Скачивание UI есть, верно, но один раз для всех хабов.
dabar347
Ну мотивация для разработки приблизительно понятна. А что на счет пользователей? Зачем мне идти туда, если она пустая, и он лучше пойдет на вики? Зачем с нуля заполнять — долго, сложно; лучше допишу все ту же вики. Все вот эти ваши семантические веб бесполезны без контента совершенно. Вот если бы это был парсинг/кроулинг по текущей информации в сети, и представление нормально — имело бы смысл.
webRunes
Видимо, вы посчитали, что задача стоит в «создании» новой википедии. Нет. Вы точно также можете создавать свои блоги, сайты, магазины (пока не реализовано) и пр. Только вместо использования сервисов с привязкой к ним (соцсети, tumblr и пр.) или установки CMS и БД на собственный сервер, вам достаточно положить статическую страничку куда угодно и получить готовый доп. функционал без необходимости в разработке или установке / обслуживании. При этом в любой момент вы можете изменить обслуживающую ноду (если это по каким-то причинам вдруг потребуется) изменив одну строчку. Лучше всего почитать https://wrioos.com/ru/cценарии/ для деталей.