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

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

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

Построение валютной единицы Bitcoin
«Рабочей единицей» Bitcoin является блок. Блок – это текст, который содержит информацию обо всех транзакциях, проведенных с момента генерации предыдущего блока. Заголовок блока – строка из 80 байтов, содержащая следующую информацию:
- Версия (4 байта) – версия протокола, использованная узлом, который сгенерировал данный блок.
- Предыдущий хэш (32 байта) – хэш заголовка предыдущего блока.
- Корень Меркля (32 байта) -- информация о транзакциях хэшируется не напрямую, а по алгоритму с древовидной структурой. Это позволяет нивелировать зависимость времени генерации блока от количества транзакций в нем.
- Временная марка (4 байта) -- выдается через каждые несколько секунд специальным сервером. Служит доказательством того, что блок был сгенерирован в указанное время.
- Биты?? (4 байта) -- цель, записанная в компактном формате. Цель – это 256-разрядное двоичное число. Задача, решаемая при генерации блока – подбор такого числа, при добавлении которого к заголовку хэш заголовка окажется меньше или равен цели.
- Число (4 байта) – подбор числа происходит не в случайном порядке, а подряд, от нуля до 232. Иногда может возникнуть ситуация, когда ни одно из возможных значений числа не подходит. В этом случае к блоку добавляется техническая транзакция, корень Меркля изменяется и перебор повторяется с нуля.
- Узел, которому удалось сгенерировать блок, получает в качестве вознаграждения 50 ВТС. Эта транзакция – первая в каждом блоке, поэтому заголовок хэша у каждого узла будет отличаться. В противном случае «выигрывал» бы всегда узел, обладающий самым быстрым вычислителем.
 

 

Процесс подбора хэшей в Bitcoin называется mining (добыча). Каждые 2016 блоков происходит изменение, т.е. изменяется сложность, причем в зависимости от того, сколько времени было затрачено на последнюю серию блоков. Это позволяет контролировать эмиссию ВТС, весьма строго распланированную разработчиками. Обратите внимание на график. К 2033 г. эмиссия "биткоинов" почти прекратится, а к 2040 г. ??????остановится полностью. К тому времени будет существовать чуть менее 21 млн. BTC. Возможная дефляция ВТС технически не должна стать проблемой, ведь «монетки» можно делить на части, вплоть до восьмого знака после запятой.

Как начать пользоваться Bitcoin
Для того чтобы стать пользователем Bitcoin, необходимо переписать программу-клиент с сайта bitcoin.org. Сейчас там доступны версии для ОС Linux, Windows и Mac OS. После первого запуска программы должно пройти некоторое время, прежде чем клиент получит от других узлов все выпущенные к данному времени блоки. Актуальный список узлов клиент получает со специального сервера, но на случай его недоступности каждая версия клиента содержит некий начальный перечень узлов. Соединившись хотя бы с одним из них, он может получить актуальный список.

Клиент Bitcoin для ОС Windows

После того как все блоки  будут загружены (процесс небыстрый), можно начать полноценно пользоваться Bitcoin. Но до этого стоит сгенерировать для себя адрес для получения транзакции. Адрес одноразовый, т.е. для каждой транзакции придется генерировать новый. Информация о ваших адресах будет храниться в файле-кошельке. Учтите, что при утрате этого файла никакой возможности восстановить ВТС не существует.
Если вам просто интересно ознакомиться с тем, как работает система, то самый простой способ -- получить символическую сумму ВТС в подарок. На сайте freebitcoins.appspot.com/, созданном Гэвином Андерсеном, можно единожды получить в подарок 0,001 ВТС, авторизовавшись через Google. Поступив таким образом, вы заметите, что транзакция упадет в ваш "кошелек "не сразу, даже если клиент уже загрузил все существующие блоки. Должно пройти несколько минут, прежде чем будет сгенерирован очередной блок, в который будет включена ваша транзакция. Такая задержка некритична для большинства сервисов. Для тех случаев, когда необходимо моментальное подтверждение оплаты, предусмотрены сервисы онлайн-кошельков. Если отправитель и получатель зарегистрированы в одной системе, то последний узнает о входящем платеже моментально.
Купить ВТС за почти любую валюту можно на одной из многочисленных бирж. Самые удобные способы расчета в Интернете (т.е. кредитные карты и PayPal) большинство бирж перестали принимать в прошлом году. Помимо бирж, существует несколько компаний, торгующих ВТС самостоятельно. Подробнее можно прочитать об этом по ссылке во врезке.

