СИСТЕМА РАСПРОСТРАНЕНИЯ И ВЕРИФИКАЦИИ РАСПРЕДЕЛЕННЫХ ТРАНЗАКЦИЙ

r
1. Способ, осуществляемый в системе проведения транзакций, в которой транзакции организуются в блоках, и предназначенный для конструирования субъектом нового блока B достоверных транзакций, относительно последовательности предшествующих блоков , при этом способ содержит этапы, на которых:
- предписывают субъекту определять величину Q из предшествующих блоков;
- предписывают субъекту использовать секретный ключ, чтобы вычислять строку S, уникально ассоциированную с Q и субъектом;
- предписывают субъекту вычислять из S величину T, которая представляет собой по меньшей мере одно из следующего: непосредственно S, функция S и хеш-значение S;
- предписывают субъекту определять, обладает или нет T заданным свойством; и
r
r
- если T обладает заданным свойством, предписывают субъекту подписывать B цифровой подписью и обеспечивать доступность S и версии B, подписанной цифровой подписью.
2. Способ по п. 1, в котором секретный ключ представляет собой секретный ключ подписи, соответствующий общедоступному ключу субъекта, и S представляет собой цифровую подпись Q со стороны субъекта.
3. Способ по п. 1, в котором T является числом и удовлетворяет упомянутому свойству, если T меньше заданного числа p.
r
4. Способ по п. 2, в котором доступность S обеспечивается посредством задания S выводимым из B.
5. Способ по п. 2, в котором каждый пользователь имеет баланс в системе проведения транзакций, и p варьируется для каждого пользователя согласно балансу каждого пользователя.
r
6. Способ, осуществляемый в системе проведения транзакций, в которой транзакции организуются в блоках и блоки подтверждаются посредством набора цифровых подписей, и предназначенный для подтверждения субъектом нового блока транзакций, B, с учетом последовательности предшествующих блоков, , при этом способ содержит этапы, на которых:
- предписывают субъекту определять величину Q из предшествующих блоков;
- предписывают субъекту вычислять цифровую подпись S для Q;
- предписывают субъекту вычислять из S величину T, которая представляет собой по меньшей мере одно из следующего: непосредственно S, функция S и хеш-значение S;
- предписывают субъекту определять, обладает или нет T заданным свойством; и
- если T обладает заданным свойством, предписывают субъекту обеспечивать доступность S для других.
7. Способ по п. 6, в котором T является двоичным расширением числа и удовлетворяет упомянутому заданному свойству, если T меньше предварительно заданного порогового значения, p, при этом субъект также обеспечивает доступность S.
8. Способ по п. 6, в котором субъект имеет баланс в системе проведения транзакций, и p варьируется согласно балансу субъекта.
9. Способ по п. 8, в котором субъект выступает в качестве уполномоченного представителя, по меньшей мере, другого субъекта.
10. Способ по п. 9, в котором p зависит от по меньшей мере одного из следующего: баланс субъекта и комбинация баланса субъекта и баланса упомянутого другого субъекта.
11. Способ по п. 9, в котором упомянутый другой пользователь авторизует пользователя с помощью цифровой подписи.
r
r
12. Способ по п. 6, в котором субъект подписывает B цифровой подписью, только если B представляет собой вывод протокола византийского соглашения, выполняемого заданным набором субъектов.
13. Способ по п. 12, в котором конкретный один из субъектов принадлежит упомянутому заданному набору субъектов, если цифровая подпись этого конкретного одного из субъектов имеет величину, определяемую посредством предшествующих блоков, которая удовлетворяет упомянутому заданному свойству.
r
r
r
14. Способ, осуществляемый в системе проведения транзакций, в которой транзакции организуются в последовательности сформированных блоков , подписанных цифровой подписью, при этом каждый блок B содержит некоторую информацию INFO, которая должна быть защищена, и содержит защитную информацию S, и предназначенный для предотвращения необнаруживаемой переделки содержимого блока, при этом способ содержит этапы, на которых:
i
i
i
- каждый раз, когда новый блок B формируется, вставляют информацию INFO для B в лист i двоичного дерева;
i
- мерклафицируют двоичное дерево, чтобы получить дерево T Меркла; и
i
i
i
i
i
- определяют защитную информацию S блока B таким образом, чтобы включать содержимое R корня T и тракт аутентификации содержимого листа i в T.
i-1
i-1
i
i-1
i
15. Способ по п. 14, в котором защитная информация S предшествующего блока B сохраняется, и защитная информация S получается посредством хеширования, в предварительно определенной последовательности, значений из набора, включающего в себя по меньшей мере одно из следующего: значения S, результат хеширования INFO и заданное значение.
z
z
r
r
z
i
z
16. Способ по п. 15, в котором первый субъект доказывает второму субъекту, имеющему защитную информацию S блока B, то, что информация INFO блока B, предшествующего блоку B, является подлинной, посредством предписания второму субъекту принимать тракт аутентификации INFO в дереве T Меркла.
1
2
1
r
i
17. Способ, осуществляемый в платежной системе, в которой пользователи имеют баланс и переводят деньги друг другу через подписанные цифровой подписью платежи и балансы начального набора пользователей известны, причем первый набор пользовательских платежей собирается в подписанный цифровой подписью первый блок B, второй набор пользовательских платежей собирается в подписанный цифровой подписью второй блок B, становящийся доступным после B, и т.д., и предназначенный для предоставления субъектом E верифицированной информации касаемо баланса a, который пользователь i имеет доступным после всех платежей, которые пользователь i выполняет и принимает во время r-ого блока, B, при этом способ содержит этапы, на которых:
x
- вычисляют, из информации, выводимой из информации, указываемой в последовательности блоков , сумму a для каждого пользователя x;
r
- вычисляют число, n, пользователей в системе во время обеспечения доступности r-ого блока B;
- упорядочивают пользователей x в заданном порядке;
x
- для каждого пользователя x, если x представляет собой i-ого пользователя в этом заданном порядке, сохраняют a в листе i двоичного дерева T с, по меньшей мере, n листьями; определяют значения Меркла для дерева T, чтобы вычислять значение R, сохраненное в корне T; формируют цифровую подпись S, которая аутентифицирует R; и обеспечивают доступность S в качестве доказательства содержимого любого листа i T посредством предоставления содержимого каждого узла, который представляет собой одноуровневый элемент узла в тракте между листом i и корнем T.
1
2
1
r
i
18. Способ, осуществляемый в платежной системе, в которой пользователи имеют баланс и переводят деньги друг другу через подписанные цифровой подписью платежи и балансы начального набора пользователей известны, причем первый набор пользовательских платежей собирается в подписанный цифровой подписью первый блок B, второй набор пользовательских платежей собирается в подписанный цифровой подписью второй блок B, становящийся доступным после B, и т.д., и предназначенный для предоставления набором субъектов E информации, которая обеспечивает возможность верифицировать баланс a, который пользователь i имеет доступным после всех платежей, которые пользователь i выполняет и принимает во время r-ого блока, B, при этом способ содержит этапы, на которых:
- определяют баланс каждого пользователя i после платежей первых r блоков;
r
r
- формируют сбалансированное дерево T поиска Меркла, при этом баланс каждого пользователя представляет собой значение, которое должно быть защищено, по меньшей мере одного узла T;
r
- предписывают каждому члену набора субъектов формировать цифровую подпись информации, которая включает в себя защитное значение  корня T; и
- предоставляют цифровые подписи , чтобы доказывать баланс по меньшей мере одного из пользователей после платежей первого r.
19. Способ по п. 18, в котором упомянутый набор субъектов состоит из одного субъекта.
20. Способ по п. 18, в котором субъекты в упомянутом наборе субъектов выбираются на основе значений их цифровых подписей.
1
2
1
r
i
21. Способ, осуществляемый в платежной системе, в которой пользователи имеют баланс и переводят деньги друг другу через подписанные цифровой подписью платежи и балансы начального набора пользователей известны, причем первый набор пользовательских платежей собирается в подписанный цифровой подписью первый блок B, второй набор пользовательских платежей собирается в подписанный цифровой подписью второй блок B, становящийся доступным после B, и т.д., и предназначенный для доказывания субъектом E баланса a, который пользователь i имеет доступным после всех платежей, которые пользователь i выполняет и принимает во время r-ого блока, B, при этом способ содержит этапы, на которых:
r
r
- получают цифровые подписи членов набора субъектов защитной информации  корня сбалансированного дерева T поиска Меркла, при этом баланс каждого пользователя представляет собой информационное значение по меньшей мере одного узла T; и
r
- вычисляют тракт аутентификации и содержимое каждого узла, который обрабатывается заданным алгоритмом поиска для выполнения поиска в T на предмет пользователя i; и
- предоставляют тракты аутентификации и содержимое и цифровые подписи, чтобы обеспечивать возможность другому субъекту верифицировать баланс i.
22. Компьютерное программное обеспечение, предоставленное в долговременном машиночитаемом носителе, содержащее: исполняемый код, который реализует способ по одному из предшествующих пп. 1-21.