Способ и устройство обработки запросов транзакции

Изобретение относится к способу, считываемому компьютером носителю и устройству обработки запроса транзакции. Технический результат заключается в повышении безопасности верификации запроса транзакции. Способ содержит получение транзакционных данных целевой транзакции, в которой участвует множество узлов транзакций, определение выдержки транзакции согласно выдержке данных, которая генерируется на основе транзакционных данных и которая подписывается всеми узлами транзакций, участвующими в целевой транзакции, при этом транзакционные данные не могут быть получены обратно через выдержку данных, множество узлов транзакций содержит первый узел транзакций и один или более вторых узлов транзакций, генерирование запроса транзакции, содержащего выдержку транзакции и не содержащего транзакционных данных, причем выдержка транзакции обеспечивает возможность проведения консенсусной верификации без транзакционных данных, и широковещательную передачу запроса транзакции узлам консенсуса, побуждающую каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию, при этом множество узлов транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна. 3 н. и 13 з.п. ф-лы, 7 ил.

 

Перекрестная ссылка на родственную заявку

[1] Настоящая заявка основана на и испрашивает приоритет по заявке на патент Китая №. 201710190507.1, поданной 28 марта 2017 года, полное содержимое которой включено в настоящий документ по ссылке.

Область техники

[2] Настоящая заявка относится к области информационных технологий и, в частности, к способам и системам обработки запросов транзакций.

Уровень техники

[3] Сеть блокчейна (цепочки блоков), также известная как сеть распределенного реестра, характеризуется децентрализацией, открытостью и прозрачностью. Сеть блокчейна содержит узлы блокчейна, каждый из которых способен инициировать запрос транзакции и участвовать в консенсусной верификации в отношении запроса транзакции. Все узлы блокчейна синхронизируются с блокчейном.

[4] Существующий способ обработки запроса транзакции заключается в следующем: в отношении некоторой транзакции узел блокчейна, который участвует в этой транзакции, осуществляет широковещательную передачу запроса транзакции на предмет этой транзакции всем узлам консенсуса (узлам блокчейна, отвечающим за консенсусную верификацию) в сети блокчейна, причем запрос транзакции содержит транзакционные данные этой транзакции. Транзакционные данные сохраняются в блокчейн после того, как транзакционные данные проходят консенсусную верификацию всеми узлами консенсуса.

[5] Однако, поскольку все узлы консенсуса могут синхронизироваться с блокчейном для получения транзакционных данных каждой транзакции, хранящейся в блокчейне, это вполне вероятно приводит к потере конфиденциальности, которая содержится в транзакционных данных, некоторых участвующих в транзакциях узлов блокчейна. Кроме того, даже если транзакционные данные, хранящиеся в блокчейне, зашифрованы, все еще существует риск того, что зашифрованные транзакционные данные могут быть дешифрованы.

[6] Следовательно, существует необходимость решить техническую задачу, заключающуюся в том, как создать способ верификации запроса транзакции, чтобы риск потери конфиденциальности узла блокчейна, участвующего в транзакции, отсутствовал.

Сущность изобретения

[7] Варианты осуществления настоящей заявки предоставляют способы и системы обработки запросов транзакции для решения проблемы утечки конфиденциальных сведений в существующих способах для обработки запросов транзакции.

[8] Согласно одному аспекту, способ обработки запроса транзакции, реализуемый первым узлом транзакций, может содержать: получение транзакционных данных целевой транзакции, при этом первый узел транзакций участвует в целевой транзакции; определение, согласно транзакционным данным, выдержки транзакции после того, как каждый из множества узлов транзакций подпишет выдержку данных для транзакционных данных, при этом узлы транзакций содержат по меньшей мере первый узел транзакций и один или более вторых узлов транзакций; генерирование запроса транзакции, который содержит выдержку транзакции; и широковещательную передачу запроса транзакции одному или нескольким узлам консенсуса, побуждающую каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию, причем узлы консенсуса являются узлами блокчейна, при этом узлы транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна. Один или более узлов транзакций могут содержать или могут не содержать первый узел транзакций. Узлы консенсуса и один или несколько узлов транзакций могут перекрываться или могут не перекрываться.

[9] Согласно другому аспекту устройство обработки запроса транзакции может содержать: модуль получения, выполненный с возможностью получения транзакционных данных целевой транзакции; модуль определения, выполненный с возможностью определения, согласно транзакционным данным, выдержки транзакции, причем выдержка транзакции была получена после того, как все узлы транзакций подписали выдержку данных для транзакционных данных, причем узлы транзакций являются узлами блокчейна, которые участвуют в целевой транзакции, и устройство является одним из этих узлов транзакций; модуль генерирования, выполненный с возможностью генерирования запроса транзакции, который содержит транзакционные данные и выдержку транзакции; и модуль широковещательной передачи, выполненный с возможностью широковещательной передачи запроса транзакции всем узлам консенсуса, так что все узлы консенсуса сохраняют выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию.

[10] Согласно другому аспекту долговременный считываемый компьютером носитель может хранить инструкции, которые, при исполнении процессором первого узла транзакций, побуждают этот процессор выполнить способ обработки запроса транзакции. Упомянутый способ может содержать: получение транзакционных данных целевой транзакции, при этом первый узел транзакций участвует в целевой транзакции; определение, согласно транзакционным данным, выдержки транзакции после того, как каждый из множества узлов транзакций подпишет выдержку данных для транзакционных данных, при этом узлы транзакций содержат по меньшей мере первый узел транзакций и один или более вторых узлов транзакций; генерирование запроса транзакции, который содержит выдержку транзакции; и широковещательную передачу запроса транзакции одному или нескольким узлам консенсуса, побуждающую каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию, причем узлы консенсуса являются узлами блокчейна, при этом узлы транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна.

[11] Согласно другому аспекту устройство, реализуемое в качестве первого узла транзакций, может содержать процессор и долговременный считываемый компьютером носитель, хранящий инструкции, которые, при исполнении процессором, побуждают устройство выполнить способ обработки запроса транзакции. Упомянутый способ может содержать: получение транзакционных данных целевой транзакции, при этом первый узел транзакций участвует в целевой транзакции; определение, согласно транзакционным данным, выдержки транзакции после того, как каждый из множества узлов транзакций подпишет выдержку данных для транзакционных данных, при этом узлы транзакций содержат по меньшей мере первый узел транзакций и один или более вторых узлов транзакций; генерирование запроса транзакции, который содержит выдержку транзакции; и широковещательную передачу запроса транзакции одному или нескольким узлам консенсуса, побуждающую каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию, причем узлы консенсуса являются узлами блокчейна, при этом узлы транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна.

[12] Согласно другому аспекту способ обработки запроса транзакции, реализуемый первым узлом транзакций, может содержать: получение транзакционных данных целевой транзакции, причем первый узел транзакций является узлом блокчейна, который участвует в целевой транзакции; генерирование выдержки данных на основе по меньшей мере транзакционных данных; передачу выдержки данных одному или более вторым узлам транзакций, при этом множество узлов транзакций содержит по меньшей мере первый узел транзакций и вторые узлы транзакций; получение выдержки транзакции на основе по меньшей мере подписи выдержки данных каждым из узлов транзакций; генерирование запроса транзакции, содержащего выдержку транзакции; и широковещательную передачу запроса транзакции одному или более узлам консенсуса, побуждающую каждый из одного или более узлов консенсуса верифицировать выдержку транзакции в запросе транзакции, при этом узлы транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна.

