Как работает вдвое: код позади обмана

Новости

Как блок-биткоин работают на инженерном уровне?Мы объясняем с помощью Андреаса Антонопулоса.

В недавнем видео Антонопулос подробно объяснил код Биткоин-ядра, который контролирует половину вознаграждения за биткоин (BTC).

Биткоин-код в два раза

Биткоин, делящий пополам кодИсточник: Биткоин Core Software.

Построчное объяснение

Каждый раз, когда оценивается биткоин-блок или добывается новый блок, вызывается функция GetBlockSubsidy.Его цель – рассчитать соответствующий размер вознаграждения за блок.Линия 1240 оценивает цикл деления пополам и делит текущую высоту блока на 210 000;Интервал между делением пополам.На момент написания этой статьи высота блока составляла 629369, если мы разделим ее на 210 000, мы получим 2,99.Поскольку переменная, в которой хранится это значение, является целочисленным типом, десятичные дроби отбрасываются.Используя эту информацию, код «знает», что у нас было две половины.Вот почему следующее сокращение будет происходить в блоке 630000.

Сатоши стоит исправлено

Строки 1242 и 1243 исправляют ошибку, которую Сатоши допустил в исходном коде.Первоначально эта ошибка продолжала уменьшать вдвое награду за блок после 64 половин;общее количество половин, встроенных в протокол Биткоин.

Строка 1245 умножает исходную награду блока 50 на постоянную МОНЕТУ, которая равна 100 000 000 сатоши.По иронии судьбы, в биткоин-коде нет Биткоин, только сатоши.

Строка 1247 вычисляет соответствующее вознаграждение за текущую высоту блока.Он использует побитовую операцию, которая более эффективна, чем обычные математические операции.Награда за блок, рассчитанная в строке 1245, затем корректируется в соответствии с текущей наградой за блок.В настоящее время это будет выглядеть так:

50 * 100 000 000/22 = 1 250 000 000 сатоши или 12,5 Биткоин.

Наконец, строка 1248 возвращает соответствующее вознаграждение за блок при вызове другой функцией или процедурой в биткоин-коде.

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

Термины в новости

Блок
Пакет транзакций, который добавляется в блокчейн. В биткоине новый блок появляется в среднем раз в 10 минут.
Высота блока (block height)
Порядковый номер блока в блокчейне. Например, четвёртый халвинг биткоина произошёл на высоте 840 000.
Сатоши
Наименьшая единица биткоина: 1 сатоши = 0,00000001 BTC. Названа в честь создателя биткоина Сатоши Накамото.
Награда за блок (block subsidy)
Новые монеты, которые сеть выпускает и отдаёт майнеру за найденный блок, без учёта комиссий. В биткоине после халвинга 2024 года — 3,125 BTC.

Все термины — в словаре криптовалют

CryptoHamster — криптовалютное медиа на русском и украинском языках, работает с 2018 года. За это время редакция опубликовала более 70 000 материалов о биткоине, альткоинах, DeFi, NFT и регулировании отрасли, сейчас — около 25 новостей в день. Мы отслеживаем курсы более 850 криптовалют, ведём подробные страницы ключевых монет и собственный словарь из почти 200 терминов. Наши справочные гайды объясняют сложное простыми словами: от устройства блокчейна и халвинга до стейкинга, стейблкоинов и защиты кошелька. Каждый гайд опирается на первоисточники и обновляется вместе с рынком.

Нашли неточность? Напишите нам — мы оперативно её исправим.

Оцените автора
CryptoHamster.org
Добавить комментарий