СПОСОБ И УСТРОЙСТВО ДЛЯ ОСНОВАННОЙ НА БЛОКЧЕЙНЕ ОБРАБОТКИ ДАННЫХ Российский патент 2020 года по МПК H04L29/06 

Описание патента на изобретение RU2720641C1

Область техники, к которой относится изобретение

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

УРОВЕНЬ ТЕХНИКИ

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

С развитием технологии блокчейн, на практике может проявляться технология атак повторного воспроизведения. Технология атак повторного воспроизведения означает, что злонамеренный пользователь незаконно получает служебные данные, которые обрабатываются сетью блокчейн, или служебные данные, которые были обработаны сетью блокчейн, и повторно отправляет служебные данные в сеть блокчейн, так чтобы сеть блокчейн повторно обрабатывала служебные данные. Например, допустим, что служебными данными, полученными с использованием технологии атаки повторного воспроизведения, являются «перевод 100 иен со счета A на счет B». Если на счете A есть 300 иен, когда принимаются служебные данные, отправленные пользователем, соответствующим счету A, данные транзакции обрабатываются, и тогда счет A имеет в распоряжении оставшиеся 200 иен. Так как злонамеренный пользователь получает служебные данные, пользуясь технологией атаки повторного воспроизведения, сеть блокчейн также обрабатывает служебные данные после приема служебных данных, отправленных злонамеренным пользователем, и тогда, счет A имеет в распоряжении оставшиеся 100 иен. Может быть видно, что технология атаки повторного воспроизведения ставит под удар безопасность данных сети блокчейн.

Для предотвращения атаки повторного воспроизведения, Эфириум (Ethereum) формирует случайное число для каждого счета. Когда служебные данные формируются на счете, случайное число автоматически увеличивается на 1, чтобы получить некоторое значение, и как значение, так и служебные данные отправляются на блокчейн-узел. Поэтому, при приеме служебных данных, блокчейн-узел может выполнять проверку над служебными данными, пользуясь этим значением. Блокчейн-узел обрабатывает служебные данные в ответ на определение, что служебные данные не являются повторной транзакцией; иначе, отказывается от обработки служебных данных.

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

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

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

Нижеследующие технические решения используются в реализациях настоящей заявки:

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

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

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

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

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

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

Этап 101: Блокчейн-узел получает первые служебные данные и определяет значение атрибута первых служебных данных.

Значение атрибута используется для представления уникальности первых служебных данных.

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

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

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

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

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

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

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

Этап 102: Блокчейн-узел определяет, на основании хранимых значений атрибута вторых служебных данных, которые были обработаны, и значения атрибута первых служебных данных, обрабатывались ли первые служебные данные.

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

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

Блокчейн-узел определяет, на основании результата запроса, обрабатывались ли первые служебные данные.

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

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

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

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

Этап 103: Блокчейн-узел обрабатывает первые служебные данные в ответ на определение, что первые служебные данные не обрабатывались.

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

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

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

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

Как описано выше, блокчейн-узел может поддерживать базу данных (которая впоследствии упоминается как база обработанных данных), и база обработанных данных хранит значения атрибутов служебных данных, которые были обработаны. Блокчейн-узел может сохранять значение атрибута первых служебных данных в базе обработанных данных

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

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

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

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

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

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

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

Этап 201: Блокчейн-узел принимает запрос обработки услуги и получает служебные данные из запроса обработки услуги.

Этап 202: Блокчейн-узел определяет значение атрибута служебных данных.

Значение атрибута здесь может быть порядковым номером служебных данных, значением хэш-суммы служебных данных, и т. д. Это особо не ограничено.

Этап 203: Блокчейн-узел определяет, пользуясь значением атрибута служебных данных, являются ли служебные данные служебными данными, которые обрабатывались; и Если определено, что служебные данные являются служебными данными, которые обрабатывались, выполняет этап 204, иначе, выполняет этап 206.

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

Что касается конкретной реализации, может быть сделана ссылка на этап 102, описанный выше. Подробности здесь опущены ради простоты.

Этап 204: Блокчейн-узел обрабатывает служебные данные.

Этап 205: Блокчейн-узел широковещательно передает служебные данные на другой блокчейн-узел в сети блокчейн.

Этап 206: Блокчейн-узел отбрасывает служебные данные.

На основании той же самой обладающей признаками изобретения концепции фиг. 3 - структурная схема, иллюстрирующая устройство для основанной на блокчейне обработки данных согласно реализации настоящей заявки. Устройство обработки данных включает в себя блок 301 сбора данных, блок 302 определения и блок 303 обработки.

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

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

Блок 303 обработки выполнен с возможностью обрабатывать первые служебные данные в ответ на определение, что первые служебные данные не обрабатывались.

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

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

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

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

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

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

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

Блок 306 установления выполнен с возможностью сохранять значение атрибута первых служебных данных в базе обработанных данных, где база обработанных данных хранит значения атрибута служебных данных, которые были обработаны; и определять индекс запроса значения атрибута первых служебных данных и устанавливать взаимное соответствие между индексом запроса и значением атрибута первых служебных данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Память может включать в себя непостоянную память, оперативное запоминающее устройство (ОЗУ, RAM) и/или энергонезависимую память на машинно-читаемом носителе, например, постоянном запоминающем устройстве (ПЗУ, ROM) или флэш-памяти (ОЗУ на флэш-памяти). Память является примером машинно-читаемого носителя.