[13] В некоторых вариантах осуществления первый узел транзакций и один или более вторых узлов транзакций могут формировать все узлы транзакций, участвующие в целевой транзакции, и транзакционные данные могут не передаваться узлам консенсуса и не сохраняться в блокчейн, связанный с целевой транзакцией.

[14] В некоторых вариантах осуществления транзакционные данные целевой транзакции могут содержать по меньшей мере одно из предмета транзакции, связанной с целевой транзакцией, подробной информации о предмете, адреса счета субъекта, который участвует в целевой транзакции, или информации ID субъекта, который участвует в целевой транзакции.

[15] В некоторых вариантах осуществления подпись выдержки данных может содержать предоставление верификации выдержки данных цифровым образом, а получение выдержки транзакции на основе по меньшей мере подписи и возврата выдержки данных каждым из первого узла транзакций и одного или более вторых узлов транзакций может содержать получение выдержки транзакции на основе по меньшей мере подписи выдержки данных каждым из первого узла транзакций и одного или более вторых узлов транзакций в заранее установленном порядке.

[16] Согласно некоторым вариантам осуществления настоящего раскрытия, запрос транзакции, широковещательная передача которого осуществляется узлом транзакций всем узлам консенсуса, содержит выдержку транзакции, но запрос транзакции не содержит транзакционных данных. В результате, когда запрос транзакции проходит консенсусную верификацию, узлы консенсуса не будут сохранять транзакционные данные в блокчейн, и риск потери конфиденциальности узлов транзакций будет отсутствовать. В то же время выдержка транзакции получается после того, как все узлы транзакций подписывают выдержку данных собственно транзакционных данных. В результате, даже когда хранящихся в блокчейне транзакционных данных нет, подлинность запроса транзакции все еще может быть подтверждена посредством выдержки данных, признанной всеми узлами транзакций, так что ни один из узлов транзакций не может отклонить целевую транзакцию, соответствующую запросу транзакции.

Краткое описание чертежей

[17] Для более ясного описания технических решений в вариантах осуществления настоящего раскрытия, прилагаемые чертежи, иллюстрирующие эти варианты осуществления или предшествующий уровень техники, будут кратко описаны следующим образом. Очевидно, что прилагаемые чертежи в нижеследующем описании являются лишь примерными. Другие чертежи могут быть получены специалистом в данной области техники в соответствии с приведенными чертежами без изобретательских усилий.

[18] Фиг. 1 представляет собой блок-схему последовательности операций способа обработки запроса транзакции в соответствии с некоторыми вариантами осуществления настоящего раскрытия.

[19] Фиг. 2a представляет собой схематичное представление узлов в типичной сети блокчейна согласно некоторым вариантам осуществления настоящего раскрытия.

[20] Фиг. 2b представляет собой схематичное представление узлов в специальной сети блокчейна согласно некоторым вариантам осуществления настоящего раскрытия.

[21] Фиг. 3a-c представляют собой схематичные представления способа обработки запроса транзакции согласно некоторым вариантам осуществления настоящего раскрытия.

[22] Фиг. 4 представляет собой схематичное представление устройства обработки запроса транзакции в соответствии с некоторыми вариантами осуществления настоящего раскрытия.

Подробное описание

[23] Варианты осуществления настоящего раскрытия предоставляют способы и устройства обработки запроса транзакции.

[24] Чтобы дать возможность специалисту в данной области техники лучше понять технические решения в настоящем раскрытии, технические решения в настоящем раскрытии будут ясно и полностью описаны со ссылкой на прилагаемые чертежи в вариантах осуществления настоящей заявки. Очевидно, что описанные варианты осуществления являются лишь некоторыми, а не всеми вариантами осуществления настоящего раскрытия. Все другие варианты осуществления, полученные специалистом в данной области без изобретательских усилий и на основе вариантов осуществления настоящего раскрытия, должны быть включены в настоящее раскрытие.

[25] Фиг. 1 представляет собой блок-схему последовательности операций способа обработки запроса транзакции в соответствии с некоторыми вариантами осуществления настоящего раскрытия. Способ может быть реализован множеством узлов транзакций (или просто «узлами»). Специалист в данной области техники поймет, что узел транзакций может относится к вычислительному устройству (например, компьютеру, серверу и т. д.). Когда многие такие вычислительные устройства соединяются друг с другом (например, через локальную сеть или Интернет), они могут образовывать сеть из соединенных узлов. Способ может содержать следующие этапы:

[26] S101: получение транзакционных данных целевой транзакции.

[27] В варианте осуществления настоящего раскрытия целевая транзакция может быть одной из множества транзакций, в которые блокчейн может быть вовлечен. Транзакционные данные целевой транзакции могут содержать предмет транзакции, связанной с целевой транзакцией, подробную информацию о предмете, адрес счета субъекта, который участвует в целевой транзакции, информацию ID субъекта, который участвует в целевой транзакции и т. д. Любые данные, связанные с целевой транзакцией, могут быть транзакционными данными. Транзакционные данные могут содержать конфиденциальную информацию узлов блокчейна, которые участвуют в целевой транзакции.

[28] В варианте осуществления настоящего раскрытия узел транзакций является узлом блокчейна, который участвует в целевой транзакции, а указанные ниже первый узел транзакций и второй узел транзакций являются узлами блокчейна, которые участвуют в целевой транзакции.

[29] В одном примере, что касается целевой транзакции, узел транзакций должен быть назначен всеми узлами транзакций, которые участвуют в целевой транзакции, для широковещательной передачи запроса транзакции на предмет целевой транзакции всем узлам консенсуса, чтобы эти узлы консенсуса выполнили консенсусную верификацию. Узел транзакций, который осуществляет широковещательную передачу, может быть назначен через согласование, выполняемое всеми узлами транзакций, или может быть назначен произвольно. Первый узел транзакций в настоящем раскрытии является узлом транзакций, отвечающим за широковещательную передачу запроса транзакции всем узлам консенсуса, а описанный ниже второй узел транзакций является узлом транзакций, отличным от упомянутого первого узла транзакций.

[30] В то же самое время существует по меньшей мере один узел транзакций из числа всех узлов транзакций, участвующих в целевой транзакции, который инициирует целевую транзакцию. Узел транзакций, который инициирует целевую транзакцию, определяет транзакционные данные целевой транзакции и генерирует выдержку (abstract) данных транзакционных данных согласно транзакционным данным. Первый узел транзакций может либо интегрировать функции инициирования целевой транзакции и широковещательной передачи запроса транзакции (будучи одновременно узлом транзакций, который инициирует целевую транзакцию, и узлом транзакций, который осуществляет широковещательную передачу запроса транзакции), или может отвечать лишь за широковещательную передачу запроса транзакции (будучи узлом транзакций, который осуществляет лишь широковещательную передачу запроса транзакции, в то время как второй узел транзакций инициирует целевую транзакцию).

