Статьи Технологии 15.04.2014 в 10:00 comment

Что такое криптовалюта и как она работает

author avatar
https://secure.gravatar.com/avatar/22a7cb673c7600faa5739de610856c43?s=96&r=g&d=https://itc.ua/wp-content/uploads/2023/06/no-avatar.png *** https://secure.gravatar.com/avatar/22a7cb673c7600faa5739de610856c43?s=96&r=g&d=https://itc.ua/wp-content/uploads/2023/06/no-avatar.png *** https://itc.ua/wp-content/themes/ITC_6.0/images/no-avatar.svg

Андрей Белокриницкий

Обозреватель и автор журнала "Домашний ПК" (Andretti)

Production Of Bitcoins By Mike Caldwell of Casascius

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


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

 

Особенности цифровой валюты

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

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

Еще одним преимуществом ЦВ является практически нулевая стоимость переводов. Если банки берут за свои услуги определенную плату, вплоть до нескольких процентов, то ЦВ переводится со счета на счет фактически бесплатно.

Онлайн-курс Pyton від Powercode academy.
Опануйте PYTHON з нуля та майте проект у своєму портфоліо вже через 4 місяця.
Приєднатися

Несмотря на свою нелюбовь к ЦВ, крупные банки и системы денежных переводов в последнее время все-таки начинают считаться с ее появлением. Например, eBay, владелец Paypal, ставивший палки в колеса ЦВ, запрещая их продажу на аукционе, буквально на днях отказался от такого ограничения и теперь для криптовалюты на eBay появился специальный раздел.

Очевидным преимуществом ЦВ является и анонимность. Если пластиковая карта привязана к паспорту, то электронный кошелек — это просто набор символов, который сам по себе не выведет даже на почтовый адрес. А если установить и использовать такое базовое средство защиты как Tor, то отслеживание переводов становится невозможным даже в теории.

Отсутствие централизации и центрального авторитета привносит в ЦВ и некоторые минусы. К примеру, все транзакции являются необратимыми (если не используется некий посредник). То есть возможность обратиться в банк и отменить перевод отсутствует. Деньги уходят в одном направлении, и возможности вернуть их без согласия получившего не существует.

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

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

Онлайн-курс Pyton від Powercode academy.
Опануйте PYTHON з нуля та майте проект у своєму портфоліо вже через 4 місяця.
Приєднатися

Что касается бесполезности вычислений, то, во-первых, есть коины, производящие полезные расчеты. Например, во время майнинга Primecoin выполняется поиск новых простых чисел, а Gridcoin и вовсе подключается напрямую к проекту Boinc для участия в распределенных вычислениях, направленных на решение физических, астрономических, биологических, медицинских и других проблем. Ну а во-вторых, огромная вычислительная мощность Биткоин тратится не впустую, а обеспечивает надежность всех транзакций, и гарантирует защиту сети от возможных хакерских атак, которые возможны лишь при условии подключения к сети еще большей вычислительной мощности (читайте ниже про атаку 51%), что практически нереально, учитывая средства, затраченные на специализированные майнинг-фермы, достигшие колоссальной производительности за последние несколько лет. Без такой же вычислительной мощности более молодые ЦВ уязвимы к различным атакам и некоторые уже подвергались им в недалеком прошлом.

 

Алгоритмы

В лексиконе ЦВ есть термин Block Chain. На простом языке это книга, содержащая записи всех денежных переводов за все время. Предположим, что эта книга имеется на 1 млн компьютеров. Если один из компьютеров отправит ложное сообщение о переводе монет на другой адрес (например, для оплаты товара в интернет-магазине), то остальные участники сети просто так не примут это утверждение. Денежные транзакции должны подтверждаться соответствующими подписями, которые невозможно подделать.

В мире криптовалют существует два основных алгоритма: SHA256 и Scrypt. SHA256 — это алгоритм Биткоина и нескольких его клонов. Изначально майнинг Биткоина происходил на процессорах, но со временем появились программы, научившиеся использовать видеокарты, что значительно повысило эффективность майнинга. После этого были разработаны так называемые ASIC (Application-specific integrated circuit) – платы, оптимизированные исключительно для вычисления хеш-функций по алгоритму SHA256 и бесполезные во всех остальных смыслах.

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

После того как высокая стоимость ASIC-плат привела к тому, что майнингом биткоинов смогли заниматься лишь обеспеченные энтузиасты, появилась идея создать новый алгоритм под названием Scrypt, главной особенностью которого стала бы устойчивость к GPU и ASIC майнингу.

