СПОСОБЫ И УСТРОЙСТВО ДЛЯ РАСПРЕДЕЛЕННОЙ БАЗЫ ДАННЫХ В СЕТИ

1. Энергонезависимый считываемый процессором носитель, хранящий код, представляющий команды, предназначенные для исполнения процессором, при этом код содержит код, который вызывает выполнение процессором:
приема первого события из экземпляра распределенной базы данных на первом вычислительном устройстве из множества вычислительных устройств, которые реализуют распределенную базу данных посредством сети, функционально соединенной с множеством вычислительных устройств;
определения третьего события на основе первого события и второго события; определение первого набора событий на основе по меньшей мере частично третьего события, при этом каждое событие из первого набора событий:
идентифицировано вторым набором событий, при этом общая величина долей, связанная со вторым набором событий, удовлетворяет первому критерию величины доли, при этом каждое событие из второго набора событий (1) определяется разным экземпляром распределенной базы данных и (2) идентифицируется третьим событием, и
связано с первым номером раунда;
вычисления номера раунда для третьего события на основе определения того, что сумма величин долей, связанных с каждым событием из первого набора событий, удовлетворяет второму критерию величины доли, при этом номер раунда для третьего события соответствует второму номеру раунда, превышающему первый номер раунда;
определения третьего набора событий на основе третьего события, при этом каждое событие из третьего набора событий:
идентифицировано четвертым набором событий, содержащим третье событие, при этом каждое событие из четвертого набора событий определяется разным экземпляром распределенной базы данных, при этом общая величина долей, связанная с четвертым набором событий, удовлетворяет третьему критерию величины доли, и
представляет собой событие из первого набора событий;
определения порядкового значения для четвертого события на основе по меньшей мере частично общей величины долей, связанной с третьим набором событий, удовлетворяющей четвертому критерию величины доли; и
сохранения порядкового значения в экземпляре распределенной базы данных на втором вычислительном устройстве из множества вычислительных устройств.
2. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что дополнительно содержит код, который вызывает выполнение процессором:
вычисления общей величины долей, связанной с третьим набором событий на основе суммы набора величин долей, при этом каждая величина доли из набора величин долей связана с экземпляром распределенной базы данных, который определил событие из третьего набора событий.
3. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что код, который вызывает выполнение процессором определения порядкового значения для четвертого события, содержит код, который вызывает выполнение процессором определения номера принятого раунда, связанного с четвертым событием, на основе идентификации четвертого события третьим набором событий, общая величина долей которых удовлетворяет четвертому критерию величины доли.
4. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что дополнительно содержит код, который вызывает выполнение процессором:
определения третьего набора событий на основе равенства значения, связанного с каждым событием из третьего набора событий, значению, связанному с оставшимися событиями из третьего набора событий, при этом значение, связанное с каждым событием из третьего набора событий, является (1) связанным с четвертым событием и (2) основанным на значении для каждого события из четвертого набора событий, которое такое событие из третьего набора событий может идентифицировать,
при этом четвертому критерию величины доли удовлетворяет третий набор событий, когда общая величина долей, связанная с третьим набором событий, превышает пороговое значение, основанное на общей величине долей, связанной с четвертым набором событий.
5. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что второй критерий величины доли основан на предварительно определенном соотношении, связанном с общей величиной долей распределенной базы данных, при этом код дополнительно содержит код, который вызывает выполнение процессором:
связывания номера раунда третьего события в виде принятого номера раунда для четвертого события на основе удовлетворения четвертому критерию величины доли третьим набором событий.
6. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что дополнительно содержит код, который вызывает выполнение процессором:
определения значения для третьего события на основе значения для каждого события из четвертого набора событий,
при этом значение для третьего события является значением, связанным с большинством событий из четвертого набора событий на основе удовлетворения третьему критерию величины доли четвертым набором событий,
при этом третьему критерию величины доли удовлетворяет четвертый набор событий, когда общая величина долей каждого события из четвертого набора событий имеет значение, связанное с большинством событий, превышающее первое пороговое значение и не превышающее второе пороговое значение, при этом первое пороговое значение и второе пороговое значение основаны на общей величине долей четвертого набора событий.
7. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что дополнительно содержит код, который вызывает выполнение процессором:
определения значения для третьего события на основе значения для каждого события из четвертого набора событий,
при этом значение для третьего события является псевдослучайным, основанным на удовлетворении четвертому критерию величины доли четвертым набором событий,
при этом четвертому критерию величины доли удовлетворяет четвертый набор событий, когда общая величина долей каждого события из четвертого набора событий имеет значение, связанное с большинством событий из четвертого набора событий, превышающее первое пороговое значение и не превышающее второе пороговое значение, при этом первое пороговое значение и второе пороговое значение основаны на общей величине долей, связанной с четвертым набором событий.
8. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что четвертый набор событий представляет собой поднабор событий из пятого набора событий, при этом код дополнительно содержит код, который вызывает выполнение процессором:
идентификации поднабора событий на основе равенства значения, связанного с каждым событием из поднабора событий, значению, связанному с оставшимися событиями из поднабора событий, при этом значение, связанное с каждым событием из поднабора событий, является (1) связанным с четвертым событием и (2) основанным на значении для каждого события из шестого набора событий, которое такое событие из поднабора событий может идентифицировать,
при этом номер раунда пятого набора событий превышает номер раунда шестого набора событий,
при этом пятому критерию величины доли удовлетворяет поднабор событий, когда общая величина долей поднабора событий превышает первое пороговое значение и не превышает второе пороговое значение, при этом первое пороговое значение и второе пороговое значение основаны на общей величине долей пятого набора событий; и
идентификации, на основе удовлетворения пятому критерию величины доли поднабором событий, седьмого набора событий, общая величина долей которого применяется для определения порядкового значения для четвертого события, при этом седьмой набор событий имеет номер раунда больший, чем номер раунда пятого набора событий, при этом значение для каждого события из седьмого набора событий основано на значении, связанном с каждым событием из пятого набора событий.
9. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что каждое событие из третьего набора событий (1) определено разным экземпляром распределенной базы данных и (2) идентифицировано третьим событием,
при этом порядковое значение для четвертого события дополнительно основано на псевдослучайном определении, связанном с цифровой подписью третьего события.
10. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что четвертый критерий величины доли основан по меньшей мере частично на сумме набора величин долей, связанных с криптовалютой, при этом каждая величина доли из набора величин долей, связанных с количеством криптовалюты, хранится разным экземпляром распределенной базы данных.
11. Энергонезависимый считываемый процессором носитель по п. 1, отличающийся тем, что четвертый критерий величины доли удовлетворяется, когда общая величина долей, связанная с третьим набором событий, превышает предварительно определенное пороговое значение, при этом предварительно определенное пороговое значение основано по меньшей мере частично на общей величине долей распределенной базы данных.
12. Устройство, содержащее
память, содержащую экземпляр распределенной базы данных на первом вычислительном устройстве, выполненном с возможностью включения во множество вычислительных устройств, которое реализует распределенную базу данных посредством сети, функционально соединенной с множеством вычислительных устройств; и
процессор, функционально соединенный с экземпляром распределенной базы данных,
при этом процессор выполнен с возможностью определения в первый момент времени первого события, привязанного к первому множеству событий, при этом каждое событие из первого множества событий представляет собой последовательность байтов,
при этом процессор выполнен с возможностью приема во второй момент времени после первого момента времени и со второго вычислительного устройства из множества вычислительных устройств, сигнала, представляющего второе событие, (1) определенное вторым вычислительным устройством и (2) привязанное ко второму множеству событий, при этом каждое событие из второго множества событий представляет собой последовательность байтов,
при этом процессор выполнен с возможностью идентификации порядка, связанного с третьим множеством событий, на основе по меньшей мере величины доли, связанной с каждым вычислительным устройством из множества вычислительных устройств, при этом каждое событие из третьего множества событий представляет собой событие из по меньшей мере одного из первого множества событий или второго множества событий,
при этом каждое событие из третьего множества событий связано со значением для каждого атрибута из набора атрибутов,
при этом значение для первого атрибута из набора атрибутов для каждого события из третьего множества событий содержит первое значение, основанное на том, удовлетворяет ли критерию взаимосвязь между таким событием и первым набором событий, привязанных к этому событию,
при этом каждое событие из первого набора событий (1) является предком такого события из третьего множества событий и (2) связано с тем же первым общим атрибутом, что и остальные события из первого набора событий, при этом первый общий атрибут является индикатором начального экземпляра, в котором событие, определенное каждым вычислительным устройством из множества вычислительных устройств, связано с конкретным значением,
при этом значение для второго атрибута из набора атрибутов содержит числовое значение на основе взаимосвязи между таким событием из третьего множества событий и вторым набором событий, привязанным к такому событию из третьего множества событий,
при этом каждое событие из второго набора событий является потомком такого события из третьего множества событий и связано со вторым общим атрибутом, как и остальные события из второго набора событий,
при этом процессор выполнен с возможностью сохранения в экземпляре распределенной базы данных порядка, связанного с третьим множеством событий.
13. Устройство по п. 12, отличающееся тем, что величина доли, связанная с каждым вычислительным устройством из множества вычислительных устройств, пропорциональна количеству криптовалюты, связанной с экземпляром распределенной базы данных на таком вычислительном устройстве из множества вычислительных устройств.
14. Устройство по п. 12, отличающееся тем, что критерий основан на сравнении (1) комбинации величин долей, связанных с первым набором событий, и (2) порогового значения, определенного на основе величины доли, связанной с каждым вычислительным устройством из множества вычислительных устройств.
15. Устройство, содержащее
память, связанную с экземпляром распределенной базы данных на первом вычислительном устройстве, выполненном с возможностью включения во множество вычислительных устройств, которое реализует распределенную базу данных посредством сети, функционально соединенной с множеством вычислительных устройств, и
процессор, функционально соединенный с памятью,
при этом процессор выполнен с возможностью идентификации в первый момент времени первого события распределенной базы данных, (1) определенного первым вычислительным устройством и (2) привязанного к первому множеству событий распределенной базы данных,
при этом процессор выполнен с возможностью приема во второй момент времени после первого момента времени сигнала, представляющего второе событие распределенной базы данных, (1) определенное вторым вычислительным устройством из множества вычислительных устройств и (2) привязанное ко второму множеству событий распределенной базы данных,
при этом процессор выполнен с возможностью идентификации порядка событий распределенной базы данных внутри третьего множества событий распределенной базы данных по меньшей мере частично на основе значения первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных, при этом значение первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных основано на взаимосвязи между таким событием распределенной базы данных и набором событий распределенной базы данных, содержащих потомков такого события распределенной базы данных, при этом каждое событие распределенной базы данных из набора событий распределенной базы данных связано со вторым атрибутом, общим для оставшихся событий распределенной базы данных из набора событий распределенной базы данных, при этом каждое событие распределенной базы данных из третьего множества событий распределенной базы данных взято из по меньшей мере одного из первого множества событий распределенной базы данных или второго множества событий распределенной базы данных, при этом третье множество событий распределенной базы данных является взаимоисключающим с набором событий распределенной базы данных,
при этом процессор выполнен с возможностью сохранения в памяти порядка, связанного с третьим множеством событий распределенной базы данных.
16. Устройство по п. 15, отличающееся тем, что значение первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных основано на количестве потомков такого события, содержащихся в наборе событий распределенной базы данных, в сравнении с количеством непотомков такого события, содержащихся в наборе событий распределенной базы данных.
17. Устройство по п. 15, отличающееся тем, что каждое событие распределенной базы данных из набора событий распределенной базы данных определено уникальным вычислительным устройством из множества вычислительных устройств.
18. Устройство по п. 15, отличающееся тем, что каждое событие распределенной базы данных из набора событий распределенной базы данных определено уникальным вычислительным устройством из множества вычислительных устройств,
при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из набора событий распределенной базы данных на основе того, что каждое событие распределенной базы данных из набора событий распределенной базы данных представляет собой начальный экземпляр вычислительного устройства из множества вычислительных устройств, которое определило, что событие распределенной базы данных определило событие распределенной базы данных, имеющее конкретное значение для третьего атрибута, при этом каждое событие распределенной базы данных из набора событий распределенной базы данных имеет конкретное значение для третьего атрибута.
19. Устройство по п. 15, отличающееся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом каждое событие распределенной базы данных из первого набора событий распределенной базы данных определено уникальным вычислительным устройством из множества вычислительных устройств,
при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из первого набора событий распределенной базы данных на основе (1) того, что каждое событие распределенной базы данных из первого набора событий распределенной базы данных представляет собой начальный экземпляр вычислительного устройства из множества вычислительных устройств, которое определило, что событие распределенной базы данных определило событие распределенной базы данных, имеющее конкретное значение для третьего атрибута, и (2) исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных, при этом первый набор событий распределенной базы данных представляет собой поднабор третьего набора событий распределенной базы данных, при этом каждое событие распределенной базы данных из первого набора событий распределенной базы данных имеет конкретное значение для третьего атрибута.
20. Устройство по п. 15, отличающееся тем, что каждое событие распределенной базы данных из первого множества событий распределенной базы данных и каждое событие распределенной базы данных из второго множества событий распределенной базы данных представляет собой последовательность байтов.
21. Устройство по п. 15, отличающееся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из первого набора событий распределенной базы данных на основе исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных, при этом второй набор событий распределенной базы данных удовлетворяет предварительно определенному критерию, при этом первый набор событий распределенной базы данных представляет собой поднабор третьего набора событий распределенной базы данных.
22. Устройство по п. 15, отличающееся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из первого набора событий распределенной базы данных на основе исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных, при этом первый набор событий распределенной базы данных представляет собой поднабор третьего набора событий распределенной базы данных,
при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из второго набора событий распределенной базы данных на основе (1) того, что событие распределенной базы данных из второго набора событий распределенной базы данных является потомком четвертого набора событий распределенной базы данных и (2) количества событий распределенной базы данных в четвертом наборе событий распределенной базы данных, удовлетворяющих критерию.
23. Устройство по п. 15, отличающееся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из первого набора событий распределенной базы данных на основе исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных, при этом первый набор событий распределенной базы данных представляет собой поднабор третьего набора событий распределенной базы данных,
при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из второго набора событий распределенной базы данных на основе (1) того, что событие распределенной базы данных из второго набора событий распределенной базы данных является потомком четвертого набора событий распределенной базы данных и (2) количества событий распределенной базы данных в четвертом наборе событий распределенной базы данных, удовлетворяющих первому критерию,
при этом каждое событие распределенной базы данных из четвертого набора событий распределенной базы данных является предком пятого набора событий распределенной базы данных, при этом каждое событие распределенной базы данных из второго набора событий распределенной базы данных является потомком пятого набора событий распределенной базы данных,
при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из четвертого набора событий распределенной базы данных на основе количества событий распределенной базы данных в пятом наборе событий распределенной базы данных, удовлетворяющих второму критерию.
24. Устройство по п. 15, отличающееся тем, что процессор выполнен с возможностью идентификации порядка, связанного с третьим множеством событий распределенной базы данных по меньшей мере частично на основе значения первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных и метки времени, связанной с каждым событием распределенной базы данных из третьего множества событий распределенной базы данных.
25. Устройство по п. 15, отличающееся тем, что процессор выполнен с возможностью идентификации порядка, связанного с третьим множеством событий распределенной базы данных по меньшей мере частично на основе значения первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных и подписи каждого события распределенной базы данных из третьего множества событий распределенной базы данных.
26. Устройство по п. 15, отличающееся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных,
при этом процессор выполнен с возможностью идентификации каждого события распределенной базы данных из первого набора событий распределенной базы данных на основе исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных,
при этом каждое событие распределенной базы данных из второго набора событий распределенной базы данных указывает на то, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных на основе значения, (1) связанного с таким событием распределенной базы данных из первого набора событий распределенной базы данных и (2) идентифицированного набором предков такого события распределенной базы данных из второго набора событий распределенной базы данных.
27. Энергонезависимый считываемый процессором носитель, хранящий код, представляющий команды, предназначенные для исполнения процессором, при этом код содержит код, который вызывает выполнение процессором:
приема сигнала, представляющего множество событий распределенной базы данных, содержащих транзакции, связанные с распределенной базой данных;
вычисления для каждого события распределенной базы данных из множества событий распределенной базы данных, принятого раунда для такого события распределенной базы данных из множества событий распределенной базы данных на основе взаимосвязи между таким событием распределенной базы данных и набором событий распределенной базы данных, содержащих потомков такого события, при этом каждое событие распределенной базы данных из набора событий распределенной базы данных классифицировано как известное;
идентификации порядка, связанного с множеством событий распределенной базы данных, на основе принятого раунда, связанного с каждым событием распределенной базы данных из множества событий распределенной базы данных; и
сохранения порядка в памяти, связанной с экземпляром распределенной базы данных на первом вычислительном устройстве, выполненном с возможностью включения во множество вычислительных устройств, которое реализует распределенную базу данных посредством сети, функционально соединенной с множеством вычислительных устройств.
28. Энергонезависимый считываемый процессором носитель по п. 27, отличающийся тем, что код, который вызывает выполнение процессором вычислений, содержит код, который вызывает выполнение процессором вычисления, для каждого события распределенной базы данных из множества событий распределенной базы данных, принятого раунда для такого события распределенной базы данных на основе количества потомков такого события, содержащихся в наборе событий распределенной базы данных, в сравнении с количеством не-потомков такого события, содержащихся в наборе событий распределенной базы данных.
29. Энергонезависимый считываемый процессором носитель по п. 27, отличающийся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом каждое событие распределенной базы данных из первого набора событий распределенной базы данных определено уникальным вычислительным устройством из множества вычислительных устройств,
при этом код дополнительно содержит код, который вызывает выполнение процессором:
классификации каждого события распределенной базы данных из первого набора событий распределенной базы данных, как известного, на основе (1) того, что каждое событие распределенной базы данных из первого набора событий распределенной базы данных представляет собой начальный экземпляр вычислительного устройства из множества вычислительных устройств, которое определило, что событие распределенной базы данных определило событие распределенной базы данных, имеющее конкретное значение для атрибута, и (2) исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных, при этом первый набор событий распределенной базы данных представляет собой поднабор третьего набора событий распределенной базы данных, при этом каждое событие распределенной базы данных из первого набора событий распределенной базы данных имеет конкретное значение для атрибута.
30. Энергонезависимый считываемый процессором носитель по п. 27, отличающийся тем, что каждое событие распределенной базы данных из набора событий распределенной базы данных определено уникальным вычислительным устройством из множества вычислительных устройств.
31. Энергонезависимый считываемый процессором носитель по п. 27, отличающийся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом код дополнительно содержит код, который вызывает выполнение процессором:
классификации каждого события распределенной базы данных из первого набора событий распределенной базы данных, как известного, на основе исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных,
при этом каждое событие распределенной базы данных из второго набора событий распределенной базы данных указывает на то, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных на основе значения, (1) связанного с таким событием распределенной базы данных из первого набора событий распределенной базы данных и (2) идентифицированного набором предков такого события распределенной базы данных из второго набора событий распределенной базы данных.
32. Энергонезависимый считываемый процессором носитель по п. 27, отличающийся тем, что код, который вызывает выполнение процессором идентификации порядка, содержит код, который вызывает выполнение процессором идентификации порядка, связанного с множеством событий распределенной базы данных по меньшей мере частично на основе принятого раунда, связанного с каждым событием распределенной базы данных из множества событий распределенной базы данных и по меньшей мере одного из метки времени или подписи каждого события распределенной базы данных из множества событий распределенной базы данных.
33. Способ, включающий
идентификацию в первый момент времени первого события распределенной базы данных, (1) определенного первым вычислительным устройством, выполненным с возможностью включения во множество вычислительных устройств, которое реализует распределенную базу данных посредством сети, функционально соединенной с множеством вычислительных устройств, и (2) привязанного к первому множеству событий распределенной базы данных;
прием во второй момент времени после первого момента времени сигнала, представляющего второе событие распределенной базы данных, (1) определенное вторым вычислительным устройством из множества вычислительных устройств и (2) привязанное ко второму множеству событий распределенной базы данных;
вычисление, с применением процессора, связанного с экземпляром распределенной базы данных, порядка, связанного с третьим множеством событий распределенной базы данных, по меньшей мере частично на основе значения первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных, при этом значение первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных основано на взаимосвязи между таким событием распределенной базы данных и набором событий распределенной базы данных, содержащих потомков такого события распределенной базы данных, при этом каждое событие распределенной базы данных из набора событий распределенной базы данных связано со вторым атрибутом, общим для оставшихся событий распределенной базы данных из набора событий распределенной базы данных, при этом каждое событие распределенной базы данных из третьего множества событий распределенной базы данных взято из по меньшей мере одного из первого множества событий распределенной базы данных или второго множества событий распределенной базы данных; и
сохранение в памяти, связанной с экземпляром распределенной базы данных, порядка, связанного с третьим множеством событий распределенной базы данных.
34. Способ по п. 33, отличающийся тем, что каждое событие распределенной базы данных из набора событий распределенной базы данных определено уникальным вычислительным устройством из множества вычислительных устройств, при этом способ дополнительно включает
идентификацию каждого события распределенной базы данных из набора событий распределенной базы данных на основе того, что каждое событие распределенной базы данных из набора событий распределенной базы данных представляет собой первый экземпляр вычислительного устройства из множества вычислительных устройств, которое определило, что событие распределенной базы данных определило событие распределенной базы данных, имеющее конкретное значение для третьего атрибута, при этом каждое событие распределенной базы данных из набора событий распределенной базы данных имеет конкретное значение для третьего атрибута.
35. Способ по п. 33, отличающийся тем, что набор событий распределенной базы данных представляет собой первый набор событий распределенной базы данных, при этом способ включает
идентификацию каждого события распределенной базы данных из первого набора событий распределенной базы данных, на основе исхода протокола соглашения, в котором второй набор событий распределенной базы данных указывает, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных,
при этом каждое событие распределенной базы данных из второго набора событий распределенной базы данных указывает на то, что такое событие распределенной базы данных из первого набора событий распределенной базы данных должно находиться в рамках третьего набора событий распределенной базы данных на основе значения, (1) связанного с таким событием распределенной базы данных из первого набора событий распределенной базы данных и (2) идентифицированного набором предков такого события распределенной базы данных из второго набора событий распределенной базы данных.
36. Способ по п. 33, отличающийся тем, что дополнительно включает
вычисление порядка, связанного с третьим множеством событий распределенной базы данных по меньшей мере частично на основе значения первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных и по меньшей мере одного из метки времени и подписи каждого события распределенной базы данных из третьего множества событий распределенной базы данных.
37. Способ по п. 33, отличающийся тем, что значение первого атрибута для каждого события распределенной базы данных из третьего множества событий распределенной базы данных основано на количестве потомков такого события, содержащихся в наборе событий распределенной базы данных, в сравнении с количеством не-потомков такого события, содержащихся в наборе событий распределенной базы данных.
38. Устройство, содержащее
память, сохраняющую экземпляр распределенного направленного ациклического графа (DAG) на первом вычислительном устройстве, выполненном с возможностью быть включенным во множество вычислительных устройств, которое реализует распределенный DAG посредством сети, функционально соединенной с множеством вычислительных устройств, при этом первое вычислительное устройство выполнено с возможностью сохранения в памяти набора событий с применением экземпляра распределенного DAG; и
процессор первого вычислительного устройства, функционально соединенный с памятью,
при этом процессор выполнен с возможностью определения в первый момент времени первого события, привязанного к первому набору событий,
при этом процессор выполнен с возможностью приема, во второй момент времени после первого момента времени и со второго вычислительного устройства из множества вычислительных устройств, второго события, (1) определенного вторым вычислительным устройством и (2) привязанного ко второму множеству событий,
при этом процессор выполнен с возможностью определения третьего события, содержащего криптографический хеш первого события и криптографический хеш второго события, и
при этом процессор выполнен с возможностью идентификации посредством алгоритма консенсуса порядка каждого события из третьего множества событий относительно оставшихся событий из третьего множества событий на основе по меньшей мере первого множества событий и второго множества событий, при этом каждое событие из третьего множества событий представляет собой событие из по меньшей мере одного из первого множества событий или второго множества событий,
при этом процессор выполнен с возможностью сохранения в памяти и с применением экземпляра распределенного DAG, третьего события в виде части набора событий и порядка, связанного с третьим множеством событий.
39. Устройство по п. 38, отличающееся тем, что алгоритм консенсуса не требует протокола доказательства выполнения работы.
40. Устройство по п. 38, отличающееся тем, что распределенный DAG не содержит субъекта-лидера.
41. Устройство по п. 38, отличающееся тем, что процессор принимает второе событие от второго вычислительного устройства в виде части события синхронизации.
42. Устройство по п. 38, отличающееся тем, что каждое событие из третьего множества событий содержит данные полезной нагрузки, упорядоченные относительно данных полезной нагрузки для каждого оставшегося события из третьего множества событий на основе порядка, связанного с третьим множеством событий.
43. Устройство по п. 38, отличающееся тем, что третье событие имеет цифровую подпись первого вычислительного устройства.
44. Устройство по п. 38, отличающееся тем, что процессор дополнительно выполнен с возможностью посылки первого события на второе вычислительное устройство в ответ на прием второго события от второго вычислительного устройства, таким образом, что вычислительное устройство определяет четвертое событие, содержащее криптографический хеш первого события.
45. Устройство по п. 38, отличающееся тем, что порядок, связанный с третьим множеством событий, основан по меньшей мере частично на наборе значений, при этом каждое значение из набора значений, присвоенных событию из поднабора событий из третьего множества событий, основано на по меньшей мере одном из показателя доверия или надежности, связанной с таким событием из поднабора событий.
46. Устройство по п. 38, отличающееся тем, что процессор выполнен с возможностью приема второго события в ответ на случайный выбор вторым вычислительным устройством первого вычислительного устройства из множества вычислительных устройств.
47. Устройство по п. 38, отличающееся тем, что порядок, связанный с третьим множеством событий, основан по меньшей мере частично на наборе значений, при этом каждое значение из набора значений присвоено репутации, связанной с событием из поднабора событий.
48. Устройство по п. 38, отличающееся тем, что первое событие привязано к первому множеству событий посредством включения в первое событие идентификатора по меньшей мере двух событий из первого множества событий.
49. Устройство, содержащее
первое вычислительное устройство, выполненное с возможностью быть включенным в множество вычислительных устройств, которое реализует распределенный DAG посредством сети, функционально соединенной с множеством вычислительных устройств, при этом первое вычислительное устройство содержит процессор и память, функционально соединенную с процессором, при этом в памяти сохранен (1) экземпляр распределенного DAG и (2) инструкции, которые вызывают выполнение процессором:
определения в первый момент времени первого события, привязанного к первому множеству событий с помощью идентификатора по меньшей мере одного события из первого множества событий, содержащегося в первом событии,
приема во второй момент времени после первого момента времени со второго вычислительного устройства из множества вычислительных устройств, второго события, (1) определенного вторым вычислительным устройством и (2) привязанного ко второму множеству событий с помощью идентификатора по меньшей мере одного события из второго множества событий, содержащегося во втором событии,
определения третьего события, содержащего криптографический хеш первого события и криптографический хеш второго события,
идентификации с применением алгоритма консенсуса, порядка каждого события из третьего множества событий относительно оставшихся событий из третьего множества событий на основе по меньшей мере первого множества событий и второго множества событий, при этом каждое событие из третьего множества событий представляет собой событие из по меньшей мере одного из первого множества событий или второго множества событий, и
сохранения в памяти в виде части распределенного DAG третьего события и порядка, связанного с третьим множеством событий.
50. Устройство по п. 49, отличающееся тем, что алгоритм консенсуса не требует протокола доказательства выполнения работы.
51. Устройство по п. 49, отличающееся тем, что распределенный DAG не содержит субъекта-лидера.
52. Устройство по п. 49, отличающееся тем, что прием второго события от второго вычислительного устройства является частью события синхронизации.
53. Устройство по п. 49, отличающееся тем, что каждое событие из третьего множества событий содержит данные полезной нагрузки, упорядоченные относительно данных полезной нагрузки для каждого оставшегося события из третьего множества событий на основе порядка, связанного с третьим множеством событий.
54. Устройство по п. 49, отличающееся тем, что инструкции, которые вызывают выполнение процессором приема, содержат инструкции, которые вызывают выполнение процессором приема второго события в ответ на случайный выбор вторым вычислительным устройством первого вычислительного устройства.
55. Устройство по п. 49, отличающееся тем, что третье событие имеет цифровую подпись первого вычислительного устройства.
56. Устройство по п. 49, отличающееся тем, что в памяти дополнительно сохранены инструкции, которые вызывают выполнение процессором посылки первого события на второе вычислительное устройство в ответ на прием второго события от второго вычислительного устройства, таким образом, что вычислительное устройство определяет четвертое событие, содержащее криптографический хеш первого события.
57. Устройство, содержащее
память; и
процессор, функционально связанный с памятью, при этом процессор выполнен с возможностью приема первого события от первого вычислительного устройства, реализующего распределенную базу данных, при этом первое событие содержит (1) идентификатор первого события-предка и (2) идентификатор второго события-предка,
при этом процессор выполнен с возможностью приема второго события от второго вычислительного устройства, реализующего распределенную базу данных, при этом второе событие содержит (1) идентификатор третьего события-предка и (2) идентификатор четвертого события-предка,
при этом процессор выполнен с возможностью конструирования направленного ациклического графа (DAG) на основе первого события и второго события,
при этом процессор выполнен с возможностью идентификации порядка консенсуса первого события и второго события на основе DAG.
58. Устройство по п. 57, отличающееся тем, что процессор выполнен с возможностью идентификации порядка консенсуса с применением DAG для идентификации того, как первое вычислительное устройство и второе вычислительное устройство проголосовали бы в протоколе консенсуса без приема процессором голосов от первого вычислительного устройства и второго вычислительного устройства.
59. Устройство по п. 57, отличающееся тем, что процессор выполнен с возможностью определения третьего события, содержащего (1) идентификатор второго события и (2) идентификатор пятого события-предка, при этом пятое событие-предок определено процессором.
60. Устройство по п. 57, отличающееся тем, что процессор выполнен с возможностью приема первого события в первый момент времени, при этом процессор выполнен с возможностью приема второго события во второй момент времени после первого момента времени,
при этом процессор выполнен с возможностью определения третьего события, содержащего (1) идентификатор первого события и (2) идентификатор пятого события-предка, при этом пятое событие-предок определено процессором,
при этом процессор выполнен с возможностью определения четвертого события, содержащего (1) идентификатор третьего события и (2) идентификатор второго события.
61. Устройство по п. 57, отличающееся тем, что идентификатор первого события-предка представляет собой криптографический хеш первого события-предка.
62. Устройство по п. 57, отличающееся тем, что процессор выполнен с возможностью идентификации порядка консенсуса первого события, второго события, первого события-предка, второго события-предка, третьего события-предка и четвертого события предка на основе DAG.
63. Устройство по п. 57, отличающееся тем, что процессор выполнен с возможностью определения состояния распределенной базы данных на основе порядка консенсуса.
64. Устройство по п. 57, отличающееся тем, что первое событие содержит первый набор транзакций и второе событие содержит второй набор транзакций, при этом порядок консенсуса определяет порядок первого набора транзакций относительно второго набора транзакций.
65. Энергонезависимый считываемый процессором носитель, хранящий код, представляющий команды, предназначенные для исполнения процессором, при этом код содержит код, который вызывает выполнение процессором:
приема события от вычислительного устройства, реализующего распределенную базу данных, при этом событие содержит (1) идентификатор первого события-предка и (2) идентификатор второго события-предка;
конструирования направленного ациклического графа (DAG) на основе события, первого события-предка и второго события-предка; и
идентификации на основе DAG порядка консенсуса множества событий, содержащих событие, первое событие-предок и второе событие-предок.
66. Энергонезависимый считываемый процессором носитель по п. 65, отличающийся тем, что идентификатор первого события-предка представляет собой криптографический хеш первого события-предка.
67. Энергонезависимый считываемый процессором носитель по п. 65, отличающийся тем, что вычислительное устройство выбрано из множества вычислительных устройств, реализующих распределенную базу данных,
при этом код, который вызывает выполнение процессором идентификации, содержит код, который вызывает выполнение процессором идентификации порядка консенсуса с применением DAG для идентификации того, как множество вычислительных устройств проголосовало бы в протоколе консенсуса без приема процессором голосов из множества вычислительных устройств.
68. Энергонезависимый считываемый процессором носитель по п. 65, отличающийся тем, что дополнительно содержит код, который вызывает выполнение процессором:
вычисления состояния распределенной базы данных на основе порядка консенсуса.
69. Энергонезависимый считываемый процессором носитель по п. 65, отличающийся тем, что первое событие-предок содержит первый набор транзакций и второе событие-предок содержит второй набор транзакций, при этом код дополнительно содержит код, который вызывает выполнение процессором:
идентификации порядка первого набора транзакций относительно второго набора транзакций на основе порядка консенсуса.
70. Энергонезависимый считываемый процессором носитель по п. 65, отличающийся тем, что событие представляет собой первое событие и вычислительное устройство представляет собой первое вычислительное устройство, при этом код дополнительно содержит код, который вызывает выполнение процессором:
приема второго события от второго вычислительного устройства, реализующего распределенную базу данных, при этом второе событие содержит (1) идентификатор третьего события-предка и (2) идентификатор четвертого события-предка,
при этом код, который вызывает выполнение процессором конструирования, содержит код, который вызывает выполнение процессором конструирования DAG на основе первого события, второго события, первого события-предка, второго события-предка, третьего события-предка и четвертого события-предка.
71. Способ, включающий
прием на первом вычислительном устройстве, реализующем распределенную базу данных и от второго вычислительного устройства, реализующего распределенную базу данных, первого события, которое содержит (1) идентификатор второго события и (2) идентификатор третьего события, при этом третье событие определено третьим вычислительным устройством, реализующим распределенную базу данных;
определение на первом вычислительном устройстве четвертого события, при этом четвертое событие содержит (1) идентификатор первого события и (2) идентификатор пятого события; и
вычисление порядка консенсуса первого события, второго события, третьего события, четвертого события и пятого события на основе идентификации, без приема голосов от второго вычислительного устройства и третьего вычислительного устройства, того, как второе вычислительное устройство и третье вычислительное устройство проголосовали бы в протоколе консенсуса.
72. Способ по п. 71, отличающийся тем, что дополнительно включает прием пятого события от четвертого вычислительного устройства, реализующего распределенную базу данных.
73. Способ по п. 71, отличающийся тем, что идентификатор первого события представляет собой криптографический хеш первого события.
74. Способ по п. 71, отличающийся тем, что дополнительно включает
конструирование направленного ациклического графа (DAG) на основе первого события, второго события, третьего события, четвертого события и пятого события,
вычисление порядка консенсуса на основе DAG.
75. Способ по п. 71, отличающийся тем, что второе событие содержит первый набор транзакций и третье событие содержит второй набор транзакций, при этом способ дополнительно включает идентификацию порядка первого набора транзакций относительно второго набора транзакций на основе порядка консенсуса.
76. Способ по п. 71, отличающийся тем, что дополнительно включает определение состояния распределенной базы данных на основе порядка консенсуса.
77. Способ, включающий
прием на первом вычислительном устройстве из множества вычислительных устройств данных, связанных с первой транзакцией, при этом каждое вычислительное устройство из множества вычислительных устройств имеет отдельный экземпляр распределенной базы данных, функционально взаимосвязанной посредством сети с множеством вычислительных устройств;
прием со второго вычислительного устройства из множества вычислительных устройств данных, связанных со второй транзакцией;
определение первого объекта-клона базы данных, связанного с состоянием, связанным с распределенной базой данных, при этом первый объект-клон базы данных содержит идентификатор и указатель на базу данных в памяти, хранящей начальное значение состояния;
определение второго объекта-клона базы данных, связанного с состоянием, при этом второй объект-клон базы данных содержит второй идентификатор, отличающийся от первого идентификатора, и указатель на базу данных в памяти, хранящей начальное значение состояния;
прием указания о порядке начальной транзакции на основе события, связанного с первой транзакцией, и события, связанного со второй транзакцией;
определение в первый момент времени первого обновленного значения состояния на основе начального значения состояния и начального порядка транзакции;
сохранение первого обновленного значения состояния в базе данных и в качестве связанного с первым объектом-клоном базы данных таким образом, что запрос на считывание состояния посредством первого объекта-клона базы данных и во второй момент времени после первого момента времени возвращает первое обновленное значение состояния;
прием после первого момента времени указания о порядке консенсуса транзакции на основе события, связанного с первой транзакцией, и события, связанного со второй транзакцией;
определение в третий момент времени после первого момента времени второго обновленного значения состояния на основе начального значения состояния и порядка консенсуса транзакции; и
сохранение второго обновленного значения состояния в базе данных и в качестве связанного со вторым объектом-клоном базы данных таким образом, что запрос на считывание состояния посредством второго объекта-клона базы данных и в четвертый момент времени после третьего момента времени возвращает второе обновленное значение состояния.
78. Способ по п. 77, отличающийся тем, что дополнительно включает
извлечение первого обновленного значения состояния в ответ на запрос к первому объекту-клону базы данных в пятый момент времени после первого момента времени; и
извлечение второго обновленного значения состояния в ответ на запрос ко второму объекту-клону базы данных в шестой момент времени после третьего момента времени.
79. Способ по п. 77, отличающийся тем, что первое обновленное значение состояния и второе обновленное значение состояния связаны с состоянием первого вычислительного устройства, при этом состояние первого вычислительного устройства связано с по меньшей мере одним из количества криптовалюты, хранимой первым вычислительным устройством, указания на владельца предмета или состояния многопользовательской игры.
80. Способ по п. 77, отличающийся тем, что дополнительно включает
возврат начального значения состояния в ответ на запрос считывания состояния, связанного с распределенной базой данных, посредством второго объекта-клона базы данных в пятый момент времени после первого момента времени и перед третьим моментом времени; и
возврат второго обновленного значения состояния в ответ на запрос считывания состояния, связанного с распределенной базой данных, посредством второго объекта-клона базы данных в шестой момент времени после третьего момента времени.
81. Способ по п. 77, отличающийся тем, что дополнительно включает
возврат начального значения состояния в ответ на запрос считывания состояния, связанного с распределенной базой данных, посредством первого объекта-клона базы данных в пятый момент времени перед первым моментом времени; и
возврат первого обновленного значения состояния в ответ на запрос считывания состояния, связанного с распределенной базой данных, посредством первого объекта-клона базы данных в шестой момент времени после первого момента времени.
82. Способ по п. 77, отличающийся тем, что событие, связанное с первой транзакцией, представляет собой первое событие, и событие, связанное со второй транзакцией, представляет собой второе событие,
при этом первое событие содержит идентификатор третьего события и идентификатор четвертого события,
при этом второе событие содержит идентификатор пятого события и идентификатор шестого события.
83. Устройство, содержащее
память, связанную с экземпляром распределенной базы данных на первом вычислительном устройстве, выполненном с возможностью включения во множество вычислительных устройств, которое реализует распределенную базу данных посредством сети, функционально соединенной с множеством вычислительных устройств, при этом память содержит начальное значение состояния, связанного с распределенной базой данных; и
процессор, функционально соединенный с памятью,
при этом процессор выполнен с возможностью определения первого объекта-клона базы данных, связанного с состоянием, и второго объекта-клона базы данных, связанного с состоянием, при этом первый объект-клон базы данных содержит первый идентификатор и указатель на базу данных в памяти, хранящей начальное значение состояния, связанного с распределенной базой данных, при этом второй объект-клон базы данных содержит второй идентификатор, отличающийся от первого идентификатора, и указатель на базу данных в памяти, хранящей начальное значение состояния, связанного с распределенной базой данных,
при этом процессор выполнен с возможностью обновления в первый момент времени значения состояния, связанного с первым объектом-клоном базы данных, посредством определения первой копии начального значения состояния, связанного с распределенной базой данных, как связанной с первым идентификатором, и обновления значения первой копии начального значения состояния, связанного с распределенной базой данных, на основе набора событий, связанных с распределенной базой данных, для определения первого обновленного значения состояния, связанного с распределенной базой данных,
при этом процессор выполнен с возможностью обновления во второй момент времени после первого момента времени значения состояния, связанного со вторым объектом-клоном базы данных, посредством определения второй копии начального значения состояния, связанного с распределенной базой данных, как связанной со вторым идентификатором, и обновления значения второй копии начального значения состояния, связанного с распределенной базой данных, на основе набора событий для определения второго обновленного значения состояния, связанного с распределенной базой данных.
84. Устройство по п. 83, отличающееся тем, что
процессор выполнен с возможностью считывания из первой позиции в базе данных начального значения состояния в ответ на прием посредством первого объекта-клона базы данных и в момент времени, предшествующий первому моменту времени, запроса на считывание состояния, связанного с распределенной базой данных, и
при этом процессор выполнен с возможностью считывания из второй позиции в базе данных первого обновленного значения состояния в ответ на прием посредством первого объекта-клона базы данных и в момент времени, следующий за первым моментом времени, запроса на считывание состояния, связанного с распределенной базой данных.
85. Устройство по п. 83, отличающееся тем, что
процессор выполнен с возможностью считывания из позиции в базе данных начального значения состояния в ответ на прием посредством первого объекта-клона базы данных и в третий момент времени, предшествующий первому моменту времени, запроса на считывание состояния, связанного с распределенной базой данных, и
при этом процессор выполнен с возможностью считывания из позиции в базе данных начального значения состояния в ответ на прием посредством второго объекта-клона базы данных и в четвертый момент времени, предшествующий первому моменту времени, запроса на считывание состояния, связанного с распределенной базой данных.
86. Устройство по п. 83, отличающееся тем, что
процессор выполнен с возможностью считывания из первой позиции в базе данных первого обновленного значения состояния в ответ на прием посредством первого объекта-клона базы данных и в третий момент времени, следующий за первым моментом времени и предшествующий второму моменту времени, запроса на считывание состояния, связанного с распределенной базой данных, и
при этом процессор выполнен с возможностью считывания из второй позиции в базе данных начального значения состояния в ответ на прием посредством второго объекта-клона базы данных и в четвертый момент времени, следующий за первым моментом времени и предшествующий второму моменту времени, запроса на считывание состояния, связанного с распределенной базой данных.
87. Устройство по п. 83, отличающееся тем, что
процессор выполнен с возможностью считывания из первой позиции в базе данных начального значения состояния в ответ на прием посредством первого объекта-клона базы данных и в третий момент времени, предшествующий первому моменту времени, запроса на считывание состояния, связанного с распределенной базой данных,
при этом процессор выполнен с возможностью считывания из первой позиции в базе данных начального значения состояния в ответ на прием посредством второго объекта-клона базы данных и в четвертый момент времени, предшествующий второму моменту времени, запроса на считывание состояния, связанного с распределенной базой данных,
при этом процессор выполнен с возможностью считывания из второй позиции в базе данных первого обновленного значения состояния в ответ на прием посредством первого объекта-клона базы данных и в пятый момент времени, следующий за первым моментом времени, запроса на считывание состояния, связанного с распределенной базой данных, и
при этом процессор выполнен с возможностью считывания из третьей позиции в базе данных второго обновленного значения состояния в ответ на прием посредством второго объекта-клона базы данных и в шестой момент времени, следующий за вторым моментом времени, запроса на считывание состояния, связанного с распределенной базой данных.
88. Устройство по п. 83, отличающееся тем, что распределенная база данных отличается от базы данных в памяти, хранящей состояние, связанное с распределенной базой данных.
89. Устройство по п. 83, отличающееся тем, что обновленное значение представляет собой текущее значение состояния, связанного с распределенной базой данных, в третий момент времени после второго момента времени.
90. Устройство по п. 83, отличающееся тем, что процессор выполнен с возможностью обновления значения состояния, связанного со вторым объектом-клоном базы данных, посредством обновления значения второй копии начального значения состояния, связанного с распределенной базой данных, на основе порядка консенсуса набора событий для определения второго обновленного значения состояния, связанного с распределенной базой данных.
91.Устройство по п. 83, отличающееся тем, что
начальное значение состояния сохранено в базе данных в памяти как связанное с третьим идентификатором, отличающимся от первого идентификатора и второго идентификатора,
при этом первое обновленное значение состояния сохранено в базе данных в памяти как связанное с первым идентификатором, и
при этом второе обновленное значение состояния сохранено в базе данных в памяти как связанное со вторым идентификатором.
92. Устройство по п. 83, отличающееся тем, что
в ответ на запрос к первому объекту-клону базы данных, процессор выполнен с возможностью считывания из позиции в базе данных, связанной с первым идентификатором, или позиции в базе данных, связанной с третьим идентификатором, связанным с начальным значением состояния,
при этом процессор выполнен с возможностью игнорирования позиции в базе данных, связанной со вторым идентификатором, в ответ на запрос к первому объекту-клону базы данных.
93. Устройство по п. 83, отличающееся тем, что состояние, связанное с распределенной базой данных, связано с состоянием первого вычислительного устройства, при этом состояние первого вычислительного устройства связано с по меньшей мере одним из количества криптовалюты, хранимой первым вычислительным устройством, указания на владельца предмета или состояния многопользовательской игры.
94. Устройство по п. 83, отличающееся тем, что каждое событие из набора событий содержит идентификатор по меньшей мере двух других событий.
95.Энергонезависимый считываемый процессором носитель,  хранящий код, представляющий команды, предназначенные для исполнения процессором, при этом код содержит код, который вызывает выполнение процессором:
определения первого объекта-клона базы данных, связанного с состоянием, связанным с распределенной базой данных, взаимосвязанной посредством сети, функционально соединенной с множеством вычислительных устройств, которое реализует распределенную базу данных, при этом первый объект-клон базы данных содержит первый идентификатор и указатель на базу данных в памяти, хранящей начальное значение состояния, связанного с распределенной базой данных;
определения второго объекта-клона базы данных, связанного с состоянием, при этом второй объект-клон базы данных содержит второй идентификатор, отличающийся от первого идентификатора, и указатель на базу данных в памяти, хранящей начальное значение состояния, связанного с распределенной базой данных;
приема в первый момент времени указания на начальный порядок набора событий, связанных с распределенной базой данных;
обновления, в ответ на прием указания на начальный порядок набора событий, значения состояния, связанного с первым объектом-клоном базы данных, посредством определения первой копии начального значения состояния, связанного с распределенной базой данных, как связанной с первым идентификатором, и обновления значения первой копии начального значения состояния, связанного с распределенной базой данных, на основе набора событий для определения первого обновленного значения состояния, связанного с распределенной базой данных;
приема во второй момент времени после первого момента времени, указания на порядок консенсуса набора событий, связанных с распределенной базой данных; и
обновления, в ответ на прием указания на порядок консенсуса набора событий, значения состояния, связанного со вторым объектом-клоном базы данных, посредством определения копии начального значения состояния, связанного с распределенной базой данных, как связанной со вторым идентификатором, и обновления второй копии начального значения состояния, связанного с распределенной базой данных, на основе порядка консенсуса набора событий для определения второго обновленного значения состояния, связанного с распределенной базой данных, при этом второе обновленное значение представляет собой значение состояния, связанного с распределенной базой данных и соответствующего порядку консенсуса.
96. Энергонезависимый считываемый процессором носитель по п. 95, отличающийся тем, что дополнительно содержит код, который вызывает выполнение процессором:
считывания из первой позиции в базе данных начального значения состояния в ответ на прием посредством первого объекта-клона базы данных и в третий момент времени, предшествующий первому моменту времени, запроса на считывание состояния, связанного с распределенной базой данных;
считывания из первой позиции в базе данных начального значения состояния в ответ на прием посредством второго объекта-клона базы данных и в четвертый момент времени, предшествующий второму моменту времени, запроса на считывание состояния, связанного с распределенной базой данных;
считывания из второй позиции в базе данных первого обновленного значения состояния в ответ на прием посредством первого объекта-клона базы данных и в пятый момент времени, следующий за первым моментом времени, запроса на считывание состояния, связанного с распределенной базой данных; и
считывания из третьей позиции в базе данных второго обновленного значения состояния в ответ на прием посредством второго объекта-клона базы данных и в шестой момент времени, следующий за вторым моментом времени, запроса на считывание состояния, связанного с распределенной базой данных.
97. Энергонезависимый считываемый процессором носитель по п. 95, отличающийся тем, что
начальное значение состояния сохранено в базе данных в памяти как связанное с третьим идентификатором, отличающимся от первого идентификатора и второго идентификатора,
при этом первое обновленное значение состояния сохранено в базе данных в памяти как связанное с первым идентификатором, и
при этом второе обновленное значение состояния сохранено в базе данных в памяти как связанное со вторым идентификатором.
98. Энергонезависимый считываемый процессором носитель по п. 95, отличающийся тем, что распределенная база данных отличается от базы данных в памяти, хранящей состояние, связанное с распределенной базой данных.
99. Энергонезависимый считываемый процессором носитель по п. 95, отличающийся тем, что каждое событие из набора событий содержит идентификатор по меньшей мере двух других событий.