[31] Кроме того, в типичной сети блокчейна каждый узел блокчейна может действовать как узел транзакций, участвующий в целевой транзакции, так и узел консенсуса, одновременно участвующий в консенсусной верификации в отношении запроса транзакции. Фиг. 2a представляет собой схематичное представление узлов в типичной сети блокчейна согласно некоторым вариантам осуществления настоящего раскрытия. Как показано на Фиг. 2а, узлами транзакций, которые участвуют в целевой транзакции, являются заштрихованные узел 1 и узел 2, в то время как незаштрихованные узел 3, узел 4 и узел 5 в целевой транзакции не участвуют. Узел 1, узел 2, узел 3, узел 4 и узел 5 все действуют как узлы консенсуса для участия в консенсусной верификации.

[32] В некоторых специальных сетях блокчейна (например, в сети блокчейна, включающей в себя консенсусную подсеть и неконсенсусную подсеть), несмотря на то, что каждый узел блокчейна может действовать как узел транзакций для участия в целевой транзакции, не каждый узел блокчейна может действовать как узел консенсуса для участия в консенсусной верификации. Фиг. 2b представляет собой схематичное представление узлов в специальной сети блокчейна. Как показано на Фиг. 2b, сеть блокчейна делится на консенсусную подсеть и неконсенсусную подсеть. Узел 1, узел 2 и узел 3 являются узлами транзакций. В то же время, узел 1 и узел 2 являются узлами блокчейна в неконсенсусной подсети, а узел 3, узел 4 и узел 5 являются узлами блокчейна в консенсусной подсети. Консенсусная верификация в отношении целевой транзакции, в которой участвуют узел 1, узел 2 и узел 3, выполняется узлом 3, узлом 4 и узлом 5.

[33] Следовательно, первый узел транзакций может быть одновременно узлом консенсуса или не быть узлом консенсуса. В варианте осуществления настоящего раскрытия первый узел транзакций является по меньшей мере узлом транзакций, который может осуществлять широковещательную передачу запроса транзакции собственно целевой транзакции. Первый узел транзакций может быть либо узлом транзакций, который интегрирует функции, такие как инициирование целевой транзакции, широковещательная передача запроса транзакции и выполнение консенсусной верификации, либо дополнительно быть узлом транзакций, который интегрирует функции, такие как широковещательная передача запроса транзакции и выполнение консенсусной верификации, что в настоящем раскрытии не ограничено.

[34] S102: определение выдержки транзакции согласно транзакционным данным, после того как каждый из множества узлов транзакций подпишет выдержку данных собственно транзакционных данных. Узлы транзакций могут содержать по меньшей мере первый узел транзакций и один или более вторых узлов транзакций.

[35] В варианте осуществления настоящего раскрытия, выдержка транзакции получается после того, как все узлы транзакций подписывают (цифровой подписью) выдержку данных собственно транзакционных данных, при этом выдержка данных собственно транзакционных данных генерируется узлом транзакций, который инициирует целевую транзакцию согласно транзакционным данным, и кроме того, транзакционные данные в виде открытого текста не могут быть получены обратно согласно выдержке данных. С другой стороны, даже когда транзакционные данные имеют небольшое изменение, выдержка данных, генерируемая согласно таким измененным транзакционным данными, также будет изменяться. Выдержка данных собственно транзакционных данных может быть сгенерирована согласно односторонней хэш-функции или может быть сгенерирована согласно другим функциям при условии, что упомянутые транзакционные данные не могут быть получены обратно через выдержку данных.

[36] В варианте осуществления настоящего раскрытия все узлы транзакций могут подписывать выдержку данных для получения сертифицирующей выдержки. Первая выдержка, вторая выдержка, третья выдержка и выдержка, получаемая после того, как множество узлов транзакций подписывает выдержку данных, описанную ниже, все являются сертифицирующими выдержками. Сертифицирующая выдержка представляет собой сертификат подлинности выдержки данных, признанной подписывающим узлом транзакций.

[37] В варианте осуществления настоящего раскрытия, выдержка транзакции является окончательной сертифицирующей выдержкой, получаемой после того, как все узлы транзакций подписывают выдержку данных собственно транзакционных данных. В варианте осуществления настоящего раскрытия все узлы транзакций, в том числе первый узел транзакций и второй узел транзакций, должны объявить, что они признают подлинность выдержки данных посредством подписи. Таким образом, подлинность транзакционных данных целевой транзакции может быть верифицирована всеми узлами транзакций до того, как все узлы транзакций выполнят консенсусную верификацию в отношении целевой транзакции.

[38] В некоторых вариантах осуществления подпись выдержки данных (цифровая подпись) фактически означает изменение структуры символов выдержки данных, так что подписанная выдержка данных изменяется на новую символьную строку и становится сертифицирующей выдержкой. Кроме того, если сертифицирующая выдержка дополнительно подписывается другими узлами, символьная структура сертифицирующей выдержки дополнительно изменяется, чтобы стать новой сертифицирующей выдержкой. Например, выдержка данных, подписанная 5 узлами транзакций, и выдержка данных, подписанная 4 узлами транзакций, являются совершенно разными. Кроме того, когда 5 узлов транзакций подписывают выдержку данных, различные выдержки транзакции будут получены, если порядок, в котором эти 5 узлов транзакций выполняют подписание, различается.

[39] Таким образом, в варианте осуществления настоящего раскрытия выдержка транзакции получается после того, как выдержка данных собственно транзакционных данных подписана всеми узлами транзакции. Полученная выдержка данных, несомненно, может указывать на то, что все узлы транзакций признают транзакционные данные и выдержку данных, то есть признают подлинность целевой транзакции. Например, если есть 4 узла транзакций, которые участвуют в целевой транзакции и только 3 узла транзакций подписали выдержку данных, то полученная выдержка отличается от выдержки транзакции, получаемой после того, как все 4 узла транзакций подпишут выдержку данных, из-за отсутствия подписи, выполняемой последним узлом транзакций. Следовательно, это показывает, что целевая транзакция не была признана всеми узлами транзакций и не является надежной.

[40] Кроме того, если один из узлов транзакций не признает подлинность транзакционных данных и выдержки данных и отказывается подписывать эту выдержку данных, первый узел транзакций не в состоянии определить выдержку транзакции и не будет осуществлять широковещательную передачу запроса транзакции, содержащего выдержку транзакции, всем узлам консенсуса, что означает сбой при инициировании целевой транзакции. В особом случае, если первый узел транзакций действует злонамеренно, все еще генерируя, несмотря на то, что некоторый узел транзакций отказывается подписать выдержку данных, поддельную выдержку транзакции согласно полученной выдержке (выдержке, в которой отсутствует подпись от отказавшегося узла транзакций) и осуществляя широковещательную передачу этой поддельной выдержки транзакции всем узлам консенсуса, интерес узла транзакций, который отказался подписывать, не пострадает, даже если поддельная выдержка транзакции будет сохранена в блокчейн. Это связано с тем, что поддельная выдержка транзакции является сертифицирующей выдержкой, которая не подписана узлом транзакций, отказавшимся ставить подпись, и не может быть использована в качестве сертификата объявления того, что узел транзакций, который отказался ставить подпись, признает целевую транзакцию. Следовательно, требование наличия многочисленных подписей в отношении выдержки данных может не только помешать злонамеренному узлу составить транзакционные данные, но также может помешать злонамеренному узлу преднамеренно нанести ущерб интересам других узлов блокчейна (узлу блокчейна нет необходимости быть ответственным за целевую транзакцию, соответствующую выдержке данных, которую этот узел блокчейна не подписывал).