Поначалу Scrypt, как и было запланировано, работал только на процессорах, однако достаточно быстро появились и первые приложения для видеокарт. Вначале казалось, что выход специализированных ASIC для Scrypt действительно невозможен. Дело в том, что для вычислений с использованием SHA256 требуется достаточно небольшое количество памяти, в то время как Scrypt требует гораздо большие объемы памяти, имеющиеся как в компьютере, так и в современных видеокартах. Требование большого количества памяти делает разработку и выпуск Scrypt ASIC не столько невозможным, сколько невыгодным, поскольку добавление необходимого количества RAM на платы делает их дороже по сравнению с видеокартами (по крайней мере, так считалось некоторое время тому назад). Плюсом видеокарт является и их более широкое применение (видеоигры), и возможность продажи после использования.

Первой ЦВ на алгоритме Scrypt стал Лайткоин (Litecoin), а поскольку исходный код этой валюты оставили открытым, то через некоторое время случился настоящий бум альткоинов (альтернативных коинов — общее название для всех ЦВ, появившихся после Биткоина). На сегодняшний момент существует несколько сотен альткоинов, если считать более-менее известные. Их список можно посмотреть на сайте http://com-http.us/, и это далеко не полный перечень, хотя с его помощью и можно получить представление об общем количестве ЦВ.

Какие из этих ЦВ действительно популярны, ответить сложно, поскольку оценка здесь чисто субъективна. Собственный вывод можно сделать, посмотрев на market cap (общую стоимость определенной ЦВ) на сайте www.cryptmarketcap.com. Как видно, только у небольшого числа топ-коинов это значение представляет хоть сколь-нибудь значимую для валюты сумму.

Несмотря на попытку защититься от Scrypt ASIC-ов, все усилия в конце концов оказались тщетными, хотя многие вплоть до самого конца не верили в возможность их появления. Тем не менее, они доступны в продаже с начала этого года, хотя первые модели традиционно проигрывают в соотношении цена/производительность обычным видеокартам.

Первый Scrypt ASIC по производительности был сравним с топовыми процессорами (до 100 Kh/s), но выпущенные уже через один-два месяца ASIC-платы следующего поколения догнали по скорости средние видеокарты стоимостью $200 (400 Kh/s). Тем временем, буквально через пару месяцев в продаже ожидаются первые «титаны» с производительностью, превосходящей суммарную мощность нескольких сотен Radeon 290x (100-200 Mh/s). При этом имеющиеся на текущий момент ASIC (400 Kh/s) требуют для работы не более 5 Вт и подключаются напрямую к USB-портам, в то время как видеокарты c аналогичной производительностью тянут из БП около 200 Вт.

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

Также существуют CPU-only коины, которые на текущий момент, а возможно, и в принципе, невозможно майнить ни на чем другом кроме процессоров, что делает их более «народными», поскольку для майнинга не требуется покупка дорогих видеокарт или ASIC-плат. Впрочем, и у таких коинов есть свои слабые места — ботнеты, создаваемые специальными вирусами. Ботнеты ничем не лучше ASIC-ферм, особенно если в их состав входят тысячи компьютеров. А для получения доступа к таким мощностям хакерам не нужны сотни тысяч долларов, достаточно небольшой вирусной эпидемии.

 

Как можно получить цифровую валюту?

Любую ЦВ, как и обычную валюту, можно купить. Для этого в Интернете существуют специальные биржи, например, www.btc-e.com, где «обычные» деньги обмениваются на цифровые. Как правило, процедура покупки выглядит следующим образом: перевод с денежной карты на биржу -> покупка Биткоина по текущей цене -> вывод Биткоина на свой электронный кошелек. Существуют и другие способы пополнения своего акаунта на биржах, помимо пластиковых карт.

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

Поэтому для покупки других ЦВ понадобится использовать Биткоины. Обменять Биткоины на ЦВ можно также на специализированных биржах, например, https://bter.com/. Для этого требуется перевести нужное количество биткоинов на биржу, купить с их помощью необходимые альткоины и вывести их на свой кошелек.

Чтобы поближе познакомиться с ЦВ и разобраться с некоторыми терминами, рассмотрим все на примере очень молодой, но быстро набравшей популярность криптовалюте Dogecoin.

