Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
29 ноября 2016, 3:45:05 PM   # 1
 
 
Сообщения: 778
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Хэш-функция (sha256) используется для шахты и идентифицировать блок. Дайджеста 256 битой строка.

Мы не знаем, является ли эта функция сюръективна или нет (есть ли вход-блок заголовок для каждого выходного-дайджеста).

Но мы предполагаем, что выход хэш-функции равномерно распределены (таким образом, мы можем вычислить цель и сложность алгоритма для корректуры из-работы).

Как мы можем знать наверняка, выход равномерно распределяется?
arulbero сейчас офлайн Пожаловаться на arulbero   Ответить с цитированием Мультицитирование сообщения от arulbero Быстрый ответ на сообщение arulbero


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


30 ноября 2016, 2:43:44 PM   # 2
 
 
Сообщения: 6
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

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





И в то время как в теме ...

Несмотря на то что очень маловероятно, что произойдет, если новый блок имеет один и тот же хэш как предыдущий блок?

Не следует minners продолжать копать в этом случае? и не должно CheckBlock проверить, что случай (например, если другой блок имеет один и тот же хеш, но меньшую высоту, то этот блок является недействительным)?

https://github.com/bitcoin/bitcoin/blob/5488514b901d807a98544618cb441a28e0b28bda/src/main.cpp

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

30 ноября 2016, 5:55:53 PM   # 3
 
 
Сообщения: 2464
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

И в то время как в теме ...

Несмотря на то что очень маловероятно, что произойдет, если новый блок имеет один и тот же хэш как предыдущий блок?

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

30 ноября 2016, 9:03:29 PM   # 4
 
 
Сообщения: 1400
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

И в то время как в теме ...

Несмотря на то что очень маловероятно, что произойдет, если новый блок имеет один и тот же хэш как предыдущий блок?

Bitcoin продолжает нормально. Это вполне допустимо появление.

Это так?

Допустим, есть блоки A, B, C и D с В и С, имеющих один и тот же хэш. В относится к нормальным. C относится к B, который может работать, даже если его же хэш, я не уверен. D относится к C и B, потому что они имеют один и тот же хэш. Что мне не хватает? Кроме того, что 256-бит столкновения не будет, вероятно, не произойдет.

Edit: более углубленно описание этой проблемы можно найти в пост # 8 Дэнни ниже.

Edit2: ответил:

Есть ли что-то в Bitcoin ядро, которое предотвращает блок на высоте 441372 (с
Предыдущий Hash блока, идентичное это собственный блок хэш) от добавления к blockchain?
Да.
Нет один узел не получит его
Потому что будет игнорировать команду мышления INV, что уже есть этот блок в blockchain


Справка -> https://bitcoin.org/en/developer-reference#getblocks
Шорена сейчас офлайн Пожаловаться на Шорену   Ответить с цитированием Мультицитирование сообщения от Шорену Быстрый ответ на сообщение Шорену

30 ноября 2016, 9:43:22 PM   # 5
 
 
Сообщения: 1036
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

И в то время как в теме ...

Несмотря на то что очень маловероятно, что произойдет, если новый блок имеет один и тот же хэш как предыдущий блок?

Bitcoin продолжает нормально. Это вполне допустимо появление.

Это так?

Допустим, есть блоки A, B, C и D с В и С, имеющих один и тот же хэш. В относится к нормальным. C относится к B, который может работать, даже если его же хэш, я не уверен. D относится к C и B, потому что они имеют один и тот же хэш. Что мне не хватает? Кроме того, что 256-бит столкновения не будет, вероятно, не произойдет.

Не обращая внимания на тот факт, что вероятность 2-х блоков вывода же хэш, в том же раунде консенсуса (10 минут) практически равна нулю. Там будет сеть вилка, пока не были созданы следующие действующие блоки на все вилочные цепях.

Сеть будет затем вернуться к развилке, где на следующий блок / s имел большую работу, выполняемую на него.

A (не очень хорошо) схема:

ЦЕПЬ (РАБОТА = 100) -> Блок +1 (HASH X: РАБОТА = 10) -> Блок + 2 (HASH Z: РАБОТА 12)
ЦЕПЬ (РАБОТА = 100) -> Блок +1 (HASH X»: РАБОТА = 10) -> Блок + 2 (HASH Y: РАБОТА 13) <- Это один выиграет
Fuserleer сейчас офлайн Пожаловаться на Fuserleer   Ответить с цитированием Мультицитирование сообщения от Fuserleer Быстрый ответ на сообщение Fuserleer

