Доказательство работы (Proof of work)
Доказательство работы — способ решить, кто добавит следующий блок: майнеры тратят электричество на подбор, а верный ответ легко проверить, но дорого получить.
Как работает
Майнер дважды хеширует заголовок блока функцией SHA-256. Результат должен оказаться числом меньше текущей цели. Хеши выглядят случайными, поэтому найти подходящий можно только перебором: менять nonce (и другие поля) и пробовать снова. В среднем сети нужно около сложность × 2³² попыток на блок.
Проверка требует одного хеширования, поэтому любая нода мгновенно подтверждает работу. Действительной считается цепочка с наибольшей накопленной работой.
Происхождение
Идея пришла из Hashcash — антиспам-схемы Адама Бэка 1997 года, на которую ссылается whitepaper. Биткоин превратил работу в лотерею за право записать следующий блок и стал платить победителю новыми монетами.
Энергия
Электричество и есть защита: переписать историю можно, только потратив больше энергии, чем честная сеть. Стоит ли оно того — предмет споров; основные аргументы с источниками собраны на странице «Оранжевая таблетка».
См. также
- МайнингМайнинг — работа по добавлению новых блоков в биткоин. Майнеры запускают специальные компьютеры (ASIC), которые подбирают числа; победитель каждого раунда получает субсидию за блок и комиссии.
- ХешрейтХешрейт — сколько попыток в секунду делают все майнеры биткоина вместе. Чем он выше, тем больше энергии защищает сеть.
- Пересчёт сложностиКаждые 2016 блоков (примерно две недели) биткоин делает майнинг сложнее или легче, чтобы блок по-прежнему появлялся в среднем раз в десять минут.
- Анонс Hashcash28 мар. 1997: Адам Бэк объявляет в рассылке cypherpunks о «hash cash postage»: отправитель доказывает работу, находя частичную коллизию SHA-1 — её дорого найти и мгновенно проверить.
- БлокБлок — пачка транзакций биткоина, которая добавляется в цепочку примерно раз в десять минут. Майнер, нашедший его, получает новые монеты и комиссии.