Будет ли в итоге 21 миллион биткойнов?

Каждый x блокирует награду за добычу в два раза. Будет ли вознаграждение наполовину наполовину наподобие того, что мы никогда не достигнем 21 миллиона биткойнов, или мы достигнем 21 миллиона биткойнов в какой-то момент, и вознаграждение перестанет существовать вообще?

Дополнительные точки для указания соответствующего кода!

34 голоса | спросил erikvold 7 AM00000010000000831 2015, 01:48:08

2 ответа


79

Люди говорят, что общая сумма будет 21000000 BTC.

... однако:

  • Каждый из 1 210000 блоков позволяет создавать 50 BTC.
  • Двадцать 210000 блоков позволяют создавать 25 БТД.
  • Каждый третий 210000 блоков позволяет создавать 12.5 BTC.
  • ...

  • Каждый десятый 210000 блоков позволяет создавать 0.09765625 BTC.

  • 11-й 210000 блоков позволяют создавать 0.04882812 BTC, а не 0.048828125 BTC, потому что поддерживаются только 8 десятичных знаков точности.

  • ...

  • Каждый из 33-го 210000 блоков позволяет создавать 0.00000001 BTC.

После этого вознаграждение равно 0.

Если вы суммируете все эти числа вместе, вы получите 20999999.9769 BTC.

... однако, либо из-за недосмотра, либо намеренно, монеты, созданные в блоке генезиса, не могут быть потрачены.

Это оставляет нам 20999949.9769 BTC.

... однако, из-за ранней проблемы в биткойне, зафиксированной BIP30, удалось создать транзакцию с коинбазой, идентичную предыдущей коинбазе. Это заставило монеты, созданные этой старой коинбазой, быть необратимо «перезаписаны». Это произошло в блоке 91842 (перезапись коинбазы блока 91812) и 91880 (перезапись коинбазы блока 91722). Каждый раз было потеряно 50 БТД.

Это оставляет нам 20999849.9769 BTC.

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

  • Блок 124724 попытался преднамеренно потребовать 0,00000001 BTC меньше, чем разрешено, но случайно также не смог потребовать сборы, потеряв 0.01000001 BTC.
  • Между блоком 162705 и блоком 169899, ​​193 блока заявлены меньше, чем разрешено из-за ошибки, что приводит к полной потере 9.66184623 BTC.
  • Между блоком 180324 и блоком 249185 еще 836 блоков заявляли меньше, чем разрешено, что привело к полной потере 0,52584193 БТД.
  • В блоке 501726 не было транзакционных выходов (кроме обязательства 0-value), теряя всю 12,5 BTC субсидию.
  • Блок 526591 не требовал половины вознаграждения блока, потеряв 6.25 БТК.

Это оставляет нам 20999821.02921183 BTC.

... однако, так как в последнее время существует концепция доказуемо несвободных монет. Монеты могут быть отправлены на «адрес», который предположительно сжигает их (используя OP_RETURN). Bitcoin Core отслеживает эти данные и удаляет их из своей базы данных, поэтому они легко учитываются. По меньшей мере 3,71612692 BTC были сожжены таким образом.

Это оставляет нам 20999817.31308491 BTC (учитывает все до 528333)

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

Это оставляет нас: BTC.

ответил Pieter Wuille 7 AM00000030000004331 2015, 03:00:43
16

Ни. Награда в конечном итоге прекращается, но не на 21 миллион биткойнов.

Вот код (отредактированный для ясности и краткости):

int halvings = nHeight / 210000;
CAmount nSubsidy = 50 * COIN; // COIN is one Bitcoin
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
return nSubsidy >> halvings;

(источник.)

Обратите внимание, что он сокращает награду пополам, используя оператор бит-сдвига, а это значит, что в итоге он не сможет уменьшить вознаграждение блока ровно наполовину. Итак, сколько биткойнов в итоге получается?

20,999,999,9769 BTC, или 2,310,000 сатоши, не достигших 21 миллиона. (Если вы хотите быть очень весело на вечеринках, расскажите об этом, когда кто-то скажет, что максимальное количество биткойнов - 21 миллион.)

Затем существуют различные биткойны, которые не могут быть потрачены из-за различных особенностей протокола биткойнов, например, дублированная коинбаза . [Редактировать: Или многие другие случаи неподдерживаемых биткойнов, о которых Питер отвечает в своем ответе.]

ответил Nick ODell 7 AM00000020000003531 2015, 02:33:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132