Машинно-читаемый носитель включает в себя постоянные, непостоянные, съемные и несъемные носители, которые могут осуществлять хранение информации, пользуясь любыми способом или технологией. Информация может быть машинно-читаемой командой, структурой данных, программным модулем или другими данными. Компьютерный запоминающий носитель включает в себя, но не в качестве ограничения, оперативное запоминающее устройство параметров (PRAM), статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM), оперативное запоминающее устройство (ОЗУ) иного типа, постоянное запоминающее устройство (ПЗУ, ROM), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ, EEPROM), флэш-память или другую технологию памяти, постоянное запоминающее устройство на компакт диске (CD-ROM), цифровой многофункциональный диск (DVD) или другое оптическое запоминающее устройство, магнитную ленту, магнитное дисковое запоминающее устройство, иное магнитное запоминающее устройство или любые другие не связанные с передачей носители, которые могут использоваться для хранения информации, к которой может осуществлять доступ вычислительное устройство. На основании определения в настоящем описании изобретения, машинно-читаемый носитель не включает в себя эфемерный машинно-читаемый носитель (эфемерные носители) например, модулированный сигнал данных и несущую.

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

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

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

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

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

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ДАННЫХ НА ОСНОВЕ БЛОКЧЕЙНА 2018
  • Цю, Хунлинь
RU2728820C1
СПОСОБ И ОБОРУДОВАНИЕ ОБРАБОТКИ ОСНОВАННЫХ НА ЦЕПОЧКЕ БЛОКОВ ДАННЫХ 2018
  • Цю, Хунлинь
RU2726384C1
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ДАННЫХ 2018
  • Ван, Шифэн
RU2721402C1
СПОСОБ И АППАРАТУРА ДЛЯ ВЕРИФИКАЦИИ СОГЛАСОВАННОСТИ 2018
  • Ли, Нин
RU2733112C1
СПОСОБ ОБРАБОТКИ ЗАПРОСОВ НА ОБСЛУЖИВАНИЕ, КОТОРЫЙ ВЫПОЛНЯЕТСЯ УЗЛОМ ПОСТАВЩИКА УСЛУГ 2018
  • Кирхнер, Михаэль
  • Фамос, Бенедикт
RU2735181C1
СПОСОБ И УСТРОЙСТВО ХРАНЕНИЯ ДАННЫХ И ЗАПРОСА НА ОСНОВЕ ЦЕПОЧКИ БЛОКОВ 2018
  • Цю, Хунлинь
RU2729960C1
СПОСОБ И УСТРОЙСТВО КОНСЕНСУСА НА ОСНОВЕ БЛОКЧЕЙНА 2018
  • Тан, Цян
RU2731331C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ЗАПРОСА УСЛУГИ 2018
  • Чжуан, Вэйминг
  • Ли, Нин
RU2708952C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ОТПРАВКИ ИНФОРМАЦИИ О ТРАНЗАКЦИЯХ И ДЛЯ ПРОВЕРКИ КОНСЕНСУСА 2018
  • Ли, Нин
RU2735156C1
ИЗОЛЯЦИЯ ДАННЫХ В СЕТИ БЛОКЧЕЙН 2018
  • Чжан, Вэньбинь
  • Шэнь, Чао
RU2745518C2

Иллюстрации к изобретению RU 2 720 641 C1

Реферат патента 2020 года СПОСОБ И УСТРОЙСТВО ДЛЯ ОСНОВАННОЙ НА БЛОКЧЕЙНЕ ОБРАБОТКИ ДАННЫХ

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

Формула изобретения RU 2 720 641 C1

1. Компьютерно-реализуемый способ для основанной на блокчейне обработки данных, причем способ содержит этапы, на которых:

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

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

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

в ответ на определение, что первые служебные данные не обрабатывались:

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

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

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

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

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

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

3. Способ по п. 1, в котором определение, обрабатывались ли первые служебные данные, содержит этапы, на которых:

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

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

4. Способ по п. 3, в котором определение, посредством блокчейн-узла, что первые служебные данные не обрабатывались, содержит этап, на котором:

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

5. Способ по п. 3, в котором определение, посредством блокчейн-узла, что первые служебные данные обрабатывались, содержит этапы, на которых:

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

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

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

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

7. Способ по п. 1, дополнительно содержащий этапы, на которых:

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

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

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

8. Способ по п. 1, в котором значение атрибута получается, когда формируются первые служебные данные.

9. Способ по п. 1, в котором значение атрибута содержит одно или более из значения хэш-суммы первых служебных данных и порядкового номера первых служебных данных.

10. Способ по п. 1, в котором значение атрибута содержит зашифрованные данные.

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

получать первые служебные данные;

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

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

в ответ на определение, что первые служебные данные не обрабатывались:

- сохранять первые служебные данные в базе данных; и

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

получать, из базы данных, предварительно определенное количество служебных данных, содержащих первые служебные данные; и

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

Документы, цитированные в отчете о поиске Патент 2020 года RU2720641C1

CN 103036696 A, 10.04.2013
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
KR 1020170033788 A, 27.03.2017
US 7770008 B2, 03.08.2010
ETHAN CECCHETTI ET AL: "Solidus: Confidential Distributed Ledger Transactions via PVORM", IACR, INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, vol

RU 2 720 641 C1

Авторы

Цю, Хунлинь

Даты

2020-05-12Публикация

2018-05-10Подача