8 февраля 2020

Factom: data centric протокол для хранения данных

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

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

Цепочки данных

Традиционные блокчейны часто позволяют записывать произвольные данные в блок. Например, биткоин транзакции содержат поле OP_RETURN, куда пользователи могут вставить любую информацию на своё усмотрение. Эти данные включаются в блок и следовательно навсегда записаны в блокчейне.

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

Factom решает эту проблему.

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

Это преимущество позволяет строить приложения, использующие блокчейн для любых целей: отслеживание состояния любых данных, файлов или баз данных; неизменяемые логи; цепочки поставок. Отслеживание статуса данных внутри цепочки позволяет создавать смарт-контракты, работающие с этими данными.

ChainID и ExtIDs

  • Каждая цепочка данных имеет уникальный хэш — ChainID
  • Каждая цепочка данных имеет уникальный набор тегов — ExtIDs — который задаётся при создании цепи и впоследствии не меняется
  • Хэш ChainID уникален и рассчитывается из набора тегов ExtIDs
  • Зная ChainID или ExtIDs, можно прочитать данные, записанные в эту цепочку данных

Пример ниже показывается взаимосвязь между набором тегов и хэшем цепи. Цепочка содержить 2 тега — Factom PRO и Tutorial — которые вместе генерируют хэш цепи ChainID.

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

При изменении порядка тегов создастся новая цепочка с другим хэшем:

Хэш ChainID зависит только от набора тегов, присвоенных цепочке, и их порядка.

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

Записи (Entries)

Записи хранят в себе данные, записанные пользователем или приложением. Любая запись должна быть привязана к одной и только одной цепочке. Можно провести аналогию с папками и файлами, где цепочки — это папки, а записи — это файлы.

Структура записи

  • ChainID — хэш цепочки, в которую делается запись
  • []ExtID — один или несколько тегов
  • Content — полезный контент

Каждая запись имеет уникальный хэш — EntryHash — который зависит от 3 вышеперечисленных параметров.

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

Приложения и протоколы 2-го уровня (PegNet)

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

Наиболее яркий пример такого использования — сеть деривативов PegNet — использующая блокчейн Фактом для хранения курсов связанных активов (криптовалюты, фиатные валюты и товарные рынки).

PegNet записывает и считывает данные из блокчейна Factom, все балансы и транзакции сети PegNet рассчитываются внутри кошелька (как в Bitcoin), а майнеры необходимы для защиты котировок деривативов от манипуляций и мошенничества.

Технически, PegNet использует несколько цепочек данных в блокчейне Фактом и рассчитывает балансы и транзакции пользователей путём простого считывания этих данных:

Формат цепочек и записей Фактома позволяет хранить пользовательские данные в блокчейне в любом удобном виде — это делает блокчейн пригодным для любых приложений, позволяет создавать собственные токены (FAT — Factom Asset Token), смарт-контракты, Digital и Decentralized Identities, и даже создавать блокчейн-сети 2-го уровня на базе Factom.

Кто мы — Factom PRO

Factom PRO — это облачный блокчейн-шлюз для приложений, позволяющий быстро начать работу с блокчейном Factom. Мы обеспечиваем фиксированную стоимость записи данных в блокчейн — $0.01 за запись до 10 КБ данных — и предоставляем удобнейший REST API, который позволяет делать записи в блокчейн так же легко, как при работе с традиционными базами данных.

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

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

Обсудить в Discord!

Factom PRO
  • Зарегистрирован: 22 мая 2012 г.
  • Локация:London/United Kingdom
  • Сайт:penroseisparty.com