Если вы измените данные непосредственно в одноранговых CouchDB, они не будут распространены на другие одноранговые узлы.Вы не должны открывать порт CouchDB за пределами одноранговой сети, чтобы избежать несанкционированного доступа к данным.Только администратор однорангового узла должен иметь доступ к CouchDB, и у администратора нет стимула подделывать свои собственные данные.Позвольте мне объяснить подробнее ...
База данных состояний Hyperledger Fabric аналогична базе данных неизрасходованных транзакций в биткойнах, поскольку если администратор однорангового узла вмешивается в базу данных своего собственного однорангового узла, одноранговый узел не сможет убедить других одноранговых узлов.что транзакции, исходящие от него, действительны.В обоих случаях базу данных можно рассматривать как кэш текущего состояния блокчейна.И в обоих случаях, если база данных повреждена или повреждена, ее можно восстановить на одноранговом узле из блокчейна.В случае биткойнов это делается с помощью флага -reindex.В случае Fabric это делается путем удаления базы данных состояний и перезапуска однорангового узла.
В Fabric одноранговые узлы из разных организаций, как указано в политике одобрения, должны возвращать одинаковые результаты выполнения цепочечного кода для транзакций, подлежащих проверке.,Если данные состояния бухгалтерской книги были изменены или повреждены (в файловой системе CouchDB или LevelDB) на одноранговом узле, то результаты выполнения цепного кода будут несовместимы между подтверждающими одноранговыми узлами, будет обнаружен «плохой» одноранговый узел / организация, и клиент приложения долженвыкинуть результаты из плохого партнера / организации перед отправкой транзакции для заказа / фиксации.Если клиентское приложение пытается передать транзакцию с несогласованными результатами одобрения, независимо от этого, это будет обнаружено на всех одноранговых узлах во время проверки и транзакция будет признана недействительной.