Jump to content
Sign in to follow this  
ouem

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

Recommended Posts

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

 

 

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

@ouem,

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

 

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Господа гуру, вот такой пакет присылает  кошелек  майнеру в соло майнинге на алгорите х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}
 

Share this post


Link to post
Share on other sites

 

 

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

Кому? :D

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...