Перейти к публикации
ouem

Помогите с расчётом сложности

Рекомендованные сообщения

Приветствую!

Нужна ваша помощь чтобы разобраться с расчётом сложности.

Итак задачка следующая. Есть допустим 30 компьютеров для распределённого вычисления. Хешь пусть будет с 5ю первыми нулями. Как рассчитать и проверить сложность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@polym0rph, спасибо, но я это уже читал. В общих чертах понятно, вот только хочется так сказать на пальцах чтобы кто-то смог объяснить. И помочь на примере рассчитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тогда надо задачу правильно ставить. Мощность сети указывать, или процент от мощности сети и т.п. А 30 компьютеров и таргет вида

Хешь пусть будет с 5ю первыми нулями.

Это не условия задачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Это не условия задачи.

Спасибо за отзывчивость. Я конечно сам виноват, что плохо сформулировал то что хочу решить. Дело не в решении конкретной задачи с конкретными параметрами, которые можно подставить в формулу на той же страничке в вики и получить результат.

Меня интересует сам подход. Предположим я разрабатываю защитную систему по типу получения хеша для защиты некоторой информации. И меня интересует то как можно рассчитать сложность исходя из вычислительной мощности(например количества компьютеров).

 

Если с простым числом более менее всё просто. Например получаем сумму байт информации и прибавляем дополнительное число чтобы получить нужное в заданном диапазоне.

А вот как быть с хешем мне не совсем понятно. Как можно рассчитать получение хеша с заданным количеством первых нулей? Хочется чтобы грамотный человек попробовал мне объяснить как это можно сделать. Как то так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ouem,

Могу попробовать, но с такой расплывчатой формулировкой и ответ будет соответствующим.

 

 

Как можно рассчитать получение хеша с заданным количеством первых нулей?

Теория вероятностей. Скажем мы знаем, что в среднем по алгоритму X у нас требуется N попыток для нахождения хэша с заданой последовательностью символов, ну пусть это будут нули в начале, но проще и точнее сказать, что чтобы хэш был меньше определенного числа. Сказать какой будет хэш заранее мы не можем, в этом и есть защита, но мы знаем количество попыток, которое в среднем нужно. Скажем число, меньше Z мы назовем минимальной сложность, единицей. Тогда при сложности 1 нам подходят все решения <=Z. При этом мы хотим, чтобы у нас блоки находились равномерно, например 6 блоков в час. Если к сети подключается много компьютеров, и блоки находятся чаще, то мы можем пропорционально увеличить сложность. Это приведет к тому, что таргет станет труднее найти. На тот же процент, насколько увеличилась мощность, мы уменьшаем искомое число, грубо говоря. И раз в какое-то количество блоков мы устраиваем пересчет сложности. Начали за период на 10% быстрее чем надо блоки находиться - значит новая сложность после пересчета увеличивается на 10%. Ну и если уменьшилась, то уменьшаем сложность. Но не менее 1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Видно, что вы грамотный в данном вопросе человек. Спасибо. Всё подробно объяснили.

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

Как например определить количество N попыток для нахождения хэша при алгоритме MD5?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Господа гуру, вот такой пакет присылает  кошелек  майнеру в соло майнинге на алгорите х11   для  СмартКоин

 

Date: Tue, 27 Jan 2015 04:17:18 +0000
Connection: keep-alive
Content-Length: 592
Content-Type: application/json
Server: smartcoin-json-rpc/v0.9.0.0-g4753655-beta         (где то ниже указана вот эта сложность///    diff  5.321  )

{"result":{"midstate":"5ea0f78a0ac630fd79f70a4f05caf493c2abbc467bfa7cab3028c86924afd170","data":"00000002ad573cdc03ecbb2fd8c37c9f7e60dba3fbe93f620324da494339e99fb2a4569393563879958f288c577f5d75e95379ba1b4425ec1175d9cf1e62c5491239a70754c711531c301b2600000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000","hash1":"00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000","target":"00000000000000000000000000000000000000000000000000261b3000000000"},"error":null,"id":0}
 

 

Мне необходимо найти эту сложность и сделать ей +1 чтобы  майнер думал что сложность сети 6.321...    Кто нибудь знает  какие цифры и каким образом тут нужно изменить ?

 

P.S.  Если это сделать то хэшрейт можно увеличить эдак раз в 200...


или вот  2 пакета  в них где то спрятана одна и таже  сложность сети  5.321

 

{"result":{"midstate":"c2130bf80fcd9d657d04a61f12f4251d6ee966d0c28e7e2d444fda43340756b9","data":"00000002ad573cdc03ecbb2fd8c37c9f7e60dba3fbe93f620324da494339e99fb2a456936e0fea95d31a0dff6db97cac5adb7b10aa3f8de1e151175c9bcd11650fb8bf8454c711161c301b2600000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000","hash1":"00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000","target":"00000000000000000000000000000000000000000000000000261b3000000000"},"error":null,"id":0}
 

 

{"result":{"midstate":"5ea0f78a0ac630fd79f70a4f05caf493c2abbc467bfa7cab3028c86924afd170","data":"00000002ad573cdc03ecbb2fd8c37c9f7e60dba3fbe93f620324da494339e99fb2a4569393563879958f288c577f5d75e95379ba1b4425ec1175d9cf1e62c5491239a70754c711531c301b2600000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000","hash1":"00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000","target":"00000000000000000000000000000000000000000000000000261b3000000000"},"error":null,"id":0}
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

P.S. Если это сделать то хэшрейт можно увеличить эдак раз в 200...

Кому? :D

И в чем профит этой мутной затеи? Заставить свой майнер поработать вхолостую?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×