30 ноября 2016, 10:25:44 PM   # 6
 
 
Сообщения: 1400
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

И в то время как в теме ...

Несмотря на то что очень маловероятно, что произойдет, если новый блок имеет один и тот же хэш как предыдущий блок?

Bitcoin продолжает нормально. Это вполне допустимо появление.

Это так?

Допустим, есть блоки A, B, C и D с В и С, имеющих один и тот же хэш. В относится к нормальным. C относится к B, который может работать, даже если его же хэш, я не уверен. D относится к C и B, потому что они имеют один и тот же хэш. Что мне не хватает? Кроме того, что 256-бит столкновения не будет, вероятно, не произойдет.

Не обращая внимания на тот факт, что вероятность 2-х блоков вывода же хэш, в том же раунде консенсуса (10 минут) практически равна нулю. Там будет сеть вилка, пока не были созданы следующие действующие блоки на все вилочные цепях.

Сеть будет затем вернуться к развилке, где на следующий блок / s имел большую работу, выполняемую на него.

A (не очень хорошо) схема:

ЦЕПЬ (РАБОТА = 100) -> Блок +1 (HASH X: РАБОТА = 10) -> Блок + 2 (HASH Z: РАБОТА 12)
ЦЕПЬ (РАБОТА = 100) -> Блок +1 (HASH X»: РАБОТА = 10) -> Блок + 2 (HASH Y: РАБОТА 13) <- Это один выиграет

Так блок X»не может следовать X?
Шорена сейчас офлайн Пожаловаться на Шорену   Ответить с цитированием Мультицитирование сообщения от Шорену Быстрый ответ на сообщение Шорену

30 ноября 2016, 10:39:11 PM   # 7
 
 
Сообщения: 1036
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

И в то время как в теме ...

Несмотря на то что очень маловероятно, что произойдет, если новый блок имеет один и тот же хэш как предыдущий блок?

Bitcoin продолжает нормально. Это вполне допустимо появление.

Это так?

Допустим, есть блоки A, B, C и D с В и С, имеющих один и тот же хэш. В относится к нормальным. C относится к B, который может работать, даже если его же хэш, я не уверен. D относится к C и B, потому что они имеют один и тот же хэш. Что мне не хватает? Кроме того, что 256-бит столкновения не будет, вероятно, не произойдет.

Не обращая внимания на тот факт, что вероятность 2-х блоков вывода же хэш, в том же раунде консенсуса (10 минут) практически равна нулю. Там будет сеть вилка, пока не были созданы следующие действующие блоки на все вилочные цепях.

Сеть будет затем вернуться к развилке, где на следующий блок / s имел большую работу, выполняемую на него.

A (не очень хорошо) схема:

ЦЕПЬ (РАБОТА = 100) -> Блок +1 (HASH X: РАБОТА = 10) -> Блок + 2 (HASH Z: РАБОТА 12)
ЦЕПЬ (РАБОТА = 100) -> Блок +1 (HASH X»: РАБОТА = 10) -> Блок + 2 (HASH Y: РАБОТА 13) <- Это один выиграет

Так блок X»не может следовать X?

Нет, хэш-X уже используется для блока X, так что блок X», используя один и тот же хэш-X получит "мягкий" отвергнут сети.
Fuserleer сейчас офлайн Пожаловаться на Fuserleer   Ответить с цитированием Мультицитирование сообщения от Fuserleer Быстрый ответ на сообщение Fuserleer

1 декабря 2016, 3:47:05 AM   # 8
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Нет, хэш-X уже используется для блока X, так что блок X», используя один и тот же хэш-X получит "мягкий" отвергнут сети.

Я не понимая, о чем вы говорите. Вы можете указать, код в Bitcoin Ядра, который объясняет, что вы говорите?



В качестве нового примера (говоря, что я думаю, что это то же самое, как Шорена по-другому) ...


Допустим, мы находимся на высоте блока 441370 с хэш-0000 ... 08ac (по состоянию на момент написания этого поста, мы на самом деле)