[41] В варианте осуществления настоящего раскрытия широковещательная передача транзакционных данных не осуществляется всем узлам консенсуса для консенсусной верификации. Вместо этого для консенсусной верификации на все узлы консенсуса может быть осуществлена широковещательная передача выдержки транзакции, а узлы консенсуса могут сохранить эту выдержку транзакции в блокчейн, что может гарантировать, что целевая транзакция, соответствующая этой выдержке транзакции в блокчейне, является подлинной.

[42] Ввиду вышесказанного, в некоторых вариантах осуществления настоящего раскрытия транзакционные данные всем узлам консенсуса для консенсусной верификации широковещательным образом не передаются, и таким образом, риск потери конфиденциальности будет отсутствовать, поскольку транзакционные данные в блокчейн сохранены не будут. Если транзакционные данные узлам консенсуса просто не отправляются, так что узлы консенсуса не могут верифицировать подлинность целевой транзакции, злонамеренное действие, составление поддельных транзакций и нанесение ущерба интересам других узлов блокчейна узлом транзакций, который инициирует целевую транзакцию, не может быть предотвращено.

[43] С этой целью в некоторых вариантах осуществления настоящего раскрытия требуется, чтобы все узлы транзакций, которые участвуют в целевой транзакции, подписали выдержку данных собственно транзакционных данных (многосоставная цифровая подпись). Это эквивалентно передаче задания по верификации того, является ли целевая транзакция подлинной, всем узлам транзакций, которые участвуют в целевой транзакции, для ее завершения. Таким образом, нет необходимости иметь узлы консенсуса, которые верифицируют подлинность запроса транзакции. Естественно, нет необходимости получать транзакционные данные целевой транзакции, и целевая транзакция, записанная в блокчейне, также является подлинной (поскольку сертифицирующая выдержка, подписанная всеми узлами транзакций, сохранена в блокчейне).

[44] В варианте осуществления настоящего раскрытия существует множество способов, с помощью которых многочисленные цифровые подписи ставятся на выдержке данных, например решение с широковещательной передачей многочисленных цифровых подписей, решение с упорядоченными многочисленными цифровыми подписями и т. д.

[45] В данном документе решение с широковещательной передачей многочисленных цифровых подписей может относиться к тому, что узел транзакций, который инициирует целевую транзакцию, отправляет выдержку данных, соответственно, на другие узлы транзакций; когда все узлы транзакций не возражают против и подписывают выдержку данных, выдержка транзакции может быть получена путем сбора выдержек данных, подписанных каждым узлом транзакций (в том числе выдержки, полученной после подписания выдержки данных самим узлом транзакций) и объединенных согласно конкретному алгоритму.

[46] Решение с упорядоченными многочисленными цифровыми подписями означает, что узел транзакций, который инициирует целевую транзакцию, генерирует выдержку данных, затем все узлы транзакций подписывают эту выдержку данных в согласованном порядке, и узел транзакций, который подписывает последним, или другой выбранный узел транзакций определяет сгенерированную выдержку транзакции.

[47] В варианте осуществления настоящего раскрытия, когда целевая транзакция инициируется первым узлом транзакций, первый узел транзакций может генерировать выдержку данных согласно транзакционным данным; отправлять эту выдержку данных всем вторым узлам транзакций и побуждать все вторые узлы транзакций подписывать выдержку данных; получать выдержку после того, как все вторые узлы транзакций подписали выдержку данных; определять выдержку транзакции согласно полученной подписанной выдержке данных, при этом вторые узлы транзакций могут быть узлами транзакций, отличными от первого узла транзакций во всех узлах транзакций.

[48] Например, когда целевая транзакция инициируется первым узлом транзакций, может использоваться решение с широковещательной передачей многочисленных цифровых подписей, при этом первый узел транзакций генерирует выдержку данных согласно транзакционным данным и подписывает выдержку данных для получения третьей выдержки, отправляет третью выдержку всем вторым узлам транзакций, соответственно, на подпись, затем объединяет выдержки, сгенерированные после того, как все вторые узлы транзакций подписывают третью выдержку, и определяет выдержку транзакции; аналогично, когда используется решение с широковещательной передачей многочисленных цифровых подписей, первый узел транзакций может сначала отправить выдержку данных, соответственно, всем вторым узлам транзакций, затем подписать выдержку данных, чтобы получить третью выдержку, и, наконец, объединить выдержки, сгенерированные после того, как все вторые узлы транзакций подпишут выдержку данных, и третью выдержку, чтобы получить выдержку транзакции.

[49] В некоторых вариантах осуществления, когда целевая транзакция инициируется первым узлом транзакций, также может быть использовано решение с упорядоченными многочисленными цифровыми подписями, описание которого повторно не приводится.

[50] В варианте осуществления настоящего раскрытия, когда целевая транзакция инициируется любым вторым узлом транзакций, первый узел транзакций может принимать выдержку данных, отправляемую вторым узлом транзакций, который инициирует целевую транзакцию, и после верификации корректности выдержки данных может подписывать выдержку данных для получения первой выдержки; после приема вторых выдержек, полученных после того, как все вторые узлы транзакций подписали выдержку данных, определять выдержку транзакции согласно первой выдержке и вторым выдержкам.

[51] Таким образом, настоящее раскрытие не ограничивает способ, с помощью которого первый узел транзакций определяет выдержку транзакции согласно данным транзакции. Первый узел транзакций, как узел транзакций, который инициирует целевую транзакцию и осуществляет широковещательную передачу запроса транзакции, может определять выдержку транзакции множеством решений с многочисленными подписями, или может получать выдержку транзакции просто как узел транзакций, который осуществляет широковещательную передачу запроса транзакции.

[52] S103: генерирование запроса транзакции, который содержит транзакционные данные и выдержку транзакции.

[53] S104: широковещательная передача запроса транзакции одному или более узлам консенсуса, побуждающая каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию. Причем узлы транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна.

[54] В некоторых вариантах осуществления широковещательная передача запроса транзакции, осуществляемая первым узлом транзакций на все узлы консенсуса, содержит выдержку транзакции, но не содержит транзакционных данных.

[55] В некоторых вариантах осуществления после того, как консенсусная верификация в отношении выдержки транзакции в запросе транзакции пройдена, каждый узел консенсуса может сохранить в блокчейн только выдержку транзакции, но не сохраняет в блокчейн транзакционные данные. В варианте осуществления настоящего раскрытия каждому узлу консенсуса может быть необходимо лишь верифицировать достоверность выдержки транзакции, содержащейся в запросе транзакции, например, с использованием открытого ключа, предоставляемого каждым узлом транзакций, для попытки дешифрования выдержки транзакции. Если дешифровка проведена успешно, это означает, что выдержка транзакции действительно получена после того, как все узлы транзакций подписали выдержку данных собственно транзакционных данных, а также означает, что целевая транзакция, соответствующая запросу транзакции, была единогласно признана всеми узлами транзакций и является подлинной. Открытый ключ, предоставляемый каждым узлом транзакций, может быть либо предоставлен узлу консенсуса каждым узлом транзакций заранее, либо отправлен узлу консенсуса вместе с запросом транзакции, отправляемым первым узлом транзакций на узел консенсуса.

[56] Для целевой транзакции до тех пор, пока блокчейн хранит выдержку транзакции, определенную согласно транзакционным данным целевой транзакции, он может демонстрировать, что целевая транзакция является подлинной, и выполнение консенсусной верификации в отношении транзакционных данных целевой транзакции не является необходимым для всех узлов консенсуса.

