Алгоритм консенсуса, Ноды и Блоки

Блокчейн UMI использует алгоритм Proof-of-Authority на основе мастер-нод и нод-валидаторов (нод-верификаторов). Нода, или узел, в сети UMI — устройство со специальным программным обеспечением. Ноды проверяют транзакции (ноды-валидаторы), создают блоки и отправляют их в сеть (мастер-ноды).
Блокчейн UMI имеет три базовых реализации ноды: мастер-нода, нода-верификатор и легкая нода.
  • В мастер-ноде реализован полный функционал. Блокчейн хранится в бинарном виде в файлах на дисках.
  • Нода-верификатор не имеет возможности создавать и публиковать новые блоки. Блокчейн хранится в бинарных файлах на диске, а текущее состояние сохраняется во встраиваемой базе данных.
  • Лёгкая нода не сохраняет блокчейн на диск, проксирует запросы к полным нодам сети и валидирует ответы.
Учёт транзакций в сети блокчейна UMI осуществляется посредством цепочки из неразрывно связанных между собой блоков информации. Это основа блокчейн-технологии и надёжный способ хранения данных, который представляет собой цифровой реестр всех транзакций, проведённых в сети UMI. Реестр защищён от несанкционированного доступа и не может быть изменён.
Блокчейн-цепочка постоянно растёт в объёме — по мере того, как ноды добавляют в неё новые блоки с проведёнными транзакциями. Блоки сохраняются в цепочке в линейном последовательно-хронологическом порядке.
Информация обо всех транзакциях в сети сохраняется в блокчейне с учётом порядка их проведения. Также в блокчейне хранится вся информация об адресах и балансах, начиная с первичного блока — genesis-блока — и до самого последнего добавленного в сеть.
Технически в блок помещается 65 535 транзакций суммарным весом около 9 МБ. Блок способен генерироваться в среднем один раз в секунду.
Каждый блок содержит набор обязательных параметров:
  • Временную метку блока;
  • Хеш предыдущего блока;
  • Количество транзакций в блоке;
  • Информацию по всем транзакциям внутри блока, включая идентификационные номера транзакций;
  • Цифровую подпись и публичный ключ ноды (генератора блока).
При генерации нового блока нода ставит криптографическую подпись с публичным ключом. Каждый блок имеет цифровую подпись с использованием криптографически безопасного алгоритма хэширования SHA256.