Теперь давайте скажем несколько минут спустя майнинг решает блок. Новый блок на высоту блока 441371 имеет:
Код:
Блок Hash: 0000 ... 075c
Предыдущий блок: 0000 ... 08ac (со ссылкой на блок высоты 441370)


Теперь, давайте скажем 15 минут спустя майнинг решает блок. Новый блок на высоту блока 441372 имеет:
Код:
Блок Hash: 0000 ... 075c
Предыдущий блок: 0000 ... 75c (со ссылкой на блок высоты 441371)

Есть ли что-то в Bitcoin ядре, которое предотвращает блок на высоту 441372 (с предыдущим блоком Hash, который идентичен это собственный блоком хэш) от добавления к blockchain?


Если нет, то когда шахтер создает следующий блок, имеющий:
Код:
Блок Hash: 0000 ... 08ac
Предыдущий блок: 0000 ... 075c

Тогда как будет любой узел Bitcoin Ядро знать, если этот новый блок на высоте 441373 (Предыдущий блок: 0000 ... 075c относится к блоку высоты 441372) или вилку конкурирующей с другим блоком на высоту 441372 (Предыдущий блок: 0000 ... 075c относится к блоку высоты 441371)?
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

1 декабря 2016, 1:08:20 PM   # 9
 
 
Сообщения: 1890
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Но мы предполагаем, что выход хэш-функции равномерно распределены (таким образом, мы можем вычислить цель и сложность алгоритма для корректуры из-работы).

Как мы можем знать наверняка, выход равномерно распределяется?
Я сделал несколько миллионов хэшей числовых последовательностей и других случайных вещей, для игры в карты и кости моделирования. Он выглядел равномерно распределен.
Мазки сейчас офлайн Пожаловаться на Dabs   Ответить с цитированием Мультицитирование Сообщения От Dabs Быстрый ответ на сообщение Dabs

1 декабря 2016, 2:39:41 PM   # 10
 
 
Сообщения: 778
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Я перефразирую свой вопрос:

1) данные произвольные входы, имеет функцию SHA-256 действительно генерируют выходные сигналы, которые равномерно распределены?

2) данные заголовков блоков ** в качестве входных сигналов, имеет функцию SHA-256 действительно генерируют выходные сигналы, которые равномерно распределены?

** Блок заголовок = версии (4 байта) + Предыдущий блок Хэш (32 байта) + Меркла Корень (32 байта) + Отметка (4 байта) + Сложность Цель (4 байта) + Нонс (4 байта) = 80 байт = 640 бит -> фиксированная длина

Блок хэш = заголовок блока хэш = SHA256 (SHA256 (Block_Header))

Но мы предполагаем, что выход хэш-функции равномерно распределены (таким образом, мы можем вычислить цель и сложность алгоритма для корректуры из-работы).

Как мы можем знать наверняка, выход равномерно распределяется?
Я сделал несколько миллионов хэшей числовых последовательностей и других случайных вещей, для игры в карты и кости моделирования. Он выглядел равномерно распределен.

В вашем случае, каковы были ваши входы? Каких числовых последовательностей? Фиксированная длина (более или менее, чем 256 бит) или нет?
arulbero сейчас офлайн Пожаловаться на arulbero   Ответить с цитированием Мультицитирование сообщения от arulbero Быстрый ответ на сообщение arulbero

1 декабря 2016, 3:52:21 PM   # 11
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Есть ли что-то в Bitcoin ядро, которое предотвращает блок на высоте 441372 (с
Предыдущий Hash блока, идентичное это собственный блок хэш) от добавления к blockchain?
Да.
Нет один узел не получит его
Потому что будет игнорировать команду мышления INV, что уже есть этот блок в blockchain
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

3 декабря 2016, 5:00:28 PM   # 12
 
 
Сообщения: 778
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Я узнал интересную информацию о хэш-функции:

http://www.denimgroup.com/know_artic_secure_hash_functions.html
котировка
Безопасная хэш-функция имеет три свойства: сопротивление прообраза, сопротивление столкновения, и второе сопротивление прообраза.

Функция хорошего столкновение устойчивости хэша должна иметь каждое значение хэша быть примерно равномерно распределены, насколько это возможно

