Этот ответ обычно использует Hyperledger Fabric в качестве справочного материала для объяснения различных терминов.
В чем разница между майнинг-узлом (майнерами), блоком и узлом в сети блокчейнов
- Блок - это фактически блок в блокчейне, который содержит значение актива, уникальный хеш и хеш предыдущего блока в цепочке. Блок также может иметь одну или несколько транзакций. Каждая транзакция содержит набор для чтения и записи, который изменяет одну или несколько пар ключ / значение (значения актива).
- Узлы являются объектами связи блокчейна. «Узел» - это только логическая функция в том смысле, что несколько узлов разных типов могут работать на одном физическом сервере. Имеет значение то, как узлы группируются в «домены доверия» и ассоциируются с логическими объектами, которые их контролируют.
Существует три типа узлов:
- Клиент или отправляющий клиент: клиент, который отправляет фактические транзакции-вызовы индоссаторам и передает предложения транзакций службе заказа.
- Peer: узел, который фиксирует транзакции и поддерживает состояние и копию книги. Кроме того, у пиров может быть специальная роль индоссанта.
- Узел-заказчик-заказчик или заказчик: узел, на котором запущена служба связи, которая реализует гарантию доставки, такую как передача в атомном или общем порядке.
Термин майнинг / майнеры упоминается в публичных цепочках блоков, таких как биткойны. В общедоступных цепочках блоков конечный пользователь отправляет транзакцию, которая проверяется (подтверждается как аутентичная транзакция) большинством узлов, участвующих в сети. В частности, для сети Биткойн, все узлы в сети конкурируют за проверку всех входящих транзакций (называемых проверкой работоспособности), и выигравший узел получает вознаграждение за увеличение баланса в своих крипто-кошельках. Эта концепция называется Mining.
Однако в закрытых или разрешенных блокчейнах (таких как Hyperledger) нет майнинга или проверки работоспособности. Вместо этого все узлы, участвующие в сети, приходят к соглашению о том, что конкретная транзакция действительна или недействительна (называется консенсусом).
Когда конечный пользователь инициирует транзакцию, который является первым компонентом в блокчейне, который получает этот запрос, и этот узел пересылает кому и как?
Ответ зависит от используемой платформы блокчейна. Для Hyperledger Fabric вопрос о том, кто будет получать запрос, определяется политикой одобрения, согласно которой и сколько участвующих узлов требуется для проверки транзакции. Например, если в политике одобрения указано, что каждый узел из каждой организации должен одобрить транзакцию, запрос будет принят всеми участниками, участвующими в сети. Узлы проверяют транзакцию и отвечают ответом об одобрении, содержащим подписи индоссанта и наборы чтения / записи этой транзакции. Когда клиент получает ответ об одобрении, он собирает одобрения в транзакцию и передает ее узлу службы заказа, который хронологически упорядочивает транзакции по блокам и доставляет эти блоки всем партнерам в сети.
Для Hyperledger Fabric вы можете увидеть подробный и понятный поток транзакций Здесь .