[57] В варианте осуществления настоящего раскрытия запрос транзакции может содержать не только выдержку транзакции, но также может содержать номер актива собственно актива, к которому целевая транзакция относится. В дополнение к выполнению верификации достоверности в отношении выдержки транзакции, каждый узел консенсуса может выполнять верификацию в следующих двух аспектах согласно принятому номеру актива: 1. определять, расходуется ли актив многократно; и 2. верифицировать, используется ли актив мошенническим образом, то есть определять номера активов собственно активов, которыми владеют все узлы транзакций, соответственно, согласно открытому ключу каждого узла транзакций, а затем определять, существует ли по меньшей мере один номер актива, среди номеров активов собственно активов, к которым относится целевой актив, который не является номером актива собственно актива, которым владеют упомянутые узлы транзакций. Если ответ ДА, это означает, что узел транзакций в целевой транзакции мошенническим образом использует номер актива некоторого узла не-транзакций.

[58] В такой ситуации выдержка транзакции сохраняется в блокчейн только тогда, когда подтверждено, что выдержка транзакции является достоверной и отсутствует многократное расходование активов или мошенническое использование номера актива. Поскольку номер актива не относится к конфиденциальности узла транзакций, узлу консенсуса может быть поручено выполнить верификацию того, происходит ли многократное расходование активов или мошенническое использование номера актива.

[59] В варианте осуществления настоящего раскрытия первый узел транзакций может дополнительно сохранять транзакционные данные в частную базу данных, которая ему соответствует.

[60] Кроме того, когда целевая транзакция инициируется первым узлом транзакций, первый узел транзакций может дополнительно отправлять транзакционные данные в каждый второй узел транзакций, а каждый второй узел транзакций также может сохранять транзакционные данные в частную базу данных, которая ему соответствует.

[61] В некоторых вариантах осуществления каждый узел транзакций также может сохранять выдержку данных в свою собственную частную базу данных, что в данном раскрытии не ограничивается.

[62] Транзакционные данные могут отражать всю картину целевой транзакции. Чтобы предотвратить споры между узлами транзакций относительно целевой транзакции и позволить всем узлам транзакций в любое время запрашивать транзакционные данные целевой транзакции, в которой они участвуют, каждый узел транзакций может сохранять транзакционные данные самостоятельно. По меньшей мере один узел транзакций сохраняет транзакционные данные, чтобы гарантировать, что узел транзакций не потерян.

[63] Таким образом, при условии, что все узлы транзакций доверяют выдержке транзакции, хранящейся в блокчейне, транзакционные данные, объявляемые каждым узлом транзакций, могут быть верифицированы. А именно, решение с многочисленными подписями, которое является тем же самым, что и использовалось ранее, когда целевая транзакция инициируется, может быть использовано для получения многочисленных подписей на транзакционных данных, объявленных узлом транзакций для определения, может ли выдержка транзакции, хранящаяся в блокчейне, быть получена.

[64] Другими словами, транзакционные данные, хранящиеся каждым узлом транзакций самостоятельно, могут изменяться каждым узлом транзакций произвольно. Предполагая, что транзакционные данные, хранящиеся всеми узлами транзакций, не являются согласующимися (некоторые узлы транзакций действуют злонамеренно), каждый узел транзакций может согласно подлежащим верификации транзакционным данным, объявленным узлом транзакций (которые могут быть составлены самим узлом транзакций), повторно получить подлежащую верификации выдержку транзакции, соответствующую подлежащим верификации транзакционным данным, используя решение с многочисленными цифровыми подписями, использованное ранее. Если подлежащая верификации выдержка транзакции является той же самой, что и выдержка транзакции, хранящаяся в блокчейне, узел транзакций не действует злонамеренно; в противном случае, узел транзакций может действовать злонамеренно.

[65] Фиг. 3a-c представляют собой схематичные представления способа обработки запроса транзакции согласно некоторым вариантам осуществления настоящего раскрытия. Как показано на Фиг. 3a-c, сеть блокчейна содержит узлы 1-10 блокчейна, при этом заштрихованные узлы 1-6 блокчейна являются узлами транзакций, а узлы 1-3 и 7-10 блокчейна являются узлами консенсуса. Узел 1 транзакций является узлом транзакций, который инициирует целевую транзакцию, а также узлом транзакций, который осуществляет широковещательную передачу запроса транзакции. Как показано на Фиг. 3а, узел 1 транзакций получает транзакционные данные и генерирует выдержку данных согласно транзакционным данным, а затем отправляет транзакционные данные и выдержку данных узлам 2-6 транзакций, так что они подписывают выдержку данных, соответственно. Как показано на Фиг. 3b, узлы 2-6 транзакций могут сохранять транзакционные данные в свои собственные частные базы данных и возвращать после верификации того, что выдержка данных и транзакционные данные являются корректными, выдержку, полученную после того, как выдержка данных была подписана, на узел 1 транзакций. С одной стороны, узел 1 транзакций сохраняет транзакционные данные в узлы блокчейна; с другой стороны, узел 1 транзакций сам подписывает выдержку данных и, наконец, определяет выдержку транзакции согласно принятым от других узлов транзакций выдержкам и выдержке, получаемой после того, как он сам подписывает выдержку данных. Как показано на Фиг. 3с, после определения выдержки транзакции узел 1 транзакций генерирует запрос данных, который содержит выдержку транзакции, и передает его широковещательным образом на каждый узел консенсуса для консенсусной верификации. Если запрос данных проходит верификацию, каждый узел консенсуса сохраняет выдержку транзакции в блокчейн.

[66] Способ обработки запроса транзакции, показанный на Фиг. 3a-c является лишь примерной реализацией технического решения настоящего раскрытия. В варианте осуществления настоящего раскрытия ограничением не является то, является ли первый узел транзакций узлом, который инициирует целевую транзакцию, ограничением не является то, является ли каждый узел транзакций узлом консенсуса, а также ограничением не является то, какое решение с многочисленными цифровыми подписями используется, а также какой алгоритм используется для объединения выдержки, получаемой после того, как все узлы транзакций подписывают выдержку данных, в выдержку транзакции.

[67] С помощью способа обработки запроса транзакции, показанного на Фиг. 1, запрос транзакции, широковещательная передача которого осуществляется узлом транзакций на все узлы консенсуса, содержит выдержку транзакции, но запрос транзакции не содержит транзакционных данных. В результате, когда запрос транзакции проходит консенсусную верификацию, узлы консенсуса не будут сохранять транзакционные данные в блокчейн, и риск потери конфиденциальности узлов транзакций будет отсутствовать. В то же время выдержка транзакции получается после того, как все узлы транзакций подписывают выдержку данных собственно транзакционных данных. В результате, даже когда хранящихся в блокчейне транзакционных данных нет, подлинность запроса транзакции все еще может быть подтверждена посредством выдержки данных, признанной всеми узлами транзакций, так что ни один из узлов транзакций не может отклонить целевую транзакцию, соответствующую запросу транзакции.

[68] Кроме того, в некоторых сценариях применения блокчейна некоторые механизмы контроля необходимо добавить в сеть блокчейна в качестве узлов контроля. Сертифицирующие выдержки, соответствующие целевым транзакциям и хранящиеся в блокчейне, имеют многочисленные цифровые подписи и могут обеспечить возможность узлу контроля узнать, какие узлы транзакций участвуют в целевой транзакции и была ли целевая транзакция единогласно признана всеми узлами транзакций, которые участвуют в этой целевой транзакции.

[69] На основе способа обработки запроса транзакции, показанного на Фиг. 1, вариант осуществления настоящего раскрытия дополнительно обеспечивает соответствующее устройство 400 обработки запроса транзакции, показанное на Фиг. 4. Устройство 400 может быть реализовано как программное обеспечение, аппаратное обеспечение или их комбинация. В одном примере устройство 400 может содержать процессор и память, соединенные вместе. Память может быть долговременной и считываемой компьютером и может хранить инструкции, которые при исполнении процессором побуждают устройство 400 выполнять различные этапы и способы, описанные в данном документе. Инструкции могут быть реализованы в виде различных модулей, содержащих:

[70] модуль 401 получения, выполненный с возможностью получения транзакционных данных целевой транзакции;

[71] модуль 402 определения, выполненный с возможностью определения, согласно транзакционным данным, выдержки транзакции, причем выдержка транзакции была получена после того, как все узлы транзакций подписали выдержку данных для транзакционных данных, причем узлы транзакций являются узлами блокчейна, которые участвуют в целевой транзакции, и устройство является одним из этих узлов транзакций;

[72] модуль 403 генерирования, выполненный с возможностью генерирования запроса транзакции, который содержит транзакционные данные и выдержку транзакции; и

[73] модуль 404 широковещательной передачи, выполненный с возможностью широковещательной передачи запроса транзакции всем узлам консенсуса, так что все узлы консенсуса сохраняют выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию.

[74] В некоторых вариантах осуществления в отношении модуля 402 определения, когда целевая транзакция инициируется устройством, устройство 400 генерирует выдержку данных согласно транзакционным данным; отправляет выдержку данных всем вторым узлам транзакций, так что все вторые узлы транзакций подписывают выдержку данных; получает выдержку данных после того, как все вторые узлы транзакций подписывают выдержку данных; и определяет выдержку транзакции согласно полученной подписанной выдержке данных.

[75] В некоторых вариантах осуществления, когда целевая транзакция инициируется любым вторым узлом транзакций, модуль 402 определения принимает выдержку данных; верифицирует выдержку данных согласно транзакционным данным; подписывает, если выдержка данных проходит верификацию, выдержку данных для получения первой выдержки; и после приема вторых выдержек, полученных после того, как все вторые узлы транзакций подпишут выдержку данных, определяет выдержку транзакции согласно первой выдержке и вторым выдержкам.

[76] Устройство 400 может дополнительно содержать: модуль 405 хранения, выполненный с возможностью сохранения транзакционных данных в частную базу данных, соответствующую устройству.

[77] Устройство 400 может дополнительно содержать: модуль 406 отправки, выполненный с возможностью отправки, когда целевая транзакция инициируется устройством, транзакционных данных во все вторые узлы транзакций, так что каждый второй узел транзакций сохраняет транзакционные данные в частную базу данных, соответствующую второму узлу транзакций.

[78] В 1990-х годах усовершенствование технологии можно было дифференцировать на усовершенствование аппаратного обеспечения (например, усовершенствование структуры схемы, например, диода, транзистора, коммутатора и т. п.) или усовершенствование программного обеспечения (усовершенствование потока операций способа). Однако, наряду с технологическим развитием, многие текущие улучшения потоков операций способов могут рассматриваться как прямые улучшения структур схем аппаратного обеспечения. Разработчики могут получить соответствующую структуру схемы аппаратного обеспечения, запрограммировав улучшенный поток операций способа в схему аппаратного обеспечения. Следовательно, улучшение потока операций способа может быть реализовано посредством аппаратной реализации. Например, программируемое логическое устройство (PLD) (например, программируемая пользователем вентильная матрица (FPGA)) представляет собой такую интегральную схему, что ее логические функции определяются пользователем посредством программирования устройства. Разработчик может запрограммировать «интеграцию» цифровой системы в один элемент PLD, не обращаясь к производителю микросхем с просьбой спроектировать и изготовить специальную интегральную (IC) микросхему. В настоящее время такой тип программирования главным образом реализуется с помощью программного обеспечения «логического компилятора», а не ручного изготовления IC микросхем. Программное обеспечение логического компилятора аналогично программному компилятору, используемому для разработки и написания программ, в то время как для написания исходных кодов до компиляции используется определенный язык программирования, который именуется языком описания аппаратуры (HDL). Существует не один, а много типов HDL, таких как ABEL (усовершенствованный язык булевых выражений), AHDL (язык описания аппаратуры Altera), Confluence, CUPL (язык программирования Корнельского университета), HDCal, JHDL (язык описания аппаратуры Java), Lava, Lola, MyHDL, PALASM, RHDL (язык описания аппаратуры Ruby). Наиболее часто используемый HDL включает в себя VHDL (язык описания аппаратуры для высокоскоростных интегральных схем) и Verilog. Специалисту в данной области техники известно, как получить схему аппаратного обеспечения для реализации логического потока операций способа, используя вышеупомянутые HDL, чтобы выполнить некоторое логическое программирование над потоком операций способа и запрограммировать его в интегральную схему (IC).

[79] Контроллер может быть реализован любым надлежащим образом. Например, контроллер может иметь, например, форму микропроцессора или процессора, а также считываемого компьютером носителя, который хранит считываемые компьютером программные коды (например, программное обеспечение или встроенное программное обеспечение), которые могут являются пригодными для исполнения (микро)процессором, логическим элементом, коммутатором, интегральной схемой специального назначения (ASIC), программируемым логическим контроллером и встроенным микроконтроллером. Примеры контроллера включают в себя, но без ограничения, следующие микроконтроллеры: ARC 625D, Atmel AT91SAM, микросхему PIC18F26K20 и C8051F320 Silicone Labs. Контроллер памяти может быть дополнительно реализован как часть логики управления памятью. Специалисту в данной области также должно быть понятно, что в дополнение к тому, что контроллер реализуется в виде чисто считываемых компьютером программных кодов, логическое программирование в отношении этапов способа может быть выполнено, чтобы позволить контроллеру реализовать те же самые функции в форме логического элемента, коммутатора, ASIC, программируемого логического контроллера и встроенного микроконтроллера. Следовательно, такой контроллер может рассматриваться как часть аппаратного обеспечения, тогда как устройства, содержащиеся в нем и выполненные с возможностью осуществления различных функций, также могут рассматриваться как структура внутри упомянутой части аппаратного обеспечения. В качестве альтернативы, устройства, выполненные с возможностью осуществления различных функций, могут рассматриваться и как программные модули для реализации способа и как структура внутри части аппаратного обеспечения.

[80] Система, устройство, модуль или блок, описанные в вышеупомянутых вариантах осуществления, могут быть реализованы с помощью компьютерной микросхемы или объекта, или реализованы с помощью изделия, имеющего функцию. Типичным устройством реализации является компьютер. Например, компьютер может быть, например, персональным компьютером, портативным компьютером, сотовым телефоном, телефоном с камерой, смартфоном, карманным персональным компьютером, устройством воспроизведения носителей, навигационным устройством, устройством электронной почты, игровой консолью, планшетным компьютером, носимым устройством или комбинацией любых устройств в этих устройствах.

