СПОСОБ И УСТРОЙСТВО КОНСЕНСУСНОЙ ВЕРИФИКАЦИИ
METHOD AND DEVICE FOR CONSENSUS VERIFICATION

Область техники, к которой относится изобретение
[0001] Настоящая заявка относится к области технологий работы с цепочками блоков, и, в частности, к способу и устройству консенсусной верификации.
Уровень техники
[0002] Сеть цепочек блоков также упоминается как сеть распределенных реестров и характеризуется посредством децентрализации, открытости и прозрачности. Каждый узел цепочки блоков (блокчейн-узел) синхронизируется с цепочкой блоков. Сеть цепочек блоков включает в себя узлы цепочки блоков. Каждый узел цепочки блоков может как инициировать запрос на проведение транзакции, так и участвовать в консенсусной верификации для запроса на проведение транзакции.
[0003] Существующий способ консенсусной верификации заключается в следующем. Узел цепочки блоков, который участвует в транзакции, передает в широковещательном режиме запрос на проведение транзакции для транзакции в каждый консенсусный узел в сети цепочек блоков. Консенсусный узел представляет собой узел цепочки блоков, отвечающий за консенсусную верификацию, и запрос на проведение транзакции включает в себя данные транзакции для транзакции. Каждый консенсусный узел сохраняет данные транзакции в цепочке блоков после того, как консенсусная верификация, выполняемая посредством каждого консенсусного узла для запроса на проведение транзакции, завершается удачно.
[0004] Однако, каждый узел цепочки блоков может синхронизироваться с цепочкой блоков, чтобы получать данные транзакции для каждой транзакции, сохраненной в цепочке блоков. Следовательно, конфиденциальность, включенная в данные транзакции узла цепочки блоков, который участвует в транзакции, легко раскрывается.
Сущность изобретения
[0005] Реализации настоящей заявки предоставляют способ и устройство консенсусной верификации, чтобы снижать остроту такой проблемы, что при использовании существующего способа консенсусной верификации, конфиденциальность узла цепочки блоков, который участвует в транзакции, легко раскрывается.
[0006] Чтобы снижать остроту вышеприведенной технической проблемы, реализации настоящей заявки реализуются следующим образом.
[0007] Реализация настоящей заявки предоставляет способ консенсусной верификации, причем способ включает в себя следующее: получение, посредством регулирующего узла, запроса на проведение транзакции, причем запрос на проведение транзакции включает в себя данные транзакции и подпись по меньшей мере одного транзакционного узла; определение, является ли запрос на проведение транзакции достоверным, на основе данных транзакции и подписи каждого транзакционного узла; и если запрос на проведение транзакции является достоверным, формирование дайджеста на основе указанных данных, включенных в данные транзакции, и отправку дайджеста и неуказанных данных, включенных в данные транзакции, в каждый консенсусный узел, так что каждый консенсусный узел выполняет консенсусную верификацию.
[0008] Реализация настоящей заявки предоставляет устройство консенсусной верификации, причем устройство включает в себя следующее: первый модуль получения, выполненный с возможностью получать запрос на проведение транзакции, причем запрос на проведение транзакции включает в себя данные транзакции и подпись по меньшей мере одного транзакционного узла; и модуль определения и обработки, выполненный с возможностью определять то, является или нет запрос на проведение транзакции достоверным, на основе данных транзакции и подписи каждого транзакционного узла; и если запрос на проведение транзакции является достоверным, формировать дайджест на основе указанных данных, включенных в данные транзакции, и отправлять дайджест и неуказанные данные, включенные в данные транзакции, в каждый консенсусный узел, так что каждый консенсусный узел выполняет консенсусную верификацию.
[0009] Из технических решений, предоставленных в реализациях настоящей заявки, можно видеть, что в реализациях настоящей заявки регулирующий узел отвечает за верификацию того, является или нет запрос на проведение транзакции достоверным. Если запрос на проведение транзакции является достоверным, регулирующий узел формирует дайджест на основе указанных данных в данных транзакции и отправляет дайджест и неуказанные данные, включенные в данные транзакции, в каждый консенсусный узел для консенсусной верификации. Каждый консенсусный узел сохраняет дайджест и неуказанные данные в цепочке блоков после того, как консенсусная верификация завершается удачно. В связи с этим консенсусный узел не принимает указанных данных и в силу этого не сохраняет указанные данные в цепочке блоков. Как результат, указанные данные не раскрываются. Помимо этого, дайджест может использоваться для того, чтобы верифицировать, изменяются ли указанные данные, которые не сохраняются в цепочке блоков.
Краткое описание чертежей
[0010] Чтобы более понятно описывать технические решения в реализациях настоящей заявки или в существующей технологии, далее кратко описываются прилагаемые чертежи, требуемые для описания реализаций или существующей технологии. Очевидно, что прилагаемые чертежи в нижеприведенном описании просто показывают некоторые реализации настоящей заявки, и специалисты в данной области техники по-прежнему могут получать другие чертежи из этих прилагаемых чертежей без творческих усилий.
[0011] Фиг. 1 является блок-схемой последовательности операций, иллюстрирующей способ консенсусной верификации, согласно реализации настоящей заявки;
[0012] Фиг. 2 является принципиальной схемой, иллюстрирующей сеть цепочек блоков, согласно реализации настоящей заявки;
[0013] Фиг. 3 является принципиальной схемой, иллюстрирующей сеть цепочек блоков, согласно реализации настоящей заявки; и
[0014] Фиг. 4 является принципиальной схемой, иллюстрирующей устройство консенсусной верификации, согласно реализации настоящей заявки.
Описание реализаций
[0015] Реализации настоящей заявки предоставляют способ и устройство консенсусной верификации.
[0016] Чтобы заставлять специалистов в данной области техники лучше понимать технические решения в настоящей заявке, далее понятно и всеобъемлюще описываются технические решения в реализациях настоящей заявки со ссылкой на прилагаемые чертежи в реализациях настоящей заявки. Очевидно, что описанные реализации представляют собой только некоторые, но не все реализации настоящей заявки. Все остальные реализации, полученные специалистами в данной области техники на основе реализаций настоящей заявки без творческих усилий, должны попадать в пределы объема охраны настоящей заявки.
[0017] Ниже подробно описываются технические решения, предоставленные в реализациях настоящей заявки, со ссылкой на прилагаемые чертежи.
[0018] Фиг. 1 является блок-схемой последовательности операций, иллюстрирующей способ консенсусной верификации, согласно реализации настоящей заявки. Способ включает в себя следующие этапы.
[0019] S101. Регулирующий узел получает запрос на проведение транзакции.
[0020] Способ осуществляется посредством регулирующего узла. Регулирующий узел представляет собой узел цепочки блоков (блокчейн-узел), отвечающий за регулирование транзакций. Регулирующий узел имеет общее доверие, и изделия, верифицированные посредством регулирующего узла, признаются посредством узлов цепочки блоков во всей сети.
[0021] В сети цепочек блоков узел цепочки блоков, который участвует в транзакции, представляет собой транзакционный узел, и узел цепочки блоков, который участвует в консенсусе, представляет собой консенсусный узел. Необходимо подчеркнуть, что узел цепочки блоков может представлять собой как транзакционный узел, так и консенсусный узел, и может не только участвовать в транзакции, но также и участвовать в консенсусной верификации для транзакции.
[0022] Фиг. 2 является принципиальной схемой, иллюстрирующей сеть цепочек блоков, согласно реализации настоящей заявки. Как показано на фиг. 2, черный узел цепочки блоков представляет собой регулирующий узел. Белый узел цепочки блоков представляет собой консенсусный узел. Затененный узел представляет собой транзакционный узел и также может участвовать в консенсусной верификации.
[0023] В настоящей реализации настоящей заявки запрос на проведение транзакции включает в себя данные транзакции и подпись по меньшей мере одного транзакционного узла. Транзакционный узел может представлять собой узел цепочки блоков, который выплачивает актив в транзакции. Узел цепочки блоков, который подтверждает актив в транзакции, также может представлять собой транзакционный узел, описанный в настоящей заявке. Для простоты описания, описания предоставляются ниже посредством использования примера, в котором транзакционный узел представляет собой узел цепочки блоков, который выплачивает актив в транзакции. Помимо этого, настоящая заявка не задает ограничения на то, представляет собой транзакционный узел также консенсусный узел или нет одновременно.
[0024] Данные транзакции представляют собой подробные данные транзакции, такие как идентификационные данные транзакционного узла, подробный контент актива, предусмотренного в транзакции, номер актива для актива, предусмотренного в транзакции, и адрес счета транзакционного узла.
[0025] В настоящей реализации настоящей заявки подпись транзакционного узла формируется посредством транзакционного узла для данных транзакции и используется в качестве доказательства и записи того, что транзакционный узел удостоверяет данные транзакции. Если транзакционный узел удостоверяет данные транзакции для транзакции, в которой участвует транзакционный узел, чтобы резервировать доказательство и запись транзакции впоследствии, транзакционный узел может сначала конструировать дайджест данных транзакции на основе алгоритма формирования дайджестов и дополнительно обрабатывать дайджест данных транзакции через алгоритм формирования подписей и закрытый ключ, чтобы формировать подпись транзакционного узла.
[0026] Необходимо отметить, что может быть предусмотрено множество алгоритмов формирования дайджестов, но общий признак алгоритмов формирования дайджестов заключается в том, что предыдущий простой текст не может обратно извлекаться из дайджеста, полученного посредством вычисления простого текста. Если имеется какая-либо модификация простого текста, дайджест, полученный посредством вычисления модифицированного простого текста, также может отличаться. Можно видеть, что дайджест данных транзакции может использоваться в качестве уникального идентификатора данных транзакции, чтобы идентифицировать каждую транзакцию. Следовательно, если транзакционный узел подписывает данные транзакции, это может указывать то, что транзакционный узел удостоверяет данные транзакции, и, соответственно, может предотвращаться последующее отклонение данных транзакции посредством транзакционного узла.
[0027] В настоящей реализации настоящей заявки в запросе на проведение транзакции подпись транзакционного узла соответствует номеру актива для актива, используемого посредством транзакционного узла в данных транзакции. Транзакционный узел использует подпись для того, чтобы объявлять номер актива для актива, используемого посредством транзакционного узла. Транзакционный узел активирует подпись транзакционного узла и номер актива, используемые посредством транзакционного узла для того, чтобы формировать конкретную структуру данных, например, "номер 001 актива (подпись A)"; или может использовать другой способ для того, чтобы устанавливать взаимосвязь на основе увязки между подписью и номером актива, используемыми посредством транзакционного узла. Безусловно, номер актива, который соответствует подписи транзакционного узла, не обязательно представляет собой номер актива, фактически принадлежащий транзакционному узлу. Другими словами, транзакционный узел может злонамеренно и мошеннически использовать номер актива, принадлежащий другому узлу. То, как исключать риск, составляет часть нижеприведенного описания верификации достоверности запроса на проведение транзакции.
[0028] В настоящей реализации настоящей заявки один запрос на проведение транзакции может включать в себя подписи множества транзакционных узлов. Таким образом, любой транзакционный узел может собирать подписи транзакционных узлов, формировать запрос на проведение транзакции и отправлять запрос на проведение транзакции в регулирующий узел. Способ для сбора подписей может заключаться в следующем. Данные транзакции передаются между транзакционными узлами по порядку, каждый транзакционный узел присоединяет подпись транзакционного узла к данным транзакции, и, в конечном счете, конечный транзакционный узел, в который передаются данные транзакции, формирует запрос на проведение транзакции. Альтернативно, транзакционный узел может принимать подпись, отправленную посредством каждого другого транзакционного узла, и затем формировать запрос на проведение транзакции. Для простоты описания, описания предоставляются ниже посредством использования примера, в котором запрос на проведение транзакции включает в себя подписи множества транзакционных узлов.
[0029] S102. Определение того, является или нет запрос на проведение транзакции достоверным, на основе данных транзакции и подписи каждого транзакционного узла, и выполнение этапа S103, если запрос на проведение транзакции является достоверным, или выполнение этапа S104, если запрос на проведение транзакции является недостоверным.
[0030] В настоящей реализации настоящей заявки предусмотрено множество способов для верификации достоверности запроса на проведение транзакции. Например, в случае 1, регулирующий узел может балльно оценивать кредитные возможности каждого транзакционного узла, который подписывается на основе кредитной истории каждого транзакционного узла, которая сохраняется посредством регулирующего узла, и определять то, что запрос на проведение транзакции является недостоверным, если балльная оценка кредитных возможностей каждого транзакционного узла меньше предварительно определенной балльной оценки, или определять то, что запрос на проведение транзакции является достоверным, если балльная оценка кредитных возможностей каждого транзакционного узла не меньше предварительно определенной балльной оценки. В качестве другого примера, в случае 2, регулирующий узел альтернативно может использовать данные транзакции, подпись каждого транзакционного узла и открытый ключ каждого транзакционного узла, чтобы верифицировать, изменяет ли транзакционный узел данные транзакции или мошеннически использует актив другого человека либо нет. Безусловно, могут быть предусмотрены другие случаи верификации достоверности запроса на проведение транзакции. Подробности опускаются здесь для простоты.
[0031] В случае 2 регулирующий узел может хранить открытый ключ каждого транзакционного узла заранее, или запрос на проведение транзакции может включать в себя открытый ключ каждого транзакционного узла. Открытый ключ каждого транзакционного узла может использоваться для того, чтобы дешифровать подпись транзакционного узла, чтобы получать дайджест данных транзакции, за счет этого верифицируя, изменяет ли подписант данные транзакции. Если результат дешифрования, полученный посредством регулирующего узла посредством дешифрования подписи транзакционного узла посредством использования открытого ключа, предоставленного посредством транзакционного узла, является несогласованным с дайджестом данных транзакции, это указывает, что транзакционный узел формирует подпись посредством мошеннического использования закрытого ключа другого узла цепочки блоков, или транзакционный узел изменяет данные транзакции, и следовательно запрос на проведение транзакции является недостоверным. Достоверность запроса на проведение транзакции может дополнительно верифицироваться впоследствии, если транзакционный узел не изменяет данные транзакции.
[0032] В настоящей реализации настоящей заявки последующая верификация достоверности может включать в себя следующее: верификацию то, использует или нет транзакционный узел мошеннически актив другого человека. В общей сети цепочек блоков, номер актива для актива, принадлежащего каждому узлу цепочки блоков, ассоциирован с открытым ключом узла цепочки блоков, и открытый ключ, который служит в качестве внешне раскрытого признака идентификационных данных узла цепочки блоков, может уникально идентифицировать идентификационные данные узла цепочки блоков. Другими словами, номер актива, ассоциированный с открытым ключом узла цепочки блоков, представляет собой номер актива, фактически принадлежащий узлу цепочки блоков.
[0033] Следовательно, в настоящей реализации настоящей заявки регулирующий узел определяет номер актива для актива, фактически принадлежащего каждому транзакционному узлу, на основе открытого ключа каждого транзакционного узла, и затем сравнивает номер актива (номер актива, используемый посредством транзакционного узла), который соответствует подписи транзакционного узла в данных транзакции, с номером актива, фактически принадлежащим транзакционному узлу, чтобы определять то, использует или нет транзакционный узел злонамеренно и мошеннически номер актива, принадлежащий другому узлу цепочки блоков. Запрос на проведение транзакции является недостоверным, если по меньшей мере один транзакционный узел злонамеренно и мошеннически использует номер актива, принадлежащий другому узлу цепочки блоков. Запрос на проведение транзакции является достоверным, если номер актива, используемый посредством каждого транзакционного узла, представляет собой номер актива, принадлежащий транзакционному узлу.
[0034] В заключение можно видеть в случае 2 то, что регулирующий узел верифицирует достоверность запроса на проведение транзакции, верификация выполняется прогрессивным способом, и следующие два аспекта должны подтверждаться последовательно, чтобы определять то, что запрос на проведение транзакции является достоверным: 1. Данные транзакции не изменяются. 2. Транзакционный узел не использует мошеннически номер актива, принадлежащий другому узлу цепочки блоков.
[0035] S103. Формирование дайджеста конфиденциальности на основе данных конфиденциальности в данных транзакции и отправка дайджеста конфиденциальности и данных отсутствия конфиденциальности в данных транзакции в каждый консенсусный узел, так что каждый консенсусный узел выполняет консенсусную верификацию.
[0036] В настоящей реализации настоящей заявки указанные данные могут представлять собой данные конфиденциальности, и неуказанные данные могут представлять собой данные отсутствия конфиденциальности. Данные конфиденциальности включают в себя конфиденциальность транзакционного узла и могут указываться посредством транзакционного узла и уведомляться в регулирующий узел; либо могут указываться посредством регулирующего узла. Например, данные конфиденциальности могут включать в себя идентификационные данные транзакционного узла, подробный контент актива и адрес счета и т.д., которые рассматриваются в качестве конфиденциальности транзакционного узла.
[0037] Как описано выше, простой текст не может обратно извлекаться из дайджеста простого текста. Следовательно, после того, как дайджест формируется для данных конфиденциальности, дайджест может сохраняться в доверенной цепочке блоков, и данные конфиденциальности могут скрываться таким образом, что доверенное доказательство и запись данных конфиденциальности могут быть зарезервированы, и данные конфиденциальности могут быть защищены.
[0038] После приема дайджеста и данных отсутствия конфиденциальности каждый консенсусный узел может выполнять консенсусную верификацию на основе данных отсутствия конфиденциальности, например, может верифицировать то, имеются или нет дублированные расходы, на основе номера актива в данных отсутствия конфиденциальности. Если консенсусная верификация завершается удачно, дайджест конфиденциальности и данные отсутствия конфиденциальности сохраняются в цепочке блоков. Достоверность запроса на проведение транзакции верифицируется и подтверждается посредством регулирующего узла заранее.
[0039] В связи с этим, консенсусная верификация для транзакции завершается. Дайджест, сохраненный в цепочке блоков, может использоваться для того, чтобы верифицировать то, являются или нет данные конфиденциальности, требуемые посредством транзакционного узла, истинными, чтобы разрешать спор между транзакционными узлами.
[0040] В настоящей реализации настоящей заявки регулирующий узел дополнительно может отправлять подпись каждого транзакционного узла в каждый консенсусный узел, так что после того, как консенсусная верификация, выполняемая посредством каждого консенсусного узла для транзакции, завершается удачно, консенсусный узел также сохраняет подпись каждого транзакционного узла в цепочке блоков, чтобы предотвращать последующее отклонение подписи посредством каждого транзакционного узла.
[0041] Помимо этого, в настоящей реализации настоящей заявки регулирующий узел может инструктировать по меньшей мере одному транзакционному узлу сохранять данные транзакции или указанные данные, включенные в данные транзакции, если запрос на проведение транзакции является достоверным. Безусловно, альтернативно, регулирующий узел может инструктировать по меньшей мере одному транзакционному узлу сохранять данные транзакции или указанные данные в закрытой базе данных, которая соответствует транзакционному узлу, после того, как консенсусная верификация, выполняемая посредством каждого консенсусного узла для транзакции, завершается удачно, и после того, как дайджест сохраняется в цепочке блоков. В заключение, каждый транзакционный узел сохраняет указанные данные или данные транзакции отдельно. Реализации не ограничены в настоящей заявке.
[0042] Хотя транзакционный узел может конфиденциально изменять указанные данные, сохраненные посредством транзакционного узла, дайджест, сохраненный в цепочке блоков, может использоваться для того, чтобы верифицировать подлинность указанных данных в любое время, тем самым исключая риск, вызываемый посредством конфиденциального изменения указанных данных посредством транзакционного узла.
[0043] Фиг. 3 является принципиальной схемой, иллюстрирующей сеть цепочек блоков, согласно реализации настоящей заявки. Как показано на чертеже, в сети цепочек блоков, каждый узел цепочки блоков поддерживает цепочку блоков, и каждый узел цепочки блоков имеет собственную закрытую базу данных для сохранения данных конфиденциальности транзакции, в которой участвует узел цепочки блоков. Для транзакции A только закрытая база данных узла цепочки блоков (транзакционного узла), который участвует в транзакции A, сохраняет данные конфиденциальности, которые соответствуют транзакции A, и закрытая база данных узла цепочки блоков (нетранзакционного узла), который не участвует в транзакции A, не сохраняет данные конфиденциальности, которые соответствуют транзакции A.
[0044] S104. Отклонение запроса на проведение транзакции.
[0045] Согласно способу консенсусной верификации, показанному на фиг. 1, регулирующий узел отвечает за верификацию того, является или нет запрос на проведение транзакции достоверным. Если запрос на проведение транзакции является достоверным, регулирующий узел формирует дайджест на основе указанных данных в данных транзакции и отправляет дайджест и неуказанные данные, включенные в данные транзакции, в каждый консенсусный узел для консенсусной верификации. Каждый консенсусный узел сохраняет дайджест и неуказанные данные в цепочке блоков после того, как консенсусная верификация завершается удачно. В связи с этим консенсусный узел не принимает указанных данных и в силу этого не сохраняет указанные данные в цепочке блоков. Как результат, указанные данные не раскрываются. Помимо этого, дайджест может использоваться для того, чтобы верифицировать, изменяются ли указанные данные, которые не сохраняются в цепочке блоков.
[0046] Помимо этого, для конкретной сети цепочек блоков, такой как консорциальная сеть цепочек блоков, каждый узел цепочки блоков в консорциальной сети цепочек блоков имеет цифровой сертификат, выданный посредством центра сертификации, причем цифровой сертификат используется для того, чтобы подтверждать реальные идентификационные данные узла цепочки блоков. Цифровой сертификат включает в себя идентификационные данные (идентификатор) узла цепочки блоков и открытый ключ. Важно, что в отличие от общей сети цепочек блоков, в консорциальной сети цепочек блоков, номер актива, принадлежащий узлу цепочки блоков, ассоциирован с идентификатором узла цепочки блоков.
[0047] В сценарии применения консорциальной сети цепочек блоков регулирующий узел может получать цифровой сертификат транзакционного узла и определять то, является или нет запрос на проведение транзакции достоверным, на основе цифрового сертификата транзакционного узла, подписи каждого транзакционного узла и данных транзакции.
[0048] Регулирующий узел может дешифровать подпись каждого транзакционного узла на основе открытого ключа, включенного в цифровой сертификат транзакционного узла; и при определении того, что результат дешифрования, который соответствует каждому транзакционному узлу, является идентичным дайджесту данных транзакции, определять номер актива, который соответствует идентификационным данным, на основе идентификационных данных, включенных в цифровой сертификат каждого транзакционного узла, и использовать номер актива в качестве номера актива, принадлежащего транзакционному узлу; и определять то, является или нет запрос на проведение транзакции достоверным, на основе номера актива, принадлежащего каждому транзакционному узлу, подписи каждого транзакционного узла и данных транзакции; или определять то, что запрос на проведение транзакции является недостоверным при определении того, что результат дешифрования, который соответствует по меньшей мере одному транзакционному узлу, отличается от дайджеста данных транзакции.
[0049] Дополнительно регулирующий узел может определять номер актива, который соответствует подписи каждого транзакционного узла в данных транзакции, на основе подписи транзакционного узла и использовать номер актива в качестве номера актива, используемого посредством транзакционного узла; определять то, что транзакционный узел является недостоверным, если номер актива, принадлежащий транзакционному узлу, не включает в себя по меньшей мере один номер актива, используемый посредством транзакционного узла; или определять то, что транзакционный узел является достоверным, если номер актива, принадлежащий транзакционному узлу, включает в себя все номера активов, используемые посредством транзакционного узла; и определять то, что запрос на проведение транзакции является недостоверным, когда по меньшей мере один транзакционный узел является недостоверным; или определять то, что запрос на проведение транзакции является достоверным, когда все транзакционные узлы являются достоверными.
[0050] То, что транзакционный узел является достоверным, означает то, что транзакционный узел не совершает злоумышленное противоправное действие (такое как мошенническое использование подписи другого человека или мошенническое использование актива другого человека). Когда определяется то, что по меньшей мере один номер актива, используемый посредством транзакционного узла в текущей транзакции, не представляет собой номер актива, принадлежащий транзакционному узлу, можно считать, что транзакционный узел совершает противоправное действие мошеннического использования номера актива другого человека, и, соответственно, является недостоверным.
[0051] Другими словами, в сценарии применения консорциальной сети цепочек блоков транзакционный узел предоставляет цифровой сертификат транзакционного узла вместо открытого ключа транзакционного узла в регулирующий узел. Помимо этого, номер актива, фактически принадлежащий транзакционному узлу, должен подтверждаться на основе идентификатора транзакционного узла. В связи с этим, могут быть незначительные различия в двух аспектах, описанных выше, в том, что регулирующий узел должен выполнять подтверждение для того, чтобы верифицировать достоверность запроса на проведение транзакции (1. Данные транзакции не изменяются. 2. Транзакционный узел не использует мошеннически номер актива, принадлежащий другому узлу цепочки блоков).
[0052] Регулирующий узел сначала пытается дешифровать подпись каждого транзакционного узла на основе открытого ключа, включенного в цифровой сертификат транзакционного узла. Если результат дешифрования является согласованным с дайджестом данных транзакции, это указывает то, что транзакционный узел не изменяет данные транзакции. После определения того, что идентификационные данные всех транзакционных узлов являются истинными, регулирующий узел может продолжать определять то, представляет собой номер актива (а именно, номер актива, используемый посредством каждого транзакционного узла в транзакции), который соответствует подписи каждого транзакционного узла в данных транзакции, или нет номер актива транзакционного узла, на основе номера актива (а именно, номера актива, фактически принадлежащего транзакционному узлу), который соответствует идентификатору, включенному в цифровой сертификат транзакционного узла. Это указывает то, что запрос на проведение транзакции является достоверным, если транзакционный узел не использует мошеннически номер актива другого человека.
[0053] Необходимо подчеркнуть, что в сценарии применения консорциальной сети цепочек блоков, идентификатор транзакционного узла, который включен в цифровой сертификат транзакционного узла, фактически представляет собой конфиденциальность транзакционного узла. В настоящей реализации настоящей заявки регулирующий узел не отправляет цифровой сертификат транзакционного узла в консенсусный узел, за счет этого обеспечивая то, что идентификатор транзакционного узла не раскрывается.
[0054] На основе способа консенсусной верификации, показанного на фиг. 1, реализация настоящей заявки дополнительно, соответственно, предоставляет устройство консенсусной верификации. Как показано на фиг. 4, устройство включает в себя следующее: первый модуль 401 получения, выполненный с возможностью получать запрос на проведение транзакции, причем запрос на проведение транзакции включает в себя данные транзакции и подпись по меньшей мере одного транзакционного узла; и модуль 402 определения и обработки, выполненный с возможностью определять то, является или нет запрос на проведение транзакции достоверным, на основе данных транзакции и подписи каждого транзакционного узла; и если запрос на проведение транзакции является достоверным, формировать дайджест на основе указанных данных, включенных в данные транзакции, и отправлять дайджест и неуказанные данные, включенные в данные транзакции, в каждый консенсусный узел, так что каждый консенсусный узел выполняет консенсусную верификацию.
[0055] Устройство дополнительно включает в себя модуль 403 отклонения, выполненный с возможностью отклонять запрос на проведение транзакции, если запрос на проведение транзакции является недостоверным.
[0056] Устройство дополнительно включает в себя второй модуль 404 получения, выполненный с возможностью получать цифровой сертификат каждого транзакционного узла до того, как определяется то, является или нет запрос на проведение транзакции достоверным, на основе данных транзакции и подписи каждого транзакционного узла.
[0057] Модуль 402 определения и обработки выполнен с возможностью определять то, является или нет запрос на проведение транзакции достоверным, на основе данных транзакции, подписи каждого транзакционного узла и цифрового сертификата каждого транзакционного узла.
[0058] Модуль 402 определения и обработки выполнен с возможностью дешифровать подпись каждого транзакционного узла на основе открытого ключа, включенного в цифровой сертификат транзакционного узла; и при определении того, что результат дешифрования, который соответствует каждому транзакционному узлу, является идентичным дайджесту данных транзакции, определять номер актива, который соответствует идентификационным данным, на основе идентификационных данных, включенных в цифровой сертификат каждого транзакционного узла, и использовать номер актива в качестве номера актива, принадлежащего транзакционному узлу; и определять то, является или нет запрос на проведение транзакции достоверным, на основе номера актива, принадлежащего каждому транзакционному узлу, подписи каждого транзакционного узла и данных транзакции; или определять то, что запрос на проведение транзакции является недостоверным при определении того, что результат дешифрования, который соответствует по меньшей мере одному транзакционному узлу, отличается от дайджеста данных транзакции.
[0059] Модуль 402 определения и обработки выполнен с возможностью определять номер актива, который соответствует подписи каждого транзакционного узла в данных транзакции, на основе подписи транзакционного узла и использовать номер актива в качестве номера актива, используемого посредством транзакционного узла; определять то, что транзакционный узел является недостоверным, если номер актива, принадлежащий транзакционному узлу, не включает в себя по меньшей мере один номер актива, используемый посредством транзакционного узла; или определять то, что транзакционный узел является достоверным, если номер актива, принадлежащий транзакционному узлу, включает в себя все номера активов, используемые посредством транзакционного узла; и определять то, что запрос на проведение транзакции является недостоверным, когда по меньшей мере один транзакционный узел является недостоверным; или определять то, что запрос на проведение транзакции является достоверным, когда все транзакционные узлы являются достоверными.
[0060] Устройство дополнительно включает в себя модуль 405 выдачи уведомлений, выполненный с возможностью инструктировать по меньшей мере одному транзакционному узлу сохранять данные транзакции или указанные данные, включенные в данные транзакции, если запрос на проведение транзакции является достоверным.
[0061] В 1990 годах могло четко различаться то, техническое улучшение представляет собой аппаратное улучшение (например, улучшение схемной структуры, такой как диод, транзистор или переключатель) или программное улучшение (улучшение процедуры способа). Тем не менее, по мере развития технологий, текущие улучшения во многих процедурах способа могут рассматриваться как прямые улучшения аппаратных схемных структур. Разработчик обычно программирует усовершенствованную процедуру способа в аппаратную схему, чтобы получать соответствующую аппаратную схемную структуру. Следовательно, процедура способа может улучшаться посредством использования аппаратного объектного модуля. Например, программируемое логическое устройство (PLD) (например, программируемая пользователем вентильная матрица (FPGA)) представляет собой такую интегральную схему, и логическая функция PLD определяется пользователем посредством программирования устройства. Разработчик выполняет программирование, чтобы "интегрировать" цифровую систему в PLD, без запроса изготовителя микросхемы на предмет того, чтобы проектировать и изготавливать микросхему со специализированными интегральными схемами. Помимо этого, в настоящее время, вместо изготовления вручную микросхемы с интегральными схемами, такое программирование главным образом реализуется посредством использования программного обеспечения "логического компилятора". Программное обеспечение логического компилятора является аналогичным программному компилятору, используемому для того, чтобы разрабатывать и писать программу. Исходный код должен быть написан на конкретном языке программирования для компиляции. Язык упоминается как язык описания аппаратных средств (HDL). Предусмотрено множество HDL, к примеру, усовершенствованный язык булевых выражений (ABEL), язык описания аппаратных средств фирмы Altera (AHDL), Confluence, язык программирования Корнелльского университета (CUPL), HDCal, язык описания аппаратных средств по технологии Java (JHDL), Lava, Lola, MyHDL, PALASM и язык описания аппаратных средств по технологии Ruby (RHDL). Как правило, используются язык описания аппаратного обеспечения на быстродействующих интегральных схемах (VHDL) и Verilog. Специалисты в данной области техники должны также понимать, что аппаратная схема, которая реализует логическую процедуру способа, может легко получаться, как только процедура способа логически программируется посредством использования нескольких описанных языков описания аппаратных средств и программируется в интегральную схему.
[0062] Контроллер может реализовываться посредством использования любого соответствующего способа. Например, контроллер может представлять собой микропроцессор или процессор и машиночитаемый носитель, сохраняющий машиночитаемый программный код (такой как программное обеспечение или микропрограммное обеспечение), который может выполняться посредством микропроцессора или процессора, логического вентиля, переключателя, специализированной интегральной схемы (ASIC), программируемого логического контроллера или встроенного микроконтроллера. Примеры контроллера включают в себя, но не только, следующие микропроцессоры: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 и Silicone Labs C8051F320. Контроллер запоминающего устройства также может реализовываться как часть управляющей логики запоминающего устройства. Специалисты в данной области техники также знают, что в дополнение к реализации контроллера посредством использования машиночитаемого программного кода, логическое программирование может выполняться для этапов способа, чтобы обеспечивать возможность контроллеру реализовывать идентичную функцию в формах логического вентиля, переключателя, специализированной интегральной схемы, программируемого логического контроллера и встроенного микроконтроллера. Следовательно, контроллер может рассматриваться как аппаратный компонент, и устройство, включенное в контроллер и выполненное с возможностью реализовывать различные функции, также может рассматриваться как структура в аппаратном компоненте. Альтернативно, устройство, выполненное с возможностью реализовывать различные функции, может даже рассматриваться и как реализация способа программного модуля, и как структура в аппаратном компоненте.
[0063] Система, устройство, модуль или блок, проиллюстрированные в предыдущих реализациях, могут реализовываться посредством использования компьютерной микросхемы или объекта либо могут реализовываться посредством использования продукта, имеющего определенную функцию. Устройство согласно типичной реализации представляет собой компьютер. Компьютер, например, может представлять собой одно или комбинацию персонального компьютера, переносного компьютера, сотового телефона, камерофона, смартфона, персонального цифрового устройства, мультимедийного проигрывателя, навигационного устройства, устройства для работы с электронной почтой, игровой приставки, планшетного компьютера, носимого устройства либо комбинации любых из этих устройств.
[0064] Для простоты описания вышеприведенное устройство описывается посредством разделения функций на различные блоки. Безусловно, когда настоящая заявка реализуется, функции блоков могут реализовываться в одном или более компонентов программного обеспечения и/или аппаратных средств.
[0065] Специалисты в данной области техники должны понимать, что реализация настоящего раскрытия сущности может предоставляться в качестве способа, системы или компьютерного программного продукта. Следовательно, настоящее раскрытие сущности может использовать форму реализаций только в форме аппаратных средств, реализаций только в форме программного обеспечения либо реализаций с комбинацией программного обеспечения и аппаратных средств. Помимо этого, настоящее раскрытие сущности может использовать форму компьютерного программного продукта, который реализуется в одном или более машиноприменимых носителей хранения данных (в том числе, но не только, в запоминающем устройстве на дисках, CD-ROM, оптическом запоминающем устройстве и т.д.), которые включают в себя машиноприменимый программный код.
[0066] Настоящее раскрытие сущности описывается в отношении блок-схем последовательности операций и/или блок-схем способа, устройства (системы) и компьютерного программного продукта на основе реализаций настоящего раскрытия сущности. Необходимо отметить, что компьютерные программные инструкции могут использоваться для того, чтобы реализовывать каждый процесс и/или каждый блок на блок-схемах последовательности операций способа и/или на блок-схемах, а также комбинацию процесса и/или блока на блок-схемах последовательности операций способа и/или на блок-схемах. Эти компьютерные программные инструкции могут предоставляться для компьютера общего назначения, специализированного компьютера, встроенного процессора или процессора другого программируемого устройства обработки данных таким образом, чтобы формировать машину, так что инструкции, выполняемые посредством компьютера или процессора другого программируемого устройства обработки данных, формируют устройство для реализации указанной функции в одном или более процессов на блок-схемах последовательности операций способа и/или в одном или более блоков на блок-схемах.
[0067] Эти компьютерные программные инструкции могут сохраняться в машиночитаемом запоминающем устройстве, которое может инструктировать компьютеру или другому программируемому устройству обработки данных работать определенным способом, так что инструкции, сохраненные в машиночитаемом запоминающем устройстве, формируют изделие, которое включает в себя инструктирующее устройство. Инструктирующее устройство реализует указанную функцию в одном или более процессов на блок-схемах последовательности операций способа и/или в одном или более блоков на блок-схемах.
[0068] Эти компьютерные программные инструкции могут загружаться в компьютер или другое программируемое устройство обработки данных, так что ряд операций и операций, и этапов выполняются на компьютере или другом программируемом устройстве, за счет этого формируя машинореализованную обработку. Следовательно, инструкции, выполняемые на компьютере или другом программируемом устройстве, предоставляют этапы для реализации указанной функции в одном или более процессов на блок-схемах последовательности операций способа и/или в одном или более блоков на блок-схемах.
[0069] В типичной конфигурации, вычислительное устройство включает в себя один или более процессоров (CPU), один или более интерфейсов ввода-вывода, один или более сетевых интерфейсов и одно или более запоминающих устройств.
[0070] Запоминающее устройство может включать в себя непостоянное запоминающее устройство, оперативное запоминающее устройство (RAM), энергонезависимое запоминающее устройство и/или другую форму, которые находятся в машиночитаемом носителе, например, постоянное запоминающее устройство (ROM) или флэш-память (флэш-RAM). Запоминающее устройство представляет собой пример машиночитаемого носителя.
[0071] Машиночитаемый носитель включает в себя постоянные, непостоянные, перемещаемые и неперемещаемые носители, которые могут сохранять информацию посредством использования любого способа или технологии. Информация может представлять собой машиночитаемую инструкцию, структуру данных, программный модуль или другие данные. Примеры компьютерного носителя хранения данных включают в себя, но не только, параметрическое оперативное запоминающее устройство (PRAM), статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM), другой тип оперативного запоминающего устройства (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-памяти или другую технологию запоминающих устройств, постоянное запоминающее устройство на компакт-дисках (CD-ROM), универсальный цифровой диск (DVD) или другое оптическое устройство хранения данных, магнитную кассетную ленту, устройство хранения данных на магнитных лентах/магнитных дисках или другое магнитное устройство хранения данных либо любой другой носитель, отличный от среды передачи. Компьютерный носитель хранения данных может использоваться для того, чтобы сохранять информацию, доступную посредством вычислительного устройства. На основе определения в настоящем описании изобретения, машиночитаемый носитель не включает в себя энергозависимые машиночитаемые носители (энергонезависимые среды), такие как модулированный сигнал данных и несущая.
[0072] Дополнительно необходимо отметить, что термины "включать в себя", "содержать" либо их любые другие варианты имеют намерение охватывать неисключительное включение, так что процесс, способ, продукт или устройство, которое включает в себя список элементов, включает в себя не только эти элементы, но также и включает в себя другие элементы, которые явно не перечислены, либо дополнительно включает в себя элементы, внутренне присущие в таком процессе, способе, продукте или устройстве. Без дополнительных ограничений, элемент, предваряемый "включает в себя...", не исключает наличия дополнительных идентичных элементов в процессе, способе, продукте или устройстве, которое включает в себя элемент.
[0073] Специалисты в данной области техники должны понимать, что реализация настоящей заявки может предоставляться в качестве способа, системы или компьютерного программного продукта. Следовательно, настоящая заявка может использовать форму реализаций только в форме аппаратных средств, реализаций только в форме программного обеспечения либо реализаций с комбинацией программного обеспечения и аппаратных средств. Кроме того, настоящая заявка может использовать форму компьютерного программного продукта, который реализуется в одном или более машиноприменимых носителей хранения данных (в том числе, но не только, в запоминающем устройстве на дисках, CD-ROM, оптическом запоминающем устройстве и т.д.), которые включают в себя машиноприменимый программный код.
[0074] Настоящая заявка может описываться в общем контексте машиноисполняемых инструкций, выполняемых посредством компьютера, например, программного модуля. Обычно, программный модуль включает в себя процедуру, программу, объект, компонент, структуру данных и т.д., выполняющую конкретную задачу или реализующую конкретный абстрактный тип данных. Настоящая заявка также может осуществляться на практике в распределенных вычислительных окружениях. В распределенных вычислительных окружениях, задачи выполняются посредством удаленных устройств обработки, соединенных через сеть связи. В распределенном вычислительном окружении, программный модуль может быть расположен как на локальных, так и на удаленных компьютерных носителях хранения данных, включающих в себя устройства хранения данных.
[0075] Реализации в настоящем описании изобретения описываются прогрессивным способом. На предмет идентичных или аналогичных частей реализаций, следует обратиться к реализациям. Каждая реализация акцентирует внимание на отличии от других реализаций. В частности, реализация системы по существу является аналогичной реализации способа и в силу этого описывается кратко. На предмет связанных частей, следует обратиться к соответствующим описаниям в реализации способа.
[0076] Предыдущие реализации представляют собой реализации настоящей заявки и не имеют намерение ограничивать настоящую заявку. Специалисты в данной области техники могут вносить различные модификации и изменения в настоящую заявку. Все модификации, эквивалентные замены или улучшения, вносимые без отступления от сущности и принципа настоящей заявки, должны попадать в пределы объема формулы изобретения в настоящей заявке.