Мысль о неизбежности перехода глобальной сети от сайтоцентристской структуры к юзероцентристской я высказал еще 2012 году (Философия эволюции и эволюция интернета или в сокращенном виде WEB 3.0. От сайтоцентризма к юзероцентризму). В этом году я попытался развить тему нового интернета в тексте WEB 3.0 — второй подход к снаряду. Сейчас же выкладываю вторую часть статьи WEB 3.0 или жизнь без сайтов (советую просмотреть перед чтением этой страницы).
Итак, что же получается? Интернет в версии web 3.0 есть, а сайтов нет? А что же тогда есть?
Есть данные, организованные в глобальный семантический граф: всё со всем связано, всё из чего-то следует, всё кто-то конкретный заметил, изменил, создал. Два последних момента про “следует” и “кто-то” напоминают нам, что граф должен быть не объектным, а субъектно-событийным. Но про это будет отдельная история (предварительно см. Субъектно-событийный подход). Сейчас же нам достаточно понимать, что семантический граф web 3.0 представляет собой не статичный набор знаний, а является темпоральным, фиксирующим отношения предметов и акторов любой деятельности в их временной последовательности.
Еще, говоря о слое данных, следует добавить, что глобальный граф с необходимостью разбит на две неравные части: дерево моделей, описывающее связанность действий, концептов и их свойств (соответствует набору терминологических аксиом TBox в OWL), и предметный граф, содержащий события фиксации конкретных значений свойств вещей и действий (набор утверждений об индивидах ABox в OWL). И между этими двумя частями графа устанавливается однозначная связь: данные об индивидах — то есть конкретных вещах, действиях, акторах — могут быть сформированы и записаны в граф только и исключительно по соответствующим моделям. Ну и, как уже упоминалось, глобальный граф — в первую очередь, модельная его часть и, соответственно, предметная — естественным образом разбит на сегменты по тематическим областям.
А теперь от семантики, от данных можно перейти к обсуждению второго эпитета web 3.0 — “децентрализованный”, то есть к описанию сети. И очевидно, что структуру сети и ее протоколы должна диктовать все та же семантика. Прежде всего, поскольку генератором и потребителем контента является пользователь, то закономерно, что он, вернее, его устройство, и должно быть сетевым узлом. Итак, web 3.0 — это одноранговая сеть, узлами которой являются устройства пользователей.
Для сохранения в графе данных, например, описания некоторого индивида, пользователь должен по имеющейся модели концепта сформировать сетевую транзакцию. Данные сохраняются на устройстве пользователя и на узлах других пользователей, подписанных на эту модель. Таким образом, обмениваясь транзакциями по фиксированному набору моделей, на которых реализована их совместная деятельность, участники этой деятельности образуют более или менее автономный кластер. Получается, что весь глобальный семантический граф распределенно хранится по предметным кластерам и децентрализованно — внутри кластеров. Каждый узел, работая с теми или иными моделями, может входить в несколько кластеров.
Описывая сетевой уровень необходимо несколько слов сказать и о консенсусе, то есть о принципах валидации и синхронизации данных на разных узлах, без чего невозможна работа децентрализованной сети. Очевидно, что эти принципы не должны быть одинаковыми для всех кластеров и всех данных, ведь транзакции в сеть могут быть как юридически значимыми, так и служебными, мусорными. Поэтому в сети реализовано несколько уровней алгоритмов консенсуса, выбор необходимого задается моделью транзакции.
Осталось несколько слов сказать о пользовательском интерфейсе, о семантическом браузере. Его функции тривиальны: (1) навигация по графу (по тематическим кластерам), (2) поиск и отображение данных по моделям предметных областей, (3) создание, редактирование данных и отправка сетевых транзакций по соответствующим моделям, (4) написание и исполнение динамических моделей действий, ну и, конечно, (5) хранение фрагментов графа. Это короткое описание функций семантического браузера и является ответом на вопрос: а где же сайты? Единственное место, которое пользователь “посещает” в web 3.0 сети это его семантический браузер, являющийся инструментом и для отображения, и для создания любого контента, любых данных, включая модели. Пользователь сам определяет границы и форму отображения своего сетевого мира, глубину проникновения в семантический граф.
Это понятно, но все же где веб-сайты? Куда надо пойти, какой адрес набрать в этом самом “семантическом браузере”, чтобы попасть на Facebook? Как найти веб-сайт компании? Где купить майку или посмотреть видеоканал? Давайте попробуем разобраться на конкретных примерах.
Зачем нам нужен Facebook или другая социальная сеть? Очевидно, для общения: рассказать что-то о себе и почитать-посмотреть, что постят другие, обменяться комментариями. При этом, существенно, что мы не пишем всем и не читаем всё — общение всегда ограничено рамками десятков, сотен, ну нескольких тысяч виртуальных друзей. Что необходимо для организации такого общения в рамках описанной конфигурации децентрализованной сети? Правильно: создать кластер сообщества с набором стандартных моделей действий (сделать запись, послать сообщение, прокомментировать, поставить лайк и пр.), настроить права доступа к моделям и пригласить подписаться на этот набор других пользователей. Вот нам и “facebook”. Только не глобальный Facebook, диктующий условия всем и вся, а настраиваемая локальная социальная сеть, находящаяся в полном распоряжении участников кластера. Пользователь шлет в сеть транзакцию по одной из моделей сообщества, скажем, свой комментарий, члены кластера, подписанные на эту модель, получают текст комментария и записывают его в свои хранилища (присоединяют к фрагменту предметного графа) и отображают его в своих семантических браузерах. То есть мы имеем децентрализованную социальную сеть (кластер) для общения группы пользователей, все данные которой хранятся на устройствах самих пользователей. Могут ли эти данные быть видны пользователям вне кластера? Это вопрос про настройки доступа. Если на то есть разрешение, то контент членов сообщества, может быть прочитан программным агентом и представлен в браузере любого, кто будет производить поиск по графу. Следует также отметить, что количество и сложность моделей кластера ничем не ограничена — каждый может настроить сообщество с учетом потребностей любой деятельности. Ну и очевидно, что пользователи могут быть членами произвольного числа кластеров, и как активные участники, и просто подписавшись на отдельные модели только для чтения.
Теперь дадим ответ на вопрос: как нам найти веб-сайт компании? Ответ тривиален: место, где находятся исчерпывающие данные о всех компаниях — это соответствующий сектор семантического графа. Добраться до этого места поможет навигация браузера или поиск по имени компании. Дальше все зависит от пользователя — какие модели для отображения данных ему нужны: краткая презентация, полная информация, перечень услуг, список вакансий или форма для сообщения. То есть компания для своего представления в семантическом графе должна воспользоваться набором стандартных моделей для посылки транзакций в сеть, и тут же данные о ней будут доступны для поиска и отображения. Если необходимо кастомизировать и расширить презентацию компании в сети, возможно создать и собственные модели, включая дизайнерские. Здесь нет никаких ограничений, кроме одного: новые модели должны быть встроены в единое дерево, чтобы обеспечить связанность данных в предметном графе.
Тривиально решение и для электронной коммерции. Каждый товар (мобильник, майка) имеет уникальный идентификатор, и данные о товаре вводит в сеть производитель. Естественно, делает он это один единственный раз, подписывая данные своим приватным ключом. Компания, готовая продать этот товар, размещает в семантическом графе несколько сделанных по стандартной модели утверждений о цене и условиях доставки. Дальше каждый пользователь самостоятельно решает для себя проблему поиска: ищет ли нужное среди товаров, которые может предоставить известный ему продавец, или сравнивает однотипные товары разных производителей и лишь потом выбирает удобного поставщика. То есть опять же, местом, где происходит выбор и покупка товаров, является семантический браузер пользователя, а не некий сайт производителя или продавца. Хотя, конечно, и у производителя, и у продавца есть возможность создать свои собственные модели отображения товаров, которыми может воспользоваться покупатель. Если захочет, если ему это покажется удобным. А так, он все может сделать с помощью стандартных моделей поиска и отображения данных.
Стоит несколько слов сказать о рекламе, о ее месте в семантической сети. А места ее размещения остаются традиционными: либо непосредственно в контенте (скажем, в видеороликах), либо в моделях отображения контента. Только между рекламодателями и владельцами контента или моделей устраняется посредник в виде владельца сайта.
Итак, схема функционирования семантической децентрализованной сети, представленная с позиции пользователя, предельно унифицировано: (1) весь контент размещается в едином глобальном семантическом графе, (2) запись, поиск и отображение контента идет по моделям концептов, которые и обеспечивают семантическую связанность данных, (3) деятельность пользователей реализуется по динамическим моделям, (4) единственное место, где происходит деятельность — это семантический браузер пользователя.