RU2744498C1 - Способ, устройство и система для блокчейн-консенсуса - Google Patents

Способ, устройство и система для блокчейн-консенсуса Download PDF

Info

Publication number
RU2744498C1
RU2744498C1 RU2019129090A RU2019129090A RU2744498C1 RU 2744498 C1 RU2744498 C1 RU 2744498C1 RU 2019129090 A RU2019129090 A RU 2019129090A RU 2019129090 A RU2019129090 A RU 2019129090A RU 2744498 C1 RU2744498 C1 RU 2744498C1
Authority
RU
Russia
Prior art keywords
consensus
transactional data
blocks
transaction
block
Prior art date
Application number
RU2019129090A
Other languages
English (en)
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 Эдванст Нью Текнолоджиз Ко., Лтд.
Application granted granted Critical
Publication of RU2744498C1 publication Critical patent/RU2744498C1/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Pens And Brushes (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

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

Description

Перекрестная ссылка на родственные заявки
[1] Настоящая заявка основана на и испрашивает приоритет по заявке на патент Китая №. 201710197538.X, поданной 29 марта 2017 года, полное содержимое которой включено в настоящий документ по ссылке.
Область техники
Настоящая заявка относится к области технологий компьютерного программного обеспечения, и в частности, к способам, устройствам и системам для блокчейн-консенсуса.
Уровень техники
[2] Блокчейн представляет собой технологию распределенной базы данных, изначально разработанную для Биткоина. Такая структура данных является особенно подходящей для хранения последовательных данных, которые верифицируются в системе. Кроме того, такая структура данных использует алгоритм консенсуса для гарантии того, что данные не могут быть подделаны или подменены. Алгоритм консенсуса является алгоритмом, который требует участия со стороны узлов в блокчейне и достигает консенсуса посредством выполнения совместного вычисления множеством узлов. Например, после приема транзакционных данных узел регистрации данных осуществляет широковещательную передачу транзакционных данных другим участвующим узлам, а другие участвующие узлы выполняют консенсусную обработку, чтобы определить, имеет ли узел регистрации данных право на регистрацию данных для упомянутых транзакционных данных. Если результатом консенсуса других участвующих узлов является то, что узел регистрации данных имеет право на регистрацию данных для упомянутых транзакционных данных, узел регистрации данных сохраняет эти транзакционные данные в блокчейне, соответствующем узлу регистрации данных. Таким образом, алгоритм консенсуса в технологии блокчейн является регулирующим законом для программ или узлов в блокчейне, который гарантирует, что все узлы могут сотрудничать в согласованном порядке при любых обстоятельствах.
[3] Практическая Устойчивость к Византийской Проблеме (PBFT) является общим алгоритмом консенсуса в блокчейне. Алгоритм PBFT может обеспечить некоторую устойчивость, обеспечивая при этом активность и безопасность, и поэтому он является широко используемым. В алгоритме PBFT один узел является главным узлом, а другие узлы являются резервными узлами. Главный узел отвечает за сортировку принятых запросов транзакций, а затем широковещательную передачу этих запросов транзакций резервным узлам согласно результату сортировки. Алгоритм PBFT обычно состоит из трех фаз: предварительной подготовки, подготовки и совершения. Фаза предварительно подготовки и фаза подготовки используются для определения последовательности запросов транзакций.
[4] Однако вполне вероятно, что главный узел допустит ошибки при сортировке запросов транзакций, например, даст один и тот же порядковый номер различным запросам транзакций или не присвоит порядковый номер вовсе или лишит порядковые номера смежных запросов транзакций непрерывности и т.д. В результате резервному узлу необходимо верифицировать последовательность запросов транзакций при приеме упорядоченных запросов транзакций.
[5] В результате алгоритм PBFT осуществляет много вычислений и расчетов, чтобы гарантировать последовательность. В ходе исследований было установлено, что многие используемые в настоящее время алгоритмы консенсуса (например, механизмы консенсуса, такие как механизм доказывания объема работ и механизм доказывания прав и преимуществ и т.д.) должны выполнять большой объем вычислений и расчетов над последовательностью при выполнении консенсусной обработки, что потребляет значительные ресурсы системы.
[6] В практических применениях, однако, имеется много запросов транзакций без требований последовательности. Запрос транзакции без требований последовательности означает, что при приеме запросов транзакций серверу не нужно обрабатывать принятые запросы транзакций в соответствии с порядком времени принятия, например, благотворительные транзакции, краудфандинговые транзакции без верхнего предела или квоты и т.д. В качестве примера, последовательность пожертвований в благотворительных транзакциях на обработку транзакций не влияет. Таким образом, запросы транзакций этого типа могут быть отнесены к запросам транзакций, которые не имеют требований к последовательности ("запросу транзакции без требований последовательности" для краткости). Когда запросы транзакций этого типа обрабатываются в блокчейне, использование текущего алгоритма консенсуса приведет к относительно низкой эффективности обработки для транзакций этого типа, и в то же время, также окажет негативное влияние на консенсусную пропускную способность блокчейна.
Сущность изобретения
[7] В виду вышесказанного, варианты осуществления настоящего раскрытия обеспечивают способы, устройства и системы для блокчейн-консенсуса, чтобы по меньшей мере сгладить проблему предшествующего уровня техники, заключающуюся в том, что эффективность обработки является низкой, когда алгоритм консенсуса используется для обработки запросов транзакций без требований последовательности.
[8] Согласно одному аспекту, способ блокчейн-консенсуса может содержать: получение транзакционных данных; и распределение, согласно предварительно установленному правилу распределения, транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса, побуждающее упомянутый по меньшей мере один блок консенсуса выполнить консенсусную обработку над распределенными транзакционными данными.
[9] Согласно другому аспекту, способ основанного на блокчейне хранения данных может содержать: прием результатов консенсуса от различных блоков консенсуса; и сохранение результатов консенсуса в блоки блокчейна согласно временным меткам результатов консенсуса.
[10] Согласно другому аспекту, система блокчейн-консенсуса может содержать: блок распределения и набор блоков консенсуса, содержащий множество блоков консенсуса, при этом: блок распределения выполнен с возможностью получения транзакционных данных и распределения, согласно предварительно установленному правилу распределения, транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса; и по меньшей мере один блок консенсуса выполнен с возможностью выполнения консенсусной обработки над распределенными транзакционными данными.
[11] Согласно другому аспекту устройство блокчейн-консенсуса содержит процессор и долговременный считываемый компьютером носитель, хранящий инструкции, которые при исполнении процессором, побуждают устройство блокчейн-консенсуса выполнить способ. Способ может содержать: получение транзакционных данных; и распределение, согласно предварительно установленному правилу распределения, транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса, побуждающее упомянутый по меньшей мере один блок консенсуса выполнить консенсусную обработку над распределенными транзакционными данными.
[12] Согласно другому аспекту устройство основанного на блокчейне хранения данных содержит процессор и долговременный считываемый компьютером носитель, хранящий инструкции, которые при исполнении процессором, побуждают устройство блокчейн-хранения данных выполнить способ. Способ может содержать: прием результатов консенсуса от различных блоков консенсуса; и сохранение результатов консенсуса в блокчейн-блоки согласно временным меткам результатов консенсуса, при этом сохранение результатов консенсуса в блокчейн-блоки содержит: сохранение результатов консенсуса в блоки узлов в сети блокчейн согласно блокам консенсуса, которые генерируют результаты консенсуса.
[13] Настоящее приложение раскрывает примерный алгоритм консенсуса в качестве независимого блока консенсуса, который отличается от традиционного блокчейн-консенсуса, формирует набор блоков консенсуса из таких блоков консенсуса, и после приема транзакционных данных, может распределять, согласно некоторому установленному правилу распределения, транзакционные данные блокам консенсуса в наборе блоков консенсуса для достижения консенсусной обработки над транзакционными данными посредством этих блоков консенсуса. Таким образом, множество блоков консенсуса может выполнять консенсусную обработку одновременно по запросу транзакции без требований последовательности, обработка последовательности существующими алгоритмами консенсуса упрощается, эффективность обработки и пропускная способность по обработке запросов транзакций без требований последовательности улучшаются, а также улучшаются эксплуатационные характеристики сети блокчейн.
Краткое описание чертежей
[14] Для более ясного описания технических решений в вариантах осуществления настоящего раскрытия, прилагаемые чертежи будут кратко описаны следующим образом. Прилагаемые чертежи являются лишь примерными. Другие чертежи могут быть дополнительно получены специалистом в данной области техники в соответствии с приведенными чертежами без изобретательских усилий.
[15] Фиг. 1 представляет собой блок-схему последовательности операций способа блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия.
[16] Фиг. 2 представляет собой блок-схему последовательности операций способа блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия.
[17] Фиг. 3 представляет собой блок-схему последовательности операций способа блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия.
[18] Фиг. 4 представляет собой блок-схему последовательности операций способа основанного на блокчейне хранения данных согласно варианту осуществления настоящего раскрытия.
[19] Фиг. 5 представляет собой структурное схематичное представление системы блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия.
[20] Фиг. 6 представляет собой схематичное представление устройства блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия.
[21] Фиг. 7 представляет собой схематичное представление устройства блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия.
[22] Фиг. 8 представляет собой структурное схематичное представление устройства основанного на блокчейне хранения данных согласно варианту осуществления настоящего раскрытия.
Подробное описание
[23] Чтобы позволить специалисту в данной области техники лучше понять технические решения в настоящем раскрытии, технические решения в вариантах осуществления будут ясно и полностью описаны ниже со ссылкой на прилагаемые чертежи. Должно быть очевидно, что описанные варианты осуществления являются лишь примерными. Все другие варианты осуществления, которые могут быть получены специалистом в данной области техники без какого-либо изобретательского усилия и на основе вариантов осуществления настоящего раскрытия, должны охватываться объемом настоящего раскрытия.
[24] Решения согласно настоящему раскрытию будут подробно описаны в нижеследующих вариантах осуществления.
[25] Фиг. 1 представляет собой блок-схему последовательности операций способа блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия. С позиции программ, основным органом, который исполняет последовательность операций, может быть приложение (APP) или программа на терминале персонального компьютера (ПК). С позиции устройств, основной орган, который исполняет последовательность операций, может включать в себя следующие устройства, но без ограничения: персональные компьютеры, большие или средние компьютеры, компьютерные кластеры, сотовые телефоны, планшетные компьютеры, носимые смарт-устройства, транспортную технику и т.д.
[26] Согласно одному варианту осуществления способ блокчейн-консенсуса, показанный на Фиг. 1, может содержать следующие этапы:
[27] S101: получение транзакционных данных (например, транзакционных данных, которые претендуют на консенсусную обработку в сети блокчейн, и эти транзакционные данные могут именоваться "подлежащими консенсусу" транзакционными данными).
[28] В одном варианте осуществления, если основным органом, который исполняет способ, является блокчейн-узел (далее упоминаемый как «узел») в сети блокчейн, узел может принять подлежащий обработке запрос транзакции, получить транзакционные данных из запроса транзакции и сохранить транзакционные данные. Подлежащие консенсусу транзакционные данные на этапе S101 могут быть сохраненными транзакционными данными. Запрос транзакции в данном документе может быть запросом транзакции, отправленным клиентским терминалом, например запросом на ведение учета или запросом на исполнение другой операции конечного автомата; или может быть запросом транзакции, отправленным другими устройствами, который в настоящем документе не ограничен.
[29] В некоторых вариантах осуществления подлежащие консенсусу транзакционные данные могут относиться к одному набору транзакционных данных, например, последующая операция инициируется, когда принят один набор транзакционных данных. В качестве альтернативы, подлежащие консенсусу транзакционные данные могут относиться к множеству наборов подлежащих консенсусу транзакционных данных, например, последующая операция инициируется, когда принято множество наборов транзакционных данных. В качестве альтернативы, подлежащие консенсусу транзакционные данные могут быть транзакционными данными, генерируемыми в течение установленного периода времени, например, транзакционные данные, генерируемые в течение установленного периода времени, принимаются, а последующая операция инициируется по истечении этого установленного периода времени. Число наборов получаемых транзакционных данных не ограничено в настоящем документе.
[30] "Транзакционные данные" в настоящем документе содержат транзакционные данные без каких-либо требований последовательности. А именно, при обработке получаемых транзакционных данных, фактор времени этих транзакционных данных не учитывается. Например, принятый запрос транзакции является запросом на пожертвование. Тогда, подлежащие консенсусу транзакционные данные являются получаемыми подлежащими консенсусу транзакционными данными. Для транзакционных данных, связанных с пожертвованием, последовательность обработки транзакционных данных не имеет значения для отправителя. А именно, фактор времени отправки отправителем запроса на пожертвование игнорируется. Таким образом, этот тип запроса транзакции также именуется запросом транзакции без каких-либо требований последовательности.
[31] S102: распределение, согласно предварительно установленному правилу распределения, транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса.
[32] Блок консенсуса используют здесь для выполнения консенсусной обработки над распределенными транзакционными данными.
[33] В технологии блокчейн алгоритм консенсуса используется для обработки получаемых транзакционных данных, при этом алгоритм консенсуса представляет собой алгоритм, который завершается голосующими узлами, участвующими в консенсусе, например, все голосующие узлы в конечном итоге достигают консенсусного результата на основе совместного вычисления.
[34] Набор блоков консенсуса в одном варианте осуществления содержит блоки консенсуса и каждый блок консенсуса может обеспечить независимую консенсусную транзакцию. Другими словами, различные блоки консенсуса могут использовать один и тот же алгоритм консенсуса или могут использовать различные алгоритмы консенсуса.
[35] В некоторых вариантах осуществления в настоящем документе число блоков консенсуса, содержащихся в наборе блоков консенсуса, не ограничено. Число голосующих узлов, содержащихся в различных блоках консенсуса, может быть одинаковым или может быть разным. Например, если алгоритм консенсуса является PBFT-алгоритмом, один голосующий узел в блоке консенсуса содержит один первичный узел и четыре вторичных узла. Если алгоритмом консенсуса является механизм доказательства выполнения работы, то блок консенсуса содержит по меньшей мере один голосующий узел. Таким образом, число голосующих узлов в блоке консенсуса не ограничено в настоящем документе и может быть определено согласно фактическим требованиям алгоритма консенсуса.
[36] Таким образом, в отношении подлежащих консенсусу транзакционных данных, консенсусная обработка согласно решениям в различных вариантах осуществления может быть выполнена над разными транзакционными данными одновременно. А именно, разные транзакционные данные одновременно распределяются разным блокам консенсуса, а эти блоки консенсуса выполняют консенсусную обработку над принятыми транзакционными данными независимо.
[37] Различные способы распределения, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса будут подробно описаны ниже.
[38] В одном примере первый способ распределения может содержать: согласно числу наборов принимаемых подлежащих консенсусу транзакционных данных, определение соответствующего числа блоков консенсуса из набора блоков консенсуса случайным образом; и распределение, одновременно, подлежащих консенсусу транзакционных данных определенным блокам консенсуса, соответственно.
[39] В одном примере, когда число наборов подлежащих консенсусу транзакционных данных равно единице, один блок консенсуса из набора блоков консенсуса определяется случайным образом. Подлежащие консенсусу транзакционные данные распределяются определенному блоку консенсуса, а этот блок консенсуса осуществляет консенсусную обработку над подлежащими консенсусу транзакционными данными.
[40] Когда число наборов подлежащих консенсусу транзакционных данных больше одного, согласно числу наборов подлежащих консенсусу транзакционных данных, аналогичное число блоков консенсуса определяется случайным образом из набора блоков консенсуса. Наборы подлежащих консенсусу транзакционных данных последовательно распределяются определенным различным блокам консенсуса, соответственно.
[41] Например, получаемые подлежащие консенсусу транзакционные данные содержат подлежащие консенсусу транзакционные данные 1, подлежащие консенсусу транзакционные данные 2 и подлежащие консенсусу транзакционные данные 3, и предполагается, что набор блоков консенсуса содержит блок 1 консенсуса, блок 2 консенсуса, блок 3 консенсуса, блок 4 консенсуса и блок 5 консенсуса. Здесь три блока консенсуса могут быть случайным образом определены из набора блоков консенсуса. Предполагая, что случайно определенными блоками консенсуса являются блок 2 консенсуса, блок 4 консенсуса и блок 5 консенсуса, подлежащие консенсусу транзакционные данные 1, подлежащие консенсусу транзакционные данные 2 и подлежащие консенсусу транзакционные данные 3 последовательно распределяются, случайным образом, определенным разным блокам консенсуса. Например, подлежащие консенсусу транзакционные данные 1 распределяются блоку 5 консенсуса; подлежащие консенсусу транзакционные данные 2 распределяются блоку 4 консенсуса; и подлежащие консенсусу транзакционные данные 3 распределяются блоку 3 консенсуса.
[42] Распределение консенсуса в варианте реализации настоящей заявки не имеет какого-либо требования к последовательности. Таким образом, распределение может осуществляться случайным образом. Кроме того, то, что "подлежащие консенсусу транзакционные данные 1, подлежащие консенсусу транзакционные данные 2 и подлежащие консенсусу транзакционные данные 3 последовательно распределяются, случайным образом, определенным разным блокам консенсуса", может быть реализовано образом одновременного (параллельного) распределения. Распределение осуществляется случайным образом. А именно, когда подлежащие консенсусу транзакционные данные получены, любой блок консенсуса может стать блоком консенсуса в консенсусной транзакции для обработки этих подлежащих консенсусу транзакционных данных. Такой случайный способ распределения может сократить ресурсы, используемые системой при распределении.
[43] Манера действия "случайным образом" в настоящем документе может быть реализована с помощью случайного алгоритма или может быть реализована другими способами, которые в данном документе не ограничены конкретным образом.
[44] В другом примере второй способ распределения может содержать: определение, опросным способом, блоков консенсуса, нуждающихся в консенсусной транзакции, из набора блоков консенсуса; и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса.
[45] В одном примере, когда подлежащие консенсусу транзакционные данные получены, сообщение-запрос отправляется, опросным способом, всем блокам консенсуса в наборе блоков консенсуса для определения того, имеется ли блок консенсуса, нуждающийся в объекте консенсусной транзакции (например, запросе транзакции). Когда определено, что некоторый блок консенсуса нуждается в объекте консенсусной транзакции, подлежащие консенсусу транзакционные данные отправляются этому блоку консенсуса.
[46] Когда число подлежащих консенсусу транзакционных данных равно единице, сообщение-запрос последовательно отправляется всем блокам консенсуса в наборе блоков консенсуса. Когда принимаемое ответное сообщение указывает, что объект консенсусной транзакции необходим, подлежащие консенсусу транзакционные данные отправляются блоку консенсуса, который возвращает упомянутое ответное сообщение.
[47] Когда число подлежащих консенсусу транзакционных данных больше единицы, сообщение-запрос может быть отправлено одновременно всем блокам консенсуса в наборе блоков консенсуса. Когда ответное сообщение принято, определяется число блоков консенсуса, нуждающихся в объекте консенсусной транзакции, что указано в принятом ответном сообщении. Если число блоков консенсуса превышает число запросов транзакций, блоки консенсуса могут быть выбраны случайным образом согласно первому способу из блоков консенсуса, нуждающихся в объекте консенсусной транзакции, что указано в принятом ответном сообщении, а подлежащие консенсусу транзакционные данные одновременно отправляются случайно выбранным блокам консенсуса, соответственно. Если число блоков консенсуса не превышает число запросов транзакций, подлежащие консенсусу транзакционные данные случайным образом распределяются блокам консенсуса, нуждающимся в объекте консенсусной транзакции, что указано в принятом ответном сообщении, а подлежащие консенсусу транзакционные данные, которые не были распределены, будут продолжать ожидать.
[48] Например, опросным способом определяется, что существуют три блока консенсуса, нуждающихся в объекте консенсусной транзакции. Предположим, что имеется четыре набора полученных подлежащих консенсусу транзакционных данных. Тогда из четырех наборов полученных подлежащих консенсусу транзакционных данных случайным образом выбираются три набора подлежащих консенсусу транзакционных данных. Эти три набора случайно выбранных подлежащих консенсусу транзакционных данных соответственно отправляются блокам консенсуса, нуждающимся в объекте консенсусной транзакции, а один набор подлежащих консенсусу транзакционных данных, который распределен не был, находится в состоянии ожидания распределения.
[49] Если предположить, что имеется два набора полученных подлежащих консенсусу транзакционных данных, эти два набора полученных подлежащих консенсусу транзакционных данных выбираются случайным образом из подлежащих консенсусу транзакционных данных, определенных как нуждающиеся в объекте консенсусной транзакции. Эти два набора полученных подлежащих консенсусу транзакционных данных одновременно отправляются случайно выбранным блокам консенсуса, так что эти блоки консенсуса осуществляют консенсусную обработку над принятыми подлежащими консенсусу транзакционными данными.
[50] В другом примере третий способ распределения может содержать: определение уровня нагрузки каждого блока консенсуса в наборе блоков консенсуса; и распределение, согласно некоторому правилу балансировки нагрузки, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса.
[51] В одном примере, когда подлежащие консенсусу транзакционные данные получены, уровень нагрузки (под уровнем нагрузки здесь может пониматься состояние загрузки текущего блока консенсуса, которое может отличаться от общего уровня нагрузки данного блока консенсуса) каждого блока консенсуса в наборе блоков консенсуса может быть определен так, чтобы гарантировать, что нагрузка сбалансирована для всех блоков консенсуса в наборе блоков консенсуса. Кроме того, текущее количество незанятых ресурсов каждого блока консенсуса может быть определено согласно уровню нагрузки каждого блока консенсуса. В одном варианте осуществления подлежащие консенсусу транзакционные данные могут быть распределены блокам консенсуса в наборе блоков консенсуса, уровень нагрузки которых ниже некоторого установленного условия. А именно, подлежащие консенсусу транзакционные данные распределяются блокам консенсуса в наборе блоков консенсуса, незанятые ресурсы которых превышают установленное пороговое значение.
[52] В некоторых вариантах осуществления в ситуации, когда число блоков консенсуса, нуждающихся в объекте консенсусной транзакции, превышает число запросов транзакций в вышеупомянутом втором способе распределения, способ балансировки нагрузки согласно третьему способу распределения, в дополнение к случайному способу, может быть использован для определения блоков консенсуса, и его подробное описание здесь не приводится.
[53] В одном варианте осуществления, когда все получаемые подлежащие консенсусу транзакционные данные не могут быть распределены блокам консенсуса за один раз, части запросов транзакций необходимо находиться в состоянии ожидания распределения. Затем для запросов транзакций в состоянии ожидания распределения, блоки консенсуса все еще могут быть определены с использованием трех вышеописанных способов распределения.
[54] Например, набор блоков консенсуса содержит три блока консенсуса. Тогда набор блоков консенсуса может одновременно обрабатывать получаемые в один и тот же момент времени подлежащие консенсусу транзакционные данные в числе трех. Если получено четыре (т.е. более трех) наборов подлежащих консенсусу транзакционных данных: подлежащие консенсусу транзакционные данные 1, подлежащие консенсусу транзакционные данные 2, подлежащие консенсусу транзакционные данные 3 и подлежащие консенсусу транзакционные данные 4. То предполагается, что подлежащие консенсусу транзакционные данные 1, подлежащие консенсусу транзакционные данные 2 и подлежащие консенсусу транзакционные данные 3 одновременно распределяются трем блокам консенсуса в наборе блоков консенсуса, а подлежащие консенсусу транзакционные данные 4 будут находится в состоянии ожидания распределения. Когда обнаружено, что некоторый блок консенсуса в наборе блоков консенсуса становится незанятым, подлежащие консенсусу транзакционные данные 4 могут быть распределены этому блоку консенсуса.
[55] В одном варианте осуществления определение блоков консенсуса из набора блоков консенсуса содержит: определение рабочего состояния каждого блока консенсуса в наборе блоков консенсуса, причем рабочее состояние содержит по меньшей мере одно из нормального состояния или ненормального состояния; и определение блоков консенсуса из блоков консенсуса с нормальным состоянием рабочего состояния.
[56] Для гарантии того, что определенный блок консенсуса сможет успешно выполнить консенсусную обработку над полученными подлежащими консенсусу транзакционными данными, рабочее состояние блоков консенсуса в наборе блоков консенсуса может дополнительно отслеживаться. Таким образом, при выборе блоков консенсуса блоки консенсуса с ненормальным рабочим состоянием можно избегать, что действенно повышает эффективность обработки запросов транзакций.
[57] Кроме того, блоки консенсуса в наборе блоков консенсуса могут быть дополнительно снабжены модулем управления переключениями (switch control). Таким образом, когда количество запросов транзакций, которые подлежат обработке в сети блокчейн, является относительно малым, некоторые блоки консенсуса в наборе блоков консенсуса могут быть отключены, что сэкономит системные ресурсы для улучшения коэффициента использования системных ресурсов. В некоторых вариантах осуществления, посредством управления состоянием переключения каждого блока консенсуса, блокчейн в способе реализации настоящей заявки может улучшить доступность системы при столкновении с такими проблемами, как простой или отключение Интернета. Например, когда простой узла или отключение Интернета возникает с блоком консенсуса, недостаток низкой доступности системы в существующем порядке можно избежать, выключив этот блок консенсуса.
[58] S103: блок консенсуса выполняет (например, побуждается к выполнению) консенсусную обработку над распределенными транзакционными данными.
[59] В одном варианте осуществления в данном документе, алгоритм консенсуса, используемый блоками консенсуса, не ограничивается и может быть любым алгоритмом консенсуса, в том числе общепринятым PBFT-алгоритмом.
[60] Специалист в данной области техники поймет, что какое-либо требование последовательности для распределения подлежащих консенсусу транзакционных данных в способах реализации настоящего раскрытия отсутствует. В этом раскрытии алгоритм консенсуса может быть обеспечен как независимый блок консенсуса, что отличатся от традиционного блокчейн-консенсуса. Набор блоков консенсуса формируется из этих блоков консенсуса, и при приеме подлежащих консенсусу транзакционных данных, транзакционные данные могут быть распределены, согласно установленному правилу распределения, блокам консенсуса в наборе блоков консенсуса для достижения консенсусной обработки над транзакционными данными блоками консенсуса. Таким образом, множество блоков консенсуса может выполнять консенсусную обработку одновременно по запросу транзакции без требований последовательности, обработка последовательности существующими алгоритмами консенсуса упрощается, эффективность обработки и пропускная способность по обработке запросов транзакций без требований последовательности улучшаются, а также улучшаются эксплуатационные характеристики сети блокчейн.
[61] В некоторых вариантах осуществления, запросы транзакций могут содержать запросы транзакций без каких-либо требований последовательности. Запрос транзакции без каких-либо требований последовательности включает в себя, но без ограничения, благотворительные транзакции, краудфандинговые транзакции без верхнего предела или квоты и т.д. Что касается благотворительной транзакции, последовательность пожертвования может не оказывать влияния на транзакцию на миллисекундном уровне, а краудфандинговые транзакции без верхнего предела или квоты могут иметь тот же самый характер. Таким образом, запросы транзакций этого типа также могут рассматриваться как запросы без каких-либо требований последовательности. В одном варианте осуществления операционную эффективность консенсусной обработки можно повысить в способе одновременного консенсуса для запросов транзакций этого типа без каких-либо требований последовательности. С принятием такого способа одновременного консенсуса пропускная способность всей блокчейн-системы значительно улучшается и, в частности, модуль алгоритма консенсуса больше не является узким местом во всей блокчейн-системе.
[62] Фиг. 2 представляет собой блок-схему последовательности операций способа блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия. Способ может включать в себя следующие этапы.
[63] S201: получение транзакционных данных.
[64] Это идентично или схоже с действием на этапе S101 со ссылкой на Фиг. 1 и подробно описано не будет.
[65] S202: определение объема ресурсов, требуемого для обработки транзакционных данных, и объема незанятых ресурсов каждого блока консенсуса в наборе блоков консенсуса.
[66] В одном варианте осуществления, когда подлежащие консенсусу транзакционные данные получены, ресурсы, требуемые для обработки этих подлежащих консенсусу транзакционных данных, могут быть определены.
[67] Кроме того, текущей объем незанятых ресурсов каждого блока консенсуса в наборе блоков консенсуса может быть определен посредством запроса.
[68] S203: сравнение объема незанятых ресурсов каждого блока консенсуса с ресурсами, требуемыми для обработки транзакционных данных, соответственно, и определение числа блоков консенсуса, объем незанятых ресурсов которых превышает объем ресурсов, требуемый для обработки этих транзакционных данных.
[69] S204: определение, превышает ли упомянутое число установленное значение; если да, то способ переходит на этап S205; в противном случае способ переходит на этап S206.
[70] Установленное значение в вариантах осуществления настоящего раскрытия может быть определено по мере необходимости или может быть определено согласно экспериментальным данным, что в данном документе не ограничено.
[71] S205: определение, опросным способом, блоков консенсуса, нуждающихся в консенсусной транзакции, из блоков консенсуса, незанятые ресурсы которых превышают ресурсы, требуемые для обработки транзакционных данных, и распределение транзакционных данных определенным блокам консенсуса.
[72] Второй способ распределения, описанный выше со ссылкой на этап S102, может быть использован здесь в качестве опросного способа для определения блоков консенсуса, нуждающихся в консенсусной транзакции.
[73] В одном варианте осуществления принят механизм опроса и распределения каждых подлежащих консенсусу транзакционных данных. Согласно механизму опроса и распределения, согласующее устройство или блок распределения, отвечающий за распределение, периодически рассылает опрос для последовательного опроса каждого блока консенсуса о том, является ли объект консенсусной транзакции необходимым. Если да, то транзакция обеспечивается, т.е. подлежащие консенсусу транзакционные данные распределяются, и когда транзакция завершена, опрашивается следующий блок консенсуса, что повторяется постоянно.
[74] S206: определение, согласно правилу балансировки нагрузки, блоков консенсуса, у которых уровень нагрузки ниже некоторого установленного условия, из блоков консенсуса, незанятые ресурсы которых превышают ресурсы, требуемые для обработки транзакционных данных, и распределение этих транзакционных данных определенным блокам консенсуса.
[75] Третий способ распределения, описанный выше со ссылкой на этап S102, может быть использован здесь в качестве способа, в котором правило балансировки нагрузки используется для определения блоков консенсуса.
[76] Например, имеется пять наборов подлежащих консенсусу транзакционных данных, ожидающих обработки в некоторый момент времени, в то время как в настоящее время имеется три блока консенсуса, способных участвовать в консенсусной транзакции. Тогда нагрузка запросов транзакций превышает возможности обработки независимых блоков консенсуса. Нагрузка подлежащих консенсусу транзакционных данных и возможности обработки независимых блоков консенсуса сравниваются для обеспечения ориентира для следующего распределения консенсуса, так что каждый блок консенсуса используется на своем максимальном уровне, а объем консенсусной обработки за единицу времени, например, пропускная способность, улучшается.
[77] В некоторых вариантах осуществления используемый способ распределения с балансировкой нагрузки включает в себя, но без ограничения, способ программной или аппаратной балансировки нагрузки, например, через балансировку нагрузки DNS, балансировку нагрузки шлюза или устройство балансировки нагрузки. Способ распределения с балансировкой нагрузки может предотвратить перегрузку некоторых отдельных блоков консенсуса множеством запросов транзакций в то время, как другие отдельные блоки консенсуса простаивают.
[78] По сравнению со способом распределения с балансировкой нагрузки, способ распределения с опросом является более простым в работе, но способ распределения с балансировкой нагрузки обладает более высокой эффективностью.
[79] Фиг. 3 представляет собой блок-схему последовательности операций способа блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия. Способ может дополнительно быть следующим.
[80] S301: получение по меньшей мере одного набора транзакционных данных.
[81] S302: группировка упомянутых по меньшей мере одних транзакционных данных для получения одной или нескольких групп транзакционных данных.
[82] В одном варианте осуществления, поскольку подлежащие консенсусу транзакционные данные являются транзакционными данными без каких-либо требований последовательности, полученные подлежащие консенсусу транзакционные данные могут быть сгруппированы, так что эффективность обработки этих транзакционных данных может быть улучшена.
[83] S303: согласно предварительно установленному правилу распределения, распределение (например, одновременное распределение) групп транзакционных данных различным блокам консенсуса в наборе блоков консенсуса.
[84] Здесь, блок консенсуса используется для выполнения консенсусной обработки над распределенными подлежащими консенсусу транзакционными данными.
[85] Фиг. 4 представляет собой блок-схему последовательности операций способа основанного на блокчейне хранения данных согласно варианту осуществления настоящего раскрытия. Способ может быть следующим.
[86] S401: прием результатов консенсуса, отправленных разными блоками консенсуса в сети блокчейн.
[87] В одном варианте осуществления блоки консенсуса могут иметь возможность хранения данных. Когда результат консенсуса получен, этот результат консенсуса необходимо лишь сохранить; они также могут не иметь возможности хранения данных, тогда различные блоки консенсуса могут отправлять полученные результаты консенсуса в некоторый общедоступный узел, а этот общедоступный узел выполнит сохранение.
[88] S402: сохранение результатов консенсуса в блоки сети блокчейн согласно временным меткам результатов консенсуса.
[89] В одном примере, в соответствии с временем генерирования результатов консенсуса, различные результаты консенсуса последовательно сохраняются в блоки блокчейна; в качестве альтернативы, в соответствии с временем приема результатов консенсуса, различные результаты консенсуса последовательно сохраняются в блоки блокчейна.
[90] В одном варианте осуществления, когда результаты консенсуса сохраняются в блоки блокчейна, узлы хранения могут быть выбраны случайным образом; или в соответствии с отношением соответствия между блоками консенсуса и узлами хранения, результаты консенсуса сохраняются в блоки узлов в сети блокчейн, соответствующих блокам консенсуса, которые генерируют эти результаты консенсуса, что в данном документе не ограничено. А именно, блок консенсуса может сохранять результаты консенсуса, которые он сам генерирует, сохранять результаты консенсуса, генерируемые другими блоками консенсуса, или не сохранять результаты консенсуса с сохранением результатов консенсуса в независимых узлах хранения.
[91] В одном примере, в дополнение к обеспечению модуля управления переключениями для каждого блока консенсуса, модуль управления переключениями может быть дополнительно предусмотрен для узла хранения. При столкновении с простоями узлов хранения, отключением интернета, добавлением новых узлов и выталкиванием старых узлов, такой модуль управления переключениями значительно повышает доступность всей блокчейн-системы.
[92] Фиг. 5 представляет собой структурное схематичное представление системы блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия. Система консенсуса содержит: блок 501 распределения и набор 502 блоков консенсуса, содержащий блоки 5021a-d консенсуса, при этом: блок 501 распределения получает подлежащие консенсусу транзакционные данные и распределяет, согласно предварительно установленному правилу распределения, подлежащие консенсусу транзакционные данные по меньшей мере одному блоку консенсуса (например, 5021a, b, c или d) в наборе 502 блоков консенсуса; и блоки 5021a-d консенсуса, содержащиеся в наборе 502 блоков консенсуса, выполняют консенсусную обработку над распределенными подлежащими консенсусу транзакционными данными.
[93] В одном варианте осуществления, система консенсуса дополнительно содержит один или несколько узлов 503a-d хранения, при этом: узлы 503a-d хранения принимают результаты консенсуса, отправленные различными блоками консенсуса в сети блокчейн, и последовательно сохраняют, в соответствии с временными метками результатов консенсуса, эти результаты консенсуса.
[94] В одном варианте осуществления распределение блоком 501 распределения, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: согласно числу наборов принимаемых подлежащих консенсусу транзакционных данных, определение соответствующего числа блоков консенсуса из набора блоков консенсуса случайным образом; и распределение, одновременно, подлежащих консенсусу транзакционных данных определенным блокам консенсуса, соответственно.
[95] В одном варианте осуществления распределение блоком 501 распределения, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: определение, опросным способом, блоков консенсуса, нуждающихся в консенсусной транзакции, из набора блоков консенсуса; и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса.
[96] В одном варианте осуществления распределение блоком 501 распределения, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: определение уровня нагрузки каждого блока консенсуса в наборе блоков консенсуса; и распределение, согласно некоторому правилу балансировки нагрузки, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса.
[97] В одном варианте осуществления распределение блоком 501 распределения, согласно некоторому правилу балансировки нагрузки, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: распределение подлежащих консенсусу транзакционных данных блокам консенсуса в наборе блоков консенсуса, уровень нагрузки которых ниже некоторого установленного условия.
[98] В одном варианте осуществления распределение блоком 501 распределения, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: определение объема ресурсов, требуемого для обработки подлежащих консенсусу транзакционных данных, и объема незанятых ресурсов каждого блока консенсуса в наборе блоков консенсуса; когда число блоков консенсуса, у которых объем незанятых ресурсов превышает объем ресурсов, требуемый для обработки подлежащих консенсусу транзакционных данных, больше установленного значения, определение, опросным способом, блоков консенсуса, нуждающихся в консенсусной транзакции, из блоков консенсуса, незанятые ресурсы которых превышают ресурсы, требуемые для обработки подлежащих консенсусу транзакционных данных, и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса; и когда число блоков консенсуса, у которых объем незанятых ресурсов превышает объем ресурсов, требуемый для обработки подлежащих консенсусу транзакционных данных, меньше установленного значения, определение, согласно правилу балансировки нагрузки, блоков консенсуса, у которых уровень нагрузки ниже установленного условия, из блоков консенсуса, незанятые ресурсы которых превышают ресурсы, требуемые для обработки подлежащих консенсусу транзакционных данных, и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса.
[99] В одном варианте осуществления определение блоком 501 распределения блоков консенсуса из набора блоков консенсуса содержит: определение рабочего состояния каждого блока консенсуса в наборе блоков консенсуса, причем рабочее состояние содержит по меньшей мере одно из нормального состояния и ненормального состояния; и определение блоков консенсуса из блоков консенсуса с нормальным состоянием рабочего состояния.
[100] В одном варианте осуществления подлежащие консенсусу транзакционные данные содержат транзакционные данные без требований последовательности.
[101] В одном варианте осуществления узел 503 хранения принимает результаты консенсуса, отправленные различными блоками консенсуса в сети блокчейн; и сохраняет, согласно временным меткам результатов консенсуса, результаты консенсуса в блоки сети блокчейн.
[102] В одном варианте осуществления сохранение узлом 503 хранения результатов консенсуса в блоки блокчейна содержит: сохранение результатов консенсуса в блоки узлов в сети блокчейн согласно блокам консенсуса, которые генерируют эти результаты консенсуса.
[103] Фиг. 6 представляет собой схематичное представление устройства 600 блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия. Устройство 600 консенсуса может содержать блок 601 получения и блок 602 обработки, при этом: блок 601 получения получает подлежащие консенсусу транзакционные данные; и блок 602 обработки распределяет, согласно предварительно установленному правилу распределения, подлежащие консенсусу транзакционные данные по меньшей мере одному блоку консенсуса в наборе блоков консенсуса, а блок консенсуса выполнен с возможностью выполнения консенсусной обработки над распределенными подлежащими консенсусу транзакционными данными. В некоторых вариантах осуществления устройство 600 блокчейн-консенсуса может содержать память и процессор, соединенные друг с другом. Память может быть долговременной и считываемой компьютером и может хранить инструкции, которые при исполнении процессором побуждают устройство 600 выполнять один или несколько этапов, описанных в данном документе. Инструкции могут быть реализованы в виде различных блоков, описанных в данном документе. Каждый блок может быть программным обеспечением, аппаратным обеспечением или их комбинацией.
[104] В одном варианте осуществления распределение блоком 602 обработки, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: согласно числу наборов принимаемых подлежащих консенсусу транзакционных данных, определение соответствующего числа блоков консенсуса из набора блоков консенсуса случайным образом; и распределение, одновременно, подлежащих консенсусу транзакционных данных определенным блокам консенсуса, соответственно.
[105] В одном варианте осуществления распределение блоком 602 обработки, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: определение, опросным способом, блоков консенсуса, нуждающихся в консенсусной транзакции, из набора блоков консенсуса; и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса.
[106] В одном варианте осуществления распределение блоком 602 обработки, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: определение уровня нагрузки каждого блока консенсуса в наборе блоков консенсуса; и распределение, согласно некоторому правилу балансировки нагрузки, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса.
[107] В одном варианте осуществления распределение блоком 602 обработки, согласно некоторому правилу балансировки нагрузки, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: распределение подлежащих консенсусу транзакционных данных блокам консенсуса в наборе блоков консенсуса, уровень нагрузки которых ниже некоторого установленного условия.
[108] В одном варианте осуществления распределение блоком 602 обработки, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: определение объема ресурсов, требуемого для обработки подлежащих консенсусу транзакционных данных, и объема незанятых ресурсов каждого блока консенсуса в наборе блоков консенсуса; когда число блоков консенсуса, у которых объем незанятых ресурсов превышает объем ресурсов, требуемый для обработки подлежащих консенсусу транзакционных данных, больше установленного значения, определение, опросным способом, блоков консенсуса, нуждающихся в консенсусной транзакции, из блоков консенсуса, незанятые ресурсы которых превышают ресурсы, требуемые для обработки подлежащих консенсусу транзакционных данных, и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса; и когда число блоков консенсуса, у которых объем незанятых ресурсов превышает объем ресурсов, требуемый для обработки подлежащих консенсусу транзакционных данных, меньше установленного значения, определение, согласно правилу балансировки нагрузки, блоков консенсуса, у которых уровень нагрузки ниже установленного условия, из блоков консенсуса, незанятые ресурсы которых превышают ресурсы, требуемые для обработки подлежащих консенсусу транзакционных данных, и распределение подлежащих консенсусу транзакционных данных определенным блокам консенсуса.
[109] В одном варианте осуществления определение блоком 602 обработки блоков консенсуса из набора блоков консенсуса содержит: определение рабочего состояния каждого блока консенсуса в наборе блоков консенсуса, причем рабочее состояние содержит по меньшей мере одно из нормального состояния и ненормального состояния; и определение блоков консенсуса из блоков консенсуса с нормальным состоянием рабочего состояния.
[110] В одном варианте осуществления подлежащие консенсусу транзакционные данные содержат транзакционные данные без требований последовательности.
[111] Устройство консенсуса согласно различным вариантам осуществления может быть реализовано программным образом или может быть реализовано аппаратным образом, что в данном документе не ограничено. Другими словами, блоки 601 и 602 могут быть функциональными блоками программного обеспечения, хранящимися в памяти. Когда функциональные блоки программного обеспечения исполняются процессором, они побуждают процессор выполнить описанные функции. Блоки 601 и 602 также могут быть аппаратными блоками, такими как запрограммированные схемы для выполнения описанных функций.
[112] Фиг. 7 представляет собой схематичное представление устройства 700 блокчейн-консенсуса согласно варианту осуществления настоящего раскрытия. Устройство 700 консенсуса может содержать блок 701 получения и блок 702 обработки, при этом: блок получения получает по меньшей мере одни подлежащие консенсусу транзакционные данные; и блок обработки одновременно распределяет, согласно предварительно установленному правилу распределения, подлежащие консенсусу транзакционные данные по меньшей мере одному блоку консенсуса в наборе блоков консенсуса, а блок консенсуса выполнен с возможностью выполнения консенсусной обработки над распределенными подлежащими консенсусу транзакционными данными. В некоторых вариантах осуществления устройство 700 блокчейн-консенсуса может содержать память и процессор, соединенные друг с другом. Память может быть долговременной и считываемой компьютером и может хранить инструкции, которые при исполнении процессором побуждают устройство 700 выполнять один или несколько этапов, описанных в данном документе. Инструкции могут быть реализованы в виде различных блоков, описанных в данном документе. Каждый блок может быть программным обеспечением, аппаратным обеспечением или их комбинацией. Другими словами, блоки 701 и 702 могут быть функциональными блоками программного обеспечения, хранящимися в памяти. Когда функциональные блоки программного обеспечения исполняются процессором, они побуждают процессор выполнить описанные функции. Блоки 701 и 702 также могут быть аппаратными блоками, такими как запрограммированные схемы для выполнения описанных функций.
[113] В одном варианте осуществления одновременное распределение блоком 702 обработки, согласно предварительно установленному правилу распределения, подлежащих консенсусу транзакционных данных по меньшей мере одному блоку консенсуса в наборе блоков консенсуса содержит: группировку упомянутых по меньшей мере одних подлежащих консенсусу транзакционных данных для получения одной или нескольких групп транзакционных данных; и согласно предварительно установленному правилу распределения, распределение групп транзакционных данных различным блокам консенсуса в наборе блоков консенсуса.
[114] Фиг. 8 представляет собой структурное схематичное представление устройства 800 основанного на блокчейне хранения данных согласно варианту осуществления настоящей заявки. Устройство 800 хранения может содержать блок 801 приема и блок 802 хранения, при этом: блок 801 приема принимает результаты консенсуса, отправленные различными блоками консенсуса в сети блокчейн; и блок 802 хранения сохраняет, согласно временным меткам результатов консенсуса, результаты консенсуса в блоки сети блокчейн. В некоторых вариантах осуществления устройство 800 блокчейн-консенсуса может содержать память и процессор, соединенные друг с другом. Память может быть долговременной и считываемой компьютером и может хранить инструкции, которые при исполнении процессором побуждают устройство 800 выполнять один или несколько этапов, описанных в данном документе. Инструкции могут быть реализованы в виде различных блоков, описанных в данном документе. Каждый блок может быть программным обеспечением, аппаратным обеспечением или их комбинацией. Например, блоки 801 и 802 могут быть функциональными блоками программного обеспечения, хранящимися в памяти. Когда функциональные блоки программного обеспечения исполняются процессором, они побуждают процессор выполнить описанные функции. Блоки 801 и 802 также могут быть аппаратными блоками, такими как запрограммированные схемы для выполнения описанных функций.
[115] В одном варианте осуществления сохранение блоком 802 хранения результатов консенсуса в блоки блокчейна содержит: сохранение результатов консенсуса в блоки узлов в сети блокчейн согласно блокам консенсуса, которые генерируют эти результаты консенсуса.
[116] Устройство консенсуса согласно различным вариантам осуществления может быть реализовано программным образом или может быть реализовано аппаратным образом, что в данном документе не ограничено. Что касается устройства консенсуса, алгоритм консенсуса обеспечивается как независимый блок консенсуса, что отличатся от традиционного блокчейн-консенсуса. Набор блоков консенсуса формируется из этих блоков консенсуса, и при приеме подлежащих консенсусу транзакционных данных, транзакционные данные могут быть распределены, согласно установленному правилу распределения, блокам консенсуса в наборе блоков консенсуса для достижения консенсусной обработки над транзакционными данными блоками консенсуса. Таким образом, множество блоков консенсуса может выполнять консенсусную обработку одновременно по запросу транзакции без требований последовательности, обработка последовательности существующими алгоритмами консенсуса упрощается, эффективность обработки и пропускная способность по обработке запросов транзакций без требований последовательности улучшаются, а также улучшаются эксплуатационные характеристики сети блокчейн.
[117] Согласно вариантам осуществления настоящего раскрытия, упомянутые устройства соответственно соответствуют упомянутым способам. Таким образом, устройства также достигают благоприятных технических эффектов, аналогичных таковым у соответствующих способов. Поскольку благоприятные технические эффекты способов были подробно описаны выше, благоприятные технические эффекты соответствующих устройств в этом документе повторяться не будут.
[118] В 1990-х годах усовершенствование технологии можно было дифференцировать на усовершенствование аппаратного обеспечения (например, усовершенствование структуры схемы, например, диода, транзистора, коммутатора и т. п.) или усовершенствование программного обеспечения (усовершенствование потока операций способа). Однако, наряду с технологическим развитием, многие текущие улучшения потоков операций способов могут рассматриваться как прямые улучшения структур схем аппаратного обеспечения. Разработчики могут получить соответствующую структуру схемы аппаратного обеспечения, запрограммировав улучшенный поток операций способа в схему аппаратного обеспечения. Следовательно, улучшение потока операций способа может быть реализовано посредством аппаратной реализации. Например, программируемое логическое устройство (PLD) (например, программируемая пользователем вентильная матрица (FPGA)) представляет собой такую интегральную схему, что ее логические функции определяются пользователем посредством программирования устройства. Разработчик может запрограммировать «интеграцию» цифровой системы в один элемент PLD, не обращаясь к производителю микросхем с просьбой спроектировать и изготовить специальную интегральную (IC) микросхему. В настоящее время такой тип программирования главным образом реализуется с помощью программного обеспечения «логического компилятора», а не ручного изготовления IC микросхем. Программное обеспечение логического компилятора аналогично программному компилятору, используемому для разработки и написания программ, в то время как для написания исходных кодов до компиляции используется определенный язык программирования, который именуется языком описания аппаратуры (HDL). Существует не один, а много типов HDL, таких как ABEL (усовершенствованный язык булевых выражений), AHDL (язык описания аппаратуры Altera), Confluence, CUPL (язык программирования Корнельского университета), HDCal, JHDL (язык описания аппаратуры Java), Lava, Lola, MyHDL, PALASM, RHDL (язык описания аппаратуры Ruby). Наиболее часто используемый HDL включает в себя VHDL (язык описания аппаратуры для высокоскоростных интегральных схем) и Verilog. Специалисту в данной области техники известно, как получить схему аппаратного обеспечения для реализации логического потока операций способа, используя вышеупомянутые HDL, чтобы выполнить некоторое логическое программирование над потоком операций способа и запрограммировать его в интегральную схему (IC).
[119] Контроллер может быть реализован любым надлежащим образом. Например, контроллер может иметь, например, форму микропроцессора или процессора, а также считываемого компьютером носителя, который хранит считываемые компьютером программные коды (например, программное обеспечение или встроенное программное обеспечение), которые могут являются пригодными для исполнения (микро)процессором, логическим элементом, коммутатором, интегральной схемой специального назначения (ASIC), программируемым логическим контроллером и встроенным микроконтроллером. Примеры контроллера включают в себя, но без ограничения, следующие микроконтроллеры: ARC 625D, Atmel AT91SAM, микросхему PIC18F26K20 и C8051F320 Silicone Labs. Контроллер памяти может быть дополнительно реализован как часть логики управления памятью. Специалисту в данной области также должно быть понятно, что в дополнение к тому, что контроллер реализуется в виде чисто считываемых компьютером программных кодов, логическое программирование в отношении этапов способа может быть выполнено, чтобы позволить контроллеру реализовать те же самые функции в форме логического элемента, коммутатора, ASIC, программируемого логического контроллера и встроенного микроконтроллера. Следовательно, такой контроллер может рассматриваться как часть аппаратного обеспечения, тогда как устройства, содержащиеся в нем и выполненные с возможностью осуществления различных функций, также могут рассматриваться как структура внутри упомянутой части аппаратного обеспечения. В качестве альтернативы, устройства, выполненные с возможностью осуществления различных функций, могут рассматриваться и как программные модули для реализации способа и как структура внутри части аппаратного обеспечения.
[120] Система, устройство, модуль или блок, описанные в вышеупомянутых вариантах осуществления, могут быть реализованы с помощью компьютерной микросхемы или объекта, или реализованы с помощью изделия, имеющего функцию. Типичным устройством реализации является компьютер. Например, компьютер может быть, например, персональным компьютером, портативным компьютером, сотовым телефоном, телефоном с камерой, смартфоном, карманным персональным компьютером, устройством воспроизведения носителей, навигационным устройством, устройством электронной почты, игровой консолью, планшетным компьютером, носимым устройством или комбинацией любых устройств в этих устройствах.
[121] Для удобства описания вышеупомянутое устройство разделено на различные блоки в соответствии с описываемыми функциями. Функции блоков могут быть реализованы в одном или нескольких элементах программного и/или аппаратного обеспечения при реализации настоящего раскрытия.
[122] Специалист в данной области техники должен понимать, что варианты осуществления настоящего раскрытия могут быть обеспечены в виде способа, системы или компьютерного программного продукта. Следовательно, раскрытая система может быть реализована как полностью аппаратный вариант осуществления, полностью программный вариант осуществления или как вариант осуществления, объединяющий программное и аппаратное обеспечение для выполнения раскрытых способов. Кроме того, раскрытая система может быть в форме компьютерного программного продукта, реализованного на одном или нескольких компьютерных носителях данных (в том числе, помимо прочего, память на магнитном диске, CD-ROM, оптическая память и т.п.), содержащих компьютерные программные коды.
[123] Раскрытая система описана со ссылкой на блок-схемы последовательности операций и/или блок-схемы способа, устройства (системы) и компьютерного программного продукта в соответствии с вариантами осуществления настоящего раскрытия. Инструкция компьютерной программы может использоваться для реализации каждого процесса и/или блока в блок-схемах последовательности операций и/или блок-схемах и некоторой комбинации процессов и/или блоков в блок-схемах последовательности операций и/или блок-схемах. Эти инструкции компьютерной программы могут предоставляться для компьютера общего назначения, компьютера специального назначения, встроенного процессора или процессора других программируемых устройств обработки данных для формирования машины, так что эти инструкции, исполняемые компьютером или процессором других программируемых устройств обработки данных формируют устройство для реализации указанной функции в одном или нескольких процессах на блок-схемах последовательности операций и/или в одном или нескольких блоках на блок-схемах.
[124] Эти инструкции компьютерной программы также могут храниться в считываемой компьютером памяти, которая может побуждать компьютер или другие программируемые устройства обработки данных работать некоторым конкретным образом, так что инструкции, хранящиеся в считываемой компьютером памяти, формируют производимое изделие, которое включает в себя инструктируемое устройство. Инструктируемое устройство реализует одну или несколько функций в одном или нескольких процессах на блок-схемах последовательности операций и/или в одном или нескольких блоках на блок-схемах.
[125] Эти инструкции компьютерной программы также могут быть загружены на компьютер или другие программируемые устройства обработки данных, так что ряд операционных этапов выполняется на компьютере или других программируемых устройствах, тем самым обеспечивая реализуемую компьютером обработку. Следовательно, инструкции, исполняемые на компьютере или других программируемых устройствах, обеспечивают этапы для реализации одной или нескольких функций в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках на блок-схемах.
[126] В типичной конфигурации вычислительное устройство включает в себя один или несколько центральных блоков обработки (CPU), интерфейсы ввода/вывода, сетевые интерфейсы и память.
[127] Память может включать в себя считываемый компьютером носитель, такой как энергозависимая память, оперативная память (RAM) и/или энергонезависимая память, например, постоянная память (ROM) или флэш-RAM. Память является примером считываемого компьютером носителя.
[128] Считываемый компьютером носитель включает в себя постоянные, энергозависимые, мобильные и немобильные носители, которые могут осуществлять хранение информации любым способом или технологией. Информация может быть считываемыми компьютером инструкциями, структурами данных, программными модулями или другими данными. Примеры носителей данных компьютеров включают в себя, но без ограничения, RAM на основе фазового перехода (PRAM), статическую RAM (SRAM), динамическую RAM (DRAM), другие типы устройств оперативной памяти (RAM), устройства постоянной памяти (ROM), электрически стираемые перепрограммируемые ROM (EEPROM), устройства флэш-памяти или другие технологии памяти, компакт-диски только для чтения (CD-ROM), цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, кассеты, кассетные и дисковые запоминающие устройства или другие устройства с магнитной памятью или любые другие не относящиеся к пересылке (данных) носители, которые могут быть использованы для хранения информации, доступной для вычислительного устройства. Согласно приведенным в данном документе определениям считываемые компьютером носители не включают в себя временные носители, такие как модулированные сигналы данных и несущие.
[129] Термины «включающий в себя», «содержащий» или любые другие их варианты предназначены для охвата случая неисключительного включения, так что процесс, способ, продукт или устройство, содержащие ряд элементов, содержат не только эти элементы, но также содержат другие элементы, которые не перечислены, или дополнительно содержат элементы, которые присущи упомянутым процессу, способу, продукту или устройству. Когда дополнительное ограничение отсутствует, элементы, определенные выражением «содержащий один…», не исключают дополнительные аналогичные элементы в процессе, способе, продукте или устройстве, которые содержат определенные элементы.
[130] Настоящее раскрытие может быть описано в обычном контексте исполняемой компьютером инструкции, которая исполняется компьютером, такой как программный модуль. В различных вариантах осуществления программный модуль содержит подпрограмму, программу, объект, компонент, структуру данных и тому подобное для исполнения конкретной задачи или реализации конкретного абстрактного типа данных. Настоящее раскрытие может также применяться на практике в распределенных вычислительных средах. В этих распределенных вычислительных средах удаленные устройства обработки, подключенные через сети связи, выполняют задачи. В распределенных вычислительных средах программный модуль может быть расположен на локальных и удаленных компьютерных носителях данных, в том числе запоминающих устройствах.
[131] Варианты осуществления в этом описании описаны постепенно, так что каждый вариант осуществления фокусируется на отличиях от других вариантов осуществления, и к вариантам осуществления можно обращаться совместно на предмет их идентичных или аналогичных частей. Вариант осуществления системы описан относительно просто, поскольку он по существу аналогичен варианту осуществления способа. К описанию варианта осуществления способа можно обратиться на предмет связанных с ним частей.
[132] Варианты осуществления настоящего раскрытия являются просто примерными и не используются для ограничения настоящего раскрытия. Для специалиста в данной области техники раскрытые варианты осуществления могут быть модифицированы или изменены различными способами. Любая модификация, эквивалентная замена или улучшение, выполненные согласно сущности и принципу настоящего раскрытия, должны охватываться формулой изобретения из настоящего раскрытия.

Claims (48)

1. Способ обеспечения распределения транзакционных данных для блокчейн–консенсуса, содержащий:
- получение транзакционных данных из множества запросов транзакций, при этом полученные транзакционные данные содержат первые транзакционные данные первого запроса транзакции из запросов транзакций и вторые транзакционные данные второго запроса транзакции из запросов транзакций;
- определение, следует ли обрабатывать транзакционные данные в соответствии с порядком времени принятия;
- если определено, что транзакционные данные не следует обрабатывать в соответствии с порядком времени принятия, выполнение
- определения объема ресурсов, требуемого для обработки полученных транзакционных данных;
- определения числа блоков консенсуса в блокчейн-сети, которые обладают незанятыми ресурсами в объеме, который не меньше объема ресурсов, требуемого для обработки полученных транзакционных данных, при этом каждый из блоков консенсуса способен выполнять консенсусную обработку над транзакционными данными отдельного запроса транзакции независимо от других блоков консенсуса;
- определения на основе упомянутого числа по меньшей мере двух блоков консенсуса из упомянутых блоков консенсуса посредством,
- если число превышает пороговое значение, опроса блоков консенсуса для определения того, какой из блоков консенсуса нуждается в консенсусной транзакции; и
- если число меньше или равно пороговому значению, определения того, какой из блоков консенсуса имеет уровень нагрузки, который ниже установленного условия; и
- распределения первых транзакционных данных первому блоку консенсуса из упомянутых по меньшей мере двух блоков консенсуса и вторых транзакционных данных второму блоку консенсуса из упомянутых по меньшей мере двух блоков консенсуса, побуждая упомянутые по меньшей мере два блока консенсуса к выполнению консенсусной обработки над первыми транзакционными данными и вторыми транзакционными данными независимо; и
- если определено, что транзакционные данные следует обрабатывать в соответствии с порядком времени принятия, выполнение
- обработки и распределения транзакционных данных для блокчейн–консенсуса в соответствии с порядком времени принятия.
2. Способ по п. 1, в котором после того как первые транзакционные данные и вторые транзакционные данные распределены, первый блок консенсуса и второй блок консенсуса выполняют консенсусную обработку одновременно над первыми транзакционными данными и вторыми транзакционными данными соответственно.
3. Способ по п. 1, в котором опрос блоков консенсуса содержит последовательный опрос каждого из блоков консенсуса для определения того, нуждается ли он в консенсусной транзакции.
4. Способ по п. 1, в котором определение по меньшей мере двух блоков консенсуса содержит определение того, что число меньше или равно пороговому значению, и выбор каждого из по меньшей мере двух блоков консенсуса на основе определенного уровня нагрузки блока консенсуса.
5. Способ по п. 1, в котором множество запросов транзакций содержат благотворительную транзакцию или краудфандинговую транзакцию без верхнего предела или квоты.
6. Долговременный считываемый компьютером носитель, хранящий инструкции, которые при исполнении процессором побуждают процессор к выполнению способа обеспечения распределения транзакционных данных для блокчейн–консенсуса, причем способ содержит:
- получение транзакционных данных из множества запросов транзакций, при этом полученные транзакционные данные содержат первые транзакционные данные первого запроса транзакции из запросов транзакций и вторые транзакционные данные второго запроса транзакции из запросов транзакций;
- определение, следует ли обрабатывать транзакционные данные в соответствии с порядком времени принятия;
- если определено, что транзакционные данные не следует обрабатывать в соответствии с порядком времени принятия, выполнение
- определения объема ресурсов, требуемого для обработки полученных транзакционных данных;
- определения числа блоков консенсуса в блокчейн-сети, которые обладают незанятыми ресурсами в объеме, который не меньше объема ресурсов, требуемого для обработки полученных транзакционных данных, при этом каждый из блоков консенсуса способен выполнять консенсусную обработку над транзакционными данными отдельного запроса транзакции независимо от других блоков консенсуса;
- определения на основе упомянутого числа по меньшей мере двух блоков консенсуса из упомянутых блоков консенсуса посредством,
- если число превышает пороговое значение, опроса блоков консенсуса для определения того, какой из блоков консенсуса нуждается в консенсусной транзакции; и
- если число меньше или равно пороговому значению, определения того, какой из блоков консенсуса имеет уровень нагрузки, который ниже установленного условия; и
- распределения первых транзакционных данных первому блоку консенсуса из упомянутых по меньшей мере двух блоков консенсуса и вторых транзакционных данных второму блоку консенсуса из упомянутых по меньшей мере двух блоков консенсуса, побуждая упомянутые по меньшей мере два блока консенсуса к выполнению консенсусной обработки над первыми транзакционными данными и вторыми транзакционными данными независимо; и
- если определено, что транзакционные данные следует обрабатывать в соответствии с порядком времени принятия, выполнение
- обработки и распределения транзакционных данных для блокчейн–консенсуса в соответствии с порядком времени принятия.
7. Долговременный считываемый компьютером носитель по п. 6, в котором после того как первые транзакционные данные и вторые транзакционные данные распределены, первый блок консенсуса и второй блок консенсуса выполняют консенсусную обработку одновременно над первыми транзакционными данными и вторыми транзакционными данными соответственно.
8. Долговременный считываемый компьютером носитель по п. 6, в котором опрос блоков консенсуса содержит последовательный опрос каждого из блоков консенсуса для определения того, нуждается ли он в консенсусной транзакции.
9. Долговременный считываемый компьютером носитель по п. 6, в котором определение по меньшей мере двух блоков консенсуса содержит определение того, что число меньше или равно пороговому значению, и выбор каждого из по меньшей мере двух блоков консенсуса на основе определенного уровня нагрузки блока консенсуса.
10. Долговременный считываемый компьютером носитель по п. 6, в котором множество запросов транзакций содержат благотворительную транзакцию или краудфандинговую транзакцию без верхнего предела или квоты.
11. Система блокчейн–консенсуса для обеспечения распределения транзакционных данных для блокчейн–консенсуса, причем система содержит:
процессор; и
долговременный считываемый компьютером носитель, хранящий инструкции, которые при исполнении процессором побуждают процессор к выполнению способа, содержащего:
- получение транзакционных данных из множества запросов транзакций, при этом полученные транзакционные данные содержат первые транзакционные данные первого запроса транзакции из запросов транзакций и вторые транзакционные данные второго запроса транзакции из запросов транзакций;
- определение, следует ли обрабатывать транзакционные данные в соответствии с порядком времени принятия;
- если определено, что транзакционные данные не следует обрабатывать в соответствии с порядком времени принятия, выполнение
- определения объема ресурсов, требуемого для обработки полученных транзакционных данных;
- определения числа блоков консенсуса в блокчейн-сети, которые обладают незанятыми ресурсами в объеме, который не меньше объема ресурсов, требуемого для обработки полученных транзакционных данных, при этом каждый из блоков консенсуса способен выполнять консенсусную обработку над транзакционными данными отдельного запроса транзакции независимо от других блоков консенсуса;
- определения на основе упомянутого числа по меньшей мере двух блоков консенсуса из упомянутых блоков консенсуса посредством,
- если число превышает пороговое значение, опроса блоков консенсуса для определения того, какой из блоков консенсуса нуждается в консенсусной транзакции; и
- если число меньше или равно пороговому значению, определения того, какой из блоков консенсуса имеет уровень нагрузки, который ниже установленного условия; и
- распределения первых транзакционных данных первому блоку консенсуса из упомянутых по меньшей мере двух блоков консенсуса и вторых транзакционных данных второму блоку консенсуса из упомянутых по меньшей мере двух блоков консенсуса, побуждая упомянутые по меньшей мере два блока консенсуса к выполнению консенсусной обработки над первыми транзакционными данными и вторыми транзакционными данными независимо; и
- если определено, что транзакционные данные следует обрабатывать в соответствии с порядком времени принятия, выполнение
- обработки и распределения транзакционных данных для блокчейн–консенсуса в соответствии с порядком времени принятия.
12. Система по п. 11, в которой после того как первые транзакционные данные и вторые транзакционные данные распределены, первый блок консенсуса и второй блок консенсуса выполняют консенсусную обработку одновременно над первыми транзакционными данными и вторыми транзакционными данными соответственно.
13. Устройство блокчейн–консенсуса для обеспечения распределения транзакционных данных для блокчейн–консенсуса, содержащее процессор и долговременный считываемый компьютером носитель, хранящий инструкции, которые при исполнении процессором побуждают устройство блокчейн–консенсуса к выполнению способа по любому из пп. с 1 по 5.
RU2019129090A 2017-03-29 2018-03-26 Способ, устройство и система для блокчейн-консенсуса RU2744498C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710197538.X 2017-03-29
CN201710197538.XA CN107360206B (zh) 2017-03-29 2017-03-29 一种区块链共识方法、设备及***
PCT/US2018/024256 WO2018183148A1 (en) 2017-03-29 2018-03-26 Method, apparatus, and system for blockchain consensus

Publications (1)

Publication Number Publication Date
RU2744498C1 true RU2744498C1 (ru) 2021-03-10

Family

ID=60270911

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019129090A RU2744498C1 (ru) 2017-03-29 2018-03-26 Способ, устройство и система для блокчейн-консенсуса

Country Status (16)

Country Link
US (3) US11010369B2 (ru)
EP (1) EP3602293A1 (ru)
JP (1) JP6882511B2 (ru)
KR (1) KR102262713B1 (ru)
CN (1) CN107360206B (ru)
AU (2) AU2018243696B2 (ru)
BR (1) BR112019020374B1 (ru)
CA (1) CA3057329C (ru)
MX (1) MX2019011549A (ru)
MY (1) MY202367A (ru)
PH (1) PH12019502200A1 (ru)
RU (1) RU2744498C1 (ru)
SG (1) SG11201908451UA (ru)
TW (1) TWI694339B (ru)
WO (1) WO2018183148A1 (ru)
ZA (1) ZA201906163B (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113784238A (zh) * 2021-06-30 2021-12-10 北京邮电大学 基于区块链网络的频谱资源交易方法及***

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CN111756550B (zh) 2017-03-28 2023-08-22 创新先进技术有限公司 一种区块链共识方法及装置
CN107360206B (zh) * 2017-03-29 2020-03-27 创新先进技术有限公司 一种区块链共识方法、设备及***
GB201707296D0 (en) * 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
CN109819003A (zh) * 2017-11-22 2019-05-28 南京理工大学 一种区块链的分层共识方法和***
CN108009824A (zh) * 2017-11-28 2018-05-08 北京博晨技术有限公司 数据共识方法、装置及电子设备
CN107992356B (zh) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 区块链事务区块处理方法、电子装置及可读存储介质
CN108234470B (zh) * 2017-12-28 2020-08-04 江苏通付盾科技有限公司 区块链网络中区块打包方法及***、电子设备、存储介质
CN108323200B (zh) * 2018-01-25 2022-12-20 达闼机器人股份有限公司 基于区块链的数据训练方法、装置、存储介质及区块链节点
CN110083437A (zh) * 2018-01-25 2019-08-02 北京欧链科技有限公司 处理区块链事务的方法及装置
CN108307000A (zh) * 2018-02-06 2018-07-20 武汉康慧然信息技术咨询有限公司 基于时间调度的区块链生成方法
US10873625B2 (en) * 2018-02-26 2020-12-22 International Business Machines Corpora ! Ion Service management for the infrastructure of blockchain networks
CN108540536B (zh) * 2018-03-16 2021-07-23 深圳前海微众银行股份有限公司 基于区块链的网络海量业务处理方法、设备及存储介质
CN108681963B (zh) * 2018-03-29 2020-07-31 深圳市网心科技有限公司 多区块链整合控制方法、***、电子装置及存储介质
CN108564468A (zh) * 2018-04-04 2018-09-21 上海金丘信息科技股份有限公司 一种基于信任成员的动态权益的共识方法
CN108809929B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种基于区块链技术的农村金融***
CN108833330B (zh) * 2018-04-08 2020-07-17 浙江商业职业技术学院 一种农村电子商务数据鉴证方法
CN108830709A (zh) * 2018-04-17 2018-11-16 中车工业研究院有限公司 一种基于区块链的众包交易***
WO2019200558A1 (zh) * 2018-04-18 2019-10-24 深圳市元征软件开发有限公司 区块链节点服务、挖矿方法、装置、设备、***及介质
CN108683645A (zh) * 2018-04-27 2018-10-19 欧阳福 一种基于区块链的信息分布式域名及数据交易***
CN112449705A (zh) * 2018-05-10 2021-03-05 康奈尔大学 亚稳态拜占庭协定
CN108664623A (zh) * 2018-05-14 2018-10-16 中钞***产业发展有限公司杭州区块链技术研究院 一种数据存储方法、装置、设备及介质
CN108712491A (zh) * 2018-05-17 2018-10-26 易链科技(深圳)有限公司 区块链节点、交易信息处理方法、终端设备和介质
CN108717460A (zh) * 2018-05-25 2018-10-30 济南浪潮高新科技投资发展有限公司 一种在区块链中达成共识的方法及装置
CN108881177B (zh) * 2018-05-28 2021-04-23 夸克链科技(深圳)有限公司 一种异构平行区块链的实现方法
CN108985758B (zh) * 2018-06-07 2020-10-30 深圳海派创客教育学院有限公司 数据处理方法、数据处理***及终端设备
US10880072B2 (en) 2018-06-20 2020-12-29 Verizon Patent And Licensing Inc. Systems and methods for controlled random endorsement in a blockchain network
CN108768792B (zh) * 2018-07-06 2021-02-12 网宿科技股份有限公司 网络探测***
CN109032803B (zh) 2018-08-01 2021-02-12 创新先进技术有限公司 数据处理方法和装置、客户端
CN109034809B (zh) * 2018-08-16 2021-08-17 北京京东尚科信息技术有限公司 区块链的生成方法、装置、区块链节点及存储介质
CN109086140A (zh) * 2018-08-21 2018-12-25 上海点融信息科技有限责任公司 在区块链中进行数据处理的方法、装置及存储介质
CN110875893B (zh) * 2018-08-29 2022-03-08 深圳启元信息服务有限公司 共识验证方法、校验节点及区块链***
GB2577118B (en) * 2018-09-14 2022-08-31 Arqit Ltd Autonomous quality regulation for distributed ledger networks
CN109257427B (zh) * 2018-09-26 2021-04-02 网宿科技股份有限公司 一种基于区块链的业务处理方法及***
US11368446B2 (en) * 2018-10-02 2022-06-21 International Business Machines Corporation Trusted account revocation in federated identity management
CN109376274B (zh) * 2018-10-23 2020-12-22 杭州能链科技有限公司 基于区块链***的出块方法、设备以及存储介质
CN111092925B (zh) * 2018-10-23 2022-08-05 ***通信有限公司研究院 一种区块链扩容处理方法、装置及设备
US11138188B2 (en) 2018-11-07 2021-10-05 International Business Machines Corporation Performance optimization
WO2019072263A2 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited FACILITATION OF BLOCK CHAIN CONSENSUS AND NODE SYNCHRONIZATION FOR PRACTICAL TOLERANCE TO ARBITRARY FAILURES
CN109600323B (zh) * 2018-11-12 2021-10-01 中山大学 一种拜占庭共识机制
US20200175503A1 (en) * 2018-11-29 2020-06-04 Paypal, Inc. Resource-based distributed public ledger system
CN111314393B (zh) * 2018-12-11 2023-04-18 京东科技控股股份有限公司 基于区块链的数据处理方法、装置及设备
ES2818597T3 (es) 2018-12-13 2021-04-13 Advanced New Technologies Co Ltd Realizar un proceso de recuperación para un nodo de red en un sistema distribuido
EP3566392B1 (en) 2018-12-13 2021-08-25 Advanced New Technologies Co., Ltd. Achieving consensus among network nodes in a distributed system
JP6726367B2 (ja) * 2018-12-13 2020-07-22 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 分散システムにおける1次ノードの変更を行うこと
CN111369243B (zh) * 2018-12-24 2023-07-14 航天信息股份有限公司 一种分布式记账的方法和装置
CN109660545B (zh) * 2018-12-27 2021-04-09 北京新唐思创教育科技有限公司 一种联盟链共识方法及计算机存储介质
CN109635595B (zh) * 2018-12-29 2020-10-23 杭州趣链科技有限公司 一种基于区块链的数据防篡改方法
CN111461468B (zh) * 2019-01-02 2023-10-31 ***通信有限公司研究院 数据处理方法及装置、数据节点及存储介质
CN111443998B (zh) * 2019-01-17 2023-03-21 杨税令 一种应用于区块链的多层段式共识方法及***
US11811769B2 (en) 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
US11875400B2 (en) * 2019-01-31 2024-01-16 Salesforce, Inc. 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)
CN109886681B (zh) * 2019-01-31 2021-06-18 北京瑞卓喜投科技发展有限公司 区块链共识方法及共识***
US11824864B2 (en) 2019-01-31 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT)
US11899817B2 (en) 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
CN109918378B (zh) * 2019-03-05 2020-09-25 中国科学院深圳先进技术研究院 一种基于区块链的遥感数据存储方法和存储***
CN109871279B (zh) * 2019-03-11 2021-10-01 京东方科技集团股份有限公司 共识任务协调方法及装置、区块链***、存储介质
CN110915185B (zh) * 2019-03-18 2021-08-17 创新先进技术有限公司 共识***停机时间恢复
CN110800258B (zh) 2019-03-18 2022-04-22 创新先进技术有限公司 用于结束视图更改协议的***和方法
SG11201908887XA (en) * 2019-03-18 2019-10-30 Alibaba Group Holding Ltd System and method for ending view change protocol
CN110008206A (zh) * 2019-03-22 2019-07-12 深圳前海微众银行股份有限公司 一种基于区块链***的数据处理方法及装置
CN110049030B (zh) * 2019-04-08 2020-03-10 山东公链信息科技有限公司 基于随机连续离散的区块链共识***
CN111095325B (zh) 2019-04-12 2023-10-27 创新先进技术有限公司 在分布式账本***中进行交易的并行执行
KR102289612B1 (ko) 2019-04-12 2021-08-18 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 분산 원장 시스템에서 트랜잭션들의 병렬 실행 수행
CN110138597B (zh) * 2019-04-17 2021-11-05 上海大学 基于信用积分和节点聚类的区块链dpos共识机制改进方法
CN110113388B (zh) * 2019-04-17 2020-01-14 四川大学 一种基于改进型聚类算法的区块链***共识的方法和装置
US11995647B2 (en) 2019-04-30 2024-05-28 Salesforce, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
CN110245006B (zh) * 2019-05-07 2023-05-02 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质
CN110311958B (zh) * 2019-06-14 2021-01-01 柳州市蓝海数链科技有限公司 一种区块链网络***
KR102342752B1 (ko) * 2019-06-19 2021-12-23 에스케이텔레콤 주식회사 블록체인 기반 합의 장치 및 방법
KR102228214B1 (ko) * 2019-07-22 2021-03-16 에이치엔핀코어 주식회사 블록체인 네트워크에서 블록을 생성하기 이전에 트랜잭션을 전파함으로써 트랜잭션 처리 속도를 향상시킬 수 있는 노드 장치 및 그 동작 방법
CN110599139B (zh) * 2019-08-19 2022-09-13 杭州秘猿科技有限公司 一种区块链共识算法中的出块方法和装置
CN110753028B (zh) * 2019-09-11 2021-06-22 复旦大学 一种控制分布式记账网络资源使用方法
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
CN110855475B (zh) * 2019-10-25 2022-03-11 昆明理工大学 一种基于区块链的共识资源切片方法
CN110912994B (zh) * 2019-11-22 2022-02-11 中国联合网络通信集团有限公司 一种区块链共识方法及装置
CN110851537A (zh) * 2019-11-28 2020-02-28 蒋勇 一种基于区块链分片技术的共识方法
CN111343292B (zh) * 2020-02-10 2022-09-27 广州根链国际网络研究院有限公司 权威dns服务器信息更新方法及***
CN111339109B (zh) * 2020-02-21 2024-01-12 百度在线网络技术(北京)有限公司 一种区块链的资源处理方法、装置、设备和介质
CN111291067B (zh) * 2020-03-12 2021-01-26 南京珥仁科技有限公司 一种区块链数据结转方法
CN111522876B (zh) * 2020-04-07 2024-02-20 金蝶软件(中国)有限公司 区块链共识方法、装置和计算机设备、及区块链节点
CN111680076B (zh) * 2020-04-21 2023-08-22 广州中科易德科技有限公司 一种基于关联规则模型训练的区块链共识方法和***
CN111524010B (zh) * 2020-05-06 2023-06-02 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111524011B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 平行链共识确认方法、设备和存储介质
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
CN111522696B (zh) * 2020-07-03 2020-12-29 支付宝(杭州)信息技术有限公司 区块链共识节点的宕机处理方法、数据持久化方法及硬件
CN112565240A (zh) * 2020-12-01 2021-03-26 杭州云象网络技术有限公司 一种用于承载海量通证流通的多链结构兼容方法及***
CN112486518B (zh) * 2020-12-01 2024-03-12 北京微芯区块链与边缘计算研究院 共识算法装配方法及装置
CN112835743B (zh) * 2021-01-25 2023-12-19 中央财经大学 分布式账本数据存储优化方法、装置、电子设备及介质
CN113110921B (zh) * 2021-06-11 2021-10-22 北京百度网讯科技有限公司 区块链***的运行方法、装置、设备和存储介质
CN114296831A (zh) * 2021-12-30 2022-04-08 迅鳐成都科技有限公司 区块链共识算法动态加载方法、装置、***及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179105A1 (en) * 2010-01-15 2011-07-21 International Business Machines Corporation Method and system for distributed task dispatch in a multi-application environment based on consensus
RU2584506C1 (ru) * 2014-10-22 2016-05-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты операций с электронными деньгами
US20160224949A1 (en) * 2015-02-04 2016-08-04 Ripple Labs Inc. Temporary consensus subnetwork in a distributed network for payment processing
US20160259937A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Device reporting and protection systems and methods using a secure distributed transactional ledger

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5858507B2 (ja) 1979-09-21 1983-12-26 ヨツギ株式会社 支線への葛の巻上り防止具
US7454516B1 (en) 2000-08-03 2008-11-18 Microsoft Corporation Scalable virtual partitioning of resources
US7290059B2 (en) 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
US9406063B2 (en) 2002-10-01 2016-08-02 Dylan T X Zhou Systems and methods for messaging, calling, digital multimedia capture, payment transactions, global digital ledger, and national currency world digital token
US20040254984A1 (en) 2003-06-12 2004-12-16 Sun Microsystems, Inc System and method for coordinating cluster serviceability updates over distributed consensus within a distributed data system cluster
US7146353B2 (en) 2003-07-22 2006-12-05 Hewlett-Packard Development Company, L.P. Resource allocation for multiple applications
US7543069B2 (en) 2004-10-18 2009-06-02 International Business Machines Corporation Dynamically updating session state affinity
US7725901B2 (en) 2005-04-14 2010-05-25 International Business Machines Corporation Method and system for performance balancing in a distributed computer system
US20060242647A1 (en) 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
JP2009134472A (ja) 2007-11-29 2009-06-18 Nomura Research Institute Ltd 電子商取引装置
US8495604B2 (en) 2009-12-30 2013-07-23 International Business Machines Corporation Dynamically distribute a multi-dimensional work set across a multi-core system
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
CN105518641B (zh) 2014-05-05 2018-05-04 华为技术有限公司 点对点数据复制方法、设备和***以及主节点切换方法、设备和***
WO2015175854A2 (en) 2014-05-15 2015-11-19 Cryptyk, Inc. (Trading As Bitsavr Inc.) System and method for digital currency storage, payment and credit
US9818092B2 (en) 2014-06-04 2017-11-14 Antti Pennanen System and method for executing financial transactions
US10346814B2 (en) 2014-06-04 2019-07-09 MONI Limited System and method for executing financial transactions
SG10201808109QA (en) 2014-07-11 2018-10-30 Loyyal Corp Distributed ledger protocol to incentivize transactional and non-transactional commerce
US9749297B2 (en) * 2014-11-12 2017-08-29 Yaron Gvili Manicoding for communication verification
US20160217436A1 (en) 2015-01-25 2016-07-28 Dror Samuel Brama Method, System and Program Product for Tracking and Securing Transactions of Authenticated Items over Block Chain Systems.
US9875510B1 (en) 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
CA2980002A1 (en) 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
TWI676943B (zh) * 2015-05-06 2019-11-11 現代財富控股有限公司 加密貨幣的電子交易系統及其方法
JP5858507B1 (ja) * 2015-05-18 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
US20160342977A1 (en) 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
WO2017066431A1 (en) * 2015-10-13 2017-04-20 TransActive Grid Inc. Use of blockchain based distributed consensus control
US10282457B1 (en) * 2016-02-04 2019-05-07 Amazon Technologies, Inc. Distributed transactions across multiple consensus groups
WO2017189027A1 (en) * 2016-04-29 2017-11-02 Digital Asset Holdings Digital asset modeling
US10360191B2 (en) * 2016-10-07 2019-07-23 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system
US10158527B2 (en) * 2016-10-28 2018-12-18 International Business Machines Corporation Changing an existing blockchain trust configuration
CN106534273B (zh) * 2016-10-31 2022-04-15 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储***及其存储方法与检索方法
CN106530072A (zh) * 2016-11-22 2017-03-22 天津米游科技有限公司 一种区块链共识机制
CN106529951A (zh) * 2016-12-30 2017-03-22 杭州云象网络技术有限公司 一种联盟链网络下采用异步方式的节点共识验证方法
CN107360206B (zh) * 2017-03-29 2020-03-27 创新先进技术有限公司 一种区块链共识方法、设备及***
WO2018226740A2 (en) * 2017-06-05 2018-12-13 Balanced Media Technology, LLC Platform for collaborative processing of computing tasks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179105A1 (en) * 2010-01-15 2011-07-21 International Business Machines Corporation Method and system for distributed task dispatch in a multi-application environment based on consensus
RU2584506C1 (ru) * 2014-10-22 2016-05-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты операций с электронными деньгами
US20160224949A1 (en) * 2015-02-04 2016-08-04 Ripple Labs Inc. Temporary consensus subnetwork in a distributed network for payment processing
US20160259937A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Device reporting and protection systems and methods using a secure distributed transactional ledger

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113784238A (zh) * 2021-06-30 2021-12-10 北京邮电大学 基于区块链网络的频谱资源交易方法及***
CN113784238B (zh) * 2021-06-30 2023-04-18 北京邮电大学 基于区块链网络的频谱资源交易方法及***

