Я прочитал спецификацию протокола https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#5-byzantine-consensus-1Как точно достичь консенсуса, когда в коде Chaincode имеется блок полномочий или событие?
Я интересно:
- Что именно произошло, когда chaincode имеет блок кодирования полномочий?
- Что именно произошло, когда код цепи имеет кодирующий блок события?
Например, существуют A, B, C, D четыре стороны, они работают на четырех валидирующих одноранговых узлах. В коде цепи A имеется кодирующий блок полномочий, только сторона A имеет право запускать блок кодирования. И есть код кодирования события в цепочке кодов A, только сторона A может получить результат события.
Таким образом, только сторона A может работать в блоке кодирования. Сторона B, C, D не может работать в блоке кодирования.
Как PBP сделать консенсус A, B, C, D в такой ситуации?
Итак, как мы можем получить окончательное согласие всего цепочки? Я вижу, что блок кодирования события и полномочий может передавать свой единственный результат другим VP. не могли бы вы любезно проверить и восстановить? or Позвольте мне изменить свой вопрос, какой код или код API нуждается в консенсусе? Это весь код цепи? SetEvent()? PutState()? –
«Кодирующий блок власти» - мы говорим о частных интеллектуальных контрактах, где исходный код зашифрован сертификатом стороны A? –
«кодирующий блок полномочий» - как функция «isCaller» в https://github.com/hyperledger/fabric/blob/master/examples/chaincode/go/asset_management/asset_management.go --- может выполняться только вызывающий абонент в «передачу» и «назначить» –