Я прочитал вики несколько раз, и я до сих пор не совсем ясно, на несколько вещей. Я надеялся, что кто-то мог бы просветить меня на пару вещей, касающихся механики хеширования заголовка?
Хэш генерируются являются ША (ША (заголовок)), где ША является алгоритмом SHA2-256.
Заголовок описана в вики, поэтому у меня нет проблем там.
Первый хэш, ША (заголовок) работает как следующим образом:
Первые 64 байт (512 бит, первые порции) хэшируются, которые включают в себя заголовок, предыдущий блок хэш и 3/4 хэша Меркель корня. 64 итераций алгоритма.
Это будет выход 8 номеров 32bit. Это первый "ломоть",
Окончательные 20 байт имеют 2 ^ 8 * 36 добавляется в качестве дополнения (двоичный "1" а затем нулями, чтобы добавить 36 байт), а также длину заголовка в битах (640) добавляют в виде 64-битных тупоконечника числа (конечная 8 байт)
Это также выход 8 32bit числа. Каждое число от второго "ломоть" добавляют к первому, с соответствующим номером из первого куска. Это добавление осуществляется по модулю 2 ^ 32 для каждого номера, так что нет переполнения или переноски.
Это первый хэш.
Это число хешируется снова, с 2 ^ 192 плюс 64-разрядный большой обратный порядок байт число сравнявшись "256" добавляются, поэтому хэш набивки для одной порции.
Моя первая пара вопросов, пытаясь понять этого:
В последних 20 байтах является "данное время", Который повторяется, чтобы найти хэш, которая меньше, чем заданное значение ( "трудность"). Я предполагаю, что метка времени продиктована каким-то образом, и я не могу произвольно изменить его? Нужно ли мне обновлять метку времени, как я итерация?
Спасибо за любую помощь. Я пытаюсь написать "Справка" питон программа, чтобы помочь себе понять процесс добычи. Если бы я получить его на работу, я открою его в качестве справочного кода для тех, кто пытается понять этот процесс, как и я. Я буду писать его для удобства чтения и простоты, а не на что-то на самом деле используется для добычи Bitcoins. Заранее спасибо!