он содержит айдишники транзакций: а) которых нету у текущей ноды; б) которых нету у ноды, с которой была проведена сверка.
У скетчей есть один недостаток: чтобы найти различия между множествами, необходимо оценить (предугадать) их количество. Если оценка больше реального количества различий, то алгоритм сработает. Если меньше, то нода переключится на альтернативный способ (по тестам такое происходит в 0.7% случаев), который заключается в том, чтобы сверить с другой нодой не полное множество, а только половину: благодаря линейности скетчей, имея разницу половины транзакций, можно достроить оставшиеся транзакции. Если и этот способ не срабатывает (4.3% случаев по тестам), то нода выполняет стандартную синхронизацию транзакций.
Что получается в итоге:
1. Рассылкой занимаются только публичные ноды и только на 8 исходящих соединений.
2. Не все ноды получают новые транзакции, но транзакции распределяются по сети примерно равномерном.
3. Ноды периодически (каждую секунду) проводят сверку транзакций с помощью скетчей.
4. Благодаря тому, что транзакции распределены по сети равномерно, сверка работает быстро.
5. В итоге снижается трафик и увеличивается количество соединений между нодами, что делает сеть безопаснее.
Ещё одна интересная деталь, о которой стоит сказать: в новом протоколе для распространения собственных транзакций используется сверка, а не рассылка. Т. е. когда вы создаёте и отправляете транзакцию, нода передаст её другим нодам через сверку, а не через отправку напрямую. При сверке айдишники транзакций не раскрываются, поэтому узнать ноду, с которой транзакция была отправлена, невозможно. Это затруднит работу сервисов, шпионящих за транзакциями в сети Биткоина.
Оригинальный пейпер, в котором много деталей и графиков: https://arxiv.org/pdf/1905.10518.pdf
Erlay получил BIP номер 330: https://github.com/bitcoin/bips/blob/master/bip-0330.mediawiki
И уже идёт работа над кодом: https://github.com/bitcoin/bitcoin/pull/18261
Сидите дома и изучайте Биткоин.
У скетчей есть один недостаток: чтобы найти различия между множествами, необходимо оценить (предугадать) их количество. Если оценка больше реального количества различий, то алгоритм сработает. Если меньше, то нода переключится на альтернативный способ (по тестам такое происходит в 0.7% случаев), который заключается в том, чтобы сверить с другой нодой не полное множество, а только половину: благодаря линейности скетчей, имея разницу половины транзакций, можно достроить оставшиеся транзакции. Если и этот способ не срабатывает (4.3% случаев по тестам), то нода выполняет стандартную синхронизацию транзакций.
Что получается в итоге:
1. Рассылкой занимаются только публичные ноды и только на 8 исходящих соединений.
2. Не все ноды получают новые транзакции, но транзакции распределяются по сети примерно равномерном.
3. Ноды периодически (каждую секунду) проводят сверку транзакций с помощью скетчей.
4. Благодаря тому, что транзакции распределены по сети равномерно, сверка работает быстро.
5. В итоге снижается трафик и увеличивается количество соединений между нодами, что делает сеть безопаснее.
Ещё одна интересная деталь, о которой стоит сказать: в новом протоколе для распространения собственных транзакций используется сверка, а не рассылка. Т. е. когда вы создаёте и отправляете транзакцию, нода передаст её другим нодам через сверку, а не через отправку напрямую. При сверке айдишники транзакций не раскрываются, поэтому узнать ноду, с которой транзакция была отправлена, невозможно. Это затруднит работу сервисов, шпионящих за транзакциями в сети Биткоина.
Оригинальный пейпер, в котором много деталей и графиков: https://arxiv.org/pdf/1905.10518.pdf
Erlay получил BIP номер 330: https://github.com/bitcoin/bips/blob/master/bip-0330.mediawiki
И уже идёт работа над кодом: https://github.com/bitcoin/bitcoin/pull/18261
Сидите дома и изучайте Биткоин.