У меня есть несколько вопросов, касающихся Hyperledger-Fabric, на которые я не нашел внятного ответа в документации.
1.) Состояние (я) мира
Регистр состоит изблокчейн (содержащий транзакции) и состояние мира (хранится в базе данных).Каждая транзакция хранится в блокчейне навсегда.Кроме того, создается впечатление, что база данных хранит не только текущее значение ключей / переменных, но и прошлые версии (см. Следующий рисунок из документации):
Так правильно ли я понимаю, что бухгалтерская книга сохраняет не только все транзакции, но ТАКЖЕ все мировые состояния, которые когда-либо существовали?Если это так, зачем сохранять все состояния из состояния 0 в текущее состояние?Почему бы просто не сохранить а) все транзакции и б) только текущее состояние мира?Разве этого не достаточно?
****************************
2.) Каналы и состояние мира
Предположим, у меня есть приложение Hyperledger-Fabric, в котором разные участники могут комментировать фотографии профиля друг друга.
Предположим, что есть еще три члена ("организации"): Адам, Боб и Сара.
Кроме того, между Адамом и Бобом есть канал.И есть второй канал между Адамом и Сарой.
Очевидно, это означает, что транзакции
- между Адамом и Бобом не видны транзакциям Сары
- между Адамоми Сара не видны Бобу
Предположим, существует транзакция с именем "addCommentToProfile", которую можно использовать для добавления комментариев в другие профили.
Предположим, Сара отправляет транзакцию "addCommentToProfile", добавив комментарий "ваши волосы выглядят очень хорошо!"в профиль Адама.
Очевидно, что транзакция не видна Бобу (потому что она является лишь частью канала между Адамом и Сарой.)
Но является результатом транзакции (новаякомментарий "ваши волосы выглядят очень хорошо!" в профиле Адама) также невидим?
Другими словами, учитывая, что Адам участвует в двух разных каналах - существуют ли два разных состояния мира для Адама - одно, которое видно Бобу, и одно, которое видно Саре?
****************************
3.) «Hyperledger Composer Historian» против «Hyperledger Composer Historian»
Есть «Hyperledger Composer Historian» (https://hyperledger.github.io/composer/v0.16/business-network/historian) и «Hyperledger Explorer» (https://www.hyperledger.org/projects/explorer)
Являются ли они одним и тем же (то есть, если кто-то использует платформу Hyperledger Composer Framework, то «Проводник Hyperledger» просто называется «Историк Hyperledger Composer»)? Или это две разные вещи?это разные вещи: как я могу запретить участникам бизнес-сети доступ к записям "Hyperledger Explorer"?