![Многоуровневая архитектура Многоуровневая архитектура](https://habrastorage.org/getpro/habr/upload_files/c49/d97/76e/c49d9776e0803827a0aee2be0f3501ea.png)
Уровень инфраструктуры
Содержимое блокчейна хранится где-то на сервере в центре обработки данных на этом прекрасном земном шаре. Клиенты запрашивают контент или данные с серверов приложений во время просмотра веб-страниц или использования любых приложений (архитектура клиент-сервер).
Блокчейн — это одноранговая сеть компьютеров, которая упорядоченно вычисляет, проверяет и записывает транзакции в общий реестр. В результате создается распределенная база данных, в которой хранятся все данные, транзакции и другие соответствующие данные. Узел — это компьютер в сети P2P.
Уровень данных
Структура данных блокчейна выражается в виде связанного списка блоков, в которых упорядочены транзакции. Структура данных блокчейна состоит из двух основных элементов: указателей и связанного списка. Связанный список — это список связанных блоков с данными и указателями на предыдущий блок.
Указатели — это переменные, которые ссылаются на позицию другой переменной, а связанный список — это список связанных блоков с данными и указателями на предыдущий блок. Дерево Меркла — это бинарное дерево хэшей. Каждый блок содержит корневой хэш дерева Меркла и такую информацию, как хэш предыдущего блока, временная метка, одноразовый номер, номер версии блока и текущая цель сложности.
Для систем блокчейна дерево Меркла обеспечивает безопасность, целостность и неопровержимость. Система блокчейн построена на деревьях Меркла, криптографии и алгоритмах консенсуса. Поскольку первый блок в цепочке, блок генезиса, он не содержит указателя.
Для безопасности данных, содержащихся в блокчейне, транзакции подписываются цифровой подписью. Закрытый ключ используется для подписи транзакций, и любой, у кого есть открытый ключ, может проверить подписавшего.
Сетевой уровень
Сетевой уровень, обычно называемый уровнем P2P, отвечает за взаимодействие между узлами. Обнаружение транзакций, распространение блоков происходит на сетевом уровне.
Этот уровень P2P гарантирует, что узлы могут находить друг друга и взаимодействовать, распространять и синхронизировать информацию, чтобы поддерживать сеть блокчейна в законном состоянии. Сеть P2P — это компьютерная сеть, в которой узлы распределены и разделяют рабочую нагрузку сети для достижения общей цели. Транзакции блокчейна выполняются узлами.
Уровень консенсуса
Уровень консенсуса — самый необходимый и критический уровень в любом блокчейне. Он отвечает за проверку блоков, их упорядочивание и гарантию того, что все согласны с текущим состоянием блокчейна.
Прикладной уровень
Смарт-контракты, децентрализованные приложения (DApps) составляют прикладной уровень. Протоколы прикладного уровня подразделяются на прикладной и исполнительный уровни.
Уровень приложений включает в себя программы, которые конечные пользователи используют для связи с сетью блокчейна. Сценарии, интерфейсы прикладного программирования (API), пользовательские интерфейсы и фреймворки.
Смарт-контракты - это часть уровня исполнения.
Транзакция перемещается с уровня приложения на уровень выполнения. Приложения дают инструкции исполнительному слою, который выполняет транзакции и обеспечивает детерминированный характер блокчейна.