За одного битого

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

Что такое криптовалюта, откуда она появилась и зачем нужна

Ключевое отличие традиционных валют от их криптоаналогов сводится к тому, кто и каким образом контролирует их выпуск и оборот. В первом случае это национальный или наднациональный центробанк, который печатает денежные знаки, снабженные несколькими уровнями защиты (как правило физической). Такую защиту можно преодолеть, пусть это и требует значительных инвестиций, а также преследуется по закону. Во втором случае выпуск криптовалюты и контроль за ее оборотом определяется самим устройством системы, то есть математическим аппаратом, лежащим в ее основе. Несмотря на то что в свое время биткоин вызвал большой ажиотаж во всем мире, он был далеко не первой попыткой создания криптовалютных систем. Тем не менее, автор системы биткоинов, известный под псевдонимом Сатоси Накамото ( Satoshi Nakamoto), настолько удачно скомбинировал результаты предыдущих попыток, что ему, без сомнений, удалось создать первую криптовалюту. В ее основе лежали два элемента — блокчейн ( block chain — «цепочка блоков»), или зашифрованная распределенная база данных, в которую записаны все транзакции с момента запуска, и «майнинг» — процесс решения вычислительных задач для проверки достоверности транзакций и контроля выпуска новых денежных единиц. Блокчейн был предложен в 1991 году в качестве механизма для контроля версий и времени создания цифровых документов. А решение хэш-задач, лежащих в основе майнинга, ярче всего проявилось в проекте HashCash. Он разрабатывался для борьбы со спамом в электронной почте: для того чтобы отправить письмо, компьютеру необходимо было решить простую вычислительную задачу. У одного пользователя это занимало несколько секунд, но для спамера, рассылающего миллионы сообщений, это становилось серьезной преградой. Тем не менее, HashCash по ряду причин не прижился и уступил более эффективной системе фильтров.В учебнике Принстонского университета по истории и теории биткоинов (есть и такой!) приводится список платежных систем, которые в той или иной степени можно считать предшественниками самой известной криптовалюты. В этом списке более 80 компаний, из которых, как отмечают авторы, только PayPal добился широкой известности, и то потому, что отказался от создания криптовалюты в пользу другой деятельности. Ближайшими предшественниками биткоинов были системы b-money (1998) и BitGold (2005). Их создатели уже реализовали идеи и зашифрованного «гроссбуха», в котором хранятся все транзакции, и «майнинга» — решения вычислительных задач для получения виртуальной валюты. Однако в обеих системах отсутствовала синхронизация «гроссбухов» между пользователями, а также не хватало контроля за «печатью» денег. Система биткоинов, описанная в 2008-м и официально стартовавшая в 2009 году, успешно справилась с обеими задачами, благодаря чему завоевала популярность среди энтузиастов. Тем не менее, долгое время биткоины не имели широкого признания, а их стоимость в традиционных валютных эквивалентах была минимальна: за 10 тысяч биткоинов один из первых пользователей смог купить всего две пиццы. Но с расширением сети пользователей увеличилась и стоимость биткоинов ( BTC), испытавшая настоящий бум осенью 2013 года, когда она превысила 1100 долларов США. На момент публикации статьи один биткоин стоил 603,67 доллара.


Какие ключевые компоненты входят в систему биткоина

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

Хэш-функция

Биткоин и его аналоги не просто так называются «криптовалютами» — это слово указывает на наличие зашифрованных данных, содержащихся в системе.В основе шифра лежит особая функция, которая для любых входных данных создает уникальный хэш ( hash) — набор фиксированного числа символов (обычно 256 или 512 бит). Хэш-функции необходимо обладать рядом свойств. Во-первых, она не должна приводить к «столкновениям» ( collisions), то есть для двух разных наборов исходных данных должны получаться два разных хэша. Если задуматься, это условие выглядит невыполнимым, так как входные данные могут быть любого размера, а хэш всегда ограничен по длине. Однако на практике вероятность совпадения двух хэшей для не совпадающих исходных данных необозримо мала, и подделать хэш простым перебором в обозримое время (сопоставимое с временем жизни Солнца, например) просто невозможно. Во-вторых, хэш-функция должна быть устроена так, чтобы, владея одним лишь хэшем исходного сообщения, его невозможно было расшифровать. Иными словами, обратная расшифровка хэша должна быть невозможна, система разрешает лишь подтвердить соответствие сообщения его хэшу.

Блокчейн

В основе системы биткоина лежит блокчейн — особый вид базы данных, в которой хранятся все операции, совершенные пользователями. Строго говоря, сами биткоины — это просто записи в базе данных, никакого другого физического или виртуального эквивалента у этой валюты нет. Блокчейн отличается от других типов баз данных тем, что в нем каждый элемент (блок) содержит не только информацию о нескольких транзакциях, но и указатель на предыдущий блок. Это означает, что можно хранить только последний блок цепочки и при этом всегда иметь возможность убедиться, что в предыдущие блоки никто не вносил изменений. Для этого надо скачать предпоследний блок и посчитать от него хэш: если он совпадет с указателем в последнем блоке, значит изменений не было. Теоретически эту операцию можно повторять вплоть до первого блока, однако весь блокчейн «весит» несколько десятков гигабайт, поэтому передавать его целиком неразумно.

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

