Предположим, что пул майнинга долгое время находился вне основной сети, так что он отстает примерно на 100 блоков, но ему удалось добыть 200 блоков за этот период (скажем, некоторая комбинация раньше имела 33%, намеренно выбирая легкие блоки для расширения, и ...).
Очевидно, что это может произойти, задушив сложность, но я предполагаю, что есть защита от такой очевидной атаки, как эта. Обновление: предположение проверено; уменьшение сложности здесь не работает, как ожидалось.
Я нашел два примерно похожих вопроса, но ни один из них не кажется правильным:
Можно ли запутать атаку двойной траты, имитируя транзакции, наблюдаемые до форка?
Изоляция интернета по всей стране, неизбежный форк
Очевидным ответом, если бы он содержал только добытые транзакции, было бы отбрасывание его вручную, но я не думаю, что это предположение окажется верным.
Меня беспокоит убеждение, что это дубликат самой длинной цепочки против самой высокой сложности. Пометка этого как дубликата предполагает отсутствие целого класса криптографических атак на хэши, а также многих других вещей.
Одна из возможностей, как намекает Марч, состоит в том, чтобы предварительно построить длинную цепочку, а затем с помощью атаки на хеш построить блок с точно заданным хэшем за несколько часов. Это может потребовать ожидания, пока не появится исключительно уязвимый блок, но это не имеет большого значения.
Наконец-то я догадался, как могла бы выглядеть версия без злого умысла, и нашел следующее: Сценарий: катастрофа разбивает Интернет на десятки не связанных между собой фрагментов В принципе, плохие вещи случаются, если самая большая подключенная сеть << 50%.
Одна из возможностей, как намекает Марч, состоит в том, чтобы предварительно построить длинную цепочку, а затем с помощью атаки на хеш построить блок с точно заданным хэшем за несколько часов. Это может потребовать ожидания, пока не появится исключительно уязвимый блок, но это не имеет большого значения.
Я не вижу, где я намекал на это, но это определенно не сработает.
несколько часов, чтобы построить блок с заданным хэшем.
Хеши блоков — это хэши SHA-256d. Пространство 2^256 слишком велико для грубой силы в обозримом будущем. Определенно это невозможно сделать за «несколько часов».
исключительно уязвимый блок
Что это должно быть? Блоки не более или менее уязвимы.
предварительно построить длинную цепочку
Вся цепочка станет недействительной, если вы измените первый элемент. Каждый блок основывается на хеше блока своего предшественника. Следовательно, два блокчейна не могут быть произвольно присоединены друг к другу.
И как уже было описано в комментариях выше:
большое количество блоков низкой сложности
Учитывается не количество блоков, а общий «вес», измеренный в суммированной сложности.
Наконец-то я нашел ответ (очень старый): https://bitcointalk.org/index.php?topic=823.msg9668#msg9668
knightmb: «Старые клиенты должны принимать его вплоть до последнего снапшота релиза»
Если это все еще правда, это фактически отвечает на мой вопрос.
Джошуа
Алин Томеску
Джошуа
Алин Томеску
Марч
Джестин
Марч