RU2745518C9 - Изоляция данных в сети блокчейн - Google Patents

Изоляция данных в сети блокчейн Download PDF

Info

Publication number
RU2745518C9
RU2745518C9 RU2019123413A RU2019123413A RU2745518C9 RU 2745518 C9 RU2745518 C9 RU 2745518C9 RU 2019123413 A RU2019123413 A RU 2019123413A RU 2019123413 A RU2019123413 A RU 2019123413A RU 2745518 C9 RU2745518 C9 RU 2745518C9
Authority
RU
Russia
Prior art keywords
transactions
blockchain
merkle tree
node
lightweight
Prior art date
Application number
RU2019123413A
Other languages
English (en)
Other versions
RU2019123413A3 (ru
RU2745518C2 (ru
RU2019123413A (ru
Inventor
Вэньбинь ЧЖАН
Чао ШЭНЬ
Original Assignee
Эдванст Нью Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Эдванст Нью Текнолоджиз Ко., Лтд. filed Critical Эдванст Нью Текнолоджиз Ко., Лтд.
Publication of RU2019123413A3 publication Critical patent/RU2019123413A3/ru
Publication of RU2019123413A publication Critical patent/RU2019123413A/ru
Application granted granted Critical
Publication of RU2745518C2 publication Critical patent/RU2745518C2/ru
Publication of RU2745518C9 publication Critical patent/RU2745518C9/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

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

Description

Уровень техники
[0001] Распределенные системы учета (DLS), которые также могут называться консенсусными сетями и/или сетями блокчейн (цепочки блоков), позволяют участвующим субъектам безопасно и постоянно хранить данные. DLS обычно называют сетями блокчейн, не ссылаясь на какой-либо конкретный вариант использования (например, криптовалюты). Примеры типов сетей блокчейн могут включать в себя публичные сети блокчейн, частные сети блокчейн и консорциумные сети блокчейн. Публичная сеть блокчейн открыта для всех субъектов, чтобы использовать DLS и участвовать в процессе консенсуса. Для конкретного субъекта предусмотрена частная сеть блокчейн, которая централизованно контролирует разрешения на чтение и запись. Для выбранной группы объектов предоставляется консорциумная сеть блокчейн, которая управляет процессом согласования, и включает в себя уровень контроля доступа.
[0002] Сети блокчейн могут включать в себя различные типы узлов. Полностью участвующие узлы (в дальнейшем именуемые «узлами блокчейн») участвуют в процессе согласования для сети блокчейн, пытаясь создать и проверить новые блоки транзакций для добавления к блокчейн. Облегченные узлы не участвуют в процессе согласования для сети блокчейн и не могут полностью синхронизировать свое собственное внутреннее представление блокчейн. Например, облегченный узел может синхронизировать только информацию заголовка блока, а не все данные транзакции в конкретном блоке в блокчейн.
[0003] В частных или консорциумных сетях блокчейн узлы (такие как облегченные узлы) могут иметь разрешение только на чтение некоторых транзакций из блокчейн, таких как, например, транзакции, в которых участвовала идентификация, связанная с облегченным узлом. В таком случае облегченный узел может запросить узел блокчейн для конкретного блока, и ему может быть возвращено представление блока (например, дерева Меркла) с транзакциями, к которым у него нет удаленного доступа. Дерево Меркла, построенное таким образом, может не соответствовать полному дереву Меркла, представляющему транзакции в блоке, что может привести к ошибкам в облегченном узле из-за того, что узел не обладает точным представлением блока.
Сущность изобретения
[0004] Варианты воплощения настоящего изобретения включают в себя компьютерно реализуемые способы для обеспечения изоляции данных в сети блокчейн, в то же время предоставляя всем узлам сети блокчейн согласованное представление блоков в блокчейн. Более конкретно, варианты реализации настоящего изобретения направлены на создание дерева Меркла, которое не включает в себя данные, от которых изолирован запрашивающий узел, но которое все еще согласуется с полным деревом Меркла, представляющим запрошенный блок.
[0005] В некоторых вариантах реализации действия включают в себя получение узлом блокчейн в сети блокчейн запроса на считывание конкретного блока блокчейн, причем запрос получен от облегченного узла сети блокчейн и включает в себя: идентификацию облегченного узла, причем конкретный блок включает в себя исходное дерево Меркла, содержащее множество транзакций, связанных с конкретным блоком; идентификацию узлом блокчейн разрешений, связанных с идентификацией облегченного узла: генерирование узлом блокчейн изолированного дерева Меркла на основе исходного дерева Меркла, включенного в блок, причем изолированное дерево Меркла включает в себя только транзакции из исходного дерева Меркла, которые определены как доступные облегченному узлу на основе идентифицированных разрешений, при этом изолированное дерево Меркла соответствует исходному дереву Меркла; и отправку посредством узла блокчейн ответа на облегченный узел, включающий в себя изолированное дерево Меркла. Другие реализации включают в себя соответствующие системы, устройства и компьютерные программы, сконфигурированные для выполнения действий способов, закодированных на компьютерных запоминающих устройствах.
[0006] Эти и другие реализации могут по выбору включать в себя одну или несколько из следующих функций.
[0007] В некоторых реализациях генерирование изолированного дерева Меркла на основе исходного дерева Меркла, включенного в конкретный блок, может включать в себя: модификацию исходного дерева Меркла для создания изолированного дерева Меркла, в том числе удаление всех транзакций, которые определены как недоступные облегченному узлу из исходного дерева Меркла; и удаление ветвей исходного дерева Меркла, из которого были удалены все транзакции, оставляя только корневой хэш каждой из ветвей без изменений.
[0008] В некоторых реализациях транзакция определяется как недоступная облегченным узлом (облегченному узлу), если разрешения указывают, что облегченный узел не имеет доступа для чтения к транзакции.
[0009] В некоторых случаях каждая из множества транзакций включает в себя одну или несколько идентификационных информаций (идентификаторов), связанных с одним или несколькими участниками транзакции.
[0010] В некоторых реализациях идентификационная информация (идентификатор) связана с классом идентификационной информации, разрешения связаны с классом идентификационной информации, а узел блокчейн сконфигурирован для обеспечения разрешений, связанных с классом идентификационной информации, для идентификационных информаций (идентификаторов), связанных с классом идентификационной информации.
[0011] В некоторых случаях класс идентификационной информации является классом регулятора, при этом разрешения, связанные с классом регулятора, указывают, что все транзакции в сети блокчейн доступны для идентификационных информаций, связанных с классом регулятора.
[0012] В некоторой реализации класс идентификационной информации является общим классом, при этом разрешения, связанные с общим классом, указывают, что только транзакции в сети блокчейна, в которой идентификационная информация является участником, доступны для этой идентификационной информации.
[0013] В некоторых случаях изолированное дерево Меркла согласуется с исходным деревом Меркла только, если этого достаточно, чтобы позволить облегченному узлу проверять транзакции в изолированном дереве Меркла на основе хэшей в изолированном дереве Меркла.
[0014] В настоящем изобретении также предложены один или несколько энергонезависимых машиночитаемых носителей данных, связанных с одним или несколькими процессорами и имеющих хранимые на них инструкции, которые при выполнении одним или несколькими процессорами заставляют один или несколько процессоров выполнять операции для реализации заявленных способов.
[0015] В настоящем описании дополнительно предложена система для реализации способов, предоставленных в данном документе. Система включает в себя один или несколько процессоров и машиночитаемый носитель данных, подключенный к этим одному или нескольким процессорам, на которых хранятся инструкции, которые при выполнении одним или несколькими процессорами заставляют один или несколько процессоров выполнять операции в соответствии реализациями способов, представленных здесь.
[0016] Понятно, что способы в соответствии с настоящим описанием могут включать в себя любую комбинацию аспектов и признаков, описанных в данном документе. То есть способы в соответствии с настоящим описанием не ограничиваются комбинациями аспектов и признаков, конкретно описанных здесь, но также включают в себя любую комбинацию предоставленных аспектов и признаков.
[0017] Детали одной или нескольких реализаций настоящего описания показаны на прилагаемых чертежах и в описании ниже. Другие признаки и преимущества настоящего описания будут очевидны из описания и чертежей, а также из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0018] фиг. 1 изображает примерную среду, которая может использоваться для выполнения реализаций настоящего описания;
[0019] фиг. Фиг. 2 изображает пример концептуальной архитектуры в соответствии с реализациями настоящего описания;
[0020] фиг. 3А изображает пример дерева Меркла для блока в блокчейн в соответствии с реализациями настоящего описания;
[0021] фиг. 3B изображает пример дерева Меркла по фиг. 3А с ответвлениями, включающими в себя изолированные транзакции, в соответствии с реализациями настоящего описания;
[0022] фиг. 3C изображает пример изолированного дерева Меркла, созданного на основе дерева Меркла на фиг. 3А, в соответствии с реализациями настоящего описания;
[0023] фиг. 4 изображает примерный процесс, который может быть выполнен в соответствии с реализациями настоящего описания.
[0024] Одинаковые условные обозначения на разных чертежах обозначают одинаковые элементы.
ПОДРОБНОЕ ОПИСАНИЕ
[0025] Реализация настоящего описания включает в себя компьютерные способы обеспечения изоляции данных в сети блокчейн, обеспечивая при этом все узлы в сети блокчейн последовательным представлением блоков в блокчейне. В частности, реализация настоящего описания касается создания дерева Меркла, которое не содержит данных, от которых изолирован запрашивающий узел, но все еще согласуется с полным деревом Меркла, представляющим собой запрашиваемый блок.
[0026] В некоторых реализациях этапы способа включают: прием узлом блокчейн в сети блокчейн запроса на считывание конкретного блока блокчейн, причем запрос принимается из облегченного узла сети блокчейн и включает в себя идентификационную информацию облегченного узла, при этом этот конкретный блок включает в себя оригинальное дерево Меркла, содержащее множество транзакций, связанных с упомянутым конкретным блоком; идентификацию узлом блокчейн разрешений, связанных с идентификационной информацией облегченного узла; генерирование узлом блокчейн изолированного дерева Меркла на основе оригинального дерева Меркла, включенного в блок, причем изолированное дерево Меркла включает в себя только транзакции из оригинального дерева Меркла, которые определены как доступные облегченному узлу на основании выявленных разрешений, при этом изолированное дерево Меркла согласуется с оригинальным деревом Меркла; и направление узлом блокчейн ответа на облегченный узел, включающий изолированное дерево Меркла.
[0027] Для обеспечения дополнительного контекста для реализации настоящего изобретения, как представлено выше, распределенные системы учета (DLS), которые также могут быть названы консенсусными сетями (например, состоящими из одноранговых узлов), и сети блокчейн обеспечивают участвующим субъектам проведение надежных транзакций и хранение данных. Хотя термин блокчейн обычно ассоциируется с различными криптовалютными сетями, блокчейн используется в настоящем описании, в основном, чтобы ссылаться на DLS без ссылки на какой-либо конкретный случай использования. Как было указано выше, сеть блокчейн может быть предоставлена как публичная сеть блокчейн, частная сеть блокчейн или консорциумная сеть блокчейн.
[0028] В публичной блокчейн-сети процесс консенсуса контролируется узлами сети консенсуса. Например, сотни, тысячи, даже миллионы субъектов могут совместно работать с публичной сетью блокчейн, каждая из которых управляет по меньшей мере одним узлом в публичной сети блокчейн. Соответственно, публичная сеть блокчейн может считаться публичной сетью по отношению к участвующим субъектам. В некоторых примерах большинство субъектов (узлов) должны подписать каждый блок для того, чтобы блок был действительным, и добавить к блокчейн (распределенный реестр) сети блокчейн. Примерами публичных сетей блокчейн являются различные криптовалютные сети, которые являются одноранговыми платежными сетями. Криптовалютные сети могут использовать распределенный реестр, называемый блокчейном. Как отмечалось выше, термин блокчейн относится в основном для распределенных регистров без конкретной ссылки на какую-либо конкретную криптовалютную сеть.
[0029] В целом публичная сеть блокчейн поддерживает публичные транзакции. Публичная транзакция распределяется между всеми узлами в публичной сети блокчейн и хранится в глобальном блокчейне. Глобальный блокчейн - это блокчейн, который реплицируется во всех узлах. То есть все узлы находятся в идеальном состоянии консенсуса по отношению к глобальному блокчейну. Для достижения консенсуса (например, согласия на добавление блока в блокчейн) в рамках публичной сети блокчейн внедряется консенсусный протокол. Пример протокола консенсуса включает в себя, без ограничений, доказательство работы (POW), реализованной в криптовалютных сетях.
[0030] Как правило, для конкретного субъекта, который централизованно контролирует считывание и запись разрешений, предусмотрена частная сеть блокчейн. Субъект контролирует, какие узлы могут участвовать в сети блокчейн. Следовательно, частные сети блокчейн обычно называются разрешенными сетями, которые накладывают ограничения на то, кому разрешено участвовать в сети, и на уровень их участия (например, только в определенных транзакциях). Могут использоваться различные типы механизмов контроля доступа (например, существующие участники голосуют за добавление новых субъектов, регулирующий орган может контролировать допуск).
[0031] В общем, консорциумная сеть блокчейн является частной среди участвующих субъектов. В консорциумной сети блокчейн процесс согласования управляется авторизованным набором узлов, один или более узлов управляются соответствующим субъектом (например, финансовым учреждением, страховой компанией). Например, консорциум из десяти (10) субъектов (например, финансовые учреждения, страховые компании) может управлять консорциумной сетью блокчейн, каждый из которых управляет по меньшей мере одним узлом в консорциумной сети блокчейн. Соответственно, консорциумная сеть блокчейн может рассматриваться как частная сеть по отношению к участвующим субъектам. В некоторых примерах каждый субъект (узел) должен подписывать каждый блок, чтобы блок был действительным и был добавлен к блокчейн. В некоторых примерах по меньшей мере один поднабор субъектов (узлов) (например, по меньшей мере, 7 субъектов) должен подписать каждый блок, чтобы блок был действительным, и был добавлен к блокчейн.
[0032] Варианты реализации настоящего описания описаны более подробно в данном документе со ссылкой на частную сеть блокчейн, в которой конкретные данные могут быть изолированы от некоторых участвующих субъектов на основе конфигурации сети блокчейн. Однако предполагается, что варианты реализации настоящего описания могут быть реализованы в любом подходящем типе цепи блокчейн.
[0033] Реализации настоящего описания описаны более подробно ниже с учетом вышеприведенного контекста. Более конкретно, как указано выше, реализации настоящего описания направлены на создание дерева Меркла, которое не включает в себя данные, от которых изолирован запрашивающий узел, но которое по-прежнему согласуется с полным деревом Меркла, представляющим запрошенный блок.
[0034] В некоторых реализациях облегченный узел может запрашивать конкретный блок от узла блокчейн, участвующего в сети. Узел блокчейн может определить, что облегченный узел не имеет разрешения на считывание некоторых транзакций в блоке. Узел блокчейн может удалить эти транзакции из копии полного дерева Меркла, представляющего запрошенный блок, но может оставить только корневые хэши для любых ветвей дерева, которые содержат только удаленные транзакции. Это может эффективно изолировать облегченный узел от данных транзакции, которые ему не разрешено читать, а также может позволить облегченному узлу быть представленным с представлением блока, который согласуется с полным деревом Меркла для блока. Это может позволить облегченному узлу проверять целостность блока (путем проверки хэшей в дереве Меркла) даже не имея доступа к данным транзакции, от которых он изолирован.
[0035] На фиг. 1 показан пример среды 100, которая может использоваться для выполнения реализаций настоящего описания. В некоторых примерах примерная среда 100 позволяет субъектам участвовать в частной сети 102 блокчейн. Примерная среда 100 включает в себя вычислительные устройства 106, 108 и сеть 110. В некоторых примерах сеть 110 включает в себя локальную сеть (LAN), глобальную сеть (WAN), Интернет или их комбинацию и соединяет веб-сайты, пользовательские устройства (например, вычислительные устройства) и внутренние системы. В некоторых примерах к сети 110 можно получить доступ по проводной и/или беспроводной линии связи.
[0036] В изображенном примере каждая из вычислительных систем 106, 108 может включать в себя любую подходящую вычислительную систему, которая обеспечивает возможность участия в качестве узла в частной сети 102 блокчейн. Примеры вычислительных устройств включают в себя, без ограничения, сервер, настольный компьютер, ноутбук, планшетное вычислительное устройство и смартфон. В некоторых примерах вычислительные системы 106, 108 содержат одну или несколько компьютерно-реализованных услуг для взаимодействия с частной сетью 102 блокчейн. Например, вычислительная система 106 может размещать компьютерно-реализованные услуги первого субъекта (например, пользователя A), такие как система управления транзакциями, которую первый субъект использует для управления своими транзакциями с одним или несколькими другими субъектами (например, другими пользователями). Вычислительная система 108 может размещать компьютерно-реализованные услуги второго субъекта (например, пользователя B), такие как система управления транзакциями, которую второй субъект использует для управления своими транзакциями с одним или несколькими другими субъектами (например, другими пользователями). В примере на фиг. 1, частная сеть 102 блокчейн представлена как одноранговая сеть узлов, и вычислительные системы 106, 108 предоставляют узлы первого субъекта и второго субъекта, соответственно, которые участвуют в частной сети 102 блокчейн.
[0037] На фиг. 2 показан пример концептуальной архитектуры 200 в соответствии с реализациями настоящего описания. Пример концептуальная архитектура 200 включает в себя уровень 202 субъекта, уровень 204 размещенных услуг и уровень 206 сети блокчейн. В изображенном примере уровень 202 субъекта включает в себя три субъекта: Субъект_1 (E1), Субъект_2 (E2) и Субъект_3 (E3), причем каждый субъект имеет соответствующую систему 208 управления транзакциями.
[0038] В изображенном примере уровень 204 размещенных услуг включает в себя интерфейсы 210 для каждой системы 210 управления транзакциями. В некоторых примерах соответствующая система 208 управления транзакциями связывается с соответствующим интерфейсом 210 по сети (например, сети 110 на фиг. 1), используя протокол (например, защищенный протокол передачи гипертекста (HTTPS)). В некоторых примерах каждый интерфейс 210 обеспечивает коммуникационное соединение между соответствующей системой 208 управления транзакциями и уровнем 206 сети блокчейн. Более конкретно, интерфейс 210 связывается с сетью 212 блокчейн уровня 206 сети блокчейн. В некоторых примерах связь между интерфейсом 210 и уровнем 206 сети блокчейн осуществляется с использованием процедуры удаленных вызовов (RPC). В некоторых примерах интерфейсы 210 «хостируют» сетевые узлы блокчейн для соответствующих систем 208 управления транзакциями. Например, интерфейсы 210 предоставляют интерфейс прикладного программирования (API) для доступа к сети 212 блокчейн.
[0039] Как описано в данном документе, сеть 212 блокчейн предоставляется как одноранговая сеть, включающую в себя множество узлов 214, которые неизменно записывают информацию в блокчейн 216. Хотя схематически изображена один блокчейн 216, предоставляется множество копий блокчейн 216, которые поддерживаются в сети 212 блокчейн. Например, каждый узел 214 хранит копию блокчейн. В некоторых реализациях блокчейн 216 хранит информацию, связанную с транзакциями, которые выполняются между двумя или более субъектами, участвующими в частной сети блокчейн.
[0040] На фиг. 3А показан пример дерева 300 Меркла для блока 310 в блокчейн в соответствии с реализациями настоящего описания. Как показано, дерево 300 Меркла включает в себя заголовок блока, который включает в себя значение хэш-функции для всех данных в блоке, а также хэш-код предыдущего блока е блокчейн и одноразовое значение. Заголовок блока также включает в себя корневой хэш, который представляет собой объединение двух хэшей непосредственно под ним в дереве Меркла (325a, b).
[0041] Конечные узлы дерева 300 Меркла включают в себя транзакции 305a-d, представляющие транзакции, записанные в этом конкретном блоке 310 блокчейн. Дерево 300 Меркла также содержит хэши 315a-d. Каждый из этих хэшей 315a-d является значением хэш-функции, сгенерированным на основе данных транзакции для транзакции 305a-d, соответственно. Например, хэш 315a может быть сгенерирован путем предоставления данных в транзакции 305a в качестве входных данных для алгоритма хэширования SHA 256, чтобы создать хэш-значение 315a. В некоторых реализациях любая хэш-функция с гарантированной уникальностью может использоваться для создания хэш-функций 315a-d.
[0042] Дерево Меркла 300 также включает в себя хэши 325a («Hash01») и 325b («Hash23»). Хэши 325a-b создаются путем объединения двух хэшей непосредственно внизу в дереве Меркла. Например, хэш 325a («Hash01») создается путем объединения хэшей 315a («Hash0») и 315b («Hash1»). Аналогично, как описано выше, корневой хэш в заголовке блока создается путем объединения хэша 325a и хэша 325b.
[0043] Транзакции 305a-c, показанные серым цветом на фиг. 3А, представляют транзакции, для которых субъект (например, облегченный узел), запрашивающий блок 310, не имеет разрешения на доступ.На фиг. 3B показан пример дерева 350 Меркла, в котором ветви 335a, b дерева 300 Меркла, которые включают в себя только транзакции, от которых должен быть изолирован запрашивающий субъект, показаны квадратиками пунктирными линиями, окружающими ветви.
[0044] На фиг. 3C показан пример изолированного дерева Меркла 390, созданного на основе дерева Меркла на фиг. 3А, в соответствии с реализациями настоящего описания. Как показано, ветви 335a и 335b, идентифицированные на предшествующей фиг. 3B, были удалены в изолированном дереве Меркла 390.
[0045] В некоторых реализациях изолированное дерево Меркла, подобное примерному 390, может быть получено путем применения программного алгоритма к полному дереву Меркла, такого как алгоритм, показанный на фиг. 3A. В одном из примеров алгоритма узел блокчейн получает запрос от облегченного узла на считывание определенного блока. Узел блокчейн сканирует транзакции в запрошенном блоке и определяет, имеет ли облегченный узел разрешение на считывание каждой транзакции на основе атрибута идентификационной информации, включенного в запрос, и разрешения, связанные с идентификацией.
[0046] В примере алгоритма узел блокчейн последовательно просматривает транзакции в блоке, которые по определению хранятся в конечных узлах дерева Меркла. Для каждой транзакции, если облегченный узел имеет разрешение на считывание транзакции, узел блокчейн переходит к следующей транзакции. Если узел блокчейн находит транзакцию Tx_i, на считывание которой облегченный узел не имеет разрешения, узел блокчейн продолжает сканировать последующие транзакции до тех пор, пока он снова не найдет транзакцию Tx_j, на считывание которой облегченный узел имеет разрешение. Узел блокчейн затем удаляет группу транзакций из Tx_i-Tx_(j-1), из которых все облегченные узлы не имеют разрешения на считывание. Кроме того, узел блокчейн удаляет любую ветвь из дерева Меркла, которая теперь не содержит транзакций, и оставляет только корневой хэш этой конкретной ветви. Как показано на фиг.3B и 3C, этот процесс удаления ветвей применяется к ветвям 335a и 335b.
[0047] Это сканирование и обработка транзакций продолжаются до тех пор, пока не будет обработана последняя транзакция в дереве Меркла, и не будет получено дерево Меркла, включающее в себя транзакции, на считывание которых облегченный узел имеет разрешение. Это изолированное дерево Меркла возвращается в облегченный узел.
[0048] На фиг. 4 показан пример процесса 400, который может быть выполнен в соответствии с реализациями настоящего описания. В некоторых реализациях примерный процесс 400 может выполняться с использованием одной или нескольких компьютерно-исполняемых программ, выполняемых с использованием одного или нескольких вычислительных устройств.
[0049] На этапе 402 узел блочейн принимает запрос на считывание конкретного блока блокчейн из облегченного узла сети блокчейн. Запрос включает в себя идентификацию облегченного узла и конкретного блока, который включает в себя исходное дерево Меркла, содержащее множество транзакций, связанных с конкретным блоком. В некоторых случаях каждая из множества транзакций включает в себя одну или несколько идентификационных информаций, связанных с одним или несколькими участниками транзакции. От этапа 402 способ 400 переходит на этап 404.
[0050] На этапе 404 узел блокчейн идентифицирует разрешения, связанные с идентификационной информацией облегченного узла. В некоторых случаях идентификационная информация связана с классом идентификационной информации, разрешения связаны с классом идентификационной информации, а узел блокчейн сконфигурирован для обеспечения разрешений, связанных с классом идентификационной информации, для идентификационных информаций, связанных с классом идентификационной информации. В некоторых реализациях класс идентификационной информации является классом регулятора, и в котором разрешения, связанные с классом регулятора, указывают, что все транзакции в сети блокчейн доступны для идентификационных информаций, связанных с классом регулятора. В некоторых случаях класс идентификационной информации является общим классом, при этом разрешения, связанные с общим классом, указывают, что только транзакции в сети блокчейн, в которой идентификационная информация является участником, доступны для этой идентификационной информации. От этапа 404 способ 400 переходит на этап 406.
[0051] На этапе 406 узел блокчейн генерирует изолированное дерево Меркла на основе исходного дерева Меркла, включенного в конкретный блок. Изолированное дерево Меркла включает в себя только транзакции из исходного дерева Меркла, которые определены как доступные облегченному узлу, на основании идентифицированных разрешений. В некоторых реализациях транзакция определяется как недоступная облегченному узлу, если разрешения указывают, что облегченный узел не имеет доступа для считывания к транзакции. Изолированное дерево Меркла соответствует исходному дереву Меркла. В некоторых реализациях изолированное дерево Меркла согласуется с исходным деревом Меркла только в том случае, если достаточно позволить облегченному узлу проверить транзакции в изолированном дереве Меркла на основе хэшей в изолированном дереве Меркла. В некоторых случаях генерирование изолированного дерева Меркла включает в себя модификацию исходного дерева Меркла для создания изолированного дерева Меркла, включая удаление всех транзакций, которые были определены как недоступные для облегченного узла из исходного дерева Меркла, и удаление ветвей оригинального дерева Меркла, из которого были удалены все транзакции, оставляя корневой хэш каждого из веток нетронутым. От этапа 406 способ 400 переходит на этап 408.
[0052] На этапе 408 узел блокчейн отправляет ответ на облегченный узел, включающий в себя изолированное дерево Меркла. На этапе 408 способ 400 останавливается.
[0053] Реализации предмета изобретения и действий и операций, описанных в этом описании, могут быть реализованы в цифровых электронных схемах, в материально-воплощенном компьютерном программном обеспечении или встроенном программном обеспечении, в компьютерном оборудовании, включая структуры, раскрытые в этом описании, и их структурные эквиваленты или в комбинациях. одного или нескольких из них. Реализации предмета изобретения, раскрытого в этом описании, могут быть реализованы в виде одной или нескольких компьютерных программ, например, одного или более модулей инструкций компьютерной программы, закодированных на носителе компьютерной программы, для выполнения устройством обработки данных или для управления. Носителем может быть материальный постоянный компьютерный носитель данных. Альтернативно или в дополнение, носитель может быть искусственно сгенерированным распространяемым сигналом, например, сгенерированным машиной электрическим, оптическим или электромагнитным сигналом, который генерируется для кодирования информации для передачи в подходящее приемное устройство для исполнения устройством обработки данных. Компьютерный носитель данных может быть частью машиночитаемого запоминающего устройства, машиночитаемой подложки запоминающего устройства, устройства памяти с произвольным или последовательным доступом или комбинации одного или нескольких из них. Носитель данных компьютера не является распространяемым сигналом.
[0054] Термин «устройство обработки данных» охватывает все виды аппаратов, устройств и машин для обработки данных, включая, например, программируемый процессор, компьютер или несколько процессоров или компьютеров. Устройство обработки данных может включать в себя логические схемы специального назначения, например, FPGA (программируемая пользователем вентильная матрица), ASIC (специализированная интегральная схема) или GPU (графический процессор). Устройство может также включать в себя, помимо аппаратного обеспечения, код, который создает среду выполнения для компьютерных программ, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базой данных, операционную систему или комбинацию одного или более из них.
[0055] Компьютерная программа, которая также может упоминаться или описываться как программа, программное обеспечение, программное приложение, приложение, модуль, программный модуль, движок, сценарий или код, может быть написана на любом языке программирования. включая компилируемые или интерпретируемые языки или декларативные или процедурные языки, и он может быть развернут в любой форме, в том числе как отдельная программа или как модуль, компонент, механизм, подпрограмма или другое устройство, подходящее для выполнения в вычислительной среде, причем эта среда может включать в себя один или несколько компьютеров, соединенных сетью передачи данных в одном или более положениях.
[0056] Компьютерная программа может, но не обязательно, соответствовать файлу в файловой системе. Компьютерная программа может храниться в части файла, которая содержит другие программы или данные, например, в одном или более сценариях, хранящихся в документе на языке разметки, в одном файле, выделенном для рассматриваемой программы, или в нескольких скоординированных файлах, например, файлах, в которых хранится один или несколько модулей, подпрограмм или частей кода.
[0057] Процессы и логические потоки, описанные в этом описании, могут выполняться одним или несколькими компьютерами, выполняющими одну или несколько компьютерных программ для выполнения операций, работая с входными данными и генерируя выходные данные. Процессы и логические потоки также могут выполняться с помощью логических схем специального назначения, например, FPGA, ASIC или GPU, или с помощью комбинации логических схем специального назначения и одного или более программируемых компьютеров.
[0058] Компьютеры, подходящие для выполнения компьютерной программы, могут быть основаны на общеизвестных или специализированных микропроцессорах или на тех и других, или на любом другом типе центрального процессорного блока. Как правило, центральный процессорный блок будет получать инструкции и данные из постоянной памяти или из оперативной памяти или из обеих. Элементы компьютера могут включать в себя центральный процессорный блок для выполнения инструкций и одно или более запоминающих устройств для хранения инструкций и данных. Центральный процессор и память могут быть дополнены или включены в логические схемы специального назначения.
[0059] Как правило, компьютер будет подключен по меньшей мере к одному постоянному машиночитаемому носителю (также называемому машиночитаемым запоминающим устройством). Носитель данных, подключенный к компьютеру, может быть внутренним компонентом компьютера (например, встроенным жестким диском) или внешним компонентом (например, жестким диском с универсальной шиной (USB) или системой хранения, доступ к которой осуществляется через сеть). Примерами носителей данных могут быть, например, магнитные, магнитооптические или оптические диски, твердотельные накопители, сетевые ресурсы хранения, такие как облачные системы хранения, или другие типы носителей данных. Однако компьютеру не нужно иметь такие устройства. Кроме того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио- или видеоплеер, игровую приставку, приемник глобальной системы позиционирования (GPS) или портативное запоминающее устройство. например, флэш-накопитель с универсальной последовательной шиной (USB), и это лишь некоторые из них.
[0060] Чтобы обеспечить интерактивную связь с пользователем, варианты воплощения предмета изобретения, описанного в этом описании, могут быть реализованы или сконфигурированы для связи с компьютером, имеющим устройство отображения, например монитор ЖК (жидкокристаллический дисплей), для отображения информации для пользователя и устройство ввода, с помощью которого пользователь может обеспечить ввод в компьютер, например клавиатуру и указательное устройство, например, мышь, трекбол или сенсорную панель. Другие виды устройств также могут быть использованы для обеспечения взаимодействия с пользователем, например, обратная связь, предоставляемая пользователю, может быть любой формой сенсорной обратной связи, например, визуальной обратной связью, звуковой обратной связью или тактильной обратной связью; и ввод от пользователя может быть получен в любой форме, включая акустический, речевой или тактильный ввод. Кроме того, компьютер может взаимодействовать с пользователем, отправляя документы и получая документы с устройства, которое используется пользователем, например, путем отправки веб-страниц в веб-браузер на устройстве пользователя в ответ на запросы, полученные из веб-браузера, или путем взаимодействия с приложением, запущенным на пользовательском устройстве, например, смартфоном или электронным планшетом. Кроме того, компьютер может взаимодействовать с пользователем, отправляя текстовые сообщения или другие формы сообщений на персональное устройство, например смартфон, на котором запущено приложение обмена сообщениями, и получая ответные сообщения от пользователя.
[0061] В данной спецификации используется термин «сконфигурированный для» для систем, устройств и компонентов компьютерной программы. Если система из одного или более компьютеров настроена на выполнение определенных операций или действий, это означает, что в системе установлено программное обеспечение, встроенное программное обеспечение, аппаратное обеспечение или их комбинация, которые при работе заставляют систему выполнять операции или действия. Для одной или более компьютерных программ, которые должны быть сконфигурированы для выполнения определенных операций или действий, это означает, что одна или несколько программ включают в себя инструкции, которые при выполнении устройством обработки данных заставляют устройство выполнять операции или действия. Если логические схемы специального назначения должны быть сконфигурированы для выполнения определенных операций или действий, это означает, что схема имеет электронную логику, которая выполняет операции или действия.
[0062] Хотя это описание содержит много конкретных деталей реализации, их не следует истолковывать как ограничения объема заявленного изобретения, который определяется пунктами формулы изобретения, а скорее как описания функций, которые могут быть специфическими для конкретных реализаций. Определенные признаки, которые описаны в этом описании в контексте отдельных реализаций, также могут быть реализованы в комбинации в одной реализации. И наоборот, различные признаки, которые описаны в контексте отдельных реализаций, также могут быть реализованы в нескольких реализациях отдельно или в любой подходящей субкомбинации. Более того, хотя признаки могли быть описаны выше как действующие в определенных комбинациях и даже первоначально заявлены как таковые, один или несколько признаков из заявленной комбинации могут в некоторых случаях быть исключены из комбинации, и формула может быть направлена на субкомбинацию или вариацию субкомбинации.
[0063] Аналогично, хотя операции показаны на чертежах и изложены в формуле изобретения в конкретном порядке, это не следует понимать как требование, чтобы такие операции выполнялись в конкретном показанном порядке или в последовательном порядке, или чтобы выполнялись все проиллюстрированные операции, чтобы достичь желаемых результатов. В определенных обстоятельствах многозадачность и параллельная обработка могут быть выгодными. Кроме того, разделение различных системных модулей и компонентов в реализациях, описанных выше, не следует понимать, как требующее такого разделения во всех реализациях, и следует понимать, что описанные программные компоненты и системы обычно могут быть объединены вместе в одном программном продукте или упакованы в несколько программных продуктов.
[0064] В описании раскрыты конкретные варианты реализации предмета изобретения. Другие реализации находятся в пределах объема следующей формулы изобретения. Например, действия, изложенные в формуле изобретения, могут выполняться в другом порядке и при этом достигать желаемых результатов. В качестве одного примера, процессы, изображенные на прилагаемых чертежах, не обязательно требуют определенного показанного порядка или последовательного порядка для достижения желаемых результатов. В некоторых случаях многозадачность и параллельная обработка могут быть полезными.

Claims (23)

1. Компьютерно-реализуемый способ защиты транзакций с ограниченным доступом, хранящихся в блокчейн, поддерживаемом сетью блокчейн, способ содержит:
принимают узлом блокчейн в сети блокчейн запрос на считывание конкретного блока в блокчейн, причем запрос принимается от облегченного узла из множества облегченных узлов сети блокчейн и включает в себя идентификационную информацию облегченного узла, при этом указанный конкретный блок представлен посредством исходного дерева Меркла, содержащего множество ветвей и заголовок блока, при этом каждая ветвь в исходном дереве Меркла содержит множество транзакций, первое значение хэш-функции из первых значений хэш-функции, которое генерируется на основе соответствующей транзакции, и второе значение хэш-функции, которое генерируется путем объединения первых значений хэш-функции, при этом заголовок блока исходного дерева Меркла содержит значение хэш-функции блока, которое содержит значение корневого хэша, генерируемое путем объединения второго значения хэша каждой ветви исходного дерева Меркла, значение хэша предыдущего блока и одноразовое значение,
идентифицируют узлом блокчейн разрешения, связанные с идентификационной информацией облегченного узла,
определяют подмножество транзакций из множества транзакций, доступных для облегченного узла, на основе идентифицированных разрешений,
генерируют узлом блокчейн изолированное дерево Меркла путем удаления из исходного дерева Меркла транзакций, отличных от подмножества транзакций среди множества транзакций и первого значения хэша, связанного с по меньшей мере одной из удаленных транзакций, причем изолированное дерево Меркла обеспечивает облегченному узлу проверку целостности конкретного блока без доступа к удаленным транзакциям, которые являлись частью исходного дерева Меркла, при этом идентифицированные разрешения указывают, что облегченный узел не имеет доступа к удаленным транзакциям, и
отправляют узлом блокчейн ответ на облегченный узел, включающий в себя изолированное дерево Меркла, при этом исходное дерево Меркла предназначено для направления одному или более узлам, которые отличны от множества облегченных узлов в сети блокчейн.
2. Реализуемый компьютером способ по п. 1, в котором каждая из множества транзакций включает в себя одну или более идентификационных информаций, связанных с одним или более участниками транзакции, при этом одна или более идентификационных информаций содержит идентификационную информацию облегченного узла и один или более участников содержит облегченный узел.
3. Реализуемый компьютером способ по п. 2, в котором идентификационная информация связана с классом идентификационной информации, разрешения связаны с указанным классом идентификационной информации, а узел блокчейн сконфигурирован для обеспечения выполнения разрешений для идентификационных информаций, ассоциированных с указанным классом идентификационной информации.
4. Реализуемый компьютером способ по п. 3, в котором указанный класс идентификационной информации является классом регулятора, при этом разрешения, связанные с классом регулятора, указывают, что все транзакции в сети блокчейн доступны для идентификационных информаций, связанных с классом регулятора.
5. Реализуемый компьютером способ по п. 3, в котором указанный класс идентификационной информации является общим классом, при этом разрешения, связанные с общим классом, указывают, что только транзакции в сети блокчейн, в которой идентификационная информация является участником, доступны для этой идентификационной информации.
6. Невременный машиночитаемый носитель данных, имеющий сохраненные на нем инструкции, которые при выполнении компьютерной системой побуждают эту систему выполнять операции способа по любому из пп. 1-5.
7. Система для защиты транзакций с ограниченным доступом, хранящихся в блокчейн, поддерживаемом сетью блокчейн, содержащая:
один или более компьютеров, и
одно или более компьютерных запоминающих устройств, взаимодействующих с одним или более компьютерами и имеющих материальные, невременные, машиночитаемые носители, хранящие одну или несколько инструкций, которые при выполнении одним или более компьютерами выполняют одну или несколько операций, содержащих
прием узлом блокчейн в сети блокчейн запроса на считывание конкретного блока в блокчейн, причем запрос принимается от облегченного узла из множества облегченных узлов сети блокчейн и включает в себя идентификационную информацию облегченного узла, при этом указанный конкретный блок представлен посредством исходного дерева Меркла, содержащего множество ветвей и заголовок блока, при этом каждая ветвь в исходном дереве Меркла содержит множество транзакций, первое значение хэш-функции из первых значений хэш-функции, которое генерируется на основе соответствующей транзакции, и второе значение хэш-функции, которое генерируется путем объединения первых значений хэш-функции, при этом заголовок блока исходного дерева Меркла содержит значение хэш-функции блока, которое содержит значение корневого хэша, генерируемое путем объединения второго значения хэша каждой ветви исходного дерева Меркла, значение хэша предыдущего блока и одноразовое значение,
идентификацию узлом блокчейн разрешений, связанных с идентификационной информацией облегченного узла,
определение подмножества транзакций из множества транзакций, доступных для облегченного узла, на основе идентифицированных разрешений,
генерирование узлом блокчейн изолированного дерева Меркла путем удаления из исходного дерева Меркла транзакций, отличных от подмножества транзакций среди множества транзакций и первого значения хэша, связанного с по меньшей мере одной из удаленных транзакций, причем изолированное дерево Меркла обеспечивает облегченному узлу проверку целостности конкретного блока без доступа к удаленным транзакциям, которые являются частью исходного дерева Меркла, при этом идентифицированные разрешения указывают, что облегченный узел не имеет доступа к удаленным транзакциям, и
отправку узлом блокчейн ответа на облегченный узел, включающий в себя изолированное дерево Меркла, при этом исходное дерево Меркла предназначено для направления одному или более узлам, которые отличны от множества облегченных узлов в сети блокчейн.
8. Система по п. 7, в которой каждая из множества транзакций включает в себя одну или более идентификационных информаций, связанных с одним или более участниками транзакции, при этом одна или более идентификационных информаций содержит идентификационную информацию облегченного узла и один или более участников содержит облегченный узел.
9. Система по п. 8, в которой идентификационная информация связана с классом идентификационной информации, разрешения связаны с указанным классом идентификационной информации, а узел блокчейн сконфигурирован для обеспечения выполнения разрешений, для идентификационных информаций, ассоциированных с указанным классом идентификационной информации.
10. Система по п. 9, в которой указанный класс идентификационной информации является классом регулятора, при этом разрешения, связанные с классом регулятора, указывают, что все транзакции в сети блокчейн доступны для идентификационных информаций, связанных с классом регулятора.
11. Система по п. 10, в которой указанный класс идентификационной информации является общим классом, при этом разрешения, связанные с общим классом, указывают, что только транзакции в сети блокчейн, в которой идентификационная информация является участником, доступны для этой идентификационной информации.
RU2019123413A 2018-12-13 2018-12-13 Изоляция данных в сети блокчейн RU2745518C9 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/120805 WO2019072293A2 (en) 2018-12-13 2018-12-13 DATA INSULATION IN A BLOCK CHAIN NETWORK

Publications (4)

Publication Number Publication Date
RU2019123413A3 RU2019123413A3 (ru) 2021-01-26
RU2019123413A RU2019123413A (ru) 2021-01-26
RU2745518C2 RU2745518C2 (ru) 2021-03-25
RU2745518C9 true RU2745518C9 (ru) 2021-05-26

Family

ID=66100120

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019123413A RU2745518C9 (ru) 2018-12-13 2018-12-13 Изоляция данных в сети блокчейн

Country Status (15)

Country Link
US (2) US11003646B2 (ru)
EP (1) EP3560143B1 (ru)
JP (1) JP6816297B2 (ru)
KR (1) KR102258440B1 (ru)
CN (1) CN109863521A (ru)
AU (1) AU2018348333A1 (ru)
BR (1) BR112019015423A8 (ru)
CA (1) CA3051762A1 (ru)
MX (1) MX2019008898A (ru)
PH (1) PH12019501735A1 (ru)
RU (1) RU2745518C9 (ru)
SG (1) SG11201906846YA (ru)
TW (1) TWI706352B (ru)
WO (1) WO2019072293A2 (ru)
ZA (1) ZA201904928B (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220091878A1 (en) * 2019-01-28 2022-03-24 Jiangsu Fuzamei Technology Co., Ltd. Transaction Replacing Method, Transaction Queuing Method, Device, and Storage Medium

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3058238C (en) 2019-03-21 2021-03-02 Alibaba Group Holding Limited Data isolation in blockchain networks
CN110311782B (zh) * 2019-04-29 2020-04-14 山东工商学院 个人信息的零知识证明方法、系统及存储介质
CN114710329B (zh) * 2019-04-30 2024-03-01 创新先进技术有限公司 用于管理对区块链系统中的账户的访问的方法和设备
CN110365768B (zh) * 2019-07-15 2021-07-06 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
US11520904B2 (en) * 2019-08-27 2022-12-06 Accenture Global Solutions Limited AI-based blockchain hybrid consensus
CN111125593B (zh) * 2019-11-14 2024-01-26 深圳源中瑞科技有限公司 基于区块链的家谱信息处理方法、设备及存储介质
EP3769233B1 (en) 2019-12-05 2023-05-03 Alipay (Hangzhou) Information Technology Co., Ltd. Performing map iterations in a blockchain-based system
CN111295650B (zh) 2019-12-05 2023-05-16 支付宝(杭州)信息技术有限公司 在基于区块链的系统中执行映射迭代
CN111242617B (zh) * 2020-01-02 2022-05-10 支付宝(杭州)信息技术有限公司 用于执行交易正确性验证的方法及装置
JP7381881B2 (ja) 2020-02-21 2023-11-16 富士通株式会社 管理プログラム、管理装置および管理方法
CN111343177B (zh) * 2020-02-25 2022-11-29 百度在线网络技术(北京)有限公司 轻量级节点的监管方法、装置、设备和介质
US10887104B1 (en) 2020-04-01 2021-01-05 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
US11409907B2 (en) 2020-04-01 2022-08-09 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
CN112565435B (zh) * 2020-12-10 2021-08-17 广东投盟科技有限公司 基于事务链的业务处理方法、系统及计算机可读存储介质
CN112799839B (zh) * 2021-01-28 2024-03-15 百果园技术(新加坡)有限公司 请求处理方法、装置、计算机可读存储介质及电子设备
WO2023140828A1 (en) * 2022-01-18 2023-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling access to data stored on a blockchain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
CN107733855A (zh) * 2017-08-31 2018-02-23 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
RU181439U1 (ru) * 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети
US20180349621A1 (en) * 2017-06-01 2018-12-06 Schvey, Inc. d/b/a/ Axoni Distributed privately subspaced blockchain data structures with secure access restriction management

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005017809A2 (en) * 2003-08-15 2005-02-24 Docomo Communications Laboratories Usa, Inc. Method and apparatus for authentication of data streams with adaptively controlled losses
US9530010B2 (en) * 2013-11-07 2016-12-27 Fujitsu Limited Energy usage data management
CN104750784B (zh) * 2015-03-06 2018-03-02 西安交通大学 一种基于Merkle树结构的空间查询完整性验证方法
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
US20170132619A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
EP4369273A2 (en) * 2016-02-23 2024-05-15 nChain Licensing AG A method and system for securing computer software using a distributed hash table and a blockchain
CN106559211B (zh) * 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106796688B (zh) * 2016-12-26 2020-12-18 深圳前海达闼云端智能科技有限公司 区块链的权限控制方法、装置、系统及节点设备
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
CN111917864B (zh) * 2017-02-22 2023-08-22 创新先进技术有限公司 一种业务校验的方法及装置
US10783272B2 (en) * 2017-12-08 2020-09-22 Nec Corporation Method and system of preserving privacy for usage of lightweight blockchain clients
CN108664803B (zh) * 2018-04-04 2022-03-22 中国电子科技集团公司第三十研究所 一种基于密码的文档内容细粒度访问控制系统
EP3785206A1 (en) * 2018-04-27 2021-03-03 Nchain Holdings Limited Partitioning a blockchain network
CN108961052B (zh) 2018-06-25 2022-02-22 百度在线网络技术(北京)有限公司 区块链数据的验证方法、存储方法、装置、设备和介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
US20180349621A1 (en) * 2017-06-01 2018-12-06 Schvey, Inc. d/b/a/ Axoni Distributed privately subspaced blockchain data structures with secure access restriction management
CN107733855A (zh) * 2017-08-31 2018-02-23 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
RU181439U1 (ru) * 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220091878A1 (en) * 2019-01-28 2022-03-24 Jiangsu Fuzamei Technology Co., Ltd. Transaction Replacing Method, Transaction Queuing Method, Device, and Storage Medium

Also Published As

Publication number Publication date
RU2019123413A3 (ru) 2021-01-26
JP6816297B2 (ja) 2021-01-20
KR20200074909A (ko) 2020-06-25
US20210232558A1 (en) 2021-07-29
SG11201906846YA (en) 2019-08-27
EP3560143A4 (en) 2020-03-11
AU2018348333A1 (en) 2020-07-02
US20190278758A1 (en) 2019-09-12
KR102258440B1 (ko) 2021-06-02
ZA201904928B (en) 2021-06-30
WO2019072293A2 (en) 2019-04-18
US11003646B2 (en) 2021-05-11
RU2745518C2 (ru) 2021-03-25
EP3560143A2 (en) 2019-10-30
WO2019072293A3 (en) 2019-10-10
TWI706352B (zh) 2020-10-01
BR112019015423A2 (pt) 2020-03-31
RU2019123413A (ru) 2021-01-26
CA3051762A1 (en) 2019-04-18
TW202022744A (zh) 2020-06-16
MX2019008898A (es) 2019-09-10
BR112019015423A8 (pt) 2023-03-28
PH12019501735A1 (en) 2020-03-09
CN109863521A (zh) 2019-06-07
JP2020516103A (ja) 2020-05-28
EP3560143B1 (en) 2021-09-15

Similar Documents

Publication Publication Date Title
RU2745518C9 (ru) Изоляция данных в сети блокчейн
US10678597B2 (en) Event-driven blockchain workflow processing
US11875400B2 (en) Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
US11886421B2 (en) Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
TWI705689B (zh) 區塊鏈網路中的資料隔離
US11803537B2 (en) Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11783024B2 (en) Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
AU2020261982B2 (en) Extracting data from a blockchain network
CN110096857B (zh) 区块链系统的权限管理方法、装置、设备和介质
JP2023029895A (ja) クラウドベースのコンピューティング環境において分散台帳技術のためのインテリジェントな合意、スマートな合意、及び重み付き合意のモデルを実現するシステム、方法、及び装置
US20190236562A1 (en) Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment
US11853291B2 (en) Privacy preserving architecture for permissioned blockchains
CN111033489B (zh) 用于数据遍历的方法和设备
KR20210106532A (ko) 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법
Saldamli et al. Identity management via blockchain

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant
TK4A Correction to the publication in the bulletin (patent)

Free format text: CORRECTION TO CHAPTER -FG4A- IN JOURNAL 9-2021 FOR INID CODE(S) (73)

TH4A Reissue of patent specification