Оглавление
- 1 Что такое Dash и в чем преимущества этой криптовалюты?
- 2 Спорный мгновенный майнинг
- 3 Особенность Dash #1: мастерноды
- 4 Что такое мастерноды?
- 5 Вопрос: зачем нужно столько вкладывать в мастерноду?
- 6 Система вознаграждения мастернод
- 7 Обращение к мастернодам
- 8 Как работает proof-of-service
- 9 Особенность #2: PrivateSend
- 10 Что такое CoinJoin?
- 11 Слабость #1: слияние транзакций
- 12 Слабость #2: конечное связывание
- 13 Слабость #3: сквозное связывание
- 14 Как работает PrivateSend в Dash?
- 15 Особенность #3: InstantSend
- 16 Что такое двойная трата?
- 17 Заключение: что такое криптовалюта Dash?
Сегодня уже, наверное, не осталось никого, кто не знает что-то о биткоинах и криптовалютах. Но несмотря на то, что Bitcoin являет собой прекрасный пример децентрализованной, peer-to-peer наличности, когда дело доходит до приватности, он уже мало что может предложить. Помимо открытости транзакций, время и затраты на их подтверждение настолько высоки, что биткоины, как и золото, непрактично использовать для повседневных нужд.
Если взглянуть на этот график, выяснится, что если заплатить самую низкую из возможных комиссий, придется ждать не меньше 13 минут, пока платеж пройдет. Эван Даффилд понял, что это проблема и придумал решение.
Что такое Dash и в чем преимущества этой криптовалюты?
Эван Даффилд наткнулся на Bitcoin в 2010 году и был очень впечатлен технологией. Однако медленная скорость транзакций и отсутствие конфиденциальности не особо его впечатлили. Он предложил массу идей сообществу Bitcoin касательно того, как можно улучшить ядро системы, но никто даже и ухом не повел, поскольку менять исходный код Bitcoin никто не хочет.
Поэтому он решил взять ядро bitcoin core за основу и сделать свою криптовалюту. 18 января 2014 года родилась Dash. Сперва она называлась Xcoin, позже DarkCoin. Наконец, ее переименовали в Dash, сокращенно от Digital Cash («цифровая наличность»).
Это команда Dash:
Спорный мгновенный майнинг
В первые два дня запуска было намайнено 1,9 миллиона монет (около 10% общего запаса, который когда-либо будет). Эван Даффилд говорил, что это из-за бага, который появился, когда код Litecoin был форкнут при создании Dash. Даффилд предложил решение:
Перезапустить монету. Осуществить airdrop (раздачу), чтобы изначальное распределение было шире.
Сообщество, однако, одинаково плохо отреагировало на оба предложения. Большинство намайненных монет были распределены позже на биржах по очень низким ценам.
Прежде чем мы погрузимся в исследования Dash и узнаем, в чем прелесть этой криптовалюты, давайте узнаем самое основное.
Hard cap (жесткая планка) Dash — 18 миллионов монет. То есть, всего будет 18 миллионов Dash. На момент написания этой статьи в обращении порядка 7,85 миллионов монет.
Каждая монета стоит примерно 700 долларов, а общая капитализация — 5,4 миллиарда долларов. Среднее время майнинга блока — 2,5 минуты, что в 4 раза быстрее Биткоина (10 минут на поиск блока при майнинге).
У Dash также варьирующаяся награда за блок, которая уменьшается на 7,1% в год.
Теперь давайте рассмотрим уникальные особенности Dash.
Особенность Dash #1: мастерноды
Полные узлы, или ноды, это сервера, работающие в сети P2P, которая позволяет одноранговым узлам получать друг у друга обновления о событиях в сети. Нетрудно догадаться, что ноды требуют поддержания и заботы. По этой причине число полных узлов растет не так быстро, как можно было бы предположить. Из-за этого время распространения блока существенно растет.
В идеале майнеры хотели бы, чтобы обнаруженные ими блоки распространялись по сети максимально быстро. Каждая секунда задержки увеличивает шансы на то, что другой майнер выиграет гонку за блоком и добавит свои блоки в сеть раньше других.
И чтобы увеличить число полных нод, нужно чем-то привлечь их владельцев. Поэтому технический документ (whitepaper) Dash предлагает следующее:
«Такие ноды чрезвычайно важны для здоровья сети. Они обеспечивают клиенты способностью синхронизироваться и быстро передавать сообщения по сети. Мы предлагаем добавить вторичную сеть — Dash Masternode. Эти ноды будут всегда доступны и обеспечат необходимый уровень сервиса сети, в обмен на участие в программе вознаграждения мастернод».
Что такое мастерноды?
Мастерноды — это как полные узлы в сети Bitcoin (то есть, полностью загруженный и синхронизированный, отдельно хранящийся корневой кошелек Bitcoin Core, с полной историей всех транзакций), только мастерноды должны предоставлять сети определенные услуги и ОБЯЗАНЫ иметь серьезные инвестиции в системе. Чтобы запустить мастерноду, нужно инвестировать 1000 DASH.
Вопрос: зачем нужно столько вкладывать в мастерноду?
В обмен на предоставленные услуги, мастернода будет выплачивать дивиденды с инвестиций. Это, собственно, и есть привлечение людей к мастернодам в лучших интересах экосистемы. Dash была первой криптовалютой, которая внедрила модель мастернод в протокол.
Мастерноды создают сеть второго уровня, следуя алгоритму proof-of-service («доказательство обслуживания») и существуют поверх обычной сети майнеров. Такая двухуровневая система создает синергию между proof-of-service и proof-of-work в сети Dash.
Как только мастернода активируется, она начинает выполнять ряд функций, вроде InstantSend и PrivateSend. Также она может участвовать в голосовании. Поскольку работа мастерноды требует определенных затрат, чтобы поощрить операторов узлов, их нужно наградить. Награда обычно составляет 45% от вознаграждения за блок. Но есть и нюансы.
Система вознаграждения мастернод
Поскольку число активных мастернод в системе Dash меняется, вознаграждение тоже колеблется в соответствии с этой формулой:
(n/t)*r*b*a
- где n — число мастернод под контролем оператора;
- t — общее число мастернод;
- r — текущее вознаграждение за блок (сейчас это 3,6 DASH);
- b — число блоков в среднем в день (обычно это 576);
- a — средняя выплата мастерноде (45% блока)
ROI, или возврат инвестиций, мастерноды можно рассчитать как:
((n/t)*r * b*a*365) / 1000
Обращение к мастернодам
Мастерноды можно использовать для быстрого и безопасного решения важных задач. Чтобы увеличить скорость, можно выбрать N псевдослучайных мастернод из сети для выполнения задачи. Эти мастерноды, по сути, могут выполнить задачу без необходимости участия всей сети. В этом состоит существенное отличие от Bitcoin, в сети которого каждый узел участвует в создании консенсуса.
Псевдослучайный выбор выполняется с использованием следующего алгоритма.
Как работает proof-of-service
Как вы уже поняли, мастерноды имеют огромное влияние на систему. Следовательно, их нужно сделать максимально византийски отказоустойчивыми. Это значит, что система должна работать гладко, даже если некоторые мастерноды выпадают из общей схемы.
Мастернода может недорабатывать по несколькими причинам. Либо она управляется плохим оператором, либо злоумышленником. В любом случае это может быть опасным для экосистемы, если мастерноды не будут в онлайне или же будут работать на неверной высоте блока. Чтобы гарантировать, что мастерноды работают так, как должны, Dash задействует протокол proof-of-service, или «доказательство обслуживания».
Чтобы свести на нет влияние, которое могут оказывать мастерноды злоумышленников на систему, ноды должны должны пинговать (прозванивать) остальную сеть, чтобы убедиться, что они остаются активными. Сеть мастернод обеспечивает это, выбирая два кворума в каждом блоке.
Кворум А проверяет службу кворума Б блок за блоком.
Кворум А — это самые близкие узлы к текущему хэшу блока, а кворум Б — самые дальние узлы от хэша.
- Мастернода А (1) проверяет мастерноду Б (ранг 2300)
- Мастернода А (2) проверяет мастерноду Б (ранг 2299)
- Мастернода А (3) проверяет мастерноду Б (ранг 2298)
Примерно 1% сети проверяется каждым блоком, что означает, что вся сеть проверяется 6 раз в день. Узлы выбираются случайно системой кворума, чтобы системе можно было доверять. Каждому узлу разрешается шесть нарушений, после чего он деактивируется.
Итак, представим Алису в роли злоумышленника, который хочет осквернить экосистему Dash. Ей нужно быть выбранной шесть раз подряд, чтобы успешно нарушить систему. Если нет, система отменит все предыдущие нарушения. Единственный способ быть выбранной шесть раз подряд — запустить больше мастернод. Но, как мы уже выяснили, для этого ей придется поставить на кон свои деньги (1000 Dash на мастерноду).
Допустим, ей удалось подкопить деньжат. Что дальше?
В таблице выше:
- n — общее число узлов, контролируемых атакующим
- t — общее число мастернод в сети
- r — глубина цепи
Из таблицы следует, что если Алиса инвестирует 1 миллион Dash в систему и создаст 1000 мастернод, у нее будет шанс на успех в 0,6755%. Шансы достаточно невысокие. От атаки Сибиллы сеть DASH можно считать защищенной.
Как еще она может обмануть систему?
Чтобы ответить на этот вопрос, нужно провести мысленный эксперимент.
На момент написания статьи 1 Dash стоит примерно 700 долларов. 1500 мастернод в сети Dash стоит порядка 1 000 000 000 долларов. Предположим, кто-то реально решил вложить миллиард долларов собственных средств в систему. На что он теперь может надеяться? Выступить против интересов системы и гарантировать, что потеряешь часть своего состояния? В случае успешной атаки криптовалюта обесценится, это как пить дать.
Либо же можно сделать все возможное, чтобы стоимость твоей доли увеличивалась. Высока вероятность, что последний вариант будет наиболее предпочтительным.
Особенность #2: PrivateSend
Если коротко, PrivateSend поддерживает взаимозаменяемость (fungibility), обменивая монеты среди пользователей, чтобы разорвать отслеживаемую историю монет.
Теперь давайте разберем подробнее.
Прежде чем мы начнем разбирать, как работает PrivateSend, нам нужно понять концепцию CoinJoin.
Что такое CoinJoin?
CoinJoin — это метод анонимизации, предложенный для биткоиновых транзакций Грегори Максвеллом. В его основе лежит такая идея: «Когда вы хотите сделать платеж, найдите еще кого-нибудь, кто хочет сделать платеж, и сделайте совместный платеж».
Так выглядит схематическое представление CoinJoin:
Как видите, в совместном платеже вы не можете привязать ввод к выводу в одной транзакции. Это гарантирует, что после проведения платежа третьи стороны ни о чем не узнают. CoinJoin должен был решить одну из самых фундаментальных проблем биткоиновых транзакций: отсутствие взаимозаменяемости. То есть, заменяемости актива или товара на актив или товар того же типа.
Предположим, что вы заняли у друга 20 баксов. Если вы выпишете ему ДРУГОЙ счет на 20 долларов, это будет идеально. Вы можете также выписать один счет на 10 долларов и 2 счета на 5 долларов. Тоже хорошо. Доллары взаимозаменяемы (но не всегда).
Однако, если вы одолжите у кого-нибудь автомобиль на выходные и вернете ему другую машину в понедельник, этот кто-то разобьет вам рожу. Даже если вы возьмете у него красный «жигуль» и вернетесь с другим красным «жигулем», он все равно будет недоволен. Автомобили не взаимозаменяемы. Как обстоит дело с криптовалютами?
Давайте разберем на примере Биткоина. Bitcoin гордится тем, что имеет открытый распределенный реестр и книгу транзакций, в которую любой может заглянуть в любое время. То есть, любой может видеть все транзакции, которые происходят в любое время. Имея биткоин, который когда-либо использовался для покупки наркотиков, например, вы будете нести с ним его нелегальный груз. Ваш биткоин будет скопрометирован.
У некоторых поставщиков услуг за биткоины и бирж эти «порченые» монеты никогда не будут стоить столько же, сколько «чистые». Это убивает взаимозаменяемость и становится поводом для критики Биткоина. В конце концов, почему вы должны страдать, если один из предыдущих владельцев вашего биткоина использовал его для совершения незаконных покупок?
Хотя CoinJoin — блестящее решение вопроса взаимозаменяемости, у него много слабых мест.
Слабость #1: слияние транзакций
Один из самых распространенных способов внедрения CoinJoin — обычное слияние транзакций:
Но такой подход приводит к множеству возможностей отследить монеты пользователя в ходе этих совмещенных транзакций.
В данном примере через слияние было отправлено 0,5 BTC.
Чтобы определить источник транзакции, нужно просто суммировать значения, справа, пока они не будут соответствовать значения слева.
Чем больше пользователей добавляется в миксер, тем сложнее становится их отследить. Но риск деанонимизации остается.
Слабость #2: конечное связывание
В других имплементациях CoinJoin пользователь может обезличить свои транзакции и затем отправить сдачу на биржу или еще куда-нибудь, кто знаком с личностью пользователя. После этого адресат может просто взять полученные данные, чтобы связать их с пользователем, который ждет получения своей транзакции. Эта слабость называется «конечное связывание».
Давайте рассмотрим, что происходит на диаграмме выше.
- Алиса применяет CoinJoin на ввод 1,2 BTC, что приводит к разделению на 1 и 0,2 BTC.
- Алиса тратит 0,7 BTC из своих исходящих 1 BTC, получая сдачу в 0,3 BTC.
- Сдача в 0,3 BTC затем отправляется известному источнику, то есть бирже.
И вот используя эти 0,3 BTC, источник может запросто отследить транзакции и нарушить анонимность.
Слабость #3: сквозное связывание
Рассмотрим диаграмму ниже.
Как нам определить отправителя нашей анонимной транзакции?
Просто начните с «биржевой транзакции» и прокрутит все назад до момента, когда Алиса анонимно отправляет 0,7 BTC. Это совершенно нарушает анонимность. Такого рода атака называется сквозным связыванием.
Вернемся к диаграмме:
- Алиса покупает 1,2 BTC на coinbase.
- Затем она анонимизирует их в выход 1 BTC и получает сдачу 0,3 BTC.
- Затем она соединяет сдачу 0,3 BTC с предыдущей сдачей 0,2 BTC.
- Соединяя анонимную сдачу со сдачей, которую она получила на Coinbase, Алиса компрометирует свою анонимность.
- Любой может проследить за движением 0,2 BTC через Coinbase и узнать полную историю транзакций.
Несмотря на слабости, Dash видит ценность в том, чтобы сделать монеты взаимозаменяемыми, и поэтому внедряет PrivateSend.
PrivateSend — это сервис перемешивания монет на базе CoinJoin с модификациями.
Модификации включают:
- Использование мастернод.
- Перемешивание при помощи множества мастернод.
- Ограничение перемешивания по обозначенным делениями (например, 0,01 DASH, 0,1 DASH, 1 DASH или 10 DASH). Максимум — 1000 DASH.
- Использование пассивных нод.
Как работает PrivateSend в Dash?
PrivateSend добавляет приватности транзакциям за счет добавления множества идентичных вводов от множества пользователей и отправки их на множественные выводы. Поскольку поток транзакций нельзя отследить, приватность транзакции остается неизменной.
В техническом документе Dash написано:
«PrivateSend использует тот факт, что транзакция может быть сформирована множеством сторон и передана множеству сторон, дабы слить средства вместе таким образом, чтобы впоследствии их нельзя было разбить. Учитывая то, что все транзакции PrivateSend настроены так, что пользователи платят сами себе, система полностью защищена от краж и монеты пользователей остаются в безопасности. В настоящее время для перемешивания с использованием PrivateSend необходимо не менее трех участников».
На изображении выше три пользователя предоставили свои обезличенные средства для перемешивания. Затем они получают свои средства обратно с новых выходов, которые случайно перемешаны. Как видите, обезличение транзакций необходимо для перемешивания. Можно обезличивать валюту кратно 0,01, 0,1, 1, 10, 100 и 1000 DASH.
Затем схожие деноминации перемешиваются, дабы обеспечить анонимность. PrivateSend ограничен 1000 DASH за сессию. Это значит, что при значительном увеличении суммы потребуется несколько сессий. PrivateSend работает в пассивном узле, чтобы гарантировать, что временные атаки будет трудно осуществить, а у пользователей не возникнет проблем. В каждой сессии участвует до трех клиентов, а значит, у каждого пользователя есть 1 шанс из 3 на проведение транзакции. Чтобы увеличить анонимность, используется цепной подход, при котором средства отправляются через множество мастернод, одна за другой.
Особенность #3: InstantSend
Одна из самых интересных фишек DASH, наряду с анонимностью, это скорость транзакции.
Как мы уже упомянули в начале этого обзора, скорость транзакций в сети Bitcoin очень низкая. Настолько низкая, что от Bitcoin отказываются как от средства платежей.
InstantSend решает эту проблему посредством практически мгновенных транзакций.
Опять же, как проходят транзакции в сети Bitcoin?
- Алиса хочет отправить 1 BTC Бобу и создает транзакцию.
- Транзакция — это, по сути, сообщение майнерам, которые устанавливают ее намерение произвести транзакцию.
- Майнеры затем подтверждают транзакцию и закладывают детали в блоки, которые запечатывают транзакции.
- Боб получает 1 BTC.
Причина, по которой майнерам важно провести процесс одобрения, двояка. С одной стороны, им нужно убедиться, что именно Алиса инициирует транзакцию. То есть, чтобы не было двойной траты.
Что такое двойная трата?
Двойная трата, по сути, означает трату одной и той же монеты в нескольких транзакциях одновременно. Проблема эта обусловлена принципами майнинга. В блокчейне транзакции проходят только тогда, когда майнеры помещают транзакции в добытые блоки.
Теперь, допустим, Алиса отправила 1 биткоин Бобу, а затем тот же биткоин Чарли. Майнеры помещают одну транзакцию в блок, а затем, в процессе этого, перезаписывают другую, препятствую двойной трате.
Как Dash решает проблему двойной траты, используя практически мгновенные транзакции?
Давайте пройдем по шагам InstantSend:
Каждый раз, когда в Dash добывается блок, майнер отправляет хэш блока. Хэш блока используется для выбора кворума мастернод. 10 мастернод = 1 кворум.
На время, предшествующее добыче следующего блока (2,5 минуты), кворум становится «органом власти InstantSend» в сети Dash. Итак, предположим, что Алиса хочет отправить Бобу 1 Dash посредством InstantSend, выбранный кворум заблокирует входные данные транзакции и транслирует данные ввода.
Блокировка обеспечит предотвращение двойной траты. Если Алиса захочет отправить такой же ввод Чарли и потратить средства дважды, поскольку вводы уже были транслированы, сеть отвергнет новую транзакцию.
Отправитель и получатель получат 5 подтверждений транзакции в течение секунды и станет понятно, что транзакция прошла.
Заключение: что такое криптовалюта Dash?
Вроде бы ни о чем не забыли.
Эти три особенности делают Dash уникальной криптовалютой.
Вот так выглядит график роста Dash:
Многие крупные поставщики услуг начали принимать “Digital Cash” в качестве оплаты.
Сингапурский кошелек TenX даже создал мобильное приложение и дебетовую карту, которая может преобразовать Dash в фиатные валюты. Приложение было успешно опробовано в McDonald's.
Dash обладает мощным потенциалом стать популярной криптовалютой.