В: Когда принимаются 2 или более синих «братских» блока, какой протокол определяет порядок этих блоков? И если в них есть tx-сообщения о столкновении, является ли рассматриваемый tx просто опущенным в блоке, который заказан позже?
О: Они упорядочены по Blue work-у (от низкого к высокому) и разделены на тай-брейк по хешу. И да, если есть конфликт, побеждает первый. Blue work обладает свойством соблюдения топологии из-за оператора ghostdag max. Поэтому мы часто используем Blue work для получения топологической сортировки.
В: Однако основной порядок определяется виртуальной цепочкой, не так ли? Как два уровня определяют порядок: частичный порядок, индуцированный виртуальной цепочкой, и порядок между блоками виртуальной цепи — Blue work?
О: Между блоками в наборе слияния мы сортируем по Blue work-у, но выбранный родитель предшествует набору слияния. Так что на самом деле есть нюанс.
В: А блок с конфликтным tx отбрасывается полностью или только конфликтный tx?
О: Только tx отбрасывается (у него просто отсутствуют входы utxo в текущем наборе utxo «на лету»), потому что они только что были потрачены.
Q: Ну, во-вторых, если я правильно понимаю, этот тип консенсуса считается более устойчивым к MEV, потому что небольшие периферийные узлы могут майнить значительное количество блоков. Так это потому, что они могли напрямую публиковать свои собственные tx, а не полагаться на мемпул, где их можно было бы использовать? Или потому что там просто более быстрая пропускная способность мемпула?
A: Вот обсуждение разработчиков по этому поводу: Stealth transactions via DAG · Issue #1
Q: Хорошо, я прочитал это. Это умная идея, но с некоторыми предположениями (без сговора майнеров, а также, что произойдет, если Чарли в примере решит придержать dec()? Вам придется отправить dec() нескольким майнерам).
Но, тем не менее, у меня была идея, которая могла бы способствовать предотвращению MEV.
Большая часть MEV работает, когда майнер находит большую транзакцию и вставляет собственную транзакцию в свой добытый блок, опережая эту транзакцию.
Так что, если бы был способ упорядочить tx блока случайным образом? Первый ответ на это таков: майнер просто упорядочивает транзакцию таким образом, чтобы это принесло им пользу после применения системы упорядочения. Но что, если порядок зависит от хеша самого блока? Майнеру придется добывать новый блок, если порядок его не устроит, и кто-то другой, вероятно, первым добудет большой tx.
Таким образом, вы уже снижаете MEV на 50%, если майнеры попытаются рискнуть. При том количестве MEV, которое извлекается, 50% — это много. Просто идея, не знаю, насколько она жизнеспособна.
A1: (@msutton) Это довольно интересно. Фактически в Kaspa транзакции принимаются следующими блоками. Так что это довольно просто реализовать.
A2: (@hashdag) Когда существует внешний источник случайности, MEV действительно можно значительно уменьшить, рандомизировав порядок. доб. источником случайности может быть одноразовый номер POW или VDF. Это еще один аспект, где POW>POS. Однако есть компромисс, поскольку некоторые заказы более выгодны для пользователей (как кумулятивное, также известное как социальное благополучие), и поэтому рандомизация «вслепую» происходит за счет экономической эффективности. Это моя текущая тема исследования.
Продолжение обсуждения тут.
Предоставлено @msutton, @hashdag, @themistocles, @jwj в Discord.
Q: Я наткнулся на этот исследовательский документ: https://arxiv.org/pdf/2109.01102.pdf, в котором описывается потенциальная атака на протокол GHOSTDAG, которая позволит плохим майнерам манипулировать вознаграждением за блок. Решена ли эта проблема в текущей сети Kaspas?
A: На самом деле я наткнулся на эту статью несколько недель назад и просмотрел ее.
Вкратце: это не «атака на GHOSTDAG», а известное свойство всех инклюзивных протоколов, которое уже отмечалось в литературе. Эта статья представляет собой не что иное, как предоставление некоторых эмпирических данных, подтверждающих понимание, которое уже было опубликовано в 2014 году в https://www.researchgate.net/publication/280036163_Inclusive_Block_Chain_Protocols (двое из его авторов по совпадению являются @hashdag и Aviv Zohar).
«Атаку», которую они представляют, можно было бы более точно описать как понимание того, что «правило включения случайных транзакций» является слабым равновесием Нэша, но не может быть строгим равновесием Нэша. В этом нет ничего нового, и это относится ко всем «включительным» протоколам (то есть ко всем алгоритмам, которые позволяют сосуществовать параллельным блокам, и, в частности, ко всем протоколам на основе DAG).
Важным фактом является то, что равновесие Нэша может быть слабым, но оно все же существует. То есть, если небольшая часть майнеров пойдет по этому пути, они могут увеличить свою доходность, но по мере роста доли «нечестных» майнеров ожидаемая доходность снова сходится к доходности равновесной стратегии (также анализ того, как доходность « «честный» майнер меняется по мере того, как увеличивается доля «нечестных» майнеров, обнаруживая удивительные свойства). Так что на практике эта стратегия может оказаться совсем не выгодной.
Подробнее о теории игр инклюзивных рынков транзакций можно прочитать здесь: https://ancapalex.medium.com/transaction-selection-games-in-blockdags-602177f0f726
Если на практике мы видим более высокую, чем ожидалось, частоту коллизий (что указывает на то, что майнеры не включают случайные транзакции), существуют различные возможные подходы для смягчения этого, например:
С академической точки зрения, компромисс заключается в том, что невозможно отдавать приоритет высоким комиссиям без увеличения количества конфликтов. Вы можете рассматривать более высокие комисии (то есть возможность «купить» приоритет для включения) в качестве функции или считать это ошибкой. Если вы выберете первое, то это неизбежный компромисс.
Предоставлено @hashdag и @Titorelli
В: Достаточно ли длинный закрытый ключ Kaspa, чтобы противостоять квантовым вычислениям? Даже для переработанного адреса?
О1.0: В наши дни практически ни одна монета не обладает квантовой устойчивостью. ECDSA полностью несовместима с квантовыми компьютерами. Нет хороших альтернатив, которые реально реализованы. Подписи Лэмпорта очень неэффективны. Нынешние финалисты PQDS NIST далеко не выдержали достаточного количества криптоанализа (и тот факт, что некоторые участники, занявшие второе место, оказались пригодными для использования, демонстрирует, насколько серьезной это является на самом деле). Они также требуют около x10 хранилища в лучшем случае.
О1.1: На самом деле, я должен быть более осторожным. Я измерял сложность реверсирования txn с точки зрения относительного хешрейта. С точки зрения абсолютного хешрейта вопрос становится легче оценить, потому что, с одной стороны, хешрейт BTC больше, чем у нас, примерно на десять порядков, а с другой стороны, почти все хэши вычисляются на ASIC, к которым мы устойчивы.
На самом деле я на поздней стадии написания академической статьи (совместно с Or Sattath) о том, насколько квантово уязвимы все существующие блокчейны (кроме тех, которые используют необоснованно неэффективные схемы OTS, такие как qBTC), и что можно с этим поделать. Надеюсь, нам удастся загрузить его в ArXiV к августу.
В: Вы слышали о QANX? Это квантово-устойчивый блокчейн. Что вы думаете о Qanx?
О: Я просмотрел их сайт, и есть много причин для беспокойства.
В общедоступной цепочке блоков QAN (MainNet) предлагающие блоки не выбираются на основе стоимости сделанных ими ставок. Они избираются среди себя поддающимся проверке случайным образом, и все это без возможности вмешательства и манипуляции. Все валидаторы имеют равную возможность проверить блок в любой момент на основе депозита, уплаченного в токене QANX.
Это просто глупо. Если кто-то может быть валидатором для некоторого фиксированного количества монет x, то валидатор с 1000x может просто принять 1000 идентификаторов, тем самым увеличивая свои шансы создать следующий блок в 1000 раз. Если валидаторы имеют разрешение, то монета фактически централизована. Даже если их PoR каким-то волшебным образом работает (а я совершенно уверен, что это не так), это не решает ни хрена.
Мой окончательный вывод: ****.
Предоставлено @deshe, @badger47623, @Promethean
Также поищите на нашем сервере Discord слово «Quantum», чтобы увидеть еще несколько обсуждений.