Как добывать BTC самостоятельно
С точки зрения работы алгоритмов, процесс генерации блоков Bitcoin предельно прост. Фактически он заключается в постоянном повторении простой операции хэширования по алгоритму SHA-256. Разработчики Bitcoin даже не стали утруждать себя написанием собственного ПО для добычи ВТС. Программ для генерации блоков (майнеров) создано уже немало.

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

Генерация одного блока – довольно сложная задача. Если заниматься ею в одиночку, то редко удастся подобрать блок. Но в случае удачи вы сразу получите 50 ВТС плюс комиссионные. Для того чтобы получать вознаграждение более равномерно, участники применяют технологию распределенных вычислений, объединяясь в пулы совместной генерации. В большинстве пулов 50 ВТС делятся между участниками в соотношении, соответствующем количеству проведенных полезных вычислений, а комиссионные владелец пула забирает себе. Альтернативная схема оплаты предусматривает фиксированную выплату за каждый блок из 232 хэшей. Например, в пуле deepbit.net эта плата составляет 0,00002661294865101 BTC. Как видите, число имеет больше восьми знаков после запятой. Но это не страшно, поскольку «гонорар» сначала концентрируется на вашем внутреннем счете в пуле, а потом в любой момент его можно перевести на "кошелек".

Планируемые объемы эмиссии ВТС

 

Курс ВТС к USD за текущий год

При правильной настройке "железа" и ПО самая быстрая одночиповая видеоплата AMD Radeon HD 6970 cпособна производить около 400 млн. операций хэширования в секунду по алгоритму SHA-256. Произведя несложные подсчеты, мы узнаем, что при работе в режиме 24/7 ПК с одной такой платой способен приносить его владельцу примерно 6,43 ВТС в месяц, что по нынешнему курсу эквивалентно 86,7 долл. США. Если принять энергопотребление ПК за 250 Вт, то расходы на электроэнергию составят по нынешним тарифам примерно 13 долл. США в месяц. Окупится видеоплата на пятом месяце эксплуатации. Эти расчеты условны, поскольку очевидно, что в течение пяти месяцев и курс ВТС, и сложность могут сильно измениться.
Информация о списке пулов по добыче ВТС находится в конце статьи.

***


Мы можете самостоятельно убедиться, что технически цифровая валюта Bitcoin успешно функционирует, являясь полностью конфиденциальной, но при этом совершенно открытой, к чему и стремились разработчики. И кроме того, она является полностью децентрализованной, из-за чего Bitcoin не так давно получила солидную порцию критики от скептиков. Случилось это после того, как 20 июня была взломана крупнейшая BTC-биржа Mt. Gox. Взломщик выставил все доступные ВТС пользователей на продажу, что привело к катастрофическому падению курса. Через некоторое время ситуация была разрешена администраторами биржи путем отката всех сделок, совершенных после взлома.
Сейчас единственное техническое ограничение, способное всерьез замедлить распространение ВТС – это сложности с конвертацией, вызванные отказом PayPal от сотрудничества с биржами, работающими с ВТС. По поводу экономических и политических проблем, связанных с  Bitcoin, мне  высказаться труднее, на этот счет единого мнения нет даже у самих экономистов.
Мы продолжим следить за развитием свободной цифровой валюты Bitcoin. Уверен, она даст еще не один повод для интересных статей.

