Русский
Русский
English
Статистика
Реклама

Из песочницы Информационная среда на принципах Open Data



Предлагаемая информационная среда является своего рода децентрализованной социальной сетью. Но в отличии от многих существующих решений данная среда имеет ряд полезных свойств помимо децентрализации и создана на базе достаточно простых и стандартных технических решений (email, json, текстовые файлы и немного блокчейна). Что позволяет любому желающему с базовыми знаниями программирования создавать свои сервисы для данной среды.

Универсальный идентификатор


В любой онлайн среде идентификаторы пользователей и объектов являются одной из ключевых элементов системы.

В данном случает в качестве идентификатора пользователя выступает email, который уже фактически стал общепринятым идентификатором для авторизации на сайтах и других сервисах (jaber, openId).

Фактически идентификатор пользователя в данной онлайн среде это пара login+domain, которая для удобства записывается в привычном для большинства виде. При этом для большей децентрализации каждому пользователю желательно иметь свой домен. Что близко принципам индивеба, где в качестве пользовательского идентификатора используется домен. В нашем случае к своему домену пользователь добавляет никнейм что позволяет создавать несколько аккаунтов на одном домене (для друзей, например) и делает систему адресации более гибкой.

Такой формат идентификатора пользователя не привязан к какой-либо сети. Если пользователь размещает свои данные в TOR сети то можно использовать домены в зоне .onion, если это сеть с DNS системой на блокчейне то домены в зоне типа .bit. В итоге, формат адресации пользователей и их данных не зависит от сети, через которую они передаются (везде используется связка login+domain). Для желающих использовать в качестве идентификатора bitcoin/ethereum адрес можно доработать систему под использование псевдо email адресов вида xaca1b7c8126806f672f9dbee4951527bb0f2c4e4@ethereum.blockchain

Адресация объектов


Данная онлайн среда фактически является набором объектов, которые описаны в структурированном машиночитаемом виде, ссылаются на другие объекты и привязаны к определённому пользователю (emailу) или проекту/организации (домену).

В качестве идентификаторов объектов используются urn в пространстве имён urn:opendata. Например, профайл пользователя имеет адрес вида:

urn:opendata:profile:user@domain.com

Комментарий пользователя имеет адрес вида:

urn:opendata:comment:user@domain.com:08adbed93413782682fd25da77bd93c99dfd0548

где 08adbed93413782682fd25da77bd93c99dfd0548 случайный sha-1 хэш, выступающий в роли id объекта, а user@domain.com владелец данного объекта.

Принцип публикации пользовательских данных


Имея под управлением свой домен пользователь может достаточно просто публиковать свои данные и контент. И в отличии от индибеба, для этого не требуется создавать сайт с html страницами, в которых встроены семантические данные.

Например, базовая информация о пользователе размещается в файле datarobots.txt, который находится по адресу вида

http://55334.ru/konstantin@55334.ru/datarobots.txt

И имеет содержание такого формата:

Object: userServices-Enabled: 55334.ru,newethnos.ruEthnos: newethnosDelegate-Tokens: http://55334.ru/konstantin@55334.ru/delegete.txt

То есть фактически это набор строк с данными вида ключ->значение, спарсить которые простая задача для любого человека с базовыми знаниями программирования. А редактировать данные при желании можно через обычный блокнот.

