Изменить хеш-функцию по умолчанию для блочного хеширования - PullRequest
0 голосов
/ 06 сентября 2018

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

Я нашел несколько файлов, которые могут быть интересны, но я новичок в платформе и действительно не знаю, где взять такую ​​информацию.

Я нашел это:

  1. https://github.com/hyperledger/fabric/blob/release-1.2/common/ledger/blockledger/util.go CreateNewBlock функция
  2. https://github.com/hyperledger/fabric/blob/release-1.2/protos/common/block.go

Любая помощь? Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Я нашел решение.

МОЖНО сделать это, это можно сделать, заменив функцию хеширования в

protos/common/block.go

файл, как я уже говорил в своем посте;)

0 голосов
/ 06 сентября 2018

Согласно документу, в настоящее время SHA256 является единственным действительным алгоритмом. И это было жестко закодировано в некоторых местах.

Однако вы можете провести несколько экспериментов, ниже приведены некоторые места конфигурации, которые вы, возможно, захотите исследовать - Конфигурация BCCSP для узлов peer и orderer , а также конфигурация канала , алгоритм хеширования, часть .

BCCSP настраивает поставщиков криптоблоков цепочки блоков.

BCCSP:
    # Default specifies the preferred blockchain crypto service provider
    # to use. If the preferred provider is not available, the software
    # based provider ("SW") will be used.
    # Valid providers are:
    #  - SW: a software based crypto provider
    #  - PKCS11: a CA hardware security module crypto provider.
    Default: SW

    # SW configures the software based blockchain crypto provider.
    SW:
        # TODO: The default Hash and Security level needs refactoring to be
        # fully configurable. Changing these defaults requires coordination
        # SHA2 is hardcoded in several places, not only BCCSP
        Hash: SHA2
        Security: 256
        # Location of key store. If this is unset, a location will be
        # chosen using: 'LocalMSPDir'/keystore
        FileKeyStore:
            KeyStore:
...