Предисловие

Об авторе

Меня зовут Нико (“SerHack”). Я исследователь в области безопасности, активный участник проекта Monero, а также издатель этой книги. Поиск хороших ресурсов и изучение криптовалют может стать довольно непростой задачей. А если вы новый пользователь, то поиск документации на понятном техническом языке может обернуться особо сложной проблемой. Когда я впервые столкнулся с Monero, мне пришлось потратить немало времени на то, чтобы найти и оценить полезность множества ресурсов по теме.

Я решил написать «Изучаем Monero», чтобы помочь вам в этом путешествии, независимо от того, что вы собираетесь сделать, создать свой первый кошелёк или же «заглянуть под капот», чтобы понять технические аспекты работы механизма. Несколько первых глав написаны специально для всех тех, кто интересуется, почему и как пользоваться Monero. В них приводятся понятные примеры и доходчивые объяснения, а также инструкции по практическому использованию криптовалюты. В последующих главах мы коснёмся более продвинутых тем. Они представляют собой компиляцию информации для разработчиков, которым хотелось бы помочь в дальнейшем «строительстве» и развитии проекта Monero.

Мои приключения в мире криптовалют начались, когда в январе 2016 я узнал о существовании Bitcoin. С самого начала меня волновала разветвлённость его прозрачного публичного реестра. Так как Bitcoin сильнее, чем какая-либо другая криптовалюта, опирается на открыто связываемые адреса и относится к монетам с открытой историей, при проведении транзакций часто непреднамеренно раскрывается подробная финансовая информация пользователей. Баланс по каждому из адресов является публичной информацией, что позволяет любому узнать ваш доход, куда вы, как правило, тратите средства, а также сумму вашего криптовалютного благосостояния. Это может привести к нежелательным последствиям, например, к манипулированию ценами в зависимости от баланса вашего кошелька.

Я вообще думал, что Bitcoin — это единственная криптовалюта, пока в мае 2017 года один из моих друзей не рассказал мне о Monero. Меня привела в восторг новая прекрасная парадигма этой монеты. Это был мир, в котором уязвимая информация, такая как баланс счёта пользователя и суммы транзакций, оставалась конфиденциальной, что защищало как отправителя, так и получателя. Благодаря свойствам анонимности, которые реализованы по умолчанию и всегда востребованы, весь блокчейн Monero остаётся скрытым, а пользователи не могут даже случайно провести транзакцию, которая раскроет конфиденциальную информацию.

Осознавая важность этого проекта, я начал искать способы помочь сообществу. Я быстро нашёл возможность поддержать распространение монеты путём создания платёжных шлюзов для онлайн предпринимателей, и таким образом я сосредоточился на реализации проекта Monero Integrations. Эта открытая кодовая база была построена на основе принципов анонимности Monero — никаких подписок или сторонних услуг, предоставляемых третьими сторонами, средства отправляют прямиком в кошелёк получателя. Сообщество Monero активно поддержало это начинание, и весь проект финансировался за счёт пожертвований, которые собирались при помощи системы общественного финансирования FFS (Forum Funding System).

В ходе работы над проектом Monero Integrations для меня стала очевидной необходимость в создании обстоятельного руководства по Monero, отсутствие которого являлось камнем преткновения как для пользователей, так и потенциальных участников, которые могли бы способствовать развитию Monero. Необходимость в таком руководстве и подвигла меня на написание «Изучаем Monero», руководства, которое стало бы универсальным источником информации для глобального сообщества. Я благодарен за щедрую поддержку со стороны FFS, которая сделала возможной публикацию этого документа в качестве бесплатной электронной книги (и, что важно, физической, твёрдой копии книги), доступной каждому. Несмотря на то, как вы будете читать «Изучаем Monero», от корки до корки или же выберите только те разделы, которые помогут найти ответы на ваши вопросы, я надеюсь, что вы будете рады почерпнуть что-то новое о Monero, а также о тех удивительных проектах, которыми занимается сообщество.

Как организован этот ресурс

Первые две главы книги являются несложными и нетехническими вступлениями, в которых затронуты ключевые темы и необходимые навыки. Для тех, кто хочет более подробно узнать о том, как работает Monero, в Главах 3 и 4 содержатся концептуальные не математические объяснения механизмов обеспечения анонимности Monero и блокчейна. В последних главах приводятся сложные технические подробности, которые позволят понять, заняться разработкой и интеграцией Monero.

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

Вторая глава («Начало: получение, хранение и отправка Monero») является удобным руководством по всем практическим навыкам и инструментам, которые понадобятся вам, чтобы самостоятельно пользоваться Monero! Мы разъясним некоторую необходимую терминологию, а также узнаем о плюсах и минусах различных типов кошельков. Вы узнаете, как создать свой первый кошелёк, и даже сможете использовать пример кошелька, предлагаемый «Изучаем Monero», чтобы попрактиковаться!

В третьей главе («Как работает Monero») мы обсудим четыре основные технологии, обеспечивающие анонимность Monero: протокол RingCT, кольцевые подписи, одноразовые (скрытые) адреса и маршрутизатор Kovri. При объяснении технологий в данном случае мы не использовали математики или кода, поэтому они просты, и вы получите концептуальное понимание принципов работы каждого механизма, а также тех преимуществ, которые они обеспечивают.

В четвёртой главе («Сеть Monero») концептуально описано, как сеть Monero и майнеры обрабатывают транзакции и сохраняют их в блокчейне. Мы рассмотрим вопрос мотивации майнеров (вознаграждения за завершение блока + комиссии), а также полезные функции майнеров (подтверждение транзакций и обеспечение безопасности децентрализованной и не требующей доверия сети). Нами также будет затронута «горячая тема» специализированного оборудования для майнинга и описана соответствующая эгалитарная философия сообщества Monero, а также те активные меры, которые предпринимаются им, чтобы противостоять использованию схем ASIC.

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

Пятая глава («Глубокое погружение в Monero и криптографию»), по сути, и является глубоким техническим погружением в технологии обеспечения анонимности, которые были концептуально рассмотрены в Главе 3. Эта глава является переходом от аналогий к фактической математике и спецификациям улучшенной Monero версии протокола CryptoNote.

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

В седьмой главе («Интеграция Monero для разработчиков») рассматривается опция проведения платежей, а также полезные методы преобразования адресов в читаемый человеком формат посредством OpenAlias и в читаемый машиной формат посредством URI. Разработчики платёжных опций для коммерческих предприятий смогут узнать, как, используя OpenAlias, можно сгенерировать упрощённые адреса. Также разработчики узнают, как взаимодействовать с блокчейном Monero через процедуру удалённых вызовов (RPC), обращаясь к демон-программе Monero. Также в главе приводятся примеры реализации на языке Python, которые научат, как выполняются базовые задачи.

Восьмая глава («Руководство по кошелькам и советы по устранению ошибок») содержит всевозможную информацию по настройке кошелька с графическим (GUI) или «консольным» (CLI) интерфейсом, а также советы по выявлению и устранению наиболее часто встречающихся проблем.