Как Hyperledger Fabric обеспечивает целостность состояния в couchdb? - PullRequest
0 голосов
/ 27 апреля 2018

В версии 1.x Fabric вы можете использовать Couchdb в качестве хранилища состояний. Как Fabric обеспечивает целостность государства? Например, что если кто-то манипулирует состоянием вне Fabric, напрямую обращаясь к Couchdb на определенном узле. Как минимум, это может привести к тому, что этот узел будет несовместим с остальной частью сети.

1 Ответ

0 голосов
/ 30 апреля 2018

Способ обнаружить, что кто-то манипулировал и смягчил состояние в одном из пиров, заключается в использовании и тщательном определении политики одобрения.

Например, предположим, что у вас есть две организации, и у каждой есть два партнера: OrgA, OrgB и peer1_orgA, peer2_orgA, peer1_orgB, peer2_orgB. Следовательно, вы можете определить политику одобрения, которая потребует одобрения всех 4 пиров. Далее, предположим, что peer1_orgA скомпрометировано и состояние подделано.

Поскольку клиент должен выполнить политику одобрения, он отправит предложение о транзакции всем одноранговым узлам, одноранговые узлы будут имитировать транзакцию и возвращать RWSet на основе состояния и подписи на хешированном RWSet.

Теперь, поскольку состояние peer1_orgA подделано, он вернет другой RWSet, и, следовательно, подпись будет отличаться, как следствие, клиент не сможет удовлетворить политику одобрения, более того, он сможет обнаружить, что результат peer1_orgA имеет расходились.

Это позволяет предотвратить разветвление в состоянии, а также позаботится о недетерминированности, обеспечивающей целостность состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...