Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
6 декабря 2016, 4:46:33 AM   # 1
 
 
Сообщения: 4
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать значение хэша Bitcoin блока Используйте пример Генезис блока!

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Всем привет,

Из blockchain.info - Информационный Генезис Блок находится в blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Как хэш-значение «000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f» получено?
Мы можем использовать онлайн-SHA-256 онлайн инструмент, как www.xorbin.com/tools/sha256-hash-calculator .
Я понимаю, что значение вычисляется хэш-значение хеш-значения заголовка блока. Но я хочу знать специфику. Точный ввод, который вошел в расчет. Я попробовал несколько способов, как в моем понимании, но не смог сделать это?

Пожалуйста помоги.
заранее спасибо
Fiero сейчас офлайн Пожаловаться на Fiero   Ответить с цитированием Мультицитирование сообщения от Fiero Быстрый ответ на сообщение Fiero


Как заработать Биткоины?
Без вложений. Не майнинг.


6 декабря 2016, 5:24:53 AM   # 2
 
 
Сообщения: 428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать значение хэша Bitcoin блока Используйте пример Генезис блока!

Получил 1806 Биткоинов
Реальная история.





Берешь заголовок блока, а затем выполнить два SHA256 на нем = SHA256 (SHA256 (Block_header) а затем сообщить результат в Little-Endian порядке.

Детали:
https://blockexplorer.com/api/rawblock/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Block_header = версия (4) + hashPrevBlock (32) + hashMerkleRoot (32) + Время (4 +) Биты (4) + Нонс (4)
Код:
0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c

В C #
Код:
STRING з = "0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c";
           
            INT NumberChars = s.length;
            байт [] байт = новый байт [NumberChars / 2];
            для (INT I = 0; я < NumberChars; I + = 2)
                байт [я / 2] = Convert.ToByte (s.Substring (я, 2), 16);

            System.Security.Cryptography.SHA256 ша = новый System.Security.Cryptography.SHA256Managed ();

            байт [] b2 = sha.ComputeHash (байты);
            байт [] b3 = sha.ComputeHash (б2);

            если (BitConverter.IsLittleEndian)
            {
                b3 = b3.Reverse () ToArray ().
            }

            StringBuilder результат = новый StringBuilder ();
            для (INT I = 0; я < b3.Length; я ++)
            {
                result.Append (б3 [I] .ToString ("x2"));
            }
            Строка г = result.ToString ();

г =
Код:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Кодирование Энтузиаст сейчас офлайн Пожаловаться на Coding Энтузиаст   Ответить с цитированием Мультицитирование сообщения от Coding Энтузиаст Быстрый ответ на сообщение Coding Энтузиаст

6 декабря 2016, 7:24:03 PM   # 3
 
 
Сообщения: 4
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать значение хэша Bitcoin блока Используйте пример Генезис блока!

Благодаря миллиард. Это очень полезно. Infact BlockHeader конкатенируется взятие Little-Endian порядка каждого поля в отдельности. Я не принимал это во внимание.
Например: я принимал значение Nonce как Hex (2083236893) = 7C2BAC1D, когда оно должно было быть "1DAC2B7C",

Из конечного результата (г) = 0100000000000000000000000000000000000000000000000000000000000000000000003ba3edf d7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b 7c
Вы упомянули выполнить SHA256 дважды. Поэтому я не знаю, почему нам нужно преобразование в "байтов" , Можете ли вы объяснить. заранее спасибо   

Пожалуйста, объясните, почему код, как показано ниже требуется

         
Код:
   INT NumberChars = s.length;
            байт [] байт = новый байт [NumberChars / 2];
            для (INT I = 0; я < NumberChars; I + = 2)
                байт [я / 2] = Convert.ToByte (s.Substring (я, 2), 16);
Fiero сейчас офлайн Пожаловаться на Fiero   Ответить с цитированием Мультицитирование сообщения от Fiero Быстрый ответ на сообщение Fiero

7 декабря 2016, 5:21:03 AM   # 4
 
 
Сообщения: 428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать значение хэша Bitcoin блока Используйте пример Генезис блока!

Поскольку SHA256 класс ComputeHash () функция принимает только массив байтов. А код вы процитировали это способ преобразовать шестнадцатеричный в массив байтов. (Каждые два символа представляют собой один байт)
например.
INT: шестигранный
1: 01
2: 02
10: 0A
...

Эта страница содержит пример Python, если это язык, который вы освоитесь с: https://en.bitcoin.it/wiki/Block_hashing_algorithm
Кодирование Энтузиаст сейчас офлайн Пожаловаться на Coding Энтузиаст   Ответить с цитированием Мультицитирование сообщения от Coding Энтузиаст Быстрый ответ на сообщение Coding Энтузиаст

7 декабря 2016, 5:39:56 AM   # 5
 
 
Сообщения: 4
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать значение хэша Bitcoin блока Используйте пример Генезис блока!

Отлично, спасибо
Fiero сейчас офлайн Пожаловаться на Fiero   Ответить с цитированием Мультицитирование сообщения от Fiero Быстрый ответ на сообщение Fiero



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW