Одно из крайне важных свойств публичных блокчейнов – прозрачность. Это означает, что каждый узел одноранговой сети может проверить подлинность любой транзакции и получить все необходимые для этого данные. Именно так работают наиболее крупные блокчейны, например – Биткоин и Эфириум.
Прозрачность существенно повышает надёжности и достоверность транзакций, но при этом – снижает их конфиденциальность, вплоть до полной утраты анонимности. Дело в том, что сторонние наблюдатели могут связать определённые транзакции и адреса с реальными покупками, в результате чего – деанонимизировать владельцев адресов. Да, но это понадобится время и специфическое программное обеспечение, но ничего невозможного тут нет.
Поэтому для тех пользователей, что ищут не только безопасность, но и конфиденциальность, были разработаны особые – конфиденциальные криптовалюты. И Monero – наиболее известная и распространённая среди них на данный момент.
Краткая история проекта
Дословный перевод слова «monero» с языка эсперанто – «деньги». При создании этой криптовалюты, разработчики делали акцент на двух крайне важных принципах – несвязанности и неотслеживаемости. Это позволило добиться того, что практически невозможно установить связь между двумя отдельными транзакциями в сети, а также – определить источник средств, их объем и назначение. Но сам факт транзакции и возможность её автоматизированной проверки – остаётся. Этого удалось добиться с помощью некоторых специфических методов криптографии.
Monero – форк другого криптовалютного проекта от 2012 года – Bytecoin (Байткоин, не путать с Биткоином), также ориентированного на высокую степень конфиденциальности транзакций. В нём был впервые реализован протокол CryptoNote – технология с открытым кодом, направленная на решение некоторых ключевых проблем, характерных для Биткоина. Конкретно – использование ASIC-оборудования для майнинга и полностью прозрачные транзакции. И этот протокол активно применяется до сих пор.
Но в 2014 году часть разработчиков, недовольных тем, как развивается Bytecoin, вызвали жесткое разветвление блокчейна, назвав новую ветку «bitmonero». Но вскоре от названия откололся первый слог и получилось Monero.
Как он работает?
Два ключевых момента, отличающих Monero от других блокчейнов – использование «кольцевых подписей» и «скрытых адресов». Именно они позволяют добиться столь высокой степени анонимности. И сейчас мы поговорим об этих функциях более подробно.
Кольцевые подписи
Если кратко, то это разновидность цифровой подписи, создаваемая кем-то из определённой группы пользователей. На основании этой подписи и открытых ключей членов группы, можно удостовериться в подлинности транзакции, но невозможно установить конкретное авторство.
В статье от 2001 года «How to Leak a Secret paper», это расписывается довольно подробно, взяв за пример работу определённого кабинета министров в правительстве. Предположим, что один из участников этого кабинета – некий Семён, располагает уликами против премьер-министра. И он хочет их обнародовать, для чего и обращается в прессу. Но ему нужно как-то доказать, что его словам можно доверять и у него был доступ к подобным документам. При этом – жизненно важно сохранить анонимность, поскольку Семён справедливо опасается мести за свои действия.
Сделать это с помощью собственной цифровой подписи Семён не может. Потому как любой желающий может сопоставить её с его же открытым ключом и провести прямую взаимосвязь. Но если использовать кольцевую подпись, в которую включены все подписи других членов кабинета, то определить конкретного автора невозможно, а вот доказать, что он однозначно имел доступ к документам в силу работы в кабинете министров – легче лёгкого.
Этот принцип используется каждый раз, когда вы формируете свою транзакцию в блокчейне Monero. Ваш кошелёк автоматически подтягивает в процессе открытые ключи других пользователей, чтобы сформировать из них кольцо. И сторонний наблюдатель не сможет определить, от кого конкретно исходит транзакция. Происходит своеобразное «смешивание».
Важный момент. Подтягиваются реально существующие открытые ключ с реальными транзакциями. В этом и заключалась некоторая проблема – изначально для формирования надёжной кольцевой подписи, необходимо было подтягивать одинаковые по размеру транзакции, поскольку сумму перевода можно было посмотреть. Поэтому приходилось некоторое время ждать, чтобы появилось достаточное количество тех, кто собирается перевести, например, 2 XMR.
Однако обновление RingCT (Ring Confidential Transactions) – «кольцевая конфиденциальная транзакция», изменило эту ситуацию. При нём теперь смешиваются и суммы транзакций. Поэтому больше вас не смогут отследить по величине перевода, поскольку каждой из цифровых подписей в общем кольце подписывается разная сумма. Это существенно повысило уровень конфиденциальности в блокчейне Monero.
Скрытые адреса
Да, кольцевые подписи скрывают, кто именно осуществляет транзакции. Но если вы собираетесь переводить средства на открытые публичные адреса, то этот момент уже можно отследить. Сторонний наблюдатель увидит, что на связанный с вашей личностью блокчейн-адрес поступают какие-то деньги. Этой информации может быть достаточно для деанонимизации.
Простой пример. Допустим, вы ведёте вэб-магазин и используете один и тот же публичный счёт для каждого заказа. Любой желающий может посмотреть баланс на нём (прозрачность) и, сопоставив транзакции и ваши траты, установить точную взаимосвязь между адресом и вашей личностью.
Скрытые адреса позволяют избежать этой ситуации. Отправитель средств получает одноразовый адрес, созданный на основе публичного, на который и будет переводить средства.
Да, вы сможете просмотреть список счетов в «Monero block explorer», но в нём содержатся только публичные, а не скрытые, адреса. А одноразовые адреса генерируются автоматически, не повторяются и не могут быть связаны друг с другом. Вот и получается, что у каждого обладателя публичного счёта есть выход на неограниченное количество связанных с ним скрытых адресов. И удобные инструменты для получения доступа к ним.
Они называются «закрытый ключ просмотра» и «закрытый ключ траты». «the private view key» и «the private spend key». Первый позволяет просматривать вообще все транзакции в пределах блокчейна Monero, связанные с вашим публичным адресом. Его можно передавать доверенному лицу, например – бухгалтеру, который ведёт ваши счета. Ключ траты же позволяет, как видно из названия, свободно тратить деньги на скрытых адресах, как словно бы они все лежали в рамках одного кошелька.
Блокчейн Monero по умолчанию использует политику конфиденциальности, поэтому вы не можете отказаться от использования скрытых адресов. И да, несмотря на то, что сторонние наблюдатели не могут отслеживать содержание ваших транзакций, для вас самих, либо для тех, кому вы эти полномочия делегируете, это не составляет никаких проблем.
Разница между Monero и Bitcoin
Поскольку и то, и другое – криптовалюты, сходство у них есть. Но есть и ряд функций, которые делают их уникальными. Итак.
Взаимозаменяемость
Относительно Биткоин, довольно сложный момент. Некоторые считают, что биткоины взаимозаменяемы, другие – что нет. И аргументы есть у каждой стороны. Начнём с простого. Взаимозаменяемость означает, что каждая монета ничем не отличается от другой. Одна купюра в 10 долларов может то же самое, что и другая купюра аналогичного номинала. То же самое для золотых слитков. А вот предметы искусства, даже одинаковой стоимости, уже не взаимозаменяемы.
На уровне протокола, биткоины полностью взаимозаменяемы. Программному обеспечению всё равно, когда они были созданы и на что были потрачены. Однако на уровне социального взаимодействия, взаимозаменяемость существенно уменьшается.
Поскольку блокчейн прозрачен, можно отследить историю каждой монеты и даже её части вплоть до момента добычи. И легко может случиться так, что какая-то монета окажется использованной для нелегальной сделки или в процессе отмывания денег. Уже неоднократно бывали случаи, когда система отказывалась принимать биткоины или даже блокировала их из-за «неблагоприятной истории». Что автоматически делает монеты не взаимозаменяемыми. У «свежедобытых» биткоинов с абсолютно чистой историей ценность становится намного выше, поскольку с ними точно не будет никаких проблем в работе.
Разумеется, существуют способы «стереть» историю монеты – разнообразные криптомиксеры и сервисы CoinJoining. Однако для их использования нужно совершать дополнительные действия и ждать дополнительное время.
В Monero проблемы отслеживания истории монет нет по умолчанию. Так что все XMR взаимозаменяемы по определению. И легко проходят проверки даже в компаниях со строгим анализом поступающих средств.
Однако это создало Monero довольно специфическую славу – из-за высокой конфиденциальности, данную криптовалюту активно используют разнообразные киберпреступники.
Впрочем, у конфиденциальности есть своя цена. В данном случае – большие по размеру транзакции. Поэтому вся система менее устойчива к проблеме масштабирования.
Блоки и майнинг
Monero, как и Bitcoin, используются для «добывания» блоков доказательство работы – PoW. Но в отличие от него, за счёт протокола CryptoNote, этот процесс не совместим с ASIC-оборудованием. Это предотвращает формирования доминирующих майнинговых пулов, использующих специализированное и крайне мощное оборудование для майнинга.
Алгоритм PoW в Monero – RandomX – направлен на то, чтобы сделать процесс более справедливым, перенеся майнинг с графических процессоров на центральные процессоры, что позволяет эффективно участвовать в процессе даже обычных компьютерам потребительского класса. Однако несмотря на эти ухищрения, процесс всё ещё сконцентрирован в нескольких крупных майнинговых пулах.
Что касается блоков и награды за них, то тут тоже есть существенные различия. В Monero нет чётко заданной величины, как у биткоинов, но есть «динамический размер блока». Это означает, что блоки могут увеличиваться, если на них возрастает спрос. И уменьшатся, если спадает. Этот размер вычисляется на основании среднего размера предыдущих ста блоков. Но да, чем он больше, тем дольше майнинг и медленнее транзакции в целом.
Что касается вознаграждения, то, как в Биткоин, оно со временем уменьшается. Но не до нуля, а до определённой заданной величины. Так что у майнеров будет постоянный стимул работать.
Хардфорки
Существенное различие между Monero и Bitcoin проходит на уровне управления. В Биткоине хардфорки – ситуация, скорее, экстремальная, нежели обычная. Даже самое простое обновление долго обсуждается перед принятием. У такого консерватизма есть причины – только так получается добиться максимальной стабильности, децентрализации и безопасности.
Однако протоколы нужно обновлять – только это помогает устранять критические ошибки и добавлять крайне важные, нужные и полезные функции. Поэтому в ситуации с Bitcoin, практически каждое реально серьёзное обновление протокола либо приводило к созданию новой криптовалюты, либо использовалось для устранения значительных и крайне опасных уязвимостей.
В Monero всё иначе – хардфорки являются важной и регулярной часть развития проекта. Это позволяет быстрее адаптироваться под изменения и внедрять новые протоколы безопасности. Как показывает опыт, польза от таких регулярных обновлений намного выше вреда. Но каждый такой хардфорк может как скрывать потенциальную уязвимость, так и отсекать от взаимодействия определённую часть сообщества, которая не обновила свои протоколы.
Разработка
Как и в случае с Биткоин, в разработке может поучаствовать любой желающий, так как исходный код – открытый. Но внедрять ли предложенные изменения – решает сообщество. На момент написания статьи, оно состояло из более чем 500 человек. В том числе и основной команды разработчиков - Riccardo Spagni (FluffyPony), Francisco Cabañas (ArticMine), и ряда других товарищей, действующих под псевдонимами NoodleDoodle, othe, и binaryFate.
Кроме того, есть механизм краудфандинга, поощряющий пользователей предлагать свои решения по развитию проекта. Каждое такое решение, если оно будет принято сообществом, проходит период «сбора средств». И по достижению определённого уровня, часть идёт на разработку и внедрение, а часть – в награду тому, кто эту идею предложил или реализовал.
Заключение
Уже много лет Monero(XMR) является основной криптовалютой для тех, кому нужна максимальная конфиденциальность транзакций. При этом проект активно развивается, выпускаются новые обновления, которые позволяет системе оставаться конкурентоспособной.