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