Шифропанки
В английском языке есть специальное слово для обозначения людей, выступающих за повсеместное распространение передовых криптографических технологий с целью политического преобразования общества – cypherpunk. Это слово образовано путем слияния английских слов шифр(cipher) и популярного направления в научной фантастике киберпанк (cyberpunk). Наверное, наиболее правильным переводом слова cypherpunk на русский будет «шифропанк», хотя при этом теряется игра слов, заложенная в оригинале.
В 90-е годы существовала почтовая конференция с названием cypherpunks, архив которой теперь стал для нас летописью этой неформальной группы. Аудиторию рассылки составляли журналисты, ученые, инженеры, студенты и другие люди, интересующиеся криптологией и технологиями информационной безопасности. Большинство этих людей являются политическими активистами, многие из них (но далеко не все) исповедуют идеологию, близкую к криптоанархизму. Участие в конференции в свое время принимали разработчики PGP(программы, реализующей шифрование электронной почты с открытым ключом) Филл Циммерманн, Хэл Финни и Марк Горовиц, создатель протокола BitTorrent Брэм Коэн, создатель сайта WikiLeaks Джулиан Ассанж.
Идеология шифропанков наиболее понятно изложена в манифесте, написанном в марте 1993 г. активистом по имени Эрик Хьюз. В своем обращении Хьюз говорит о том, насколько важна конфиденциальность для общества, входящего в киберэпоху. Под конфиденциальностью автор понимает право человека не раскрывать свою личность при  совершении сделок любого рода. При этом информация о самом факте сделки вовсе не должна оставаться секретной, поскольку свобода слова еще более ценна для общества, чем конфиденциальность. Электронная валюта Bitcoin – одно из их последних заметных достижений.

Криптовалюта
Bitcoin – не первая попытка шифропанков создать электронные деньги, но в настоящее время она самая совершенная. Принцип, положенный в основу системы, был впервые описан в 1998 г. участником рассылки cypherpunks по имени Вэй Дай. Сейчас Вэй Дай является профессором Имперского колледжа Лондона, имеет ученую степень и ведет научную деятельность в области цифровой обработки сигналов. В документе с названием B-Money, который он опубликовал на своей домашней странице, было описано два протокола цифровой валюты, с помощью которой можно было совершать сделки обезличенно.
Сейчас в отношении этого изобретения часто применяют термин «криптовалюта». На мой взгляд, он не вполне отражает его суть. Ведь шифрование применяется в любой информационной системе, предназначенной для осуществления платежей. Ключевое отличие концепции, сформулированной в B-Money и позднее реализованной в Bitcoin, от иных финансовых систем, заключается в анонимности участников. Один из протоколов предусматривал наличие выделенных серверов. Второй описывал полностью децентрализованную систему, в которой каждый участник хранит информацию о количестве денег на каждом из счетов. При необходимости перевести деньги с одного счета на другой владелец исходящего счета транслирует всем участникам сети сообщение, подписанное его цифровой подписью. После этого участники соответствующим образом корректируют свою копию информации о счетах, если на исходящем счете имеется достаточная сумма для такого действия. Для осуществления сделок предусматривалась возможность привлечения третьего лица, выступавшего в роли арбитра.