Also Published As

Publication number Publication date
CN107360206B (zh) 2020-03-27
KR20190125426A (ko) 2019-11-06
BR112019020374B1 (pt) 2022-01-25
AU2018243696B2 (en) 2020-11-05
CA3057329A1 (en) 2018-10-04
MY202367A (en) 2024-04-24
AU2018243696A1 (en) 2019-10-10
WO2018183148A1 (en) 2018-10-04
JP6882511B2 (ja) 2021-06-02
TW201837733A (zh) 2018-10-16
AU2019101614A4 (en) 2020-01-23
EP3602293A1 (en) 2020-02-05
US20200159721A1 (en) 2020-05-21
SG11201908451UA (en) 2019-10-30
JP2020515976A (ja) 2020-05-28
US20180285412A1 (en) 2018-10-04
CN107360206A (zh) 2017-11-17
CA3057329C (en) 2021-11-23
US20210248131A1 (en) 2021-08-12
TWI694339B (zh) 2020-05-21
ZA201906163B (en) 2020-12-23
US11010369B2 (en) 2021-05-18
PH12019502200A1 (en) 2020-12-07
MX2019011549A (es) 2019-11-28
US10860574B2 (en) 2020-12-08
KR102262713B1 (ko) 2021-06-09
BR112019020374A2 (pt) 2020-04-28