http://crypto.stackexchange.com/questions/12822/are-the-sha-family-hash-outputs-practically-random
котировка
SHA-256 (а также любой криптографически безопасный алгоритм хеширования) Производит вывод, который будет отображаться как равномерно случайной последовательности для наблюдателя, который не знает вход.

Довольно много генераторы случайных чисел, для ГСЧ пример ANSI X9.31 и NIST SP 800-90 Hash_DRBG использовать SHA семейство хеш-функций по той причине, что в результате последовательности трудно отличить от случайных.

Если ГСЧ способен производить энтропию, но имеет большой уклон, SHA-256 очень хорошая функция для сбора энтропии. Выход функции имеет почти 1 бит энтропии на выходной бит, если входной функции содержал по меньшей мере, 256 бит энтропии. Только очень мало энтропии теряется в этом процессе.

SHA-256 с использованием конструкции типа Hash_DRBG в NIST SP 800-90 может использоваться в ситуации, когда истинная энтропия доступна, но медленно собирать. После того, как вы были в состоянии собрать 256 бит энтропии (и предпочтительнее немного больше, чтобы быть безопасным), вы можете использовать энтропию экземпляр Hash_DRBG / SHA-256, который будет в состоянии обслуживать миллиарды случайных чисел.

Помните, что это не хорошо использует:

Если вы кормите SHA-256 слишком мало энтропии (или даже меньше, чем вход 256 бит), то выходной сигнал может появиться случайным образом, но это не так. Умный противник может быть в состоянии злоупотреблять этим
Другими словами: если ваш вклад в хэш короткий или слишком предсказуемы, поэтому должен быть выходной.

Псевдо-генератор случайных чисел, используя алгоритм SHA-256:
https://www.stat.berkeley.edu/~stark/Java/Html/sha256Rand.htm

Но в общей хаотичности не то же самое, как предотвращение столкновенийhttp://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
arulbero сейчас офлайн Пожаловаться на arulbero   Ответить с цитированием Мультицитирование сообщения от arulbero Быстрый ответ на сообщение arulbero

4 декабря 2016, 3:06:36 AM   # 13
 
 
Сообщения: 1890
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Я перефразирую свой вопрос:

1) данные произвольные входы, имеет функцию SHA-256 действительно генерируют выходные сигналы, которые равномерно распределены?

2) данные заголовков блоков ** в качестве входных сигналов, имеет функцию SHA-256 действительно генерируют выходные сигналы, которые равномерно распределены?

** Блок заголовок = версии (4 байта) + Предыдущий блок Хэш (32 байта) + Меркла Корень (32 байта) + Отметка (4 байта) + Сложность Цель (4 байта) + Нонс (4 байта) = 80 байт = 640 бит -> фиксированная длина

Блок хэш = заголовок блока хэш = SHA256 (SHA256 (Block_Header))

Но мы предполагаем, что выход хэш-функции равномерно распределены (таким образом, мы можем вычислить цель и сложность алгоритма для корректуры из-работы).

Как мы можем знать наверняка, выход равномерно распределяется?
Я сделал несколько миллионов хэшей числовых последовательностей и других случайных вещей, для игры в карты и кости моделирования. Он выглядел равномерно распределен.

В вашем случае, каковы были ваши входы? Каких числовых последовательностей? Фиксированная длина (более или менее, чем 256 бит) или нет?


Почему бы вам не попробовать свои # 2 и посмотреть ... мы имеем больше чем 400K блоки уже.

Я считаю, что мои входы были более чем 256 бит. Я использовал кучу "случайный" символы ... по крайней мере, 60 в длину.
Мазки сейчас офлайн Пожаловаться на Dabs   Ответить с цитированием Мультицитирование Сообщения От Dabs Быстрый ответ на сообщение Dabs

5 декабря 2016, 8:55:17 AM   # 14
 
 
Сообщения: 1
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Не обращая внимания на тот факт, что вероятность 2-х блоков вывода же хэш, в том же раунде консенсуса (10 минут) практически равна нулю.

Он по-прежнему равна нулю независимо от времени. Разве человеческий мозг оборудован иметь дело с очень большими / маленькими числами. Это просто слишком далеко от сферы нормального опыта.

