Bitcoin — это очередная валюта

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

Начать, пожалуй, стоит с основных особенностей. Bitcoin является пиринговой, децентрализованной и анонимной криптовалютой. На общедоступный русский язык это переводится следующим образом: все транзакции происходят напрямую между субъектами по принципу p2p (пиринговая); не существует центрального органа управления валютой и эмиссионных центров, таких как центральный банк (децентрализованная); все транзакции, производимые от одного субъекта к другому происходят с использованием криптологических (шифрованных) ключей, защищающих перевод от вмешательства третьих лиц (криптовалюта). Напомню что купить биткоин всегда можно выгодно на сайте yobit.net.

Сразу хочу отметить, что существует распространенное заблуждение, что Bitcoin — это очередная валюта, которую можно распечатать в любых количествах, если получить доступ к соответствующему станку. Это не совсем так.

Когда Bitcoin создавался, то основной идеей было сделать не аналоги бумажной валюты, а аналог золота — того, чем большая часть современных денег подтверждена. Что же отличает золото от долларов, евро, гривен или рублей? Золото — ограниченный ресурс. Т.е. золота нельзя добыть больше, чем его есть в природе. Конечно, можно создать немного золота, например, бомбардировкой ртути тяжелыми нейтронами, но его количество будет крайне мизерным, а состояние полученных изотопов нестабильным.

Чтобы получить золото, его надо добыть. На это уходит время людей, которые непосредственно этим [добычей золота] занимаются. В итоге килограмм добытого золота можно приравнять к человекочасам, необходимым для его добычи и в дальнейшем использовать как эквивалент свободного труда, т.е. валюты.

Нечто подобное происходит и с Bitcoin. Количество «монет» ограниченно 21 млн. Когда общее количество биткоинов достигнет этого значения любая дальнейшая эмиссия прекратится, чтобы не допустить инфляции. А добыча биткоинов требует определенных затрат. Если в случае с золотом на добычу уходит труд человеческий, то на добычу биткоинов уходит «труд» компьютера.

Если для добычи золота человек должен взять породу, промыть ее и таким образом отделить золото от всего остального, то для добычи биткоина процессору нужно решить ряд математических задач. Если результат будет удовлетворять всем критериям — биткоин создан. Кстати, процесс добычи криптовалюты называется «майнинг».
Матчасть

Итак, что же происходит во время майнинга криптовалюты (кстати, не только Bitcoin, но и любой другой)? Задача майнера заключается в том, чтобы сгенерировать хэш (по сути, число), которое бы удовлетворяло общепринятым условиям. Делается это брутфорсом, на что и уходит весь ресурс процессоров, добывающих криптовалюту.

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

Bitcoin

Как только найден хэш (число полученное на выходе SHA-256 функции), удовлетворяющий этим критериям — создается блок биткоинов. И да, биткоины производятся именно в блоках, а не по одному. Изначально в блоке 50 биткоинов, но каждые 4 года стоимость нового блока уменьшается вдвое. В среднем, новый блок генерируется раз в 10 минут. Сейчас за блок дают 25 биткоинов.

Сложность корректируется каждые 2016 блоков. Если на последние 2016 блоков было затрачено больше двух недель, то сложность уменьшается, если меньше — увеличивается. Таким образом время на создание нового блока поддерживается на уровне раз в 10 минут.
Транзакции

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

Если вы хотите совершить транзакцию, т.е. передать какое-то количество биткоинов кому-то другому, то происходит примерно следующее. Создается новая транзакция, в которой указывается публичный ключ адресата, а также цифровая подпись отправителя. Также прописываются все необходимые свойства транзакции, такие как количество in и out (естественно, они должны быть равны), количество адресатов, время транзакции и прочее. Естественно, защищается все закрытым криптоключем, обсепечивающим безопасность.