Более сложные данные (профайл, комментарий, пост и т. д.), имеющие свой urn отдаются в виде JSON объекта по стандартному API (http://personeltest.ru/away/opendatahub.org/api_1.0?lang=ru), которое может находиться как на домене пользователя, так и на стороннем сайте, которому пользователь делегировал хранение, публикацию и редактирование своих данных (в строке Services-Enabled файла datarobots.txt). О подобных сторонних сервиса написано ниже.

Простая онтология и JSON


Онтология коммуникационной среды является относительно простой, по сравнению с онтологиями отраслевых баз знаний. Так как в коммуникационной среде существует относительно небольшой набор стандартных объектов (пост, комментарий, лайк, профайл, отзыв) с относительно небольшим набором свойств.

Поэтому для описания объектов в такой среде достаточно использовать JSON вместо более сложного по структуре и парсингу XML (важно не забывать про необходимость низкого порога входа и масштабируемость).

Для получения объекта с известным нам urn необходимо обратиться к домену пользователя, либо сторонним сервисам, которым пользователь делегировал управление его данными.

В данной онлайн среде каждый домен, на котором существует онлайн-сервис, также имеет свой datarobots.txt размещённый по адресу вида example.com/datarobots.txt с подобным содержанием:

Object: serviceApi: http://newethnos.ru/apiApi-Version: http://opendatahub.org/api_1.0

Из которого мы может узнать, что получить данные об объекте можно по адресу вида:

http://newethnos.ru/api?urn=urn:opendata:profile:konstantin@55334.ru

JSON объект имеет такую структуру:

{    "urn": "urn:opendata:profile:expample@55334.ru",    "status": 1,    "message": "Ok",    "timestamp": 1596429631,    "service": "example.com",    "data": {        "name": "John",        "surname": "Gald",        "gender": "male",        "city": "Moscow",        "img": "http://domain.com/image.jpg",        "birthtime": 332467200,        "community_friends": {            "example1@domain.com": "1",            "example2@domain.com": "0.5",            "example3@domain.com": "0.7"        },        "interests_tags": "cars,cats,cinema",        "mental_cards": {            "no_alcohol@main": 8,            "data_accumulation@main": 8,            "open_data@main": 8        }    }}

Сервисная архитектура


Сторонние сервисы необходимы для упрощения процесса публикации и поиска данных конечными пользователями.

Выше был упомянут один из видов сервисов, которые помогают пользователю публиковать его данные в сети. Возможно существование множества подобных сервисов, каждый из которых предоставляет пользователю удобный интерфейс для редактирования одного из видов данных (форум, блог, вопрос-ответ и т. д.). Если же пользователь не доверяет сторонним сервисам, то он может установить на свой домен скрипт сервиса по работе с данными или разработать его самостоятельно.

Помимо сервисов, позволяющих пользователям публиковать/редактировать данные в онлайн среде предусмотрен ряд других сервисов, выполняющих относительно сложные задачи, которые достаточно проблематично реализовать на узлах конечных пользователей.

Одним из видов таких сервисов являются хабы данных ( opendatahub.org/ru пример ), выполняющие роль своего рода веб архива, который собирает все публичные машиночитаемые данные пользователей и предоставляет к ним доступ по API.

Наличие сервисов в такой открытой децентрализованной онлайн среде существенно снижает порог входа для пользователей, так как отсутствует необходимость в установке и настройке собственного узла. В тоже время у пользователя остаётся контроль над своими данными (в любой момент можно сменить сервис которому делегирована публикация данных или создать свой узел).

Если же пользователю вообще не интересно владение своими данными и он не имеет своего домена или знакомого с доменом то по умолчанию его данными управляет opendatahub.org.

За чей счёт всё это?


Пожалуй главная проблема практически всех подобных децентрализованных проектов это невозможность их монетизации на уровне, достаточном для стабильного развития и поддержки.

Для покрытия расходов на разработку и маркетинг в данной онлайн среде используются donate + tokens.

Все пожертвования, которые пользователи вносят внутренним проектам/сервисам являются общедоступными, машиночитаемыми и привязаны к email. Что позволяет учитывать их, например, при вычислении внутрисетевого социального рейтинга и публиковать на страницах пользователей. Когда пожертвования перестают быть анонимными, то фактически пользователи не жертвуют, а скидываются на поддержку общей информационной среды. Также как люди скидываются на ремонт мест общего пользования с соответствующим отношением к тем людям, которые отказались скинуться.

Помимо пожертвований, для привлечения средств используются токены эмитированные в ограниченном количестве (400.000), которые начисляются всем кто вносит пожертвования в основной фонд (ethnogenesis).

Дополнительные функции токенов


Каждый токен является ключом для доступа в данную онлайн среду. То есть пользоваться сервисами и быть частью онлайн среды можно только при наличии хотя бы 1 токена, который привязывается к email.

Токены являются хорошим спам-фильтром из-за своей ограниченности. Чем больше в системе пользователей тем сложнее получить токен и тем более затратно создавать ботов.

Люди, их данные и социальные связи важнее технологий


Описанная онлайн среда технически является относительно примитивным решением. Но более важным в ней являются не столько технологии, сколько люди и создаваемые внутри среды социальные связи и данные (контент).

Создаваемая социальная общность, участники которой имеют свои универсальные идентификаторы (email и свой домен) и структурированные данные (с URN адресами, онтологией и JSON объектами) при появлении лучшего технического решения может перенести все эти данные в другую онлайн среду, сохранив при этом сформированные связи (рейтинги, оценки) и контент.

В данном посте описан один из элементов сетевой самоорганизованной общности, которая помимо децентрализованной онлайн среды включает в себя ряд оффлайн направлений, которые увеличивают пользу от онлайн среды и являются заказчиками, во многом определяющими её функционал. Но это уже темы для других статей, не имеющих прямого отношения к IT и технологиям.
Источник: habr.com
К списку статей
Опубликовано: 12.09.2020 18:14:51
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Децентрализованные сети

Open data

Децентрализация

Социальные сети

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru