Предложение транзакции Hyperledger Fabric и конфликт фиксации

Это общий вопрос, который не дает мне покоя уже давно.

В процессе между одобрением однорангового ответа на предложения транзакции (предположим N) от клиента до отправки набора R/W заказчику, что, если предлагается другое предложение транзакции (предположим M), которое имеет изменения для значений в «N»? как это обрабатывается, потому что в этом случае версия коммита будет отличаться для N и M, и, следовательно, M не удастся. Если вы скажете, что это похоже на симуляцию от индоссанта или фиксацию от партнера, то выигрывает тот, кто придет первым. Это справедливо?

Как вы объясните?


person Hem M    schedule 04.06.2019    source источник


Ответы (1)


Как вы указали выше, конфликты не обнаруживаются во время моделирования; они обрабатываются как часть проверки и фиксации. Все транзакции упорядочены, поэтому первая, добавленная в блок заказчиком, будет обработана как действительная и зафиксированная. Последующие транзакции будут помечены как недействительные из-за конфликта в сохраненных блоках, а изменение состояния будет проигнорировано.

person Gari Singh    schedule 04.06.2019
comment
разве транзакция не теряется, когда она становится недействительной? это не всегда возможно - person Hem M; 05.06.2019
comment
он не потерян ... он все еще находится в блоке, и клиент может проверить статус, изменить и отправить его повторно, если это необходимо - person Gari Singh; 05.06.2019
comment
когда набор R/W индоссанта не совпадает с состоянием (из M), как он пойдет дальше и создаст блок? транзакции еще не заблокированы. - person Hem M; 06.06.2019