Цифровая подпись

Мы привыкли подписывать документы, удостоверяя таким образом свое согласие с их содержанием. Однако как быть с подписями на просторах интернета? Если ваша подпись это набор символов (текст или картинка), то ее легко можно скопировать, то есть украсть. Настоящая цифровая подпись устроена сложнее простого росчерка пера и тоже активно пользуется хэш-функциями. Для того чтобы завизировать электронный документ, пользователю необходимо иметь два ключа — закрытый и открытый. Открытым он делится с адресатом своего сообщения, а закрытый хранит как зеницу ока и использует для создания самой подписи. Последняя может, например, быть просто хэшем от данных вида «документ»+«закрытый ключ». По хешу нельзя восстановить закрытый ключ, но этого и не требуется. Достаточно, чтобы подпись была узнаваемой, то есть, имея открытый ключ, исходное сообщение и цифровую подпись, можно было сказать, что эта подпись действительно принадлежит владельцу закрытого ключа.Все становится еще проще, когда мы узнаем, что в сети биткоин нет как таковых аккаунтов. Пользователем этой криптовалюты считается владелец закрытого ключа. Любая транзакция выглядит следующим образом: «открытый ключ А отправляет открытому ключу Б N биткоинов. Подписано: открытый ключ А». Теперь любой другой пользователь может проверить, что это сообщение действительно зашифровано не кем иным, как владельцем закрытого ключа А значит, подпись достоверна. В большинстве криптовалют соблюдается определенная анонимность, основанная на том, что обмен биткоинами идет только между ключами (своего рода «электронными кошельками»), причем у одного человека может быть любое число таких ключей, он даже может создавать новый кошелек для каждой новой транзакции. Отследить движение средств между кошельками очень легко — вся информация о транзакциях открыта. Но связать «кошелек» с его реальным владельцем, пользуясь только информацией из системы биткоин, как правило, невозможно.

Майнинг

Так как у биткоинов нет центробанка, который отвечает за достоверность транзакций, их надо проверять, перед тем как вносить в блокчейн. Пользователь, которому выпала честь составить «официальный» вариант нового блока, теоретически может повлиять на происходящие транзакции. Однако если он решит заняться черной бухгалтерией, любая проверка на следующем этапе с огромной вероятностью это выявит подлог. Поэтому резонов заниматься махинациями у «временного центробанка» нет. Создатель биткоина нашел решение сразу двух проблем: мотивации проверяющего и выпуска новых денежных единиц. Тот, кому выпал шанс добавить в цепочку новый блок, получает в качестве бонуса право на уникальную транзакцию: создание новых биткоинов и присвоение их своему ключу, причем размер этой награды фиксирован — например, сейчас он составляет 12,5 биткоина. Чтобы стать их счастливым обладателем, необходимо раньше других решить особую задачу ( puzzle) и предъявить «доказательство (проделанной) работы» ( proof-of-work): необходимо найти такое число, которое в сочетании с хэшем предыдущего блока и списком транзакций нынешнего блока даст хэш, попадающий в заранее оговоренный интервал. Сложность этой задачи обусловлена тем, что она решается только перебором, поэтому номинально у всех «майнеров» ( miner — «шахтер») есть равные шансы найти ответ первым. В реальности награда оказывается велика, так как вдобавок к 12,5 биткоина пользователь получает и комиссию, предусмотренную транзакциями, попавшими в новый блок. По этой причине пользователи готовы инвестировать большие средства в создание «ферм», то есть специальных компьютеров, решающих хэш-задачи. Получается, что шансы пользователя пропорциональны мощности его фермы, а это в перспективе может привести к монополизации и обвалу всей системы. Кроме того, растет и суммарная мощность сети. По этим причинам сложность задач автоматически адаптируется каждые 2016 блоков: для этого уменьшается интервал, в который должен попасть хэш. Этот порог рассчитывается так, чтобы в среднем новый блок создавался каждые 10 минут. Проблема инфляции решается так же в рамках майнинга, так как он представляет собой единственный способ «печати» новых денежных знаков. Каждые 210 тысяч блоков награда уменьшается в два раза, поэтому общее число биткоинов в системе строго ограничено. По текущим оценкам, награда станет минимальной к 2030 году, а всего будет «напечатан» 21 миллион биткоинов. Эта сумма не будет увеличиваться, но может уменьшаться: например, в скриптовом языке системы биткоин есть возможность уничтожить свои деньги. Это может оказаться полезным, если пользователь захочет сохранить какую-то информацию в блокчейне, так как она (вместе с временной отметкой) сохранится до тех пор, пока работает биткоин. Другой способ уменьшить объем денежных единиц — потерять или уничтожить закрытый ключ. В этом случае пользователь полностью теряет доступ к биткоинам. В такую ситуацию, например, попал британец Джеймс Хоувелс, который выкинул ноутбук, на котором хранился закрытый ключ, потеряв таким образом 7500 биткоинов. На ноябрь 2013 года их эквивалент составлял 7,5 миллионов долларов.


Nintendo

COM_SPPAGEBUILDER_NO_ITEMS_FOUND