Средний Урок 6 4 мин чтения

Проверить узел: проверять вместо того, чтобы доверять

Обычного компьютера и диска достаточно, чтобы перестать спрашивать у других, что есть истина.

Почти каждый, кто использует Bitcoin, спрашивает о своем балансе у кого-то другого. Вы открываете кошелек, он обращается к серверу, сервер отвечает числом, и вы верите. В подавляющем большинстве случаев число верное. Но обратите внимание на глагол: верите. Существует альтернатива, и она помещается в обычный компьютер на вашем столе.

Полный узел загружает все блоки с января 2009 года и проверяет каждый из них самостоятельно. Он проверяет подпись каждой записи каждой транзакции, убеждается, что ни одна монета не была потрачена дважды, пересчитывает корень меркле каждого блока, пересчитывает хеш каждого заголовка в соответствии с целью того момента и подтверждает, что вознаграждение, выплаченное каждому майнеру, было точно таким, как разрешено правилом эмиссии. Это более миллиарда транзакций, проверенных одна за другой, и результат — это набор непотраченных выходов, который он создал самостоятельно, не спрашивая никого, правильно ли это.

Или вы измеряете, или кто-то измеряет за вас.

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

Проверка от первого до последнего — это путешествие на целый день, и оно совершается только один раз.

Одна настройка заслуживает объяснения, потому что она часто неправильно понимается. Программа поставляется с оптимизацией, которая пропускает проверку подписей в очень старых блоках, ниже точки, отмеченной в коде. Это не слепое доверие: эта точка — это хеш блока, который любой может проверить в двадцати независимых источниках, и кто хочет отключить оптимизацию и проверять подпись за подписью с 2009 года, может сделать это с помощью одной строки конфигурации.

Если диск маленький, существует обрезка. Узел загружает каждый блок, проверяет каждый блок, а затем удаляет старые, сохраняя только набор непотраченных выходов и последние блоки. Минимум помещается в менее чем один гигабайт. Обрезка — это не доверие третьим лицам: это проверка и затем выбрасывание доказательства.

Обрезка — это не доверие. Это проверка всего и затем выбрасывание доказательства.

На практике, что изменится для вас? Три вещи. Кошелек начинает спрашивать ваш узел, и ответ больше не зависит от честности компании. Ваша конфиденциальность значительно улучшается, потому что вы больше не сообщаете чужому серверу все адреса, которые у вас есть — что, как покажет урок о конфиденциальности, является самым распространенным утечкой. И, главное, вы начинаете отстаивать правила: если завтра большинство майнеров решит создать монеты вне запланированной эмиссии, ваш узел отклонит эти блоки и продолжит цепочку, которая следует правилам, которые вы приняли. Именно это решило спор 2017 года, как уже рассказал модуль о том, что такое Bitcoin.

Стоит быть честным о том, чем не является запуск узла. Это не приносит денег, это не майнинг и не ускоряет ничего. Это не защищает вас от потери сид-фразы или от попадания в мошенничество. И большинство людей никогда не будет его запускать, что вполне нормально: сети нужно, чтобы запуск был дешевым и возможным, а не чтобы все его запускали. Ценность в том, что стоимость достаточно низка, чтобы опция существовала для любого, в любом месте, без необходимости спрашивать разрешения.

Компьютер за сто долларов и диск решат задачу. Это разница между тем, чтобы иметь мнение о правилах Bitcoin, и тем, чтобы быть одним из мест, где они реализуются.

С базовым уровнем, понятым изнутри, начинаются вопросы, на которые он сам не отвечает: как заплатить за кофе за одну секунду, что изменилось с Taproot, почему была война блоков и что именно блокчейн раскрывает о вас. Это тема следующего модуля.