- Служба заказа предназначена для отказоустойчивости. Я понятия не имею, к какой вине они должны быть терпимы. Они только для заказанных транзакций в блоке? Если так, что произойдет, если транзакции в блоке не упорядочены в хронологическом порядке?
Нет, служба заказа не для отказоустойчивости, требуется установить общий порядок транзакций. Он собирает транзакции от клиентов, заказывает их и группирует их в блоки, связанные друг с другом. На самом деле транзакции не должны быть упорядочены в хронологическом порядке, что действительно важно, так это детерминированный общий порядок всех транзакций, представленных службе заказа.
- Подделанные транзакции и недействительные транзакции в блоке будут обнаружены одноранговыми узлами, и они никогда не обновят регистр этими транзакциями. Зачем нам тогда заказывать услугу? Если они не могут обнаружить их, не заказывая услугу, как служба заказа помогает коллегам обнаружить их?
Нам нужен сервис заказа, чтобы навязать общий порядок транзакций. Также сервису заказа на самом деле не нужно, чтобы одноранговые узлы обнаруживали недействительные транзакции / поддельные транзакции. Одноранговые узлы, использующие многозначное управление параллелизмом для обнаружения одновременных модификаций, основанных на текущем состоянии db, чтобы быть порядком честных транзакций, также имеют здесь значение. Кроме того, коллеги проверяют выполнение политики одобрения.
- Это то, с чем я на самом деле запутался. Проверяют ли сервисные узлы что-нибудь? Не могли бы вы сказать мне, что делает служба заказа? (Что мы можем получить от службы заказа? Или что обеспечивает служба заказа?)
Заказ сервисных узлов (OSN) проверяется всякий раз, когда у клиентов есть соответствующие записи каналов чтения / записи. И снова, чтобы завершить, сервис заказа должен определить общую семантику заказа по транзакциям, представленным в него. Служба заказа является подключаемым компонентом, и фактически можно использовать любой из доступных согласованных алгоритмов. В настоящее время существует служба заказа на основе Kafka, которая предоставляет гарантии CFT (Crash-Fault-Tolerant), в настоящее время ведется работа по обеспечению реализации службы заказов с поддержкой BFT (Byzantine-Fault-Tolerant).