E-mail c почтовой маркой
Традиционно финансовые системы обслуживаются государством или иными крупными организациями, авторитет которых по ряду причин крайне высок, что в итоге и является гарантом их надежности. Чем же можно обеспечить деньги в децентрализованной системе, работающей распределенно на мощностях всех ее участников, которые к тому же обезличены? Таким ресурсом стало процессорное время. Еще до публикации B-Money другой участник рассылки cypherpunks, Адам Бэк, изобрел механизм противодействия спаму и DOS-атакам, получивший название HashCash. Идея заключалась в том, что перед отправкой электронного письма компьютер отправителя производит некое вычисление. Полученный результат может служить доказательством проделанной работы. Причем его проверка не требует сопоставимых вычислительных ресурсов или доступа к какой-либо дополнительной информации. В заголовке электронного письма строка HashCash выглядит примерно так:
X-Hashcash: 1:20:060408:adam@cypherspace.org::1QTjaYd7niiQA/sc:ePa
В ней содержатся адрес получателя, время отправления и случайный набор символов, который подбирается таким образом, чтобы первые 20 бит хэша SHA-1 получившейся строки были нулями. В среднем для генерации «почтовой марки» отправителю придется произвести 219 операций хэширования, в то время как для проверки достаточно всего одной операции. Таким образом, вероятность получения спама, помеченного HashCash, будет невысока. Ведь для каждого получателя пришлось бы генерировать отдельную марку, а это требует огромных вычислительных ресурсов.

Появление Bitcoin
Сатоши Накамото, создатель Bitcoin,– настоящая киберличность, существующая исключительно в контексте этого проекта. Отсутствует какая-либо публичная информация о человеке, который пользуется этим псевдонимом. Архитектура системы Bitcoin была описана им еще в 2008 г. в одноименной работе, доступной сейчас на сайте bitcoin.org.
Первая бета-версия клиента Bitcoin стала доступна 4 февраля 2010 г. С тех пор система так и находится в состоянии бета-тестирования, но фактически функционирует вполне полноценно. По крайней мере, налицо все формальные признаки этого. Существуют биржи, на которых электронные деньги, "биткоины", можно купить или продать за другие валюты. На момент написания статьи курс "биткоина" к доллару США находился в пределах 13,3-13,6. "Биткоины" также можно приобрести и за рубли, правда, торги на рублевой бирже идут не столь активно, как на долларовой. Соответственно, и курсы там менее привлекательные.
Существуют сайты, принимающие "биткоины" к оплате. Большинство из них продают товары или услуги, предоставляемые по Интернету: хостинг, программы, IP-телефония и т.п. Хотя есть в их числе и магазины, торгующие одеждой, автомобильными запчастями, коллекционными скейтбордами, книгами, комплектующими для серверов, музыкальными инструментами и всякой другой всячиной. Кроме того, имеются анонимные торговые площадки для осуществления сделок между частными лицами. Сайт WikiLeaks, лишившийся в прошлом году поддержки PayPal, принимает пожертвования в виде Bitсoin.
Не очень давно Сатоши Накамото покинул команду разработчиков. Сейчас «первым лицом» проекта де-факто является Гэвин Андерсен.
 

Полезные ссылки по теме Bitcoin
Официальный сайт проекта:bitcoin.org/
Энциклопедия: Bitcoin (очень информативный ресурс, здесь можно найти любую информацию о ВТС):en.bitcoin.it/wiki/
Сводная статистика курсов ВТС к другим валютам на разных биржах:bitcoincharts.com/
Крупная биржа по торговле ВТС:mtgox.com/
Список сайтов, на которых можно купить ВТС:en.bitcoin.it/wiki/Buying_bitcoins
Список сайтов, принимающих к оплате ВТС:en.bitcoin.it/wiki/Trade
Сервис онлайн-кошельков. Работает быстрее, чем стандартный клиент, запускаемый непосредственно на вашем компьютере. Доступен с мобильных устройств: mybitcoin.com/
Еще один сервис онлай-кошельков:bit-bank.org/
Сайт, на котором опубликовано содержимое всех блоков, т.е. информация о всех транзакциях, произведенных за историю существования Bitcoin:blockexplorer.com
"Биткоины" в подарок каждому:freebitcoins.appspot.com/
Еженедельная сетевая газета с новостями о Bitсoin:bitcoinweekly.com/
Список пулов по добыче ВТС:en.bitcoin.it/wiki/Comparison_of_mining_pools