SHA2 рассматривается как должно быть равномерно распределено. Даже если это не так, что это достаточно едино для текущих целей, мало что меняет в конце концов, насколько столкновение обеспокоено.
Mitchell4265727279 сейчас офлайн Пожаловаться на Mitchell4265727279   Ответить с цитированием Мультицитирование сообщения от Mitchell4265727279 Быстрый ответ на сообщение Mitchell4265727279

5 декабря 2016, 12:09:43 PM   # 15
 
 
Сообщения: 1036
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Не обращая внимания на тот факт, что вероятность 2-х блоков вывода же хэш, в том же раунде консенсуса (10 минут) практически равна нулю.

Он по-прежнему равна нулю независимо от времени. Разве человеческий мозг оборудован иметь дело с очень большими / маленькими числами. Это просто слишком далеко от сферы нормального опыта.

SHA2 рассматривается как должно быть равномерно распределено. Даже если это не так, что это достаточно едино для текущих целей, мало что меняет в конце концов, насколько столкновение обеспокоено.

и если бы я сказал, что это ноль было бы сообщения, заявляющие, что в теории это не так: р
Fuserleer сейчас офлайн Пожаловаться на Fuserleer   Ответить с цитированием Мультицитирование сообщения от Fuserleer Быстрый ответ на сообщение Fuserleer

5 декабря 2016, 12:22:31 PM   # 16
 
 
Сообщений: 17
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Я перефразирую свой вопрос:

1) данные произвольные входы, имеет функцию SHA-256 действительно генерируют выходные сигналы, которые равномерно распределены?

2) данные заголовков блоков ** в качестве входных сигналов, имеет функцию SHA-256 действительно генерируют выходные сигналы, которые равномерно распределены?


Да, да. Если нет, то это не будет хорошая хэш-функция и будет открыта для атак.
Рик Шторм сейчас офлайн Пожаловаться на Rick Сторм   Ответить с цитированием Мультицитирование сообщения от Rick Сторм Быстрый ответ на сообщение Rick Сторм

5 декабря 2016, 4:20:11 PM   # 17
 
 
Сообщения: 778
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Очевидно блок хэшей из blockchain распределены неравномерно (из-за сложности и перенастроить):

Код:
БЛОКИ: от 0 до 442033 (ТОГО = 442034)
высота хэш
0 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
1 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048
...
10000 0000000099c744455f58e6c6e98b671e1bf7f37346bfd4cf5d0274ad8ee660cb
10001 00000000f01df1dbc52bce6d8d31167a8fef76f1a8eb67897469cf92205e806b
...
50000 000000001aeae195809d120b5d66a39c83eb48792e068f8ea1fea19d84a4278a
50001 000000001c920d495e1eeef2452b6d1c6c229a919b28196c103ecffebabee141
...
100000 000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506
100001 00000000000080b66c911bd5ba14a74260057311eaeb1982802f7010f1a9f090
...
200000 000000000000034a7dedef4a161fa058a2d67a173a90155f3a2fe6fc132e0ebf
200001 00000000000002e3269b8a00caf315115297c626f954770e8398470d7f387e1c
...
300000 000000000000000082ccf8f1557c5d40b21edabb18d2d691cfbf87118bac7254
300001 000000000000000049a0914d83df36982c77ac1f65ade6a52bdced2ce312aba9
...
400000 000000000000000004ec466ce4732fe6f1ed1cddc2ed4b328fff5224276e3f6f
400001 000000000000000005421b1b2ee6d06d037557d7f5ec96852542413cfed40c22
...
442032 000000000000000000b6a5c60d2509768b29f4b49ceda2679bc6d33f99c8adba
442033 000000000000000000bf88951b0bd245474265cc6a2a1b38ac8ef78c8612158a

Так что я проверил последнее распределение цифр каждого хэша (16 возможных значений):

Код:
БЛОКИ: от 0 до 442033 (ТОГО = 442034)
последний
цифра фр. Проб. UNIF. ->  1/16 = 0.0625
0 27520 +0,0622576543886                    
1 27881 +0,0630743336485
2 27952 +0,0632349547772 MAX ->  = + +0,00073495777 = + 1,16%
3 27892 +0,0630992186121
4 27543 +0,0623096865852
5 27339 +0,0618481836239
6 27674 +0,062606043879
7 27691 +0,0626445024591
8 27428 +0,0620495256021
9 27203 +0,061540514983 MIN -> -0,000959485 = -1,54%
10 (а) 27594 +0,0624250623255
11 (б) 27554 +0,0623345715488
12 (с) 27863 +0,063033612799
13 (д) 27616 +0,0624748322527
14 (е) 27619 +0,062481619061
15 (е) 27665 +0,0625856834542

