BABE - алгоритм производства блоков в релейной цепочке Polkadot. Он использует VRF, Проверяемую случайную функцию , чтобы выбрать кандидата для производства блока среди набора валидаторов. Этот производитель блоков первичный . В то же время BABE запускает алгоритм выбора, подобный циклическому набору, в фоновом режиме, чтобы выбрать вторичный валидатор из набора для создания блока, если VRF не привел к тому, что какие-либо валидаторы были выбраны какпраймериз. Используя этот метод двойного выбора, BABE поддерживает постоянное время блока - основные цвета, если выбраны, вторичные, если нет.
Возможно, что VRF квалифицирует несколько валидаторов для создания блоков, и в этом случае оба блока являются действительными. На этом этапе будет зависеть от задержки сети, как быстро остальная сеть будет видеть каждый блок - это определит победителя.
В рамках GRANDPA, когда 2/3 или более валидаторов согласовывают блокэтот блок и все блоки, ведущие к нему, завершаются немедленно.
Так что же происходит, когда BABE разветвляется и строится на двух отдельных цепочках?
Правило в Polkadot следующее:
- сначала посмотрите, какая цепочка имеет ближайший завершенный блок
- , затем, если на этой завершенной головке есть вилки, выберите ту, в которой большинство основных цветов - те, которые выбраныVRF против алгоритма, подобного циклическому алгоритму
Если связь все еще существует, неоднозначность продолжается до тех пор, пока две трети валидаторов не завершат блок в одном из вилок и не ампутируют другой.