Один остаток, два распоряжения
Представьте, что Алиса контролирует десять единиц цифровой ценности. Почти одновременно она подписывает платёж десяти единиц Бобу и платёж тех же десяти единиц Еве. Это не две оплаты, обеспеченные двадцатью единицами, а два конфликтующих предложения, расходующих один источник.
Одна физическая банкнота не может одновременно находиться в двух кассах без подделки или кражи. Но цифровые сообщения идут разными маршрутами, и компьютеры могут получить их в разном порядке. Без общего решения и Боб, и Ева могли бы считать, что именно их платёж пришёл первым.
Почему действительной подписи недостаточно
Алиса может правильно подписать оба распоряжения. Подпись подтверждает её разрешение, но не сообщает всей сети, какое сообщение считать первым. Время на часах отправителя ненадёжно: часы могут идти неверно, а сообщения доходят с разной задержкой.
Обычные цифровые платежи передают спор банку или эмитенту токена. Администратор ведёт остатки либо список использованных единиц и отклоняет второй платёж. Ранние проекты цифровой наличности тоже часто сохраняли банк, который проверял серийный номер монеты или выявлял повторное расходование позже.
Как Биткоин выбирает общую историю
Транзакции Биткоина распространяются по сети. Узлы отклоняют транзакцию, расходующую выход, который в их действительном состоянии уже использован. Майнеры собирают действительные транзакции в блоки-кандидаты и ищут доказательство работы. Каждый блок ссылается на предыдущий, постепенно образуя упорядоченную историю.
Если временно возникают две действительные ветви, узлы следуют действительной цепочке с наибольшим накопленным доказательством работы. Один конфликтующий платёж может войти в принятую ветвь, а второй станет недействительным. Новые блоки увеличивают стоимость переписывания истории, поэтому для крупных сумм обычно ждут больше подтверждений.
- узел проверяет подписи и то, не были ли входы уже потрачены
- доказательство работы придаёт предлагаемой истории измеримый вес
- подтверждения уменьшают риск отмены, но не создают мгновенной математической окончательности
Решение — не магия и не абсолютная уверенность
Платёж, ещё не попавший в блок, может конфликтовать с другим, поэтому получатель должен учитывать риск. И после включения уверенность носит вероятностный характер: чем больше работы добавлено поверх блока, тем дороже создать более сильную альтернативную историю. Подходящее число подтверждений зависит от суммы, обстоятельств и терпимости к риску.
Модель также предполагает, что злоумышленник не удерживает решающую долю вычислительной мощности и что пользователь проверяет правила надёжным программным обеспечением. Биткоин не делает мошенничество невозможным при любых условиях; он создаёт открытую систему, где изменение истории измеримо дорого и публично проверяемо.