[81] Для удобства описания вышеупомянутое устройство разделено на различные блоки в соответствии с описываемыми функциями. Функции блоков могут быть реализованы в одном или нескольких элементах программного и/или аппаратного обеспечения при реализации настоящего раскрытия.

[82] Специалист в данной области техники должен понимать, что варианты осуществления настоящего раскрытия могут быть обеспечены в виде способа, системы или компьютерного программного продукта. Следовательно, раскрытая система может быть реализована как полностью аппаратный вариант осуществления, полностью программный вариант осуществления или как вариант осуществления, объединяющий программное и аппаратное обеспечение для выполнения раскрытых способов. Кроме того, раскрытая система может быть в форме компьютерного программного продукта, реализованного на одном или нескольких компьютерных носителях данных (в том числе, помимо прочего, память на магнитном диске, CD-ROM, оптическая память и т.п.), содержащих компьютерные программные коды.

[83] Раскрытая система описана со ссылкой на блок-схемы последовательности операций и/или блок-схемы способа, устройства (системы) и компьютерного программного продукта в соответствии с вариантами осуществления настоящего раскрытия. Следует понимать, что инструкция компьютерной программы может использоваться для реализации каждого процесса и/или блока в блок-схемах последовательности операций и/или блок-схемах и некоторой комбинации процессов и/или блоков в блок-схемах последовательности операций и/или блок-схемах. Эти инструкции компьютерной программы могут предоставляться для компьютера общего назначения, компьютера специального назначения, встроенного процессора или процессора других программируемых устройств обработки данных для формирования машины, так что эти инструкции, исполняемые компьютером или процессором других программируемых устройств обработки данных формируют устройство для реализации указанной функции в одном или нескольких процессах на блок-схемах последовательности операций и/или в одном или нескольких блоках на блок-схемах.

[84] Эти инструкции компьютерной программы также могут храниться в считываемой компьютером памяти, которая может побуждать компьютер или другие программируемые устройства обработки данных работать некоторым конкретным образом, так что инструкции, хранящиеся в считываемой компьютером памяти, формируют производимое изделие, которое включает в себя инструктируемое устройство. Инструктируемое устройство реализует одну или несколько функций в одном или нескольких процессах на блок-схемах последовательности операций и/или в одном или нескольких блоках на блок-схемах.

[85] Эти инструкции компьютерной программы также могут быть загружены на компьютер или другие программируемые устройства обработки данных, так что ряд операционных этапов выполняется на компьютере или других программируемых устройствах, тем самым обеспечивая реализуемую компьютером обработку. Следовательно, инструкции, исполняемые на компьютере или других программируемых устройствах, обеспечивают этапы для реализации одной или нескольких функций в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках на блок-схемах.

[86] В типичной конфигурации вычислительное устройство включает в себя один или несколько центральных блоков обработки (CPU), интерфейсы ввода/вывода, сетевые интерфейсы и память.

[87] Память может включать в себя считываемый компьютером носитель, такой как энергозависимая память, оперативная память (RAM) и/или энергонезависимая память, например, постоянная память (ROM) или флэш-RAM. Память является примером считываемого компьютером носителя.

[88] Считываемый компьютером носитель включает в себя постоянные, энергозависимые, мобильные и немобильные носители, которые могут осуществлять хранение информации любым способом или технологией. Информация может быть считываемыми компьютером инструкциями, структурами данных, программными модулями или другими данными. Примеры носителей данных компьютеров включают в себя, но без ограничения, RAM на основе фазового перехода (PRAM), статическую RAM (SRAM), динамическую RAM (DRAM), другие типы устройств оперативной памяти (RAM), устройства постоянной памяти (ROM), электрически стираемые перепрограммируемые ROM (EEPROM), устройства флэш-памяти или другие технологии памяти, компакт-диски только для чтения (CD-ROM), цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, кассеты, кассетные и дисковые запоминающие устройства или другие устройства с магнитной памятью или любые другие не относящиеся к пересылке (данных) носители, которые могут быть использованы для хранения информации, доступной для вычислительного устройства. Согласно приведенным в данном документе определениям считываемые компьютером носители не включают в себя временные носители, такие как модулированные сигналы данных и несущие.

[89] Дополнительно следует отметить, что термины «включающий в себя», «содержащий» или любые другие их варианты предназначены для охвата случая неисключительного включения, так что процесс, способ, продукт или устройство, содержащие ряд элементов, содержат не только эти элементы, но также содержат другие элементы, которые не перечислены, или дополнительно содержат элементы, которые присущи упомянутым процессу, способу, продукту или устройству. Когда дополнительное ограничение отсутствует, элементы, определенные выражением «содержащий один…», не исключают дополнительные аналогичные элементы в процессе, способе, продукте или устройстве, которые содержат определенные элементы.

[90] Специалист в данной области техники должен понимать, что варианты осуществления настоящего раскрытия могут быть обеспечены в виде способа, системы или компьютерного программного продукта. Следовательно, настоящее раскрытие может быть реализовано как полностью аппаратный вариант осуществления, полностью программный вариант осуществления или как вариант осуществления, объединяющий программное и аппаратное обеспечение. Кроме того, настоящее раскрытие может иметь форму компьютерного программного продукта, реализованного на одном или нескольких используемых компьютером носителях данных (в том числе, помимо прочего, память на магнитном диске, CD-ROM, оптическая память и т.п.), включающих в себя используемые компьютером программные коды.

[91] Настоящее раскрытие может быть описано в обычном контексте исполняемой компьютером инструкции, которая исполняется компьютером, такой как программный модуль. В различных вариантах осуществления программный модуль содержит подпрограмму, программу, объект, компонент, структуру данных и тому подобное для исполнения конкретной задачи или реализации конкретного абстрактного типа данных. Настоящее раскрытие может также применяться на практике в распределенных вычислительных средах. В этих распределенных вычислительных средах удаленные устройства обработки, подключенные через сети связи, выполняют задачи. В распределенных вычислительных средах программный модуль может быть расположен на локальных и удаленных компьютерных носителях данных, в том числе запоминающих устройствах.

[92] Варианты осуществления в этом описании описаны постепенно, так что каждый вариант осуществления фокусируется на отличиях от других вариантов осуществления, и к вариантам осуществления можно обращаться совместно на предмет их идентичных или аналогичных частей. Вариант осуществления системы описан относительно просто, поскольку он по существу аналогичен варианту осуществления способа. К описанию варианта осуществления способа можно обратиться на предмет связанных с ним частей.

[93] Варианты осуществления настоящего раскрытия являются просто примерными и не используются для ограничения настоящего раскрытия. Для специалиста в данной области техники раскрытые варианты осуществления могут быть модифицированы или изменены различными способами. Любая модификация, эквивалентная замена или улучшение, выполненные согласно сущности и принципу настоящего раскрытия, должны охватываться формулой изобретения из настоящего раскрытия.

1. Способ обработки запроса транзакции, реализуемый первым узлом транзакций, причем способ содержит:

получение транзакционных данных целевой транзакции, в которой участвует множество узлов транзакций;

определение выдержки транзакции согласно выдержке данных, которая генерируется на основе, по меньшей мере, транзакционных данных и которая подписывается всеми узлами транзакций, которые участвуют в целевой транзакции, в том числе каждым из упомянутого множества узлов транзакций, при этом транзакционные данные не могут быть получены обратно через выдержку данных, при этом множество узлов транзакций содержит по меньшей мере первый узел транзакций и один или более вторых узлов транзакций;

