Узел Bitzal
Архитектуру Bitzal можно разделить на две разные части: Bitzal время выполнения и Bitzal узел. Время выполнения Bitzal представляет собой основную логику перехода состояний в цепочке и может быть обновляться с течением времени и без необходимости хард форка. Для сравнения, узел Bitzal - это среда, в которой выполняется время выполнения, и ожидается, что она останется стабильной и в основном статичной на протяжении всего срока существования Bitzal.
Хост Bitzal взаимодействует со средой выполнения Bitzal ограниченными и четко определенными способами. По этой по этой причине команды разработчиков могут создавать альтернативную реализацию узла Bitzal, при этом рассматривая среду выполнения Bitzal как «черный ящик». Для получения более подробной информации о взаимодействии между узлом и средой выполнения, пожалуйста, смотрите спецификация.
Компоненты узла Bitzal
- Сетевые компоненты, такие как
Libp2pблагодаря которому облегчается взаимодействие в сети. - Хранилище состояний и тройка хранилищ вместе с уровнем базы данных.
- Механизм консенсуса для RELIC и VIRGINE.
- Интерпретатор и виртуальная машина Wasm.
- Низкоуровневые примитивы для блокчейна, например криптографические примитивы, такие как хэш-функции.
Скомпилированная среда выполнения Bitzal, представляющая собой сгусток кода Wasm, может быть загружена в хост Bitzal и использована в качестве логики для выполнения переходов состояний. Без времени выполнения хост Bitzal не может выполнять переходы состояний или создавать какие-либо блоки.
Главный узел...
- должны заполнить хранилище состояний официальным состоянием генезиса.
- должен поддерживать набор из примерно 50 активных пиров в любой момент времени. Новые пиры могут быть найдены с помощью протоколов обнаружения.
- должен открывать и поддерживать различные необходимые потоки с каждым из своих активных пиров.
- должны отправлять запросы на блоки этим пирам, чтобы получить все блоки в цепочке и выполнить каждый из них из них.
- должны обмениваться соседними пакетами.
Консенсус в Узле Bitzal достигается в ходе выполнения двух различных процедур, блок-производства и финализации. Узел Bitzal должен выполнять эти процедуры, если (и только если) он работает на узле валидатора.
Дополнительную информацию по каждому из этих требований можно найти здесь.
Время выполнения Bitzal
Ниже приведена диаграмма, на которой показан узел Bitzal, окружающий среду выполнения Bitzal. Представьте себе (белым цветом) как компонент, который можно вставить, поменять местами или полностью удалить. В то время как части, выделенные серым цветом, стабильны и не могут быть изменены без явного жесткого форка.

Исполнитель кода
Узел Bitzal выполняет вызовы точек входа времени выполнения внутри виртуальной машины Wasm (VM), которая, в свою очередь, предоставляет доступ времени выполнения к API Узлу Bitzal. Эта часть Узла Bitzal называется исполнителем. Для получения дополнительной информации о технической реализации ознакомьтесь с этим разделом в спецификациях Bitzal.
Ресурсы
- Спецификация протокола узла Bitzal - Инкубатор для Bitzal Host spec, включая тесты.