Система и способ для реализации алгоритма достижения консенсуса на основе ориентированного ациклического графа с применением эпидемического протокола

1. Компьютерный способ обмена информацией между распределенными компьютерными узлами, связанными в определенную сеть, реализующий алгоритм достижения консенсуса на основе ориентированного ациклического графа (DAG), такой как алгоритм Hashgraph достижения консенсуса с использованием «протокола сплетен о сплетнях», включающий в себя следующие шаги:
1
4
1
- обеспечение случайного выбора первым узлом (N) второго узла (N) и отправка первым узлом (N) исходной информации (8);
1
- определение на основе исходной информации (8) того, события какого узла опережают события узла (N);
1
1
4
1
4
- отправка информации (9) об отмене первому узлу (N) для предотвращения передачи первым узлом (N) информации о событии графа DAG второму узлу (N), если исходная информация (8) означает, что события первого узла (N) опережают события второго узла (N);
1
4
4
1
- отправка первым узлом (N) информации (6) о событии графа DAG второму узлу (N), если исходная информация (8) означает, что события второго узла (N) опережают события первого узла (N);
4
1
- предпочтительно отправка вторым узлом (N) информации (7) о событии DAG первому узлу (N);
- аналогичные действия других узлов с целью синхронизации и распространения по сети информации (6, 7) о событии графа DAG.
2. Способ по п. 1, в котором исходная информация относится к порядку событий узла.
3. Способ по любому из пп. 1 и 2, в котором порядок событий узла определяется путем отслеживания значения ординаты каждого события.
4. Способ по п. 3, в котором порядок событий узла определяется путем отслеживания каждым узлом целочисленного значения, называемого «высотой», увеличивающегося с каждым сформированным в узле событием.
5. Способ по любому из предшествующих пунктов, в котором исходная информация отправляется посредством «приливной волны» (8) и/или информация об отмене отправляется посредством «прибойной волны» (9).
6. Способ по любому из предшествующих пунктов, отличающийся тем, что вторая отправка информации о событии графа DAG от второго узла к первому узлу является второй и последней волной информации о событии DAG.
7. Способ по любому из предшествующих пунктов, содержащий шаг отправки другой информации об отмене, если узел принимает информацию, не входящую в заранее заданную последовательность обмена информацией, и/или если узел принимает информацию от узла, с которым он уже обменивался информацией.
8. Система для обмена информацией между распределенными компьютерными узлами, связанными в определенную сеть, реализующая алгоритм для достижения консенсуса на основе ориентированного ациклического графа (DAG), такой как алгоритм Hashgraph достижения консенсуса с использованием «протокола сплетен о сплетнях», содержащая:
1
4
1
- средства для обеспечения случайного выбора первым узлом (N) второго узла (N) и отправки первым узлом (N) исходной информации (8);
- средства для определения на основе исходной информации (8) того, какие события узла опережают другие;
1
1
4
1
4
- средства для отправки первому узлу (N) информации (9) об отмене для предотвращения передачи первым узлом (N) второму узлу (N) информации (6, 7) о событии графа DAG, если исходная информация (8) означает, что события первого узла (N) опережают события второго узла (N);
1
4
4
1
- средства для обеспечения отправки первым узлом (N) информации (6) о событии графа DAG второму узлу (N), если исходная информация (8) означает, что события второго узла (N) опережают события первого узла (N);
4
1
- предпочтительно средства для обеспечения отправки вторым узлом (N) информации (7) о событии DAG первому узлу (N);
- аналогичные средства в отношении других узлов для синхронизации и распространения по сети информации (6, 7) о событии графа DAG.
9. Система по п. 8, отличающаяся тем, что исходная информация относится к порядку событий узла.
10. Система по любому из пп. 8 и 9, отличающаяся тем, что содержит средства для отслеживания значения ординаты каждого события с целью определения порядка событий узла.
11. Система по п. 10, отличающаяся тем, что содержит средства для отслеживания каждым узлом целочисленного значения, называемого «высотой», увеличивающегося с каждым сформированным в узле событием, с целью определения порядка событий узла.
12. Система по любому из пп. 8-11, отличающаяся тем, что содержит средства для отправки исходной информации (8) через «приливную волну» и средства для отправки информации (9) об отмене через «прибойную волну».
1
4
13. Система по любому из пп. 8-12, отличающаяся тем, что содержит средства для ограничения количества пересылок информации о событиях графа DAG между первым узлом (N) и вторым узлом (N).
14. Система по любому из пп. 8-13, отличающаяся тем, что содержит средства для отправки другой информации об отмене, если узел принимает информацию, не входящую в заранее заданную последовательность обмена информацией, и/или если узел получает информацию от узла, с которым он уже обменивался информацией.
15. Сеть, содержащая один или несколько центральных блоков, в частности, один или несколько компьютеризированных центральных блоков (10), и соединения (12) с дополнительными управляющими блоками (11), реализующими транзакции, в частности, с компьютеризированными управляющими блоками, при этом центральные блоки (10) содержат систему (5а) по любому из пп. 8-14.