генерирование запроса транзакции, который содержит выдержку транзакции и не содержит транзакционных данных, причем выдержка транзакции обеспечивает возможность проведения консенсусной верификации без транзакционных данных; и

широковещательную передачу запроса транзакции узлам консенсуса, побуждающую каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию, при этом множество узлов транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна.

2. Способ по п. 1, в котором, когда целевая транзакция инициируется первым узлом транзакций, определение выдержки транзакции согласно транзакционным данным содержит:

отправку выдержки данных одному или более вторым узлам транзакций;

получение выдержки данных после того, как каждый из вторых узлов транзакций подпишет выдержку данных; и

определение выдержки транзакции согласно полученной подписанной выдержке данных.

3. Способ по п. 1, в котором, когда целевая транзакция инициируется любым из одного или более вторых узлов транзакций, определение выдержки транзакции согласно транзакционным данным содержит:

прием выдержки данных от инициирующего второго узла транзакций;

верификацию выдержки данных согласно транзакционным данным;

подпись, если выдержка данных проходит верификацию, выдержки данных для получения первой выдержки; и

после приема вторых выдержек, полученных после того, как каждый из вторых узлов транзакций подпишет выдержку данных, определение выдержки транзакции согласно первой выдержке и вторым выдержкам.

4. Способ по п. 1, дополнительно содержащий:

сохранение транзакционных данных в частную базу данных, соответствующую первому узлу транзакций.

5. Способ по п. 4, когда целевая транзакция инициируется первым узлом транзакций, способ дополнительно содержит:

отправку транзакционных данных одному или более вторым узлам транзакций, побуждающую каждый из вторых узлов транзакций сохранять транзакционные данные в частную базу данных, соответствующую второму узлу транзакций.

6. Долговременный считываемый компьютером носитель, хранящий инструкции, которые, при исполнении процессором первого узла транзакций, побуждают этот процессор выполнить способ по любому из пп. 1-5.

7. Устройство обработки запроса транзакции, реализуемое в качестве первого узла транзакций, содержащее процессор и долговременный считываемый компьютером носитель, хранящий инструкции, которые, при исполнении процессором, побуждают устройство выполнить способ обработки запроса транзакции, причем способ содержит:

получение транзакционных данных целевой транзакции, в которой участвует множество узлов транзакций, при этом первый узел транзакций участвует в целевой транзакции;

определение выдержки транзакции согласно выдержке данных, которая генерируется на основе, по меньшей мере, транзакционных данных и которая подписывается всеми узлами транзакций, которые участвуют в целевой транзакции, в том числе каждым из упомянутого множества узлов транзакций, при этом транзакционные данные не могут быть получены обратно через выдержку данных, при этом узлы транзакций содержат по меньшей мере первый узел транзакций и один или более вторых узлов транзакций;

генерирование запроса транзакции, который содержит выдержку транзакции и не содержит транзакционных данных, причем выдержка транзакции обеспечивает возможность проведения консенсусной верификации без транзакционных данных; и

широковещательную передачу запроса транзакции узлам консенсуса, побуждающую каждый из узлов консенсуса сохранять выдержку транзакции из запроса транзакции в блокчейн после того, как выдержка транзакции проходит консенсусную верификацию, при этом множество узлов транзакций и узлы консенсуса являются узлами блокчейна из сети блокчейна.

8. Устройство по п. 7, в котором, когда целевая транзакция инициируется первым узлом транзакций, определение выдержки транзакции согласно транзакционным данным содержит:

отправку выдержки данных одному или более вторым узлам транзакций;

получение выдержки данных после того, как каждый из вторых узлов транзакций подпишет выдержку данных; и

определение выдержки транзакции согласно полученной подписанной выдержке данных.

9. Устройство по п. 7, в котором, когда целевая транзакция инициируется любым из одного или более вторых узлов транзакций, определение выдержки транзакции согласно транзакционным данным содержит:

прием выдержки данных от инициирующего второго узла транзакций;

верификацию выдержки данных согласно транзакционным данным;

подпись, если выдержка данных проходит верификацию, выдержки данных для получения первой выдержки; и

после приема вторых выдержек, полученных после того, как каждый из вторых узлов транзакций подпишет выдержку данных, определение выдержки транзакции согласно первой выдержке и вторым выдержкам.

10. Устройство по п. 7, при этом способ дополнительно содержит:

сохранение транзакционных данных в частную базу данных, соответствующую первому узлу транзакций.

11. Устройство по п. 10, в котором, когда целевая транзакция инициируется первым узлом транзакций, способ дополнительно содержит:

отправку транзакционных данных одному или более вторым узлам транзакций, побуждающую каждый из вторых узлов транзакций сохранять транзакционные данные в частную базу данных, соответствующую второму узлу транзакций.

12. Способ по п. 1, дополнительно содержащий:

побуждение каждого из узлов консенсуса верифицировать выдержку транзакции из запроса транзакции.

13. Способ по п. 12, в котором

транзакционные данные не передаются узлам консенсуса и не сохраняются в блокчейн.

14. Способ по п. 12, в котором

транзакционные данные целевой транзакции содержат по меньшей мере одно из предмета транзакции, связанной с целевой транзакцией, подробной информации о предмете, адреса счета субъекта, который участвует в целевой транзакции, или информации ID субъекта, который участвует в целевой транзакции.

15. Способ по п. 12, в котором

подпись выдержки данных содержит предоставление верификации выдержки данных цифровым образом; и

определение выдержки транзакции содержит подпись выдержки данных каждым из первого узла транзакций и одного или более вторых узлов транзакций в заранее установленном порядке.

16. Способ по п. 12, дополнительно содержащий:

побуждение каждого из узлов консенсуса сохранить выдержку транзакции в блокчейн в ответ на то, что все узлы консенсуса верифицировали выдержку транзакции.



 

Похожие патенты:

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении временной стойкости к криптоанализу.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении аутентификации и шифрования с защитой от перехвата.

Изобретение относится к способу регистрации биометрической идентификации, применяемому к пользовательскому оборудованию. Технический результат заключается в повышении безопасности в процессе регистрации и аутентификации.

Изобретение относится к проверке достоверности согласно модели на основе банкнот на счетах. Технический результат заключается в возможности записи транзакций без раскрытия информации о суммах, связанных со счетами пользователя.

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение аутентификации пользователя.

Изобретение относится к средствам обработки данных в распределенной сети. Технический результат заключается в повышении эффективности обработки данных для услуги с относительно высоким приоритетом услуги.

Изобретение относится к области технологий работы с цепочками блоков. Техническим результатом является обеспечение конфиденциальности узла цепочки блоков, который участвует в транзакции, при консенсусной верификации.

Изобретение относится к шифрованию, в частности, к предварительному распределению ключей для конфигурирования множества сетевых узлов информацией локальных ключей.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении отправки критических данных на сервер.

Изобретение относится к средствам для осуществления транзакций посредством цепочек блоков. Технический результат заключается в повышении эффективности обеспечения конфиденциальности пользователей цепочек блоков.

Изобретение относится к передатчику, использующему разбиение телеграммы для передачи дополнительной телеграммы в системе связи, которая выполнена с возможностью работы в соответствии со стандартом связи, таким как 3GPP.
Наверх