Для начала работы с Dogecoin необходимо скачать программу-кошелек. Это можно сделать на официальном сайте, где есть версии для большинства операционных систем, но владельцам Windows рекомендую использовать lite wallet (облегченный кошелек) MultiDoge. В отличие от официального кошелька, MultiDoge не качает на компьютер весь block chain (историю транзакций, занимающую на текущий момент около 2 ГБ), что требует нескольких часов, а работает практически сразу после запуска.

2014-04-10_18h47_30

В программе пользователь получает собственный кошелек с адресом вида DNmr2pr6b5MKojd1YaLuSuRCgwDnkt3gYb. На этот адрес будет переводиться валюта с бирж или майнинг-пулов (об этом ниже).

Для подтверждения права доступа к адресу после запуска программы автоматически генерируется пароль из нескольких десятков символов. К счастью, пользователю не приходится его запоминать, поскольку он хранится в файле (wallet.dat для официального клиента и multidoge.wallet для MultiDoge). Этот файл необходимо защитить паролем (соответствующая функция есть в каждом кошельке) и скопировать в надежное место (в официальном клиенте есть функция Backup, а в MultiDoge файл понадобится сохранить вручную). Лучше хранить файл сразу в нескольких местах: на другом компьютере, в Dropbox, как вложение в электронном письме, отправленном на свой же адрес, на флешке. Пароль к файлу следует выбирать из расчета на то, что функции восстановления пароля не существует, и в случае его утраты будет утрачен и доступ к кошельку.

 

Майнинг

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

После нахождения этого числа в blockchain, то есть в бухгалтерскую книгу ЦВ, добавляется новый блок (как дополнительный вагон к составу). В этом блоке содержатся все транзакции за последние минуты, которые таким образом навсегда остаются «высеченными в камне». Изменить значение блока в будущем невозможно, поскольку оно связано со значением соседних блоков, изменение которых повлечет за собой по цепочке изменение всего blockchain. Такой подход является гарантией того, что историю транзакций невозможно отредактировать. Почему это важно? Потому что количество валюты в каждом кошельке высчитывается из истории транзакций. При запуске программа смотрит все входящие и исходящие транзакции для данного конкретного адреса и подсчитывает его баланс, исходя из записей в бухгалтерской книге. Новые пользователи, как правило, думают, что монеты хранятся в файле wallet.dat, но это не так, в этом файле хранится лишь пароль для доступа к кошельку, а монеты — это лишь числа в blockchain.

Итак, майнинг — это процесс решения уравнений на компьютере, который позволяет найти необходимое число и, используя терминологию ЦВ, «решить блок», чтобы добавить его к блокчейну. Решение каждого блока высвобождает определенное количество монет, которое делится между пользователями, принимавшими участие в решении блока. Количество монет в каждом блоке устанавливается в исходном коде ЦВ и в подавляющем большинстве случаев уменьшается со временем. Например, первые 10 тысяч блоков дают по 1000 монет за решение каждого блока, с 10001 по 20000 блок награда снижается вдвое и так далее. Процесс снижения награды называется халвингом (от англ. Halving — деление пополам). Халвинг используется для того чтобы искусственно снижать число добавляемых коинов, в результате чего их цена на биржах медленно двигается вверх, если спрос на них растет, остается прежним или по крайне мере не уменьшается в те же два раза после каждого халвинга. В качестве примера роста цен можно вспомнить, как 22 мая 2010 года была сделана первая в мире покупка за биткоины. Пицца стоимостью $25 была куплена за 10 тыс. биткоинов (1 биткоин следовательно равнялся тогда 0.25 цента). С тех пор цена биткоинов выросла в 180 тыс. раз, если брать его текущую стоимость. Если взять максимальный курс ($1150 в конце прошлого года), то в 460 тыс раз, а если сравнить максимальный курс с первой стоимостью биткоина на бирже (2009 г), то в 1.5 млн раз (c 0.07 центов до 1150 долларов).

Существует два основных типа майнинга, соло и пул майнинг. При соло майнинге (майнинг в одиночку) пользователь использует лишь свой компьютер для решения блоков, и такой подход сейчас практически не используется. Чтобы объяснить почему, представьте ситуацию, в которой в майнинге участвует 1 млн. одинаковых компьютеров и поиск одного блока занимает одну минуту. Из этого следует, что за один день будет решено 1440 блоков (количество минут в сутках), а на решение 1 млн. блоков уйдет практически 700 дней, или 2 года. Чисто статистически это значит, что у каждого пользователя в среднем уйдет 1 год на решение одного блока. То есть абстрактный средний пользователь получит первые монеты лишь через год после начала майнинга. У соло майнинга, правда, есть и свой плюс — при нахождении блока пользователь получает все монеты, полагающиеся за это. Однако с практической точки зрения соло майнинг значительно проигрывает пул майнингу.

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

