Сколько биткойнов в конечном итоге будет?

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

Ответы (7)

Каждый блок вводит в систему 50 новых монет. Это количество (50) уменьшается вдвое каждые 210 000 блоков. Итак, получить лимит монет, которые можно сгенерировать, довольно просто: это сумма геометрического ряда.

латексная формула

Также обратите внимание, что это верхняя граница; фактическое количество, вероятно, будет немного меньше из-за проблем с округлением (BTC имеет конечное число знаков после запятой, 8).

Артефакт, да, но это не теоретический предел... В основном это (10^8)... 100 000 000

Предварительно определенный график ограничивает общее количество биткойнов, так что они постепенно приближаются к 21 миллиону (игнорируя те, которые были потеряны из-за удаленных или неуместных файлов кошелька). Ограничение в 21 миллион биткойнов «зашито» в протокол , и никогда не будет больше биткойнов, чем это:

График, по которому биткойны высвобождаются в экономику за счет вознаграждения майнеров

Обратите внимание, что в тайминг встроены некоторые допущения, и если протокол не будет изменен, они фактически будут добыты немного раньше, чем предполагает эта диаграмма.
Или позже, если значение резко падает, и требуется некоторое время, чтобы снова стать достаточно низким. Но график является хорошим грубым приближением.
Я думаю, что это очень маловероятно. Даже если будет несколько резких падений, я думаю, что это будет перевешено общей тенденцией увеличения вычислительной мощности (и за ними последуют резкие падения сложности). Но да, это возможно.
Я думаю, что выражение «жесткая проводка» немного вводит в заблуждение. График производства закодирован в программном обеспечении и может быть изменен для создания большего количества биткойнов. К счастью, любой человек или любая группа, которые могут его изменить, сильно заинтересованы в сохранении лимита, поскольку он является неотъемлемой частью нашего представления о биткойне и доверии к нему.

Как упоминалось в Artefact2, Биткойн использует математику с фиксированной точкой для расчета субсидий на блок. Таким образом, игнорируя блок генезиса, который нельзя потратить, различные потерянные монеты и невостребованные вознаграждения, максимальное количество биткойнов составляет 20999999,9769 BTC.

Я нашел этот номер с помощью следующей программы Python:

COIN = 100 * 1000 * 1000
nSubsidy = 50 * COIN
nHeight = 0
total = 0
while nSubsidy != 0:
    nSubsidy = 50 * COIN
    nSubsidy >>= nHeight / 210000
    nHeight += 1
    total += nSubsidy

print total / float(COIN)

Он предназначен для отражения этого кода из биткойн-клиента:

int64 static GetBlockValue(int nHeight, int64 nFees)
{
    int64 nSubsidy = 50 * COIN;

    // Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
    nSubsidy >>= (nHeight / 210000);

    return nSubsidy + nFees;
}

Конечно, он отличается от 21 миллиона BTC всего на 3 битцента, так что разница несущественна.

В соответствии с BIP (предложением по улучшению биткойнов), который я нашел, этот код:

 nSubsidy >>= (nHeight / 210000);

фактически вернет генерацию вознаграждения к 50 в какой-то момент в 2200 году или около того. Делаем запас биткойнов бесконечным. Приведенный выше код Python не имеет этого свойства. Код C++ делает. См. BIP https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki .

На самом деле это правильный ответ. К сожалению, многие люди не знают об этом, потому что они не знают C++.
Григорий - что это означает на практике после 2200 года?
Внимательно отметьте дату на этом BIP.
Вы должны предоставить немного больше деталей: вы говорите о случае целочисленного переполнения? Находится ли этот код в эталонной реализации или в запросе на вытягивание, предложенном BIP, и в каком именно? Это отслеживаемая ошибка?

Согласно текущим правилам , будет максимум 21 миллион монет (объяснено в других ответах здесь). Однако я хотел бы добавить, что это по общему согласию, что означает, что это может быть изменено .

См. этот вопрос: Может ли быть гиперинфляция в биткойнах?

Глядя на историю денег, я скептически отношусь к тому, что когда-либо будет только 21 миллион монет. Я не знаю слишком много случаев в истории, когда деньги могли быть созданы из воздуха, но не были созданы. Было бы глупо игнорировать историю. Будет ли выпущено более 21 миллиона монет, зависит от того, будет ли это востребовано «народом», и опять же история является нашим проводником.

Ре. «Как это обеспечивается?»: ограничение в 21 миллион обеспечивается теорией игр. Теоретически 50% майнеров могли бы принять код, который увеличил бы скорость добычи, но это нарушило бы общественный договор, созданный Сатоши, безвозвратно повредил бы целостность биткойна и обрушил бы цену. Таким образом, любой человек или любая группа, которые могут изменить ограничение, заинтересованы в том, чтобы этого не делать.

Это неправильно. Полные узлы в сети проверяют все блоки, и если бы майнеры адаптировали свой код для увеличения количества печатаемых денег, их блоки были бы недействительны и просто проигнорированы сетью. Конечно, майнеры также могут попытаться убедить всю экосистему принять новые правила, но это гораздо сложнее, чем просто теория игр.
Мне кажется, неправильно говорить, что «майнеры также могут попытаться убедить всю экосистему принять новые правила». Разве это не должно быть 51%, а не вся экосистема?
@AlexMillar Ограничение установлено общественным договором. Этот контракт понимается с точки зрения теории игр.

Я написал подробный анализ предложения и инфляции в биткойнах для тех, кто интересуется математикой, стоящей за этим. Ниже приведена формула, выражающая предложение биткойнов в зависимости от высоты блока:

введите описание изображения здесь

где S — предложение, h — высота блока, альфа = 1/2, бета = 210 000, R_0 = 50, а квадратные скобки без верха обозначают функцию пола.

Принимая его предел как h-> бесконечность, мы приходим к тому же результату, что и @Artefact2.