RU2738826C1 - Параллельное выполнение транзакций в сети блокчейнов - Google Patents
Параллельное выполнение транзакций в сети блокчейнов Download PDFInfo
- Publication number
- RU2738826C1 RU2738826C1 RU2019124540A RU2019124540A RU2738826C1 RU 2738826 C1 RU2738826 C1 RU 2738826C1 RU 2019124540 A RU2019124540 A RU 2019124540A RU 2019124540 A RU2019124540 A RU 2019124540A RU 2738826 C1 RU2738826 C1 RU 2738826C1
- Authority
- RU
- Russia
- Prior art keywords
- transactions
- execution
- nodes
- blockchain network
- blockchain
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Заявленное изобретение относится к системам распределительных реестров, позволяющим участвующим объектам защищенно и неизменно сохранять данные. Реализации данного изобретения включают в себя идентификацию множества транзакций, которые должны выполняться в блокчейне, при этом транзакции размещены в порядке выполнения, при этом порядок выполнения включает в себя вызов в контракт, размещенный после множества транзакций; идентификацию группы транзакций во множестве транзакций, при этом каждая транзакция в каждой группе ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции в группе; предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно, при этом выполнение каждой группы транзакций включает в себя выполнение транзакций в группе последовательно и согласно порядку выполнения; определение, что узлы сети блокчейнов завершили выполнение всех групп транзакций; и, в ответ, предписание узлам сети блокчейнов выполнять вызов в контракт. Изобретение обеспечивает повышение скорости исполнения той или иной процедуры сети блокчейна. 3 н. и 3 з.п. ф-лы, 6 ил.
Description
Уровень техники
[0001] Системы распределенных реестров (DLS), которые также могут упоминаться как консенсусные сети и/или сети блокчейнов, позволяют участвующим объектам защищенно и неизменно сохранять данные. DLS обычно упоминаются как сети блокчейнов без ссылки на конкретные случаи использования. Примеры типов сетей блокчейнов могут включать в себя открытые сети блокчейнов, закрытые сети блокчейнов и консорциальные сети блокчейнов. Консорциальная сеть блокчейнов предусмотрена для выбранной группы объектов, которые управляют консенсусным процессом, и включает в себя уровень управления доступом.
[0002] Одна проблема, с которой сталкиваются в сетях блокчейнов, представляет собой скорость, с которой обрабатываются транзакции. Обычно узлы в сети блокчейнов последовательно обрабатывают транзакции в том порядке, в котором они отправляются. Это может приводить к низкой пропускной способности проведения транзакций и задержкам между тем, когда транзакция отправляется, и тем, когда она очищается.
[0003] Были бы предпочтительны технологии для решения этих проблем производительности транзакций в сети блокчейнов.
Раскрытие изобретения
[0004] Реализации этого изобретения включают в себя реализуемые компьютером способы параллельного выполнения транзакции в сети блокчейнов. Более конкретно, реализации данного изобретения направлены на выполнение групп транзакций, имеющих совместную зависимость, параллельно с другими группами.
[0005] В некоторых реализациях действия включают в себя идентификацию множества транзакций, которые должны выполняться в блокчейне, при этом транзакции размещаются в порядке выполнения, при этом порядок выполнения включает в себя вызов в контракт, размещаемый после множества транзакций; идентификацию групп транзакций во множестве транзакций, при этом каждая транзакция в каждой группе ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции в группе; предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно, при этом выполнение каждой группы транзакций включает в себя выполнение транзакций в группе последовательно и согласно порядку выполнения; определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций; и в ответ на определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций, предписание узлам сети блокчейнов выполнять вызов в контракт. Другие реализации включают в себя соответствующие системы, устройства и компьютерные программы, выполненные с возможностью выполнения действий способов, кодированных на компьютерных устройствах хранения данных.
[0006] Эти и другие реализации при необходимости могут включать в себя один или более следующих признаков:
[0007] В некоторых случаях, предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно включает в себя предписание первому набору узлов выполнять первую группу транзакций и предписание первому набору узлов выполнять вторую группу транзакций.
[0008] В некоторых реализациях, определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций, включает в себя определение того, что все транзакции во множестве транзакций включены в один или более блоков, сохраненных в блокчейне, поддерживаемом посредством сети блокчейнов.
[0009] В некоторых реализациях, способ включает в себя определение того, что узлы сети блокчейнов завершили выполнение вызова в контракт; идентификацию второго множества транзакций, которые должны выполняться в блокчейне, при этом второе множество транзакций размещается после вызова в контракт в порядке выполнения; идентификацию вторых групп транзакций во втором множестве транзакций; и предписание узлам сети блокчейнов выполнять каждую из вторых групп транзакций параллельно, при этом выполнение каждой второй группы транзакций включает в себя выполнение транзакций во второй группе последовательно и согласно порядку выполнения.
[0010] В некоторых случаях, предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно включает в себя отправку сообщения в узлы по сети.
[0011] В некоторых случаях, идентификация множества транзакций, которые должны выполняться в блокчейне, включает в себя прием транзакций, передаваемых в широковещательном режиме в сеть блокчейнов.
[0012] В некоторых реализациях, вызов в контракт представляет собой запрос на выполнение смарт–контракта, сохраненного в блокчейне, поддерживаемом посредством сети блокчейнов.
[0013] Данное изобретение также предусматривает один или более постоянных машиночитаемых носителей данных, соединенных с одним или более процессорами и имеющих сохраненные инструкции, которые, при выполнении посредством одного или более процессоров, предписывают одному или более процессорам выполнять операции в соответствии с реализациями способов, предусмотренными в данном документе.
[0014] Кроме того, данное изобретение предусматривает систему для реализации способов, предусмотренных в настоящем документе. Система включает в себя один или более процессоров и машиночитаемый носитель хранения данных, соединенный с одним или более процессоров, имеющий сохраненные инструкции, которые, при выполнении посредством одного или более процессоров, предписывают одному или более процессоров выполнять операции в соответствии с реализациями способов, предусмотренных в данном документе.
[0015] Следует принимать во внимание, что способы в соответствии с данным изобретением могут включать в себя любую комбинацию аспектов и признаков, описанных в данном документе. Таким образом, способы в соответствии с данным изобретением не ограничены комбинациями аспектов и признаков, конкретно описанными в данном документе, но также включают в себя любое предусмотренное сочетание аспектов и признаков.
[0016] Подробности одной или более реализаций данного изобретения изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки и преимущества данного изобретения должны стать очевидными из описания и чертежей, а также из формулы изобретения.
Краткое описание чертежей
[0017] Фиг. 1 иллюстрирует пример окружения, которое может использоваться для реализации данного изобретения.
[0018] Фиг. 2 иллюстрирует пример концептуальной архитектуры в соответствии с реализациями данного изобретения.
[0019] Фиг. 3A иллюстрирует пример порядка выполнения для транзакций в сети блокчейнов в соответствии с реализациями данного изобретения.
[0020] Фиг. 3B иллюстрирует пример параллельного порядка выполнения для транзакций в сети блокчейнов в соответствии с реализациями данного изобретения.
[0021] Фиг. 4 иллюстрирует пример процесса, который может выполняться в соответствии с реализациями данного изобретения.
[0022] Фиг. 5 иллюстрирует примеры модулей устройства в соответствии с реализациями данного изобретения.
[0023] Аналогичные условные обозначения на различных чертежах указывают аналогичные элементы.
Осуществление изобретения
[0024] Реализации данного изобретения включают в себя реализуемые компьютером способы параллельного выполнения транзакции в сети блокчейнов. Более конкретно, реализации данного изобретения направлены на выполнение групп транзакций, имеющих совместно используемую зависимость, параллельно с другими группами. В некоторых реализациях, действия включают в себя идентификацию множества транзакций, которые должны выполняться в блокчейне, при этом транзакции размещаются в порядке выполнения, при этом порядок выполнения включает в себя вызов в контракт, размещаемый после множества транзакций; идентификацию групп транзакций во множестве транзакций, при этом каждая транзакция в каждой группе ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции в группе; предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно, при этом выполнение каждой группы транзакций включает в себя выполнение транзакций в группе последовательно и согласно порядку выполнения; определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций; и в ответ на определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций, предписание узлам сети блокчейнов выполнять вызов в контракт.
[0025] Для представления дополнительного контекста для реализаций данного изобретения, и как представлено выше, системы распределенных реестров (DLS), которые также могут упоминаться как консенсусные сети (например, состоящие из узлов между равноправными узлами) и сети блокчейнов, позволяют участвующим объектам защищенно и неизменно проводить транзакции и сохранять данные. Термин «блокчейн» используется в данном документе в общем для обозначения DLS независимо от конкретных вариантов использования.
[0026] Блокчейн представляет собой структуру данных, которая сохраняет транзакции таким способом, что транзакции являются неизменными и могут впоследствии верифицироваться. Блокчейн включает в себя один или более блоков. Каждый блок в блокчейне сразу связывается с предшествующим ему блоком в блокчейне посредством включения криптографического хэша предыдущего блока. Каждый блок также включает в себя временную метку, собственный криптографический хэш и одну или более транзакций. Транзакции, которые уже верифицированы посредством узлов сети блокчейнов, хэшируются и кодируются в дерево Меркла. Дерево Меркла представляет собой структуру данных, в которой данные в концевых узлах дерева хэшируются, и все хэши в каждой ветви дерева конкатенируются в корне ветви. Этот процесс продолжается вверх по дереву вплоть до корня всего дерева, которое сохраняет хэш, который представляет все данные в дереве. Хэш, подразумеваемый в качестве транзакции, сохраненной в дереве, может быстро верифицироваться посредством определения, является ли он согласованным со структурой дерева.
[0027] Исходя из того, что блокчейн представляет собой структуру данных для сохранения транзакций, сеть блокчейнов представляет собой сеть вычислительных узлов, которые управляют, обновляют и поддерживают одну или более блокчейнов. Как представлено выше, сеть блокчейнов может быть предусмотрена в виде открытой сети блокчейнов, закрытой сети блокчейнов или консорциальной сети блокчейнов. В открытой сети блокчейнов, консенсусный процесс управляется посредством узлов консенсусной сети. Например, сотни, тысячи, даже миллионы объектов могут взаимодействовать в открытой сети блокчейнов, каждый из которых управляет по меньшей мере одним узлом в открытой сети блокчейнов. Соответственно, открытая сеть блокчейнов может считаться открытой сетью относительно участвующих объектов. В некоторых примерах, большинство объектов (узлов) должны подписывать каждый блок для того, чтобы блок был достоверным и добавлялся в блокчейнблокчейн (распределенный реестр) сети блокчейнов. Примерные открытые сети блокчейнов включают в себя конкретные платежные сети между равноправными узлами, которые используют распределенный реестр, называемый «"блокчейном»". Тем не менее, как отмечено выше, термин «блокчейн» используется в общем для обозначения распределенных реестров без конкретного указания на конкретные сети блокчейнов.
[0028] В общем, консорциальная сеть блокчейнов является закрытой между участвующими объектами. В консорциальной сети блокчейнов, консенсусный процесс управляется посредством авторизованного набора узлов, причем один или более узлов управляются посредством соответствующего объекта (например, финансового учреждения, страховой компании). Например, консорциум из десяти (10) объектов (например, финансовых учреждений, страховых компаний) может управлять консорциальной сетью блокчейнов, каждый из которых управляет по меньшей мере одним узлом в консорциальной сети блокчейнов. Соответственно, консорциальная сеть блокчейнов может считаться закрытой сетью относительно участвующих объектов. В некоторых примерах, каждый объект (узел) должен подписывать каждый блок для того, чтобы блок был достоверным и добавлялся в блокчейн. В некоторых примерах по меньшей мере поднабор объектов (узлов) (например по меньшей мере 7 объектов) должен подписывать каждый блок для того, чтобы блок был достоверным и добавлялся в блокчейн.
[0029] Реализации данного изобретения могут быть реализованы в любом соответствующем типе сети блокчейнов.
[0030] Ниже более подробно описаны реализации данного изобретения в данном документе с учетом вышеизложенного контекста. Более конкретно, и как представлено выше, реализации данного изобретения направлены на выполнение групп транзакций, имеющих совместно используемую зависимость, параллельно с другими группами. Поскольку транзакции в различных группах не имеют зависимости друг от друга (например, не затрагивают одинаковые счета в сети блокчейнов), порядок, в котором транзакции в различных группах выполняются относительно друг друга, не затрагивает общее состояние сети блокчейнов. Таким образом, эти транзакции могут выполняться параллельно, что может приводить к увеличению пропускной способности проведения транзакций в сети блокчейнов.
[0031] Фиг. 1 иллюстрирует пример окружения 100, которое может использоваться для того, чтобы выполнять реализации данного изобретения. В некоторых примерах, окружение 100 обеспечивает возможность объектам участвовать в открытой сети 102 блокчейнов. Окружение 100 включает в себя вычислительные устройства 106, 108 и сеть 110. В некоторых примерах, сеть 110 включает в себя локальную вычислительную сеть (LAN), глобальную вычислительную сеть (WAN), Интернет либо комбинацию вышеозначенного и соединяет веб–узлы, пользовательские устройства (например, вычислительные устройства) и внутренние интерфейсные системы. В некоторых примерах, к сети 110 может осуществляться доступ по линии проводной и/или беспроводной связи. В некоторых примерах, сеть 110 обеспечивает связь с/в пределах открытой сети 102 блокчейнов. В общем, сеть 110 представляет одну или более сетей связи. В некоторых случаях, вычислительные устройства 106, 108 могут представлять собой узлы облачной вычислительной системы (не показана), либо вычислительное устройство 106, 108 может представлять собой отдельную облачную вычислительную систему, включающую в себя множество компьютеров, взаимно соединенных посредством сети, и функционирующую в качестве системы распределенной обработки.
[0032] В проиллюстрированном примере, вычислительные системы 106, 108 могут включать в себя любую соответствующую вычислительную систему, которая обеспечивает участие в качестве узла в открытой сети 102 блокчейнов. Примеры вычислительных устройств включают в себя, без ограничения, сервер, настольный компьютер, переносной компьютер, планшетное вычислительное устройство и смартфон. В некоторых примерах, вычислительные системы 106, 108 размещают одну или более реализуемых компьютером служб для взаимодействия с открытой сетью 102 блокчейнов. Например, вычислительная система 106 может размещать реализуемые компьютером службы первого объекта (например, участника A), к примеру, систему управления транзакциями, которую использует первый объект для того, чтобы управлять своими транзакциями с одним или более других объектов (например, других участников). Вычислительная система 108 может размещать реализуемые компьютером второго объекта (например, участника B), к примеру, систему управления транзакциями, которую использует второй объект для того, чтобы управлять своими транзакциями с одним или более других объектов (например, других участников). В примере по фиг. 1, открытая сеть 102 блокчейнов представляется как сеть с равноправными узлами узлов, и вычислительные системы 106, 108 обеспечивают узлы первого объекта и второго объекта, соответственно, которые участвуют в открытой сети 102 блокчейнов.
[0033] Фиг. 2 иллюстрирует пример концептуальной архитектуры 200 в соответствии с реализациями данного изобретения. Пример концептуальной архитектуры 200 включает в себя системы 202, 204, 206 участников, которые соответствуют участнику A, участнику B и участнику C, соответственно. Каждый участник (например, пользователь, организация) участвует в сети 212 блокчейнов, сформированной в качестве сети с равноправными узлами, включающей в себя множество узлов 214 по меньшей мере некоторые из которых неизменно записывают информацию в блокчейн 216. Хотя в сети 212 блокчейнов схематично проиллюстрирован один блокчейн 216 , в сети 212 блокчейнов поддерживается множество копий блокчейна 216, как подробнее описано в данном документе.
[0034] В проиллюстрированном примере каждая система 202, 204, 206 участников обеспечивается участником A, участником B и участником C или от их имени, соответственно, и функционирует в качестве соответствующего узла 214 в сети блокчейнов. При использовании в данном документе, узел в общем означает отдельную систему (например, компьютер, сервер), которая соединяется с сетью 212 блокчейнов и обеспечивает возможность соответствующему участнику участвовать в сети блокчейнов. В примере по фиг. 2, участник соответствует каждому узлу 214. Тем не менее, предполагается, что участник может управлять множеством узлов 214 в сети 212 блокчейнов, и/или множество участников могут совместно использовать узел 214. В некоторых примерах, системы 202, 204, 206 участников обмениваются данными с/через сеть 212 блокчейнов с использованием протокола (например, протокола защищенной передачи гипертекста (HTTPS)) и/или с использованием удаленных вызовов процедур (RPC).
[0035] Узлы 214 могут иметь различные степени участия в сети 212 блокчейнов. Например, некоторые узлы 214 могут участвовать в консенсусном процессе (например, в качестве узлов–майнеров, которые добавляют блоки в блокчейн 216), в то время как другие узлы 214 не участвуют в консенсусном процессе. В качестве другого примера, некоторые узлы 214 сохраняют полную копию блокчейна 216, в то время как другие узлы 214 сохраняют копии только частей блокчейна 216. Например, привилегии доступа к данным могут ограничивать данные блокчейнов, которые соответствующий участник сохраняет в соответствующей системе. В примере по фиг. 2, системы 202, 204, 206 участников сохраняют соответствующие полные копии 216', 216'', 216''' блокчейна 216.
[0036] Блокчейн (например, блокчейн 216 по фиг. 2) состоит из блокчейна, в котором каждый блок хранит данные. Примеры данных включают в себя данные транзакции, представляющие транзакцию между двумя или более участников. Хотя транзакции используются в данном документе в качестве неограничивающего примера, предполагается, что любые соответствующие данные могут сохраняться в блокчейне (например, документы, изображения, видео, аудио). Примеры транзакций могут включать в себя, без ограничения, обмены чем–либо, имеющим стоимость (например, активами, продуктами, услугами). Данные транзакции неизменно сохраняются в блокчейне. Таким образом, данные транзакции не могут изменяться.
[0037] До сохранения в блоке данные транзакции хэшируются. Хэширование представляет собой процесс преобразования данных транзакции (обеспечиваются в виде строковых данных) в хэш–значение фиксированной длины (также обеспечивается в виде строковых данных). Невозможно дехэшировать хэш–значение, чтобы получать данные транзакции. Хэширование гарантирует, что даже небольшое изменение данных транзакции приводит к совершенно другому хэш–значению. Дополнительно и как отмечено выше, хэш–значение имеет фиксированную длину. Таким образом, независимо от размера данных транзакции, длина хэш–значения является фиксированной. Хэширование включает в себя обработку данных транзакции через хэш–функцию, чтобы формировать хэш–значение. Примеры хэш–функции включают в себя, без ограничения, защищенный хэш–алгоритм (SHA)–256, который выводит 256–битовые хэш–значения.
[0038] Данные транзакции для множества транзакций хэшируются и сохраняются в блоке. Например, хэш–значения двух транзакций обеспечиваются и непосредственно хэшируются для обеспечения другого хэша. Этот процесс повторяется до тех пор, пока для всех транзакций, которые должны сохраняться в блоке, не будет обеспечено одно хэш–значение. Это хэш–значение упоминается как корневой хэш Меркла и сохраняется в заголовке блока. Изменение любой из транзакций должно приводить к изменению ее хэш–значения и, в конечном счете, к изменению корневого хэша Меркла.
[0039] Блоки добавляются в блокчейн через консенсусный протокол. Множество узлов в сети блокчейнов участвуют в консенсусном протоколе и конкурируют за то, чтобы добавлять блок в блокчейн. Такие узлы упоминаются как майнеры (или узлы–майнеры). POW, введенное выше, используется в качестве неограничивающего примера.
[0040] Узлы–майнеры выполняют консенсусный процесс, чтобы добавлять транзакции в блокчейн. Хотя множество узлов–майнеров участвуют в консенсусном процессе, только один узел–майнер может записывать блок в блокчейн. Таким образом, узлы–майнеры конкурируют в консенсусном процессе за то, чтобы добавлять свой блок в блокчейн. Подробнее, узел–майнер периодически собирает отложенные транзакции из пула транзакций (например, вплоть до предварительно заданного предела для числа транзакций, которые могут быть включены в блок, если таковые имеются). Пул транзакций включает в себя сообщения по транзакциям от участников сети блокчейнов. Узел–майнер конструирует блок и добавляет транзакции в блок. До добавления транзакций в блок, узел–майнер проверяет, включена ли уже какая–либо из транзакций в блок блокчейна. Если транзакция уже включена в другой блок, транзакция отбрасывается.
[0041] Узел–майнер формирует заголовок блока, хэширует все транзакции в блоке и комбинирует хэш–значение в пары, чтобы формировать дополнительные хэш–значения, до тех пор, пока одно хэш–значение не будет обеспечено для всех транзакций в блоке (корневой хэш Меркла). Этот хэш добавляется в заголовок блока. Майнер также определяет хэш–значение последнего блока в блокчейне (т.е. последнего блока, добавленного в блокчейн). Узел–майнер также добавляет значение одноразового номера и временную метку в заголовок блока. В процессе майнинга, узел–майнер пытается находить хэш–значение, которое удовлетворяет обязательным параметрам. Узел–майнер продолжает изменять значение одноразового номера до нахождения хэш–значения, которое удовлетворяет обязательным параметрам.
[0042] Каждый майнер в сети блокчейнов пытается найти хэш–значение, которое удовлетворяет обязательным параметрам, и в силу этого конкурируют друг с другом. В конечном счете один из узлов–майнеров находит хэш–значение, которое удовлетворяет обязательным параметрам, и сообщает его во все другие узлы–майнеры в сети блокчейнов. Другие узлы–майнеры верифицируют хэш–значение, и если оно определено как корректное, верифицируют каждую транзакцию в блоке, подтверждают блок и добавляют блок в свою копию блокчейна. Таким образом, глобальное состояние блокчейна является согласованным для всех узлов–майнеров в сети блокчейнов. Вышеописанный процесс представляет собой консенсусный POW–протокол.
[0043] Неограничивающий пример содержит ссылку на фиг. 2. В этом примере, участник A хочет отправлять сумму участнику B. Участник A формирует сообщение по транзакции (например, включающее в себя поля From, To и Value) и отправляет сообщение по транзакции в сеть блокчейнов, которая добавляет сообщение по транзакции в пул транзакций. Каждый узел–майнер в сети блокчейнов создает блок и принимает все транзакции из пула транзакций (например, вплоть до предварительно заданного предела для номера транзакции, который может добавляться в блок, если таковые имеются) и добавляет транзакции в блок. Таким образом, транзакция, опубликованная посредством участника A, добавляется в блоки узлов–майнеров.
[0044] В некоторых сетях блокчейнов, криптография реализуется, чтобы поддерживать конфиденциальность транзакций. Например, если два узла хотят поддерживать транзакцию закрытой таким образом, что другие узлы в сети блокчейнов не могут различать подробности транзакции, узлы могут шифровать данные транзакции. Примеры криптографических способов включают в себя, без ограничения, симметричное шифрование и асимметричное шифрование. Симметричное шифрование означает процесс шифрования, который использует один ключ для шифрования (формирования зашифрованного текста из простого текста) и дешифрования (формирования простого текста из зашифрованного текста). При симметричном шифровании, одинаковый ключ доступен для множества узлов, так что каждый узел может шифровать/дешифровать данные транзакции.
[0045] Асимметричное шифрование использует пары ключей, которые включают в себя закрытый ключ и открытый ключ, причем закрытый ключ известен только для соответствующего узла, и открытый ключ известен для всех других узлов в сети блокчейнов. Узел может использовать открытый ключ другого узла, чтобы шифровать данные, и зашифрованные данные могут дешифроваться с использованием закрытого ключа другого узла. Например, и обращаясь вновь к фиг. 2, участник A может использовать открытый ключ участника B, чтобы шифровать данные и отправлять зашифрованные данные участнику B. Участник B может использовать свой закрытый ключ для того, чтобы дешифровать зашифрованные данные (зашифрованный текст) и извлекать исходные данные (простой текст). Сообщения, зашифрованные с помощью открытого ключа узла, могут дешифроваться только с использованием закрытого ключа узла.
[0046] Асимметричное шифрование используется для обеспечения цифровых подписей, что позволяет участникам транзакции подтверждать других участников транзакции, а также достоверность транзакции. Например, узел может снабжать цифровой подписью сообщение, и другой узел может подтверждать, что сообщение отправлено посредством упомянутого узла, на основании цифровой подписи участника A. Цифровые подписи также могут использоваться для предотвращения несанкционированного изменения сообщений в процессе передачи. Например, и обращаясь вновь к фиг. 2, участник A должен отправлять сообщение участнику B. Участник A формирует хэш сообщения и затем, с использованием своего закрытого ключа, шифрует хэш для обеспечения цифровой подписи в качестве зашифрованного хэша. Участник A добавляет цифровую подпись в сообщение и отправляет сообщение с цифровой подписью участнику B. Участник B дешифрует цифровую подпись с использованием открытого ключа участника A и извлекает хэш. Участник B хэширует сообщение и сравнивает хэши. Если хэши являются идентичными, участник B может подтверждать то, что сообщение фактически исходит от участника A и не изменено несанкционированно.
[0047] Для представления дополнительного контекста для реализаций данного изобретения, фиг. 3A иллюстрирует пример порядка 300 выполнения для транзакций в сети блокчейнов в соответствии с реализациями данного изобретения. Как показано, порядок 300 выполнения включает в себя множество транзакций (305, 310, 315, 320), упорядоченных согласно порядку, в котором они должны выполняться посредством узлов сети блокчейнов. Транзакция 305a, 305b и 305c представляет собой вызовы в смарт–контракты. Помимо вызовов в смарт–контракты, порядок 300 выполнения включает в себя множество групп транзакций, совместно использующих общую зависимость (обозначаемую посредством перекрестной штриховки), такую как, например, затрагивание одинакового счета. Транзакции 310a, 310b представляют первую группу, транзакции 315a–e представляют вторую группу, и 320a–c представляют третью группу. Как описано ниже, каждая группа транзакций может выполняться параллельно посредством узлов сети блокчейнов согласно реализациям данного изобретения.
[0048] Фиг. 3B иллюстрирует пример параллельного порядка 350 выполнения для транзакций в сети блокчейнов в соответствии с реализациями данного изобретения. Как показано, в параллельном порядке 350 выполнения, группы 355, 360, 365, 370 и 375 транзакций идентифицированы. Узлы сети блокчейнов могут выполнять группы транзакций параллельно, как показано на фиг. 3B и пояснено. В некоторых случаях, все транзакции в группе совместно используют общую зависимость и в силу этого выполняются последовательно согласно исходному порядку выполнения. Это обеспечивает то, что состояние сети блокчейнов (например, баланса счетов) должно быть идентичным результату выполнения транзакций согласно параллельному порядку 350 выполнения, каким оно должно быть после выполнения транзакций согласно порядку 300 выполнения на фиг. 3A.
[0049] Рассмотрим пример, в котором счет A имеет баланс в 0$ до выполнения любой из транзакций на фиг. 3B, причем транзакция 310a представляет платеж на счет A со счета B на сумму 300$, и транзакция 310b представляет платеж со счета A на счет C в 50$. Если транзакции 310a и 310b выполняются последовательно (как первоначально описано в порядке 300 выполнения), счет A сначала должен финансироваться на 300$ и затем дебетоваться на 50$, оставляя баланс в 250$. Тем не менее, если транзакции 310a и 310b не выполняются последовательно, и транзакция 310b выполняется, то перед 310a, счет A должен иметь баланс в 0$, когда платеж транзакции 310b выполняется. Счет A имеет недостаточный баланс для того, чтобы финансировать платеж, в этом сценарии, что может приводить к отклонению транзакции 310b посредством сети блокчейнов.
[0050] На основе этого примера, рассмотрим случай, в котором транзакция 320a представляет платеж со счета D на счет E 100$. Поскольку счета, затрагиваемые посредством транзакции 320a (счета D и E), не включают в себя ни счета, затрагиваемые посредством транзакций 310a и 310b (счета A, B и C), транзакция 320a не имеет общей зависимости с транзакциями 310a и 310b. Таким образом, транзакция 320a может выполняться параллельно с транзакциями 310a и 310b.
[0051] В некоторых реализациях, транзакции, которые должны выполняться последовательно, могут группироваться. Например, как показано в фиг. 3B, транзакции 310a–b группируются в 355, транзакции 315a, 315b и 315c группируются в 360, и транзакция 320a группируется в 365. Каждая из групп 355, 360 и 365 может выполняться параллельно посредством узлов сети блокчейнов. Выполнение групп 355, 360 и 365 транзакций параллельно может приводить к увеличению пропускной способности проведения транзакций в сети блокчейнов, поскольку сеть теперь выполняет три транзакции в любой момент параллельно, вместо только одной, если все транзакции выполнены последовательно.
[0052] Фиг. 3B также включает в себя вызовы 305a–c в контракты. Вызовы в контракты представляют точку синхронизации, в которой сходится параллельное выполнение. Поскольку вызовы в контракты приводят к выполнению инструкций, составляющих смарт–контракт, может быть невозможным определять объем счетов, которые затрагивает конкретный вызов в контракт. Например, рассмотрим простой смарт–контракт, который принимает конкретный счет и сумму платежа в качестве параметров и применяет сумму платежа к конкретному счету, если некоторое условие является истинным. Поскольку вызывающая сторона этого смарт–контракта указывает конкретный счет, когда смарт–контракт вызывается, невозможно определять, из определения непосредственно смарт–контракта (т.е. его исходного кода), то, какие счета затрагивает конкретный вызов в смарт–контракт. По этой причине, в некоторых реализациях, вызов в контракт может рассматриваться в качестве транзакции с потенциалом затрагивать все счета в сети блокчейнов, которые в силу этого не могут выполняться параллельно с другими транзакциями. Таким образом, параллельный порядок 350 выполнения сходится, когда он достигает вызова в контракт. Например, как показано, группы 355, 360 и 365 выполняются параллельно до достижения вызова 305b в контракт. В этот момент, сеть блокчейнов ожидает до тех пор, пока не завершено выполнение всех транзакций в группах 355, 360 и 365, и затем продолжается с выполнением вызова 305b в смарт–контракт.
[0053] После того, как вызов 305b в контракт завершается, группы (например, 370 и 375) транзакций могут снова выполняться параллельно посредством сети блокчейнов, до тех пор, пока не встречается другой вызов (например, 305c) в смарт–контракт, причем в этот момент, параллельное выполнение снова сходится до выполнения вызова в смарт–контракт.
[0054] Фиг. 4 иллюстрирует пример процесса 400, который может выполняться в соответствии с реализациями данного изобретения. В некоторых реализациях, процесс 400 может выполняться с использованием одной или более машиноисполняемых программ, выполняемых с использованием одного или более вычислительных устройств.
[0055] На 402, идентифицируется множество транзакций, которые должны выполняться в блокчейне. Транзакции размещаются в порядке выполнения, и порядок выполнения включает в себя вызов в контракт, размещаемый после множества транзакций. В некоторых случаях, идентификация множества транзакций, которые должны выполняться в блокчейне, включает в себя прием транзакций, передаваемых в широковещательном режиме в сеть блокчейнов. В некоторых реализациях, вызов в контракт представляет собой запрос на выполнение смарт–контракта, сохраненного в блокчейне, поддерживаемом посредством сети блокчейнов.
[0056] На 404, группы транзакций идентифицируются во множестве транзакций, при этом каждая транзакция в каждой группе ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции в группе.
[0057] На 406, узлам сети блокчейнов предписывается выполнять каждую из групп транзакций параллельно, при этом выполнение каждой группы транзакций включает в себя выполнение транзакций в пределах группы последовательно и согласно порядку выполнения. В некоторых случаях, предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно включает в себя предписание первому набору узлов выполнять первую группу транзакций и предписание первому набору узлов выполнять вторую группу транзакций. В некоторых реализациях, предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно включает в себя отправку сообщения в узлы по сети.
[0058] На 408, выполняется определение в отношении того, что узлы сети блокчейнов завершили выполнение всех групп транзакций. В некоторых реализациях, определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций, включает в себя определение того, что все транзакции во множестве транзакций включены в один или более блоков, сохраненных в блокчейне, поддерживаемом посредством сети блокчейнов.
[0059] В 410, в ответ на определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций, узлам сети блокчейнов предписывается выполнять вызов в контракт.
[0060] В некоторых реализациях, процесс 400 включает в себя определение того, что узлы сети блокчейнов завершили выполнение вызова в контракт; идентификацию второго множества транзакций, которые должны выполняться в блокчейне, при этом второе множество транзакций размещается после вызова в контракт в порядке выполнения; идентификацию вторых групп транзакций во втором множестве транзакций; и предписание узлам сети блокчейнов выполнять каждую из вторых групп транзакций параллельно, при этом выполнение каждой второй группы транзакций включает в себя выполнение транзакций во второй группе последовательно и согласно порядку выполнения.
[0061] Фиг. 5 иллюстрирует примеры модулей устройства 500 в соответствии с реализациями данного изобретения. Устройство 500 может представлять собой примерную реализацию устройства, выполненного с возможностью обеспечения параллельного выполнения транзакций в сети блокчейнов, такой как консорциальная сеть блокчейнов. Устройство 500 может соответствовать вариантам реализации, описанным выше, и устройство 500 включает в себя следующее: первый блок идентификации или первый блок 502 идентификации для идентификации множества транзакций, которые должны выполняться в блокчейне, при этом транзакции размещаются в порядке выполнения, при этом порядок выполнения включает в себя вызов в контракт, размещаемый после множества транзакций; второй блок идентификации или второй блок 504 идентификации для идентификации групп транзакций во множестве транзакций, при этом каждая транзакция в каждой группе ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции в группе; первый блок предписания или первый блок 506 предписания для предписания узлам сети блокчейнов выполнять каждую из групп транзакций параллельно, при этом выполнение каждой группы транзакций включает в себя выполнение транзакций в группе последовательно и согласно порядку выполнения; блок определения или блок 508 определения для определения того, что узлы сети блокчейнов завершили выполнение всех групп транзакций; и второй блок предписания или второй блок 510 предписания для предписания узлам сети блокчейнов выполнять вызов в контракт в ответ на определение того, что узлы сети блокчейнов завершили выполнение всех групп транзакций.
[0062] Система, устройство, модуль или блок, проиллюстрированные в предыдущих реализациях, могут быть реализованы посредством использования компьютерной микросхемы или объекта либо могут быть реализованы посредством использования продукта, имеющего определенную функцию. Устройство согласно примерной реализации представляет собой компьютер, и компьютер может представлять собой персональный компьютер, переносной компьютер, сотовый телефон, камерофон, смартфон, карманный персональный компьютер, мультимедийный проигрыватель, навигационное устройство, устройство приема и отправки электронной почты, игровую приставку, планшетный компьютер, носимое устройство либо любое сочетание этих устройств.
[0063] На предмет процесса реализации функций и ролей каждого блока в устройстве, следует обратиться к процессу реализации соответствующих этапов в предыдущем способе. Подробности не приводятся здесь для простоты.
[0064] Поскольку реализация устройства по существу соответствует реализации способа, для получения сведений по соответствующим частям, следует обратиться к соответствующему описанию в реализации способа. Вышеописанная реализация устройства представляет собой лишь пример. Блоки, описанные в качестве отдельных частей, могут быть или не быть физически отдельными, и части, отображаемые в качестве блоков, могут быть или не быть физическими блоками, могут быть расположены в одном положении либо могут быть распределены по определенному числу сетевых блоков. Некоторые или все модули могут быть выбраны на основании фактических потребностей для достижения целей решений согласно изобретению. Реализации настоящей заявки могут быть понятны специалистам в данной области техники и могут быть реализованы ими без творческих усилий.
[0065] Обращаясь вновь к фиг. 5, он может интерпретироваться как иллюстрирующий внутренний функциональный модуль и структуру устройства для обеспечения возможности параллельного выполнения транзакций в сети блокчейнов. Устройство для параллельного выполнения может представлять собой пример устройства, выполненного с возможностью обеспечения параллельного выполнения транзакций в сети блокчейнов.
[0066] Реализации объекта изобретения и действий и операций, описанных в данном подробном описании, могут реализовываться в цифровой электронной схеме, в реализованном на материальном носителе компьютерном программном обеспечении или микропрограммном обеспечении, в компьютерных аппаратных средствах, включающих в себя структуры, раскрытые в данном подробном описании, и их структурные эквиваленты, либо в сочетаниях одного или более из вышеупомянутого. Реализации объекта изобретения, описанного в данном подробном описании, могут быть реализованы в виде одной или более компьютерных программ, т.е. одного или более модулей компьютерных программных инструкций, кодированных в компьютерной среде передачи программ, для выполнения или управления работой устройства обработки данных. Передающая среда может представлять собой материальный постоянный компьютерный носитель хранения данных. В качестве альтернативы или дополнения, среда передачи может представлять собой искусственно сформированный распространяемый сигнал, например, сформированный аппаратными средствами электрический, оптический или электромагнитный сигнал, который формируется для кодирования информации для передачи в подходящее приемное устройство для выполнения посредством устройства обработки данных. Компьютерный носитель хранения данных может представлять собой или составлять часть машиночитаемого устройства хранения данных, машиночитаемой платы хранения данных, запоминающего устройства с произвольным или последовательным доступом либо сочетания одного или более из вышеуказанного. Компьютерный носитель хранения данных не представляет собой распространяемый сигнал.
[0067] Термин «устройство обработки данных» охватывает все виды устройств и машин для обработки данных, включающие в себя, в качестве примера, программируемый процессор, компьютер либо множество процессоров или компьютеров. Устройство обработки данных может включать в себя логическую схему специального назначения, например, FPGA (программируемую пользователем вентильную матрицу), ASIC (специализированную интегральную схему) или GPU (графический процессор). Устройство также может включать в себя, в дополнение к аппаратным средствам, код, который создает среду выполнения для компьютерных программ, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему либо комбинацию одного или более из означенного.
[0068] Компьютерная программа, которая также может называться или описываться как программа, программное обеспечение, программное приложение, приложение, модуль, программный модуль, механизм, сценарий или код, может быть написана на любой форме языка программирования, включающей в себя компилируемые или интерпретируемые языки либо декларативные или процедурные языки; и она может развертываться в любой форме, в том числе в качестве автономной программы или в качестве модуля, компонента, механизма, вложенной процедуры или другого блока, подходящего для выполнения в вычислительном окружении, причем это окружение может включать в себя один или более компьютеров, взаимно соединенных посредством сети передачи данных в одном или более местоположений.
[0069] Компьютерная программа может, но не обязательно должна, соответствовать файлу в файловой системе. Компьютерная программа может сохраняться в части файла, который хранит другие программы или данные (например, один или более сценариев, сохраняемых в документе на языке разметки), в одном файле, выделенном для рассматриваемой программы, или во множестве координированных файлов (например, в файлах, которые сохраняют один или более модулей, подпрограмм либо частей кода).
[0070] Процессы и логические последовательности операций, поясненные в данном описании изобретения, могут выполняться посредством одного или более компьютеров, выполняющих одну или более компьютерных программ, чтобы осуществлять операции посредством обработки входных данных и формирования вывода. Процессы и логические последовательности операций также могут выполняться посредством логической схемы специального назначения, например, FPGA, ASIC или GPU, либо посредством комбинации логической схемы специального назначения и одного или более запрограммированных компьютеров.
[0071] Компьютеры, подходящие для выполнения компьютерной программы, могут быть основаны на микропроцессорах общего или специального назначения либо на том и на другом, либо на любом другом виде центрального процессора. В общем, центральный процессор принимает инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, либо из того и из другого. Элементы компьютера могут включать в себя центральный процессор для выполнения инструкций и одно или более запоминающих устройств для сохранения инструкций и данных. Центральный процессор и запоминающее устройство могут дополняться или включаться в логическую схему специального назначения.
[0072] Обычно, компьютер должен соединяться по меньшей мере с одним постоянным машиночитаемым носителем данных (также называемым «машиночитаемым запоминающим устройством»). Носитель данных, соединенный с компьютером, может представлять собой внутренний компонент компьютера (например, интегрированный жесткий диск) или внешний компонент (например, жесткий диск по стандарту универсальной последовательной шины (USB) или систему хранения данных, доступную по сети). Примеры носителей данных могут включать в себя, например, магнитные, магнитооптические или оптические диски, полупроводниковые накопители, сетевые ресурсы хранения, к примеру, системы облачного хранения данных или другие типы носителей хранения данных. Тем не менее, компьютер не должен обязательно иметь такие устройства. Кроме того, компьютер может быть встроен в другое устройство, например, в мобильный телефон, карманный персональный компьютер (PDA), мобильный аудио– или видеопроигрыватель, игровую приставку, приемник на основе глобальной системы позиционирования (GPS) или портативное устройство хранения данных, например, флэш–накопитель по стандарту универсальной последовательной шины (USB), помимо прочего.
[0073] Для обеспечения взаимодействия с пользователем, реализации объекта изобретения, описанного в данном подробном описании, могут быть реализованы или конфигурированы с возможностью обмена данными с компьютером, имеющим устройство отображения, например, монитор ЖК–дисплея (жидкокристаллического дисплея), для отображения информации пользователю и устройство ввода, посредством которого пользователь может обеспечивать ввод в компьютер, например, клавиатуру и указательное устройство, например, мышь, шаровой манипулятор или сенсорную панель. Для обеспечения взаимодействия с пользователем также могут использоваться другие виды устройств; например, обратная связь, выдаваемая пользователю, может представлять собой любую форму сенсорной обратной связи, такую как визуальная обратная связь, акустическая обратная связь или тактильная обратная связь; и ввод от пользователя может приниматься в любой форме, включающей в себя акустический, речевой или тактильный ввод. Помимо этого, компьютер может взаимодействовать с пользователем посредством отправки документов и приема документов из устройства, которое используется пользователем; например, посредством отправки веб–страниц в веб–браузер на устройстве пользователя в ответ на запросы, принимаемые из веб–браузера, либо посредством взаимодействия с приложением, выполняющимся на пользовательском устройстве, например, на смартфоне или электронном планшетном компьютере. Кроме того, компьютер может взаимодействовать с пользователем посредством отправки текстовых сообщений или других форм сообщения в персональное устройство, например, в смартфон, который выполняет приложение обмена сообщениями и принимает ответные сообщения от пользователя в ответ.
[0074] В данном описании изобретения используется термин «выполнен с возможностью» в отношении систем, устройств и компьютерных программных компонентов. Для системы из одного или более компьютеров, «выполненный с возможностью» выполнения конкретных операций или действия означает, что система имеет установленное на ней программное обеспечение, микропрограммное обеспечение, аппаратные средства либо комбинацию означенного, которая при работе предписывает системе выполнять операции или действия. Для одной или более компьютерных программ, «выполненный с возможностью» с возможностью выполнять конкретные операции или действия означает то, что одна или более программ включают в себя инструкции, которые, при выполнении посредством устройства обработки данных, предписывают устройству выполнять операции или действия. Для логической схемы специального назначения, «выполненный с возможностью» с возможностью выполнения конкретных операций или действия означает, что схема имеет электронную логику, которая выполняет операции или действия.
[0075] Хотя данное описание изобретения содержит множество конкретных сведений по реализации, они не должны истолковываться в качестве ограничений объема заявляемого изобретения, который определяется непосредственно формулой изобретения, а должны истолковываться в качестве описания признаков, которые могут иметь отношение к конкретным реализациям. Определенные признаки, которые описаны в этом подробном описании в контексте отдельных реализаций, также могут быть реализованы в сочетании в одной реализации. Наоборот, различные признаки, которые описаны в контексте одной реализации, также могут быть реализованы во множестве реализаций по отдельности либо в любом подходящем подсочетании. Кроме того, хотя признаки могут быть описаны выше как работающие в определенных сочетаниях и даже первоначально заявлены в формуле изобретения как таковые, один или более признаков из заявленного сочетания в некоторых случаях могут быть исключены из упомянутого сочетания, и формула изобретения может относиться к подсочетанию или к модификации подсочетания.
[0076] Аналогичным образом, хотя операции проиллюстрированы на чертежах и приведены в формуле изобретения в конкретном порядке, это не следует понимать как обязательность того, что такие операции должны выполняться в конкретном показанном порядке либо в последовательном порядке, либо того, что все проиллюстрированные операции должны выполняться для достижения требуемых результатов. При определенных обстоятельствах, может быть преимущественной многозадачная и параллельная обработка. Кроме того, разделение различных системных модулей и компонентов в реализациях, описанных выше, не должно пониматься как требующее такого разделения во всех реализациях, и следует понимать, что описанные программные компоненты и системы, в общем, могут интегрироваться в один программный продукт либо комплектоваться во множестве программных продуктов.
[0077] Выше описаны конкретные реализации предмета изобретения. Другие реализации находятся в пределах объема прилагаемой формулы изобретения. Например, действия, изложенные в формуле изобретения, могут выполняться в другом порядке и при этом достигать требуемых результатов. В качестве одного примера, процессы, проиллюстрированные на прилагаемых чертежах, не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения требуемых результатов. В некоторых случаях, может быть преимущественной многозадачная и параллельная обработка.
Claims (16)
1. Реализуемый компьютером способ параллельного выполнения транзакций в сети блокчейнов, при этом способ содержит этапы, на которых:
– идентифицируют множество транзакций, которые должны выполняться в блокчейне, при этом транзакции размещаются в последовательном порядке выполнения, при этом порядок выполнения включает в себя первое множество транзакций, за которым непосредственно следует первый вызов в контракт, и второе множество транзакций, непосредственно следующее за первым множеством транзакций, за которым непосредственно следует второй вызов в контракт, причём каждый из первого и второго вызовов в контракт представляет собой соответствующий запрос на выполнение соответствующего смарт-контракта, сохраненного в блокчейне, поддерживаемом посредством сети блокчейнов;
– идентифицируют первые группы транзакций в первом множестве транзакций, при этом каждая транзакция в каждой первой группе ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции в первой группе;
– предписывают узлам сети блокчейнов выполнять каждую из первых групп транзакций параллельно, при этом выполнение каждой первой группы транзакций включает в себя выполнение транзакций в пределах первой группы последовательно и согласно порядку выполнения;
– определяют, что узлы сети блокчейнов завершили выполнение всех первых групп транзакций, включая определение, что все транзакции во всех первых группах транзакций были включены в один или более блоков, сохранённых в блокчейне, поддерживаемом посредством сети блокчейнов;
– в ответ на определение, что узлы сети блокчейнов завершили выполнение всех первых групп транзакций, предписывают узлам сети блокчейнов выполнять первый вызов в контракт;
- определяют, что узлы сети блокчейнов завершили выполнение первого вызова в контракт;
- идентифицируют вторые группы транзакций во втором множестве транзакций, при этом каждая транзакция в каждой второй группе транзакций ассоциирована с тем же счетом в сети блокчейнов, что и другие транзакции во второй группе; и
- предписывают узлам сети блокчейнов выполнять каждую из вторых групп транзакций параллельно, при этом выполнение каждой второй группы транзакций включает в себя выполнение транзакций в пределах второй группы последовательно и согласно порядку выполнения.
2. Способ по п. 1, в котором предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно включает в себя этап, на котором предписывают первому набору узлов выполнять первую группу транзакций и предписывают первому набору узлов выполнять вторую группу транзакций.
3. Способ по п. 1, в котором предписание узлам сети блокчейнов выполнять каждую из групп транзакций параллельно включает в себя этап, на котором отправляют сообщение в узлы по сети.
4. Способ по п. 1, в котором идентификация множества транзакций, которые должны выполняться в блокчейне, включает в себя этап, на котором принимают транзакции, передаваемые в широковещательном режиме в сеть блокчейнов.
5. Постоянный машиночитаемый носитель данных, соединенный с одним или более компьютерами и имеющий сохраненные инструкции, которые выполняются посредством одного или более компьютеров для выполнения способа по любому из пп. 1-4.
6. Система для параллельного выполнения транзакций в сети блокчейнов, содержащая:
– один или более компьютеров; и
– одно или более машиночитаемых запоминающих устройств, соединенных с одним или более компьютерами и имеющих сохраненные на нём инструкции, которые выполняются посредством одного или более компьютеров для выполнения способа по любому из пп. 1-4.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/124814 WO2019072303A2 (en) | 2018-12-28 | 2018-12-28 | EXECUTING PARALLEL TRANSACTIONS IN A BLOCK CHAINS NETWORK |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2738826C1 true RU2738826C1 (ru) | 2020-12-17 |
Family
ID=66100036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019124540A RU2738826C1 (ru) | 2018-12-28 | 2018-12-28 | Параллельное выполнение транзакций в сети блокчейнов |
Country Status (13)
Country | Link |
---|---|
US (1) | US11132676B2 (ru) |
EP (1) | EP3571653A4 (ru) |
JP (1) | JP6816300B2 (ru) |
KR (1) | KR102234128B1 (ru) |
CN (1) | CN110520882B (ru) |
AU (1) | AU2018347203B2 (ru) |
BR (1) | BR112019016064A2 (ru) |
CA (1) | CA3052348A1 (ru) |
MX (1) | MX2019009286A (ru) |
PH (1) | PH12019501791A1 (ru) |
RU (1) | RU2738826C1 (ru) |
SG (1) | SG11201907157XA (ru) |
WO (1) | WO2019072303A2 (ru) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118196938A (zh) * | 2018-12-06 | 2024-06-14 | 开利公司 | 由区块链支持的智能锁系统 |
CA3052348A1 (en) | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | Parallel execution of transactions in a blockchain network |
CN110300985B (zh) | 2018-12-28 | 2023-08-01 | 创新先进技术有限公司 | 基于智能合约白名单在区块链网络中并行执行交易 |
CN111095325B (zh) * | 2019-04-12 | 2023-10-27 | 创新先进技术有限公司 | 在分布式账本系统中进行交易的并行执行 |
WO2019120334A2 (en) | 2019-04-12 | 2019-06-27 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
SG11201910069YA (en) * | 2019-04-30 | 2019-11-28 | Alibaba Group Holding Ltd | Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology |
EP4071648A1 (en) * | 2019-06-15 | 2022-10-12 | Meta Platforms, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11126593B2 (en) | 2019-06-15 | 2021-09-21 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
CN110611702B (zh) * | 2019-08-29 | 2022-04-01 | 魏松杰 | 区块链的文件快速传输方法、设备、系统及存储介质 |
CN113570460A (zh) * | 2019-08-30 | 2021-10-29 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
JPWO2021064852A1 (ru) * | 2019-10-01 | 2021-04-08 | ||
KR102335058B1 (ko) * | 2019-11-19 | 2021-12-06 | 한양대학교 산학협력단 | 상호 의존성을 가지는 병렬 트랜잭션들을 선형화하는 방법, 이를 이용하는 블록체인 노드 및 프로그램 |
KR102342788B1 (ko) * | 2019-11-19 | 2021-12-24 | 한양대학교 산학협력단 | 트랜잭션의 병렬적 실행을 지원하는 방법, 이를 이용하는 블록체인 노드 및 프로그램 |
CN111181731B (zh) * | 2019-12-31 | 2022-07-12 | 南京可信区块链与算法经济研究院有限公司 | 联盟链中智能合约的执行优化方法、系统及存储介质 |
CN111240831A (zh) * | 2019-12-31 | 2020-06-05 | 陕西医链区块链集团有限公司 | 区块链中交易并行执行方法、装置、电子设备、存储介质 |
CN111339108A (zh) * | 2020-02-18 | 2020-06-26 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111292192A (zh) * | 2020-02-18 | 2020-06-16 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111405037A (zh) * | 2020-03-13 | 2020-07-10 | 杭州复杂美科技有限公司 | 区块同步方法、设备和存储介质 |
CN111414374B (zh) * | 2020-03-20 | 2023-04-28 | 深圳市迅雷网络技术有限公司 | 一种区块链交易并发处理方法、装置及设备 |
CN111640020B (zh) | 2020-05-22 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN112104606B (zh) * | 2020-08-12 | 2022-06-17 | 北京智融云河科技有限公司 | 一种基于随机多节点的可信执行方法和系统 |
CN112037061A (zh) * | 2020-08-31 | 2020-12-04 | 深圳前海微众银行股份有限公司 | 区块链中交易的处理方法、装置、电子设备及存储介质 |
WO2022093256A1 (en) * | 2020-10-30 | 2022-05-05 | Hewlett-Packard Development Company, L.P. | Provisioning of computational resources |
US11743327B2 (en) | 2021-02-05 | 2023-08-29 | International Business Machines Corporation | Topological ordering of blockchain associated proposals |
CN112884586B (zh) * | 2021-04-28 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 交易执行方法和区块链节点 |
CN113064730A (zh) * | 2021-04-30 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 区块链交易执行方法、区块链节点及控制装置 |
CN113658003B (zh) * | 2021-08-17 | 2024-03-29 | 工银科技有限公司 | 基于区块链网络的交易方法、装置、设备及存储介质 |
CN113656507B (zh) * | 2021-08-26 | 2024-03-08 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN113537991B (zh) * | 2021-09-16 | 2022-03-01 | 中国信息通信研究院 | 一种跨链交易有序执行方法和跨链系统 |
KR20230068800A (ko) | 2021-11-11 | 2023-05-18 | 서강대학교산학협력단 | 트랜잭션 충돌 방지 가능한 블록체인 네트워크 및 트랜잭션 충돌 방지 방법 |
CN114331711A (zh) * | 2021-11-30 | 2022-04-12 | 山大地纬软件股份有限公司 | 一种基于关联语义的区块链交易并行执行方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2390838C2 (ru) * | 2002-05-10 | 2010-05-27 | Майкрософт Корпорейшн | Контекст устойчивой авторизации на основе внешней аутентификации |
CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
CN108846659A (zh) * | 2018-06-13 | 2018-11-20 | 深圳前海微众银行股份有限公司 | 基于区块链的转账方法、装置及存储介质 |
CN109064171A (zh) * | 2018-07-26 | 2018-12-21 | 杭州秘猿科技有限公司 | 一种区块链并行交易的方法、装置及电子系统 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870310B1 (en) | 2013-11-11 | 2018-01-16 | Amazon Technologies, Inc. | Data providers for annotations-based generic load generator |
EP4375908A1 (en) | 2015-10-17 | 2024-05-29 | Banqu, Inc. | Blockchain-based identity and transaction platform |
US20170132630A1 (en) | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
EP3193299A1 (en) | 2016-01-15 | 2017-07-19 | Accenture Global Services Limited | Device, method and system for autonomous selection of a commodity supplier through a blockchain distributed database |
US10255108B2 (en) * | 2016-01-26 | 2019-04-09 | International Business Machines Corporation | Parallel execution of blockchain transactions |
US10720232B2 (en) * | 2016-04-13 | 2020-07-21 | Accenture Global Solutions Limited | Distributed healthcare records management |
US10046228B2 (en) * | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
CN109313781A (zh) | 2016-07-01 | 2019-02-05 | 富国银行 | 国际贸易融资区块链系统 |
US10425399B2 (en) * | 2016-07-12 | 2019-09-24 | International Business Machines Corporation | Template-based distributed certificate issuance in a multi-tenant environment |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
WO2018031551A1 (en) | 2016-08-08 | 2018-02-15 | The Dun & Bradstreet Corporation | Trusted platform and integrated bop applications for networking bop components |
US20180158034A1 (en) | 2016-12-07 | 2018-06-07 | International Business Machines Corporation | Dynamic reordering of blockchain transactions to optimize performance and scalability |
US11200966B2 (en) * | 2016-12-27 | 2021-12-14 | Cerner Innovation, Inc. | Healthcare system based on devices and wearables |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
EP3563325A4 (en) | 2016-12-30 | 2020-09-02 | Slock.it GmbH | BLOCKCHAIN ACTIVATED SERVICE PROVIDER SYSTEM |
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN106878000B (zh) | 2017-03-06 | 2020-02-21 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种联盟链共识方法及系统 |
CN106934710A (zh) | 2017-03-06 | 2017-07-07 | 钱德君 | 一种基于智能合约内容的量子合约账本 |
US10489597B2 (en) * | 2017-03-28 | 2019-11-26 | General Electric Company | Blockchain verification of network security service |
GB201707296D0 (en) * | 2017-05-08 | 2017-06-21 | Nchain Holdings Ltd | Computer-implemented system and method |
WO2018237264A1 (en) * | 2017-06-22 | 2018-12-27 | Jpmorgan Chase Bank, N.A. | SYSTEM AND METHOD FOR IMPLEMENTING AN INTERBAN INFORMATION NETWORK |
US10679210B2 (en) | 2017-06-26 | 2020-06-09 | International Business Machines Corporation | Blockchain transaction commitment ordering |
US10616324B1 (en) | 2017-07-20 | 2020-04-07 | Architecture Technology Corporation | Decentralized ledger system and method for enterprises |
US11196552B2 (en) * | 2017-08-04 | 2021-12-07 | Truss Financial, LLC | Secure data distribution protocol using blockchains |
CN107688999B (zh) * | 2017-08-11 | 2020-11-13 | 杭州溪塔科技有限公司 | 一种基于区块链的并行交易执行方法 |
US11132451B2 (en) * | 2017-08-31 | 2021-09-28 | Parity Technologies Ltd. | Secret data access control systems and methods |
US20190087793A1 (en) * | 2017-08-31 | 2019-03-21 | Brown University | Adding concurrency to smart contracts |
RU2673399C1 (ru) | 2017-09-07 | 2018-11-26 | Олег Александрович Серебренников | Способ сохранения покупательной способности сбережений |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
JP2020535543A (ja) * | 2017-09-27 | 2020-12-03 | セキュレンシー、インコーポレイテッド | コンプライアンス対応のトークン化及び資産価値の制御のための方法、装置、及びコンピュータ可読媒体 |
US11100483B2 (en) * | 2017-09-29 | 2021-08-24 | Intel Corporation | Hierarchical data information |
CN107704269A (zh) * | 2017-10-16 | 2018-02-16 | 中国银行股份有限公司 | 一种基于区块链生成区块的方法以及系统 |
CN107833060B (zh) * | 2017-11-13 | 2020-12-25 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
JP2019125914A (ja) | 2018-01-16 | 2019-07-25 | アラクサラネットワークス株式会社 | 通信装置及びプログラム |
CN108848119B (zh) | 2018-04-03 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
RU181439U1 (ru) | 2018-04-06 | 2018-07-13 | Оксана Валерьевна Кириченко | Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети |
CN108683646B (zh) * | 2018-04-28 | 2021-03-16 | 厦门美图之家科技有限公司 | 一种认证方法及计算设备 |
CN108681565B (zh) * | 2018-04-28 | 2020-11-10 | 百度在线网络技术(北京)有限公司 | 区块链数据并行处理方法、装置、设备和存储介质 |
CN108769173B (zh) * | 2018-05-21 | 2021-11-09 | 阿里体育有限公司 | 运行智能合约的区块链实现方法及设备 |
CN110300985B (zh) | 2018-12-28 | 2023-08-01 | 创新先进技术有限公司 | 基于智能合约白名单在区块链网络中并行执行交易 |
CA3052348A1 (en) | 2018-12-28 | 2019-04-18 | Alibaba Group Holding Limited | Parallel execution of transactions in a blockchain network |
-
2018
- 2018-12-28 CA CA3052348A patent/CA3052348A1/en not_active Abandoned
- 2018-12-28 JP JP2019542182A patent/JP6816300B2/ja active Active
- 2018-12-28 AU AU2018347203A patent/AU2018347203B2/en active Active
- 2018-12-28 RU RU2019124540A patent/RU2738826C1/ru active
- 2018-12-28 KR KR1020197023010A patent/KR102234128B1/ko active IP Right Grant
- 2018-12-28 BR BR112019016064-7A patent/BR112019016064A2/pt not_active IP Right Cessation
- 2018-12-28 MX MX2019009286A patent/MX2019009286A/es unknown
- 2018-12-28 WO PCT/CN2018/124814 patent/WO2019072303A2/en unknown
- 2018-12-28 EP EP18867006.1A patent/EP3571653A4/en not_active Withdrawn
- 2018-12-28 SG SG11201907157XA patent/SG11201907157XA/en unknown
- 2018-12-28 CN CN201880005494.9A patent/CN110520882B/zh active Active
-
2019
- 2019-05-24 US US16/421,995 patent/US11132676B2/en active Active
- 2019-08-05 PH PH12019501791A patent/PH12019501791A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2390838C2 (ru) * | 2002-05-10 | 2010-05-27 | Майкрософт Корпорейшн | Контекст устойчивой авторизации на основе внешней аутентификации |
CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
CN108846659A (zh) * | 2018-06-13 | 2018-11-20 | 深圳前海微众银行股份有限公司 | 基于区块链的转账方法、装置及存储介质 |
CN109064171A (zh) * | 2018-07-26 | 2018-12-21 | 杭州秘猿科技有限公司 | 一种区块链并行交易的方法、装置及电子系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190287101A1 (en) | 2019-09-19 |
BR112019016064A2 (pt) | 2020-03-31 |
WO2019072303A2 (en) | 2019-04-18 |
EP3571653A2 (en) | 2019-11-27 |
KR20200083936A (ko) | 2020-07-09 |
WO2019072303A3 (en) | 2019-11-14 |
CA3052348A1 (en) | 2019-04-18 |
JP2020515942A (ja) | 2020-05-28 |
AU2018347203B2 (en) | 2021-01-21 |
MX2019009286A (es) | 2019-10-30 |
PH12019501791A1 (en) | 2020-03-09 |
KR102234128B1 (ko) | 2021-04-02 |
SG11201907157XA (en) | 2019-09-27 |
US11132676B2 (en) | 2021-09-28 |
CN110520882B (zh) | 2023-07-14 |
EP3571653A4 (en) | 2020-04-08 |
JP6816300B2 (ja) | 2021-01-20 |
CN110520882A (zh) | 2019-11-29 |
AU2018347203A1 (en) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2738826C1 (ru) | Параллельное выполнение транзакций в сети блокчейнов | |
RU2731417C1 (ru) | Параллельное выполнение транзакций в сети цепочек блоков на основе белых списков смарт-контрактов | |
US10691835B1 (en) | Verifying integrity of data stored in a consortium blockchain using a public sidechain | |
JP6892513B2 (ja) | 信頼できる実行環境に基づいたオフチェーンスマートコントラクトサービス | |
RU2744827C2 (ru) | Белые списки смарт-контрактов | |
US20200364077A1 (en) | Performing parallel execution of transactions in a distributed ledger system | |
US11088875B2 (en) | Asynchronous processing of blockchain blocks | |
EP3628093B1 (en) | Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20210311 |
|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20210420 |