Вычислительная мощность компьютера при майнинге измеряется в хешах/c, то есть в количестве базовых вычислительных операций за одну секунду. Для разных алгоритмов этот показатель имеет разную величину. Например, производительность видеокарт при майнинге Биткоинов (SHA256) измеряется в Мхешах/с, то есть миллионах операций за секунду, а при майнинге Альткоинов (Scrypt) та же видеокарта выдает уже несколько сотен Кхешей/c. Это не значит, что Биткоины выгоднее майнить, и говорит лишь о том, что у разных алгоритмов простейшие операции выполняются с разной скоростью. И раз уж мы коснулись этой темы, то майнинг Биткоинов с помощью видеокарт на данный момент абсолютно не выгоден и не окупает даже затрат на электроэнергию, поскольку производительность самой современной видеокарты — капля в море по сравнению с производительностью любого базового ASIC чипа.

 

Слабые места

Чуть выше упоминалась так называемая «атака 51%». Это наиболее известная уязвимость криптовалют, которая заключается в том, что человек, имеющий доступ к 51% вычислительной мощности, сможет проводить определенные махинации с block chain. Манипулировать более ранними транзакциями он по-прежнему не сможет, однако ему под силу будет провести так называемую операцию Double Spending (двойная трата).

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

В принципе, сам факт контроля 51% мощности сети еще не означает, что владелец пула будет проводить Double Spending. Краткосрочная прибыль, скорее всего, будет ниже долгосрочного вреда, заключающегося в подрыве рейтинга данной валюты. Ситуации, когда один пул контролировал более 51%, уже случались в истории Биткоин, однако сама атака при этом не была реализована.

Помимо распределения мощности по сети защититься от появления «центрального» майнера можно, повышая общую производительность сети с помощью ASIC. Это значительно повысит сложность концентрации 51% вычислительной мощности в одних руках, поскольку для создания независимой фермы указанной мощности придется потратить миллионы, если не десятки миллионов долларов, и настройка столь крупной фермы, скорее всего, будет не самой простой задачей.

Определенную опасность для ЦВ представляют и события, известные как форк (fork — по англ. вилка, однако лучше использовать термин «разветвление»). В таких случаях единая бухгалтерская книга ЦВ разделяется на две ветви (иногда и больше), и в мире криптовалюты начинает существовать как бы две реальности, не пересекающиеся между собой. Пользователи, существующие в одной реальности, не смогут переводить или получать ЦВ от пользователей в другой реальности. Для исправления такой ситуации одно из разветвлений выбирается разработчиками ЦВ как правильное и обновляется исходный код клиента, работающий только с правильным block chain и игнорирующий неправильный. Для возвращения в реальность все активные участники должны использовать обновленный клиент. В принципе, такой вид форка не представляет особой опасности, хотя и неприятен для всех. Лучше всего в такой ситуации не производить никаких транзакций в сети, чтобы не потерять монеты, если они будут отправлены в неправильный форк.

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

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

 

Итоги

Несмотря на то что цифровая валюта существует уже более 5 лет и довольно часто попадает в заголовки новостей, большинство пользователей все еще не имеет общего представления о принципах ее работы. Некоторые сравнивают ЦВ с МММ или схемами Понци, другие видят в ней очередной виток развития денежной системы и более быструю и надежную систему переводов. Кому-то нравится возможность приобщиться к чему-то технологически новому и потенциально перспективному еще в самом начале развития. Кто-то просто пытается заработать на колебаниях курсов, как и с обычными акциями. Существует и мнение, что криптовалюта поможет развитию стран третьего мира, заменив ненадежные местные денежные единицы (на примере M-Pesa в Кении, очевидно, что это не просто чьи-то фантазии). А некоторые уже сейчас называют Bitcoin новым электронным золотом. Кто окажется прав, покажет не столь отдаленное будущее, и возможно, как в сериале «Почти человек», криптовалюта со временем заменит обычные бумажные и электронные деньги.

Продолжается конкурс авторов ИТС. Напиши статью о развитии игр, гейминг и игровые девайсы и выигрывай профессиональный игровой руль Logitech G923 Racing Wheel, или одну из низкопрофильных игровых клавиатур Logitech G815 LIGHTSYNC RGB Mechanical Gaming Keyboard!


Loading comments...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: