alex-ru
Well-known member

"Вопросы скептика" о новых функциях в Dash
С момента ребрендинга криптовалюты Darkcoin в Dash в ней появились или были доработаны много нововведений, вызывающих неоднозначную реакцию. Сейчас мне хотелось бы задать вам, как одному из разработчиков этой системы, несколько вопросов.
Их можно назвать "вопросами скептика", так как они могут коснуться нежелательных моментов. Но я думаю, что для сообщества ответы на них будут более интересны, чем бравые пресс-релизы об очередных достижениях.
UdjinM6: Спасибо за возможность, постараюсь быть максимально полезен для разъяснения этих нововведений.
Bits.media: В системе Dash изначально и со временем все большая часть контроля за сетью отводится так называемым "суперузлам", или мастернодам (master node). После текущего релиза они, по сути, становятся анонимными владельцами всей сети. Команда разработчиков не опасается возможных злоупотреблений полномочиями со стороны некоторого количества суперузлов, если они принадлежат одному владельцу или группе "заговорщиков"?
UdjinM6: Предлагаю сначала определиться с термином "контроль за сетью". Базовая безопасность сети (валидность транзакций и блоков) обеспечивается все тем же POW – пулами и майнерами. Мастерноды не контролируют сеть, они выполняют в ней работу в виде блокирования хэша транзакции с целью предотвратить двойную трату (InstantX) и миксинга (Darksend).
Далее, термин "владельцы сети". Мастерноды не владеют сетью, это просто невозможно в силу ее децентрализованной сути. В текущем релизе владельцы мастернод получили право голоса в принятии решений и способ им воспользоваться, вместо банальной продажи всех монет по факту принятия разработчиками и сообществом решений, которые им не нравятся.
Майнеры все так же голосуют хэшами и могут, например, отказаться переходить на новую версию. "Обычные" пользователи все также голосуют деньгами, "сливая" монеты в случае, если их не устроит решение мастернод или майнеров. Злоупотребление со стороны мастернод - ровно то самое решение, против которого тут же проголосуют пользователи, просто обесценив инвестиции в эти самые мастерноды.
Bits.media: Допустим, некий "темный властелин", владеющий большинством суперузлов, хочет внести изменение, которое увеличит его возможности или доход - скажем, изменить механизм подтверждения InstantX или опять увеличить процент дохода мастернод. Конечно, это изменение не настолько радикально, чтобы мелкие держатели и майнеры разбежались, но в перспективе может стать очень существенным.
Под видом обычного пользователя он вносит свое предложение, а подконтрольные мастерноды автоматически его одобряют. Может ли остальная часть сообщества отменить это решение без драматических последствий для сети?
UdjinM6: Принципиально такая опасность есть, согласен. Однако, голосовать можно не только за, но и против. До принятия решения есть несколько дней, когда новые предложения не принимаются, а принимаются только голоса. Предполагается, что в таких случаях можно разослать алерт и "заминусовать" такое предложение. Кроме того,
1) такие изменения нужно будет реализовать в коде;
2) заставить сеть/пулы обновиться.
Если предложение явно вредоносное, сделать это будет непросто. Репутация, капитализация сети и стоимость всех его мастернод пострадают. Экономически мало целесообразно, как мне кажется. Это как в POW - имея огромные мощности ты можешь начать мухлевать, но когда вскроется такой факт, ущерб твоим инвестициям перекроет выгоду от мухлежа. Выгоднее играть по правилам сети.
И нужно понимать, что это только первый релиз данной функциональности. Конечно же, многое было обсуждено на форуме и протестировано в тестнете, но ничего не "отлито в граните" - допилим шероховатости по мере их обнаружения, возможно, скорректируем правила, если будут найдены серьезные уязвимости.
Учитывая это, на данный момент функциональность бюджетов идет в обвязке с несколькими спорками, очищающими бюджеты и отключающими блоки платежей. Но это уже "рубильник" на совсем крайний случай, поскольку вместе с вредоносными вычистит и "хороших".
Bits.media: Мастерноды обеспечивают функционирование одной из ключевых функций Dash - мгновенных платежей InstantX. Насколько уязвима система перед злоумешленником, владеющим несколькими десятками связанных суперузлов, что достаточно для мгновенного подтверждения его транзакций? Подтверждение в блокчейне всегда будет отставать, как минимум на несколько минут.
UdjinM6: Для подтверждения мгновенной транзакции необходим кворум 6 из 10 мастернод, максимально "близких" по своему хэшу к хэшу блока. Шанс обладать всеми 6 в нужный момент проведения транзакции при 3000 мастернодах (N/3000)^6, т.е. для обладателя 100 мастернод (100 000 Dash) это ~ 1.37e-9, для владельца 1000 мастернод (1 000 000 Dash) - 0.137%. Уже что-то ощутимое, но целесообразно ли это экономически? Думаю, нет. Кроме того, при каких-то проблемах с InstantX кошелек с такой транзакцией работает как с обычной, т.е. с подтверждениями через блокчейн.
Также отмечу, что система кворумов была во многом переписана в последнем релизе и по результатам тестов показала себя хорошо. При положительных результатах работы InstantX на базе v12 в основной сети, количество мастернод, необходимых для кворума, можно будет увеличить, что уменьшит и без того небольшие шансы такой атаки еще на порядки. Серьезных проблем мы не ожидаем, но в тестовой сети у нас было лишь 100 мастернод, что могло не позволить выявить какие-то нюансы. В остальном, это лишь вопрос баланса шансов на атаку и среднего времени подтверждения.