Я думаю, что это нормально.

Из любопытства, я проверил последнее распределение 2 цифры (256 возможных значений) тоже:

Код:
БЛОКИ: от 0 до 442033 (ТОГО = 442034)
Последние 2
цифры фр. Проб. UNIF. ->  1/256 = 0,00390625
71 (47) 1891 +0,0042779514698 MAX ->  = + +0,0003717 = + 9516%
...................................................
...................................................
...................................................
138 (8а) +0,0036694009963 МИН тысяча шестьсот двадцать две -> = -0,000236849 = -6,06%


и последнее распределение 3 цифры (4096 возможных значений):

Код:
БЛОКИ: от 0 до 442033 (ТОГО = 442034)
Последние 3
цифры фр. Проб. UNIF. ->  1/4096 = 0,000024414
2686 (A7E) 147 0,000332553604474 MAX -> 0.00008841 = + 36,21%
.................................................
.................................................
.................................................
3139 (С43) 75     +0,000169670206364 MIN -> -0,000074470419 = -30,5%

Как вы думаете об этих результатах? Эти распределения в порядке?
arulbero сейчас офлайн Пожаловаться на arulbero   Ответить с цитированием Мультицитирование сообщения от arulbero Быстрый ответ на сообщение arulbero

5 декабря 2016, 5:41:08 PM   # 18
 
 
Сообщения: 1890
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Попробуйте петлю. Граф от 1 до миллиарда. Hash тех. Включить большую случайную соль.

Например:

xxxxxxxxxxxxxxxxxxxxxxxxxx00000001
xxxxxxxxxxxxxxxxxxxxxxxxxx00000002
xxxxxxxxxxxxxxxxxxxxxxxxxx00000003
xxxxxxxxxxxxxxxxxxxxxxxxxx00000004
...
xxxxxxxxxxxxxxxxxxxxxxxxxx99999996
xxxxxxxxxxxxxxxxxxxxxxxxxx99999997
xxxxxxxxxxxxxxxxxxxxxxxxxx99999998
xxxxxxxxxxxxxxxxxxxxxxxxxx99999999

Или, дайте ему поработать в течение дня или нескольких часов, то остановить все, что вы вызвали. Это должно быть более чем достаточно для вас или большинство других людей. Я уже сделал это, но это лучше для вас, чтобы попробовать это самостоятельно.
Мазки сейчас офлайн Пожаловаться на Dabs   Ответить с цитированием Мультицитирование Сообщения От Dabs Быстрый ответ на сообщение Dabs

7 декабря 2016, 3:37:38 PM   # 19
 
 
Сообщения: 778
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Попробуйте петлю. Граф от 1 до миллиарда. Hash тех. Включить большую случайную соль.

Например:

xxxxxxxxxxxxxxxxxxxxxxxxxx00000001
xxxxxxxxxxxxxxxxxxxxxxxxxx00000002
xxxxxxxxxxxxxxxxxxxxxxxxxx00000003
xxxxxxxxxxxxxxxxxxxxxxxxxx00000004
...
xxxxxxxxxxxxxxxxxxxxxxxxxx99999996
xxxxxxxxxxxxxxxxxxxxxxxxxx99999997
xxxxxxxxxxxxxxxxxxxxxxxxxx99999998
xxxxxxxxxxxxxxxxxxxxxxxxxx99999999