Similar Documents

Publication Publication Date Title
RU2744498C1 (ru) Способ, устройство и система для блокчейн-консенсуса
EP3382544B1 (en) Dynamically composable computing system, a data center, and method for dynamically composing a computing system
US11334888B2 (en) Method and apparatus for consensus verification
Xu et al. Blending on-demand and spot instances to lower costs for in-memory storage
Chowdhury et al. Implementation and performance analysis of various VM placement strategies in CloudSim
KR20200019653A (ko) 이종의 저장 매체들을 이용하는 분산 파일 시스템을 구동하는 전자 시스템, 및 그것의 데이터 저장 방법 및 관리 방법
Sun et al. Rethinking elastic online scheduling of big data streaming applications over high-velocity continuous data streams
US10621001B1 (en) Systems and methods for efficiently expediting execution of tasks in isolated environments
TW202008763A (zh) 資料處理方法和裝置、用戶端
CN103049328A (zh) 计算机***中内存资源分配方法
US20140115599A1 (en) Submitting operations to a shared resource based on busy-to-success ratios
US10606478B2 (en) High performance hadoop with new generation instances
CN109788013B (zh) 分布式***中作业资源分配方法、装置及设备
US11080092B1 (en) Correlated volume placement in a distributed block storage service
Shabeera et al. Curtailing job completion time in MapReduce clouds through improved Virtual Machine allocation
Jaikar et al. Matrix-based data center selection algorithm for a federated cloud
CN117311910B (zh) 一种高性能虚拟密码机运行方法
Vijayakumar et al. MODELING FUZZY BASED REPLICATION STRATEGY TO IMPROVE DATA AVAILABILITY IN CLOUD DATA CENTER
CN116302476A (zh) 一种确定算力节点的方法及装置
Khải et al. Flexible Multi-step Resource Relocation for Virtual Network Functions
KR20200121533A (ko) 이종 메모리의 특성에 기반한 메모리 관리 장치 및 그것의 동작 방법
Zhang et al. Key based Reducer Placement for Data Analytics across Data Centers Considering Bi-level Resource Provision in Cloud Computing.
Iturbe et al. R3TOS: Reliable Scheduling and Allocation of Real-time Hardware Tasks onto Partially Damaged Xilinx FPGAs