Наказаны ли пользователи за участие в торгах за неправильный форк в алгоритме Уроборос?

Меня смущает описание алгоритма PoS здесь https://hackernoon.com/a-hitchhikers-guide-to-consensus-algorithms-d81aae3eb0e3

В PoS блоки создаются не майнерами, выполняющими работу, а майнерами, которые ставят свои жетоны, чтобы "делать ставки" на действительные блоки. В случае разветвления, майнеры тратят свои жетоны на голосование, на какой развилке поддерживать. Предполагая, что большинство людей голосуют за правильный ответвление, валидаторы, проголосовавшие за неправильный ответ, "потеряют свою долю" в правильном ответвлении.

Так работает алгоритм Уробороса?

2 ответа

Решение

Нет.

На ставку пользователей напрямую не влияет процесс размещения в любом варианте протокола Уроборос. На практике, если пользователь расширяет "неправильный форк", он просто не получает никаких вознаграждений за этот блок.

Алгоритмы разреза не являются необходимыми для Уроборос, поскольку он использует криптографию и вероятностный анализ, чтобы исключить атаки, которые он призван предотвратить.

Однако, даже если бы это было необходимо, обычно это проявляется в форме наказания за доказуемо плохое поведение, а не за честные "ошибки" (из которых одной является расширение более короткой цепочки). В частности, варианты, которые я видел, накажут пользователей, если они создадут два блока в одной точке, то есть они активно разветвляют цепочку.

В протоколе Ouroboros Proof of Stake нет штрафа за ставку не на ту руку вилки. И это касается не только преднамеренных попыток злонамеренного форка.

В Уроборосе постоянно и «по замыслу» два производителя блоков производят каждый блок для одного и того же слота. Это происходит потому, что распределение слота происходит на основе математических вероятностей и веса делегирования долей. Вы можете думать об этом как о бросании кубиков. Например, небольшой пул должен выбросить 1, чтобы стать лидером слота. Пул большего размера может заполнить слот, если выпадет 1 или 2. (вероятности, конечно, намного ниже, чем описано здесь на основе 1-6 кубиков).

Каждый пул постоянно выпускает свой собственный секретный ключ VRF и, таким образом, независимо определяет, когда он является лидером слота. (в основной сети Cardano, которая использует Ouroboros PoS, это 2-секундный цикл). Все другие пулы могут проверять, является ли это законным блоком, когда они получают новый блок, используя открытый ключ VRF.

Теперь в некоторых случаях (около 5% всех блоков) шанс может сделать два или даже больше пулов ставок законными лидерами слотов. Итак, здесь создается несколько легитимных блоков без каких-либо злых умыслов.

Однако реализация Cardano Ouroboros реализовала относительно справедливое решение для этого, которое позволяет быстро решить эту проблему. Выигрывает блок, создатель которого выпал наименьшее число. Это небольшое преимущество для небольших пулов, потому что им, по сути, нужно низко катиться, чтобы вообще стать лидером. Но в среднем пул теряет около половины (2,5%) всех сгенерированных блоков в так называемых битвах слотов из-за случайных коллизий.

Однако важно, чтобы каждый узел в сети мог немедленно определить правильный действительный блок без дополнительных данных и потери времени, и чтобы по этому поводу был консенсус. Таким образом, эти (по замыслу) вилки могут быть решены без особого воздействия, и нет никакой необходимости наказывать кого-либо за это, особенно, разрезая участвующие токены.

Другие вопросы по тегам