Хорошо, я взял ваш совет.
Я выбрал блок (# 277316, хэш 0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4), и я сделал петлю с одноразовым номером от 0 до 2 ^ 20:

Код:
#! / USR / бен / окр питон
импорт hashlib

nomefile ="dist_hash"
maxnonce = 2 ** 20

версия = '00000002'
previousblockhash = '0000000000000002a7bbd25a417c0374cc55261021e8a9ca74442b01284f0569'
merkleroot = 'c91c008c26e50763e9f548bb8b2fc323735f73577effbc55502c51eb4cc7cf2e'
Отметка времени = '52be093a'
difficultytarget = '1903a30c'
Nonce = 0

Защиту byteswap (а):
    б = '';    
    для я в диапазоне (0, длина (а) / 2 + 1): B = A [2 * I: 2 * I + 2] + б
    возвращение б

заголовок = byteswap (версия) + byteswap (previousblockhash) + byteswap (merkleroot) + byteswap (метка времени) + byteswap (difficultytarget)

с открытой (nomefile, 'W'), как F:
f.write ("NONCE" + "\ Т \ т" + "БЛОК HEADER HASH" + "\ п")
для временного значения в диапазоне (0, maxnonce): # 924591752 лучших
nonce_st = byteswap ("{0: 0} {1} х".format (одноразовое значение, 8)) #format: шестигранные (8 байт), обратный порядок байты
hash_result = hashlib.sha256 ((заголовок + nonce_st) .decode ( 'шестигранной')). дайджеста ()
hash_result = hashlib.sha256 (hash_result) .hexdigest ()
f.write ("{0: 0} {1}".format (Nonce, 8) + "\ т" + Byteswap (hash_result) + "\ п")

Вывод отсортирован по возрастанию хеш:
Код:
 NONCE БЛОК HEADER HASH
00073675 00001161c27946bfbc99e631e5cfd1bf979c27bd68207991cb97e3d054c3192b
00563775 00001f485a9ad567aeb6a18a514f28b807f6a5c43a166debdc74b7ac46a765ea
00108164 000024a77201aaa21f86a43878bc50ef8be511105b403cad9c4b99e6f6b5563c
00172165 00002f3ea713eef6411ca3b2ead29ce859b1330d05df76a298bed3cf9807d666
00661616 000033f44a25e97b6dca43e4ba8dc9fe0e0b48777cc936f774433ce6244c71d4
...
...
00052351 ffffaa0a77c61b614e110c280bbb06c6d48561df1d6b064e4718a75ca97d509f
00845204 ffffc35f3b2a105c5a9d057b03e5eea26bb83f5d6482070be0eaa28a4dcb2f6b
00999281 ffffc4ee9128c730094017f32614562b434c3c782263b4adeb2a64fdc14a8584
00245490 ffffe3579d3529b5fe46b12db6eb472a6d5df707d4a738b7259ea7b2c62bae9b
00282384 ffffef1566a137349da9e6e02ecd638c7508933c08428f099a7f0808f10d7c6f

Последнее распределение цифр:
Код:
ТОТ = 2 ^ 20 = 1048576
последний
цифра фр. Проб. UNIF. ->  1/16 = 0.0625
0 62401 0,062401
1 62764 0,062764
2 62608 0,062608
3 62638 0,062638
4 62465 0,062465
5 62695 0,062695
6 62351 0,062351
7 62706 0,062706
8 62093 0,062093 -> MIN = -0,000407 = -0,65%
9 62340 0,06234
10 (а) 62884 0,062884 -> MAX = +0.000384 = + 0,61%
11 (б) 62412 0,062412
12 (с) 62455 0,062455
13 (д) 62204 0,062204
14 (е) 62220 0,06222
15 (е) 62764 0,062764

и последнее распределение 2 цифры:
Код:
Последние 2
цифры фр. Проб. UNIF. ->  1/256 = 0,00390625

78 (4E) 3751 0,003751 MIN ->  -0,00015525 = -3,97%
...........................................
...........................................
47 (8А) 4117 0,004117 MAX ->  +0.00021075 = + 5,40%
arulbero сейчас офлайн Пожаловаться на arulbero   Ответить с цитированием Мультицитирование сообщения от arulbero Быстрый ответ на сообщение arulbero

7 декабря 2016, 7:14:44 PM   # 20
 
 
Сообщения: 1890
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли равномерно распределен выходной хэш-функции?

Выглядит неплохо. Для распределения более 2-х цифр, вы должны сделать несколько миллионов или несколько миллиардов больше, или 2 ^ 32 или что-то, чтобы получить более полную картину распределения. В какой-то момент, вы увидите, что, может быть, нет никакого смысла идти дальше.

Никто не должна пи более 100 знаков после запятой, но выродки были вычисляя его миллиарды цифр.
Мазки сейчас офлайн Пожаловаться на Dabs   Ответить с цитированием Мультицитирование Сообщения От Dabs Быстрый ответ на сообщение Dabs



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW