В октябре сообщество отмечало добычу «юбилейного» 18-миллионного биткоина на блоке 600,000. Однако на самом деле цифра была немного иной — 17 999 817.32 BTC.
Куда же пропали 182,68 BTC из «формулы Сатоши»? ForkLog предлагает адаптированный перевод статьи аналитика Coin Metrics Якоба Франека, в которой он попытался разобраться, почему предложение биткоина меньше ожидаемого, а также подсчитать, сколько монет утрачены навсегда и почему так произошло.
Почему расчеты не верны?
Одна из ранних резервных копий кода биткоина демонстрирует установленное ограничение на вознаграждение за добытый блок. Из него следует, что предложение биткоина ограничено 21 млн монет, которые будут выпущены ориентировочно к 2140 году.
Малоизвестная деталь — кодовая база биткоина не предусматривает проверки, что количество всех когда-либо добытых ВТС не превысит 21 млн монет. Вместо этого программное обеспечение контролирует, чтобы майнеры не получили за блок больше, чем предопределено протоколом.
Подтверждением того, что 19 октября в сети биткоина была добыта 18-миллионная монета, можно считать подобные подсчеты:
210,000 блоков * 50 BTC + 210,000 блоков * 25 BTC + 180,000 блоков * 12,5 BTC = 18 млн BTC.
Тем не менее разработчик Bitcoin Core Питер Велле отметил, что, на самом деле, эмиссия не достигла 18 млн монет. Фактически на блоке 600,002 оказалось добыто 17 999 854.82192702 BTC.
«Количество монет в обращении трудно определить. Когда вы принимаете во внимание не только утраченные монеты, но также нерасходуемый генезис-блок, потери, которые мы перезаписали в пре-BIP30, сoinbase-транзакции, выплаты по которым оказались меньше возможного, и сожженные монеты при транзакциях OP_RETURN — вы получите это число», — написал он на Reddit.
Доказуемо потерянные биткоины
- Первые монеты
Блокчейн биткоина состоит из набора неизрасходованных транзакций (UTXO). Суммируя значения выходов биткоинов, можно увидеть предложение ВТС, отображенное в полных нодах.
3 января 2009 года человек или группа людей под псевдонимом Сатоши Накамото запустили основную сеть первой криптовалюты, добыв генезис-блок с наградой в 50 BTC. Однако выход этой транзакции не включен в набор UTXO. До сих пор неясно, сделано ли это намеренно или было упущением.
В результате эти 50 BTC отсутствуют в сети биткоина, даже если и отображаются в транзакции, включенной в основную цепь.
- Дубликаты coinbase-транзакций
Еще одна проблема — обработка дублирующихся транзакций. На первый взгляд, их существование кажется невозможным, поскольку уникальность транзакции обеспечивают цифровые подписи и ссылки на предыдущие транзакции.
Проще всего дублировать coinbase-транзакции, предназначенные для передачи майнеру награды за блок. При этом они не содержат цифровых подписей или ссылок на предыдущие транзакции.
Если бы майнер мог создать coinbase-транзакцию в качестве выплаты одинаковой суммы BTC на тот же адрес, транзакция была бы идентичной.
Подобные прецеденты уже случались дважды на ранних этапах развития сети:
- Транзакция d5d2…8599 была выходом coinbase для блоков 91,812 и 91,842.
- Транзакция e3bf…b468 стала выходом coinbase для блоков 91,722 и 91,880.
В каждом случае дублирующая транзакция была включена, а выход перезаписывался в предыдущие.
В результате два этих выхода не вошли в набор UTXO, а 100 BTC не записаны в блокчейн.
Разработчик Рассел О’Коннор еще в 2012 году заявил, что дублирующимися транзакциями могут воспользоваться злоумышленники.
Для устранения проблемы дублирующихся транзакций было принято предложение Питера Велле BIP-30. Однако обработка уже существующих дубликатов не изменилась, и они по-прежнему остаются в цепочке.
Позже BIP-34 значительно усложнил вероятность дублирования транзакций с наградой для майнеров, поскольку теперь они должны были включать размер блока, частью которого они являются.
- Невостребованные награды
Утраченные монеты также могут быть связаны с верификацией coinbase-транзакций полными нодами.
Биткоин-протокол предписывает, что майнер может зачислить себе определенное протоколом вознаграждение плюс комиссионные от транзакций, включенных в этот блок. Каждая полная нода проверяет, что майнеры не требуют сверх разрешенного.
При этом майнер может отказаться от награды, и подобные случаи происходили довольно часто. Первый раз это случилось в мае 2011 года, когда на блоке 124,724 майнер специально отказался от полной награды в качестве дани уважения Сатоши Накамото.
Другие инциденты, скорее всего, связаны с ошибками в ПО, используемом для генерации монет, учитывая суммы, потерянные майнерами.
Ниже отображены самые заметные подобные случаи:
На графике ниже показано количество блоков, за добычу которых майнеры не получили полного вознаграждения, сгруппированные по тысяче блоков:
Последний такой случай зафиксирован в конце февраля 2019 на блоке 564,959.
- Транзакции OP_RETURN
Это тип исходящих транзакций, содержащих данные размером до 80 байтов, но не имеющих UTXO.
Подавляющее большинство таких транзакций имеют нулевое значение, но не все. На блоке 600,000 общая сумма OP_RETURN транзакций составляла 3.723039 BTC, что делает их безвозвратно утерянными.
Резюме
Мы можем рассчитать фактическое предложение биткоина на блоке 600,000, вычитая утраченные монеты от общей суммы в 18 млн BTC.
Таким образом, «технически правильным» является значение в 17 999 817 BTC. Тем не менее стоит рассмотреть еще ряд случаев, которые привели к потере биткоинов.
Недоказуемо потерянные монеты
- Фиктивные адреса
До стандартизации функции OP_RETURN не существовало удобного способа сжигать биткоины, в результате чего пользователи прибегали к так называемым фиктивным адресам с неизвестным приватным ключом.
Как правило, создание биткоин-адреса начинается с приватного ключа, который впоследствии преобразуется в соответствующий ему адрес открытого ключа. Такой механизм затрудняет генерацию так называемых префиксов тщеславия (vanity public key), то есть содержащих в себе читаемые слова.
В случае с фиктивными адресами необходимости в приватном ключе нет, поэтому они могут начинаться с любого префикса.
Перечислить полный список фиктивных адресов не представляется возможным, но вот несколько самых известных:
Только на этих трех адресах находится 2213.19538012 BTC, потерянных на блоке 600,000.
Теоретически эти монеты не потеряны навсегда — приватный ключ можно отыскать методом подбора. Однако на практике вероятность обнаружения верной комбинации ничтожно мала.
- Ошибки
Разработчики современных биткоин-кошельков тщательно следят за безопасностью кода, отвечающего за создание, подпись и передачу транзакций. И хотя критические ошибки крайне редки, так было не всегда.
В ноябре 2011 года руководство криптовалютной биржи Mt. Gox стало жертвой бага в собственном ПО, они отправили 2609.36304319 BTC на фиктивный скрипт.
- Зомби-монеты
В число потенциально утраченных биткоинов входят так называемые зомби-монеты — те, которые не перемещались в течение многих лет.
Данное исследование учитывает биткоины, приходившие в движение до первого листинга криптовалюты на биржах в июле 2010 года. Причина проста: люди, не имевшие возможности обменять монеты на бирже, имели меньше стимулов для резервного копирования своих кошельков, поскольку на тот момент фактическая ценность биткоина была очень низкой.
На блоке 600,000 насчитывалось 1 496 907.88000 BTC, к которым последний раз обращались не позднее июля 2010 года. Предположительно, более чем половиной этих монет владеет Сатоши Накамото.
То, что эти биткоины по большей части остаются без движения (150 BTC из них были потрачены в июле 2019 года) позволяет предположить, что либо их владельцы избрали ходл-стратегию, либо утратили доступ к своим активам.
- Похищенные монеты
Еще одна категория монет, которую можно считать утраченной или по крайней мере вышедшей из обращения — монеты, похищенные в результате взломов криптовалютных бирж. До появления более совершенных биткоин-миксеров возвращение этих биткоинов в оборот маловероятно.
За всю историю биткоина происходило немало крупных взломов бирж. Расскажем о двух наиболее масштабных: кража 80 тысяч BTC у Mt. Gox в 2011 году и кража 120 тысяч BTC у Bitfinex в 2016.
В марте 2011 года неизвестный вывел 79 956 BTC ($73 тысячи на момент похищения или $600 млн на текущий момент) с кошелька Mt. Gox. До сегодняшнего момента монеты остаются нетронутыми. Адрес злоумышленника является шестым в списке самых богатых биткоин-кошельков.
Причина, по которой эта сумма до сих пор остается без движения, доподлинно неизвестна. Скорее всего, похититель утратил доступ к приватному ключу.
В августе 2016 года биржа Bitfinex потеряла 119 756 BTC в результате взлома. Большая часть этой суммы так и не была перемещена, восстановить удалось только 27 BTC. Начиная с блока 600,000, адреса, на которые были отправлены украденные монеты, все еще содержали свыше 117 091 BTC.
Вывод
Несмотря на изначально заявленную эмиссию биткоина в размере 21 млн монет, различные события повлияли на конечную сумму предложения первой криптовалюты.
Исходя из вышесказанного, можно выделить три скорректированных представления о предложении биткоинов:
- Технически правильное, которое учитывает все монеты, кроме доказуемо утраченных.
- Предложение, которое исключает доказуемо потерянные монеты, и монеты, которые долго не перемещались или были сожжены.
- Предложение, которое исключает украденные монеты в дополнение к доказуемо и недоказуемо потерянным монетам.
Данный анализ является одним из способов оценить истинное предложение биткоина. Он использует нисходящий подход, вычитая утраченные монеты от максимально возможного предложения криптовалюты. В зависимости от потребностей, различные категории рассмотренные в анализе могут игнорироваться или расширяться.
Еще одним способом подсчета является изучение последней активности монет с допущением, что биткоины, находящиеся без движения несколько лет подряд, с большей вероятностью являются утерянными.
В любом случае все допустимые варианты анализа и выводы по ним должны дополняться с течением времени.
На момент написания статьи, по данным CoinMarketCap, добыто 18 095 725 BTC. За вычетом доказуемо утраченных монет правдивое предложение биткоина равно 18 095 543 BTC.
Источник: forklog.com