Наверняка, многие из вас слышали о такой штуке как Bitcoin. Возможно, вы даже знаете о том, что это криптовалюта, которой можно расплачиваться в Сети без необходимости платить проценты банкам и прочим привычным финансовым институтам, а также о том, что биткоины можно майнить у себя дома, не вставая с дивана. Но давайте же подробно разберемся, как же все это работает на самом деле.
Начать, пожалуй, стоит с основных особенностей. Bitcoin является пиринговой, децентрализованной и анонимной криптовалютой. На общедоступный русский язык это переводится следующим образом: все транзакции происходят напрямую между субъектами по принципу p2p (пиринговая); не существует центрального органа управления валютой и эмиссионных центров, таких как центральный банк (децентрализованная); все транзакции, производимые от одного субъекта к другому происходят с использованием криптологических (шифрованных) ключей, защищающих перевод от вмешательства третьих лиц (криптовалюта).
Сразу хочу отметить, что существует распространенное заблуждение, что Bitcoin — это очередная валюта, которую можно распечатать в любых количествах, если получить доступ к соответствующему станку. Это не совсем так.
Когда Bitcoin создавался, то основной идеей было сделать не аналоги бумажной валюты, а аналог золота — того, чем большая часть современных денег подтверждена. Что же отличает золото от долларов, евро, гривен или рублей? Золото — ограниченный ресурс. Т.е. золота нельзя добыть больше, чем его есть в природе. Конечно, можно создать немного золота, например, бомбардировкой ртути тяжелыми нейтронами, но его количество будет крайне мизерным, а состояние полученных изотопов нестабильным.
Чтобы получить золото, его надо добыть. На это уходит время людей, которые непосредственно этим [добычей золота] занимаются. В итоге килограмм добытого золота можно приравнять к человекочасам, необходимым для его добычи и в дальнейшем использовать как эквивалент свободного труда, т.е. валюты.
Нечто подобное происходит и с Bitcoin. Количество “монет” ограниченно 21 млн. Когда общее количество биткоинов достигнет этого значения любая дальнейшая эмиссия прекратится, чтобы не допустить инфляции. А добыча биткоинов требует определенных затрат. Если в случае с золотом на добычу уходит труд человеческий, то на добычу биткоинов уходит “труд” компьютера.
Если для добычи золота человек должен взять породу, промыть ее и таким образом отделить золото от всего остального, то для добычи биткоина процессору нужно решить ряд математических задач. Если результат будет удовлетворять всем критериям — биткоин создан. Кстати, процесс добычи криптовалюты называется “майнинг”.
Итак, что же происходит во время майнинга криптовалюты (кстати, не только Bitcoin, но и любой другой)? Задача майнера заключается в том, чтобы сгенерировать хэш (по сути, число), которое бы удовлетворяло общепринятым условиям. Делается это брутфорсом, на что и уходит весь ресурс процессоров, добывающих криптовалюту.
Регулируется все таким параметром как сложность. Чтобы созданный блок считался созданным, у него должен быть уникальный хэш, который будет меньше максимально возможного значения минус сложность.
Как только найден хэш (число полученное на выходе SHA-256 функции), удовлетворяющий этим критериям — создается блок биткоинов. И да, биткоины производятся именно в блоках, а не по одному. Изначально в блоке 50 биткоинов, но каждые 4 года стоимость нового блока уменьшается вдвое. В среднем, новый блок генерируется раз в 10 минут. Сейчас за блок дают 25 биткоинов.
Сложность корректируется каждые 2016 блоков. Если на последние 2016 блоков было затрачено больше двух недель, то сложность уменьшается, если меньше — увеличивается. Таким образом время на создание нового блока поддерживается на уровне раз в 10 минут.
Помимо хэша у блока биткоинов существует ряд свойств, описывающие каждую транзакцию, которую он прошел. Пример блока можно посмотреть тут.
Если вы хотите совершить транзакцию, т.е. передать какое-то количество биткоинов кому-то другому, то происходит примерно следующее. Создается новая транзакция, в которой указывается публичный ключ адресата, а также цифровая подпись отправителя. Также прописываются все необходимые свойства транзакции, такие как количество in и out (естественно, они должны быть равны), количество адресатов, время транзакции и прочее. Естественно, защищается все закрытым криптоключем, обсепечивающим безопасность.
Когда транзакция создана, она проверяется сетью на валидность, после чего заносится в общедоступный список транзакций, доступ к которой может получить каждый. Также в каждом биткоине записаны все предыдущие транзакции, которые с ним происходили.
Добывать биткоины можно самостоятельно, подключившись к сети и установив соотвествующее ПО. Также можно купить отдельно устройство, которое будет, например, подключаться через USB и автономно майнить. Это называется соло-майнингом.
Сейчас соло-майнинг, как правило, невыгоден. Затраты на электроэнергию не перекрываются заработанными биткоинами, так что не спешите начинать. Сегодня существуют так называемые пулы, объединения майнеров, которые совместными усилиями добывают блоки, а затем делить “добычу” между собой.
Существует несколько видов пулов, которые рознятся правилами выплат и организацией внутренней работы их участников. Если вы хотите присоединиться к одному из них, внимательно изучите все варианты.
Также заполучить биткоины сейчас можно банально купив их на бирже.
Если с “обычными” деньгами все понятно — вы либо держите в руках наличку, либо имеете счет в банке, который, если опустить условности, хранит и передает эту самую наличку за вас. С биткоинам же все несколько иначе.
По сути, биткоинами является файл wallet.dat, который и является хранилищем для ваших “монет”. Держать его можно как в “холодном хранилище”, т.е. не подключенном к сети, или же на чем-то с чего можно распоряжаться с помощью специальных программ.
Далее, чтобы распоряжаться вашими биткоинами, вам нужно завести себе биткоин-бумажник. Это может быть приложение, установленное на ваш компьютер или смартофн или же сторонних сервисов, который сделает это за вас на собственных серверах. Как только у вас есть собственный кошелек, вы можете сгенерировать себе биткоин-адрес. Следует знать, что адрес желательно менять каждый раз, т.к. он публикуется в общем списке транзакций и может попастьв руки к третьим лицам. Количество биткоин-адресов не ограничено.
Сегодня мы в общих чертах узнали что такое биткоины и криптовалюты в целом. Стоит отметить, что Bitcoin — далеко не единственная криптовалюта, но самая популярная и дорогая на данный момент. Помимо этого существует Litecoin, Dogecoin и др. Никто, собственно, не запрещает создать, например, keddrcoin, распространить ее и использовать в качестве валюты.
Если у вас есть вопросы о криптовалютах, их майнинге, хранении или о чем-то еще, то смело задавайте их в комментариях. Также прошу высказаться по поводу того, хотите ли вы видеть на кеддре рубрику “как это работает” на постоянной основе. Если да, то предлагать темы для статей можете в комментариях или же мне в твиттере, где вы по совместительству можете на меня подписаться.