Спасибо, им придется пройти через это несколько раз, прежде чем я могу работать точно, что ваша речь, но я буду получать их в конце концов. Кажется довольно сложным.
Так что решает, что текущая цель? являются все горнодобывающие клиенты синхронизированы и содержат ответ на решение блока? почему не могу кого-то просто посмотреть на источник, чтобы найти то, что цель и помоему это мгновенно?
Представьте себе, я сказал вам, что вы должны были свернуть набор из 15 шестигранных костей несколько раз, пока не выпадет 6, по меньшей мере, 10 из них одновременно.
Изменяя цель, которую вам нужно попасть, я могу изменить "трудность" получения раствора. Я могу установить цель на "6, по меньшей мере, 3 кубиков одновременно" если я хочу, чтобы сделать его проще, или я могу поставить перед собой цель как "6, по меньшей мере, 14 кубиков одновременно" если я хочу, чтобы сделать его более трудным. Это не меняет процесс, который вы используете, он просто меняет цель вам нужно попасть.
Это хорошая аналогия, как Bitcoin работает хэширования.
Хэш представляет собой математический процесс, который работает таким образом, что невозможно знать заранее, что результат будет до тех пор, пока его вычислить. Таким образом, вы должны выбрать значение, попробуйте хеширования, и посмотреть, что результат. Если результат соответствует цели, то вы "выиграть", Если результат не соответствует целям, все, что вы можете сделать, это выбрать другое значение и повторите попытку. Вы продолжайте пытаться снова и снова до тех пор, как вы нашли результат, который соответствует целям, или вы получите блок от кого-то другого, который успешно найден результата, который соответствует целям.
Для Bitcoin, то "цель" это просто число, результат должен быть меньше. Результаты SHA256 хэш будет где-то между 0 и 1.158 X 10
77, но позволяет работать с меньшими номерами, чтобы сделать его проще для понимания. Представьте себе, что у вас есть хэш-функция, что приводит к ряду от 1 до 100. Это невозможно предсказать, какой результат будет до тех пор, пока вы рассчитывали его увидеть. Я говорю вам, что цель "50"Это означает, что любое число меньше 50 будет считаться успехом. Вы можете продолжать использовать ту же хэш-функцию, и я могу сделать успех более трудным, понижая цель "5"Или я могу сделать его более легким путем повышения цели "95",
Каждый полный узел, который работает на сеть использует ту же самую формулу для расчета, что трудности должны быть прямо сейчас. Поэтому, если шахтер пытается транслировать блок, который не имеет решения, которое удовлетворяет нынешние трудности, то каждый узел сети будет просто игнорировать блок этого шахтера. Это будет получить выброшено, и он потратил все свои усилия в решении этого блока. Таким образом, каждый шахтер есть стимул, чтобы убедиться, что он использует ту же формулу для определения текущей трудности, как и все остальные. Если он ставит свою собственную трудность слишком легко, то все будут игнорировать его блоки. Если он ставит свою трудность слишком трудно, то он мог бы найти верное решение, что все будут принимать, но он не заметит, потому что он проверка на неверную трудность (и поэтому он не в состоянии транслировать этот блок и получить оплату за Это).
Трудность корректируется каждые 2016 блоков. Формула для регулировки трудности требует, глядя на общую сумму времени, которое потребовалось для тех блоков 2016 года должны быть решены. Если это больше, чем 20160 минут, то это занимает слишком много времени и трудности слишком трудно. Если он меньше, чем 20160 минут, то это не займет достаточно долго и трудности слишком легко. Текущая сложность регулируется точно такой же пропорции, что и количество времени, что 20160 минут был пропущенный. Так, если 2016 году блоки были решены в 10080 минут, они пришли в два раза быстрее, чем они должны, и цель разрезают пополам (сложность удваивается). Если блоки 2016 были решены в 22176 минут, после чего они пришли 10% слишком медленно, и цель увеличивается на 10% (сложность снижается на 10%).