Удачная метафора «добычи» (mining) биткойнов, словно кусочков золота на рудниках или реках, позволяет пояснить, каким образом эти монеты появляются непосредственно на руках у участников, а не выдаются им неким центральным органом власти. Конечно же, те, кто располагает более значительным числом процессоров, получают большую долю «добываемых» монет. Однако и в теории, и на практике эти инструменты доступны для каждого – в отличие от централизованного станка для печатания денег. А принимая во внимание то количество трудозатрат, что уходит уже сейчас на добычу монет, сложно представить, что целенаправленное разворачивание больших усилий по генерации биткойнов принесёт ощутимые барыши (хотя и предполагается, что цена биткойна стабильно будет расти, обеспечивая этим усилиям положительное матожидание).
Чтобы без формул и блок-схем пояснить суть работы всей системы, пора уточнить, что добыча «монет» – это не цель процесса, а скорее побочный результат распределённых вычислений, занятых подтверждением честности каждой конкретной финансовой транзакции в сети. Можно говорить, что в основе системы Bitcoin лежат, во-первых, вполне обычная конструкция электронных монет из цифровых криптосигнатур (что обеспечивает надёжный контроль за принадлежащими участнику средствами), а во-вторых, для эффективного предотвращения многократного расходование одних и тех же средств – пиринговая сеть, где для записи публичной истории транзакций применяется алгоритм «доказательства работы».
Как и в прочих пиринговых системах, когда вы становитесь участником и запускаете свою программу, она ищет другие работающие программы, чтобы связываться с ними и «синхронизировать экономику» в единой сети. Сообщения о транзакциях передаются в системе на основе принципа максимально широкого распространения, а все узлы могут свободно покидать сеть и присоединяться к ней по своему желанию.
Чтобы не было жульничества, в сети автоматом проставляются отметки о дате-времени каждой осуществляемой транзакции биткойна. И тут же эти отметки (вместе с закодированной информацией об отправителе и получателе монеты) преобразуются хеш-функцией в элемент постоянно нарастающей цепочки «доказательства работы» на основе вычисленных хешей. Таким образом в сети формируется запись полной истории всех биткойнов, которую всегда можно проверить и нельзя переделать, не проделав по новой всю уже выполненную ранее «доказательную работу».
В условиях, когда честные узлы сети контролируют большинство процессоров, участвующих в работе системы, для злоумышленника быстро становится вычислительно непрактичным мошенничать, то есть пытаться изменять историю транзакций. То есть теоретически для биткойна всегда могут появляться несколько разных цепочек блоков. Однако в условиях честного большинства самая длинная цепочка служит наиболее надёжным доказательством подлинности транзакций, пришедшим от самого большого множества узлов в сети. Именно такие цепочки и отбираются узлами как валидные для дальнейшей обработки.
Что же касается порождения в этом процессе монет-биткойнов, то выглядит генерация примерно так. Постоянно перемалывая хешированием очередные блоки данных о транзакциях, компьютеры, участвующие в коллективной «добыче», попутно решают задачу по отысканию хеш-значений минимальной длины. То есть успехом вычислений считается получение хеша с определённым числом нулей в первых разрядах. Из-за специфических свойств хеш-функций процесс поисков идёт по сути случайным образом, а нахождение очередного числа минимальной длины означает успех, который фиксирует или «замораживает» собой вычисления данного блока цепочки (и переход к следующему). Для участников же вычислений замороженного блока достигнутый успех означает получение пятидесяти биткойнов, которые распределяются между ними согласно вычислительному вкладу.
С течением времени количество биткойнов, добываемых при каждом успехе, будет уменьшаться. Максимально возможное количество монет в системе ограничено числом в 21 миллион штук. Когда этот потолок будет достигнут (согласно расчётам после 2030 года), больше монет генерироваться не будет. В настоящее время сгенерировано около шести миллионов биткойнов, однако с каждым годом находить ещё не отысканные хеши с нулями на первых местах будет всё труднее и труднее, примерно как с добычей постоянно иссякающих запасов золота.