Пользователи включают список их любимых свидетелей в каждый пакет, который они отправляют в сеть, при условии, что этот список достаточно похож на списки других недавно постивших пользователей. Это последнее требование приводит к сильному подобию списков свидетелей, опубликованных разными пользователями, и к медленной эволюции "усреднённого" наблюдаемого списка свидетелей. Это также означает, что никакое значительное изменение "усреднённого" списка свидетелей невозможно без одобрения большинства текущих свидетелей, и одним из следствий этого является устойчивость списка свидетелей к атаке Сибиллы..
1. списки свидетелей соседних в ОЦ транзакций либо идентичны, либо различаются только одной мутацией,
список ваших свидетелей не должен отличаются более чем на одного свидетеля от списка транзакции на которую ссылается ваша. В ротивном случае ваша транзакция не будет принята сетью!
тогда что если создать 2 спам кошелька. В первом кошельке будет набор из тысячи адресов с одной мутацией. Во втором кошельке будет набор из тысячи адресов с двумя мутациями по отношению к дефолтному набору свидетелей и лишь одна мутация по отношению к первому кошельку.
- начинаем спамить сеть с первого кошеля с макс скоростью, надеясь перекрыть всех родителей с дефолтным набором свидетелей, нашим списком с одной мутацией.
- запускаем спам со второго кошеля с двумя мутациями (невалидные tx по правилам сети). Однако тк сеть наводнена спамом с первого кошелька, транзы со второго будут иметь только одну мутацию по отношению к последним родителям, таким образом они будут валидны.
- первый кошелек прекращает спам, второй спамит в одиночку. Цель перекрыть всех родителей первого кошелька (с одной мутацией) транзакциями со второго кошелька (с двумя мутациями)
В случае успешной атаки мы захватим ДАГ. Теперь никто не сможет слать транзы. Списки честных пользователей и свидетелей отличаются на две мутации, поэтому их транзакции являются невалидными.
Дальше с помощью одной мутации уже без сопротивления меняем всех 12 свидетелей на своих. Теперь у пользователей два выхода. Либо форкаться (создавая новую монету), либо поменять их списки свидетелей на наш