BR112019020374B1 - Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain - Google Patents

Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain Download PDF

Info

Publication number
BR112019020374B1
BR112019020374B1 BR112019020374-5A BR112019020374A BR112019020374B1 BR 112019020374 B1 BR112019020374 B1 BR 112019020374B1 BR 112019020374 A BR112019020374 A BR 112019020374A BR 112019020374 B1 BR112019020374 B1 BR 112019020374B1
Authority
BR
Brazil
Prior art keywords
consensus
transaction
transaction data
units
unit
Prior art date
Application number
BR112019020374-5A
Other languages
English (en)
Other versions
BR112019020374A2 (pt
Inventor
Weiming Zhuang
Original Assignee
Advanced New Technologies Co., Ltd
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 Advanced New Technologies Co., Ltd filed Critical Advanced New Technologies Co., Ltd
Publication of BR112019020374A2 publication Critical patent/BR112019020374A2/pt
Publication of BR112019020374B1 publication Critical patent/BR112019020374B1/pt

Links

Images

Classifications

    • 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
    • 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/2365Ensuring data consistency and integrity
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Pens And Brushes (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Um método de consenso de blockchain pode compreender: adquirir dados de transação; e distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação para pelo menos uma unidade de consenso em um conjunto de unidade de consenso, fazendo com que a pelo menos uma unidade de consenso execute o processamento de consenso nos dados de transação distribuídos.

Description

Referência Cruzada a Solicitações Relacionados
[001]O presente pedido baseia-se e reivindica prioridade ao pedido chinês No. 201710197538.X, depositado em 29 de março de 2017, cujo conteúdo completo é aqui incorporado por referência.
Campo Técnico
[002]O presente pedido refere-se ao campo das tecnologias de software de computador e, em particular, a métodos, aparelhos e sistemas para o consenso de blockchain.
Antecedentes
[003]Blockchain é uma tecnologia de banco de dados distribuídos originalmente projetada para Bitcoin. Tais dados A estrutura é particularmente adequada para armazenar dados sequenciais que são verificados no sistema. Além disso, essa estrutura de dados usa um algoritmo de consenso para garantir que os dados não possam ser adulterados ou forjados. Um algoritmo de consenso é um algoritmo que requer a participação de nós em uma blockchain e alcança consenso através do cálculo conjunto por uma pluralidade de nós. Por exemplo, ao receber dados de transação, um nó de contabilidade transmite os dados de transação para outros nós participantes e outros nós participantes executam processamento de consenso para determinar se o nó de contabilidade tem uma contabilidade correta para os dados de transação. Se o resultado de consenso de outros nós participantes for aquele do nó de contabilidade, possui um direito de contabilidade para os dados de transação, o nó de contabilidade armazena os dados de transação em uma blockchain correspondente ao nó de contabilidade. Na tecnologia blockchain, portanto, o algoritmo de consenso é uma lei que rege os programas ou nós em uma blockchain, o que garante que todos os nós possam cooperar de maneira consistente em qualquer circunstância.
[004]Practical Byzantine Fault Tolerance (PBFT) é um algoritmo de consenso comum em blockchain. O algoritmo PBFT pode prover alguma tolerância, garantindo atividade e segurança e, portanto, foi amplamente utilizado. No algoritmo PBFT, um nó é um nó principal e os outros nós são nós de backup. O nó principal é responsável pela classificação das solicitações de transação recebidas e, em seguida, transmite as solicitações de transação para os nós de backup de acordo com o resultado da classificação. O algoritmo PBFT geralmente compreende três fases: pré-preparação, preparação e confirmação. A fase de pré-preparação e a fase de preparação são usadas para determinar uma sequência de solicitações de transação.
[005]No entanto, é provável que o nó principal cometa erros ao classificar solicitações de transação, por exemplo, dando o mesmo número de sequência a diferentes solicitações de transação ou deixando de atribuir um número de sequência ou fazendo com que os números de sequência de solicitações de transação adjacentes sejam descontínuos, etc. Como resultado, é necessário que um nó de backup verifique a sequência de solicitações de transação ao receber solicitações de transação ordenadas.
[006]Como um resultado, o algoritmo PBFT fez muitos projetos e cálculos para garantir sequência. Foi constatado em pesquisas que muitos algoritmos de consenso atualmente usados (por exemplo, mecanismos de consenso como mecanismo para provar a quantidade de trabalho e mecanismo para provar direitos e benefícios, etc.) precisam realizar uma grande quantidade de projetos e cálculos sobre sequência ao executar o processamento de consenso, o que consome recursos significativos do sistema.
[007]Em aplicações práticas, no entanto, existem muitas solicitações de transação sem requisitos de sequência. Uma solicitação de transação sem requisitos de sequência significa que, ao receber solicitações de transação, um servidor não precisa processar as solicitações de transação recebidas de acordo com uma ordem de tempo aceitável, tais como transações de doações para doação, transações de crowdfunding sem limite ou cota superior, etc. Com as transações de doações para caridade como exemplo, a sequência de doação não afeta o processamento da transação. Portanto, esse tipo de solicitações de transação pode ser chamado de solicitações de transação que não possuem requisitos de sequência (a “solicitação de transação sem requisitos de sequência” em valor definido). Quando esse tipo de solicitações de transação é processado em uma blockchain, o uso de um algoritmo de consenso atual levará a uma eficiência de processamento relativamente baixa para esse tipo de transação e, ao mesmo tempo, também afeta a capacidade de vazão de consenso da blockchain.
Sumário
[008]Em vista do acima exposto, modalidades da presente divulgação fornecem métodos, aparelhos e sistemas de consenso de blockchain para pelo menos mitigar o problema na técnica anterior de que a eficiência de processamento é baixa quando um algoritmo de consenso é usado para processar solicitações de transação sem requisitos de sequência.
[009]De acordo com um aspecto, um método de consenso em blockchain pode compreender: adquirir dados de transação; e distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação para pelo menos uma unidade de consenso em um conjunto de unidade de consenso, fazendo com que a pelo menos uma unidade de consenso realize processamento de consenso sobre os dados de transação distribuídos.
[010]De acordo com outro aspecto, um método de armazenamento de dados baseado em blockchain pode compreender: receber resultados de consenso de diferentes unidades de consenso; e armazenar os resultados de consenso em blocos da blockchain de acordo com as marcas de tempo dos resultados de consenso.
[011]De acordo com outro aspecto, um sistema de consenso em blockchain pode compreender: uma unidade de distribuição e um conjunto de unidade de consenso que compreende uma pluralidade de unidades de consenso, em que: a unidade de distribuição é configurada para adquirir dados de transação e distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação para pelo menos uma unidade de consenso no conjunto de unidade de consenso; e pelo menos uma unidade de consenso é configurada para executar o processamento de consenso sobre os dados de transação distribuídos.
[012]De acordo com outro aspecto, um aparelho de consenso de blockchain, compreendendo um processador e um meio de armazenamento legível por computador não transitório que armazena instruções que, quando executadas pelo processador, faz com que o aparelho de consenso da blockchain execute um método. O método pode compreender: adquirir dados de transação; e distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação para pelo menos uma unidade de consenso em um conjunto de unidade de consenso, fazendo com que a pelo menos uma unidade de consenso execute o processamento de consenso sobre os dados de transação distribuídos.
[013]De acordo com outro aspecto, um aparelho de armazenamento de dados baseado em blockchain, compreendendo um processador e um meio de armazenamento legível por computador não transitório armazenando instruções que, quando executadas pelo processador, faz com que o dispositivo de armazenamento de dados da blockchain execute um método. O método pode compreender: receber resultados de consenso de diferentes unidades de consenso; e armazenar, de acordo com as marcas de tempo dos resultados de consenso, os resultados de consenso em blocos da blockchain, em que o armazenamento dos resultados de consenso em blocos do blockchain compreende: armazenar os resultados de consenso em blocos de nós na rede blockchain correspondente a unidades de consenso que geram os resultados de consenso.
[014]O presente pedido descreve um algoritmo de consenso exemplar como uma unidade de consenso independente, que é diferente de um consenso de blockchain convencional, que forma um conjunto de unidade de consenso com essas unidades de consenso, e após a recepção dos dados de transação, pode distribuir, de acordo com uma regra de distribuição definida, os dados de transação para unidades de consenso no conjunto de unidade de consenso para alcançar processamento de consenso sobre os dados de transação pelas unidades de consenso. Dessa maneira, uma pluralidade de unidades de consenso podem executar o processamento de consenso simultaneamente em uma solicitação de transação sem requisitos de sequência, a manipulação de sequência pelos algoritmos de consenso existentes é simplificada, a eficiência de processamento e capacidade de vazão de processamento sobre solicitações de transação sem os requisitos de sequência são aprimoradas, e o desempenho operacional de uma rede blockchain é aprimorado.
Breve Descrição dos Desenhos
[015]Para descrever mais claramente soluções técnicas nas modalidades da presente divulgação, os desenhos anexos serão descritos resumidamente da seguinte forma. Os desenhos anexos são meramente exemplares. Para um especialista na técnica, outros desenhos podem ser adicionalmente obtidos de acordo com esses desenhos sem esforço inventivo.
[016]A Fig. 1 é um fluxograma de um método de consenso de blockchain de acordo com uma modalidade da presente divulgação.
[017]A Fig. 2 é um fluxograma de um método de consenso de blockchain de acordo com uma modalidade da presente divulgação.
[018]A Fig. 3 é um fluxograma de um método de consenso de blockchain de acordo com uma modalidade da presente divulgação.
[019]A Fig. 4 é um fluxograma de um método de armazenamento de dados baseado em blockchain de acordo com uma modalidade da presente divulgação.
[020]A Fig. 5 é um diagrama esquemático estrutural de um sistema de consenso de blockchain de acordo com uma modalidade da presente divulgação.
[021]A Fig. 6 é um diagrama esquemático de um aparelho de consenso de blockchain de acordo com uma modalidade da presente divulgação.
[022]A Fig. 7 é um diagrama esquemático de um aparelho de consenso de blockchain de acordo com uma modalidade da presente divulgação.
[023]A Fig. 8 é um diagrama esquemático estrutural de um aparelho de armazenamento de dados baseado em blockchain de acordo com uma modalidade da presente divulgação.
Descrição Detalhada
[024]Permitir que um especialista na matéria compreenda melhor as soluções técnicas na presente divulgação, as soluções técnicas nas modalidades serão descritas clara e completamente abaixo com referência aos desenhos anexos. Aparentemente, as modalidades descritas são meramente exemplares. Todas as outras modalidades obtidas por um especialista na técnica sem esforço inventive e com base nas modalidades da presente divulgação devem ser abrangidas pelo escopo da presente divulgação.
[025]As soluções de acordo com a presente divulgação serão descritas em detalhes através das seguintes modalidades.
[026]A Fig. 1 é um fluxograma de um método de consenso de blockchain de acordo com uma modalidade da presente divulgação. De uma perspectiva de programas, um corpo principal que executa o fluxo pode ser um aplicativo (APP) ou um programa em um terminal de computador pessoal (PC). De uma perspectiva de aparelhos, um corpo principal que executa o fluxo pode incluir, mas não está limitado aos seguintes aparelhos: computadores pessoais, computadores de grande ou média escala, clusters de computadores, telefones celulares, computadores tablet, dispositivos usáveis inteligentes, máquinas para veículos, etc.
[027]De acordo com uma modalidade, o método de consenso de blockchain, como mostrado na Fig. 1, pode compreender as seguintes etapas:
[028]S101: adquirir dados de transação (por exemplo, dados de transação que buscam processamento de consenso em uma rede blockchain, e esses dados de transação podem ser chamados de dados de transação "a serem consensuados").
[029]Em uma modalidade, se um corpo principal que executa o método for um nó de blockchain (daqui em diante "nó") em uma rede blockchain, o nó pode receber uma solicitação de transação a ser processada, adquirir dados de transação da solicitação de transação e armazenar os dados de transação. Os dados de transação a serem consensuados na etapa S101 podem ser os dados de transação armazenados. A solicitação de transação aqui pode ser uma solicitação de transação enviada por um terminal de cliente, por exemplo, uma solicitação de contabilidade, ou uma solicitação para executar outra operação de máquina de estado; ou pode ser uma solicitação de transação enviada por outros aparelhos, que não é limitada aqui.
[030]Em algumas modalidades, os dados de transação a serem consensuados podem se referir a um conjunto de dados de transação, por exemplo, uma operação subsequente é disparada quando um conjunto de dados de transação é recebido. Alternativamente, os dados de transação a serem consensuados podem ser uma pluralidade de conjuntos de dados de transação a serem consensuados, por exemplo, uma operação subsequente é disparada quando uma pluralidade de conjuntos de dados de transação é recebida. Alternativamente, os dados de transação a serem consensuados podem ser dados de transação gerados dentro de um período de tempo definido, por exemplo, dados de transação gerados dentro de um tempo definido são recebidos e, quando o período definido expirar, uma operação subsequente é disparada. O número de conjuntos de dados de transação adquiridos não é limitado aqui.
[031]Os "dados de transação" neste documento compreendem dados de transação sem requisitos de sequência. Ou seja, quando os dados de transação adquiridos são processados, o fator de tempo dos dados de transação não é considerado. Por exemplo, uma solicitação de transação recebida é uma solicitação de doação. Então os dados de transação a serem consensuados são os dados de transação a serem consensuados adquiridos. Para dados de transação relacionados à doação, a sequência do processamento de dados de transação é irrelevante para o remetente. Ou seja, o fator de tempo de quando uma solicitação de doação é enviada pelo remetente é ignorado. Portanto, esse tipo de solicitação de transação também é chamado de solicitação de transação sem requisitos de sequência.
[032]S102: distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação para pelo menos uma unidade de consenso no conjunto de unidade de consenso.
[033]Aqui, a unidade de consenso é usada para executar o processamento de consenso nos dados de transação distribuídos.
[034]Em uma tecnologia blockchain, um algoritmo de consenso é usado para processar os dados de transação adquiridos, enquanto o algoritmo de consenso é um algoritmo que é completado pelos nós de votação participantes no consenso, por exemplo, todos os nós de votação finalmente alcançam um resultado de consenso por meio de cálculo conjunto.
[035]O conjunto de unidade de consenso em uma modalidade compreende unidades de consenso, e cada unidade de consenso pode prover transações de consenso independentes. Em outras palavras, diferentes unidades de consenso podem usar o mesmo algoritmo de consenso ou podem usar algoritmos de consenso diferentes.
[036]Em algumas modalidades, o número de unidades de consenso compreendidas em um conjunto de unidade de consenso não é aqui limitado. O número de nós de votação incluídos em diferentes unidades de consenso pode ser o mesmo ou pode ser diferente. Por exemplo, se o algoritmo de consenso for o algoritmo PBFT, um nó de votação em uma unidade de consenso compreende um nó primário e quatro nós secundários. Se o algoritmo de consenso for a prova do mecanismo de trabalho, uma unidade de consenso compreende pelo menos um nó de votação. Portanto, o número de nós de votação em uma unidade de consenso não é limitado aqui, o que pode ser determinado de acordo com os requisitos reais de um algoritmo de consenso.
[037]Deste modo, no que diz respeito aos dados de transação em consenso, o processamento de consenso pode ser realizado em diferentes dados de transação de maneira simultânea, de acordo com as soluções das várias modalidades. Ou seja, dados de transação diferentes são distribuídos simultaneamente para diferentes unidades de consenso e as unidades de consenso executam independentemente o processamento de consenso nos dados de transação recebidos.
[038]Vários métodos para distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso serão descritos em detalhes abaixo.
[039]Em um exemplo, um primeiro método de distribuição pode compreender: de acordo com o número de conjuntos de dados de transação a serem consensuados, determinar, de maneira aleatória, um número compatível de unidades de consenso a partir do conjunto de unidade de consenso; e distribuir simultaneamente os dados de transação a serem consensuados para as unidades de consenso determinadas, respectivamente.
[040]Em um exemplo, quando o número de conjuntos de dados de transação a serem consensuados for um, uma unidade de consenso é determinada, de maneira aleatória, a partir do conjunto de unidade de consenso. Os dados de transação a serem consensuados são distribuídos para a unidade de consenso determinada, e a unidade de consenso executa o processamento de consenso sobre os dados de transação a serem consensuados.
[041]Quando o número de conjuntos dos dados de transação a serem consensuados for maior que um, de acordo com o número de conjuntos dos dados de transação a serem consensuados, o mesmo número de unidades de consenso é determinado, de maneira aleatória, a partir do conjunto de unidade de consenso. Os conjuntos de dados de transação a serem consensuados são distribuídos sequencialmente para as diferentes unidades de consenso, respectivamente.
[042]Por exemplo, os dados de transações a serem consensuados adquiridos compreendem dados de transação a serem consensuados 1, dados de transação a serem consensuados 2 e dados de transação a serem consensuados 3, e assumindo que um conjunto de unidade de consenso compreende uma unidade de consenso 1, uma unidade de consenso 2, uma unidade de consenso 3, uma unidade de consenso 4 e uma unidade de consenso 5. Aqui, três unidades de consenso podem ser determinadas aleatoriamente a partir do conjunto de unidade de consenso. Supondo que as unidades de consenso determinadas aleatoriamente sejam a unidade de consenso 2, a unidade de consenso 4 e a unidade de consenso 5, os dados de transação a serem consensuados 1, dados de transações a serem consensuados 2 e dados de transação a serem consensuados 3 são distribuídos sequencialmente, de maneira aleatória, para as diferentes unidades de consenso. Por exemplo, os dados de transação a serem consensuados 1 são distribuídos para a unidade de consenso 5; os dados de transação a serem consensuados 2 são distribuídos para a unidade de consenso 4; e os dados de transação a serem consensuados 3 são distribuídos para a unidade de consenso 2.
[043]A distribuição de consenso em um modo de implementação do presente pedido não tem qualquer requisito para sequência. Portanto, uma maneira aleatória pode ser usada para distribuição. Adicionalmente, os “dados de transação a serem consensuados 1, dados de transação a serem consensuados 2 e dados de transação 3 a serem consensuados são distribuídos sequencialmente, de maneira aleatória, para as unidades de consenso diferentes determinadas” podem ser implementados de maneira distribuída simultaneamente. A distribuição é realizada de maneira aleatória. Ou seja, quando dados de transação a serem consensuados forem adquiridos, qualquer unidade de consenso pode se tornar uma unidade de consenso de transação de consenso para processar os dados de transação a serem consensuados. Essa maneira de distribuição aleatória pode reduzir recursos utilizados pelo sistema na distribuição.
[044]A "maneira aleatória" aqui pode ser implementada através de um algoritmo aleatório, ou pode ser implementada de outras maneiras, o que não é especificamente limitado aqui.
[045]Em outro exemplo, um segundo método de distribuição pode compreender: determinar, em uma maneira de pesquisa (polling), unidades de consenso que necessitam de transação de consenso a partir do conjunto de unidade de consenso; e distribuir os dados de transação a serem consensuados para as unidades de consenso determinadas.
[046]Em um exemplo, quando dados de transação a serem consensuados são adquiridos, uma mensagem de consulta é enviada, em uma maneira de pesquisa, a todas as unidades de consenso no conjunto de unidade de consenso para determinar se existe uma unidade de consenso que precisa de um objeto de transação de consenso (por exemplo, solicitação de transação). Quando é determinado que uma unidade de consenso precisa de um objeto de transação de consenso, os dados de transação a serem consensuados são enviados para a unidade de consenso.
[047]Quando o número de dados de transação a serem consensuados é um, uma mensagem de consulta é enviada sequencialmente a todas as unidades de consenso no conjunto de unidade de consenso. Quando uma mensagem de resposta recebida indica que é necessário um objeto de transação de consenso, os dados de transação a serem consensuados são enviados para a unidade de consenso que retorna a mensagem de resposta.
[048]Quando o número de dados de transação a serem consensuados for maior que um, uma mensagem de consulta pode ser enviada simultaneamente a todas as unidades de consenso no conjunto de unidade de consenso. Quando uma mensagem de resposta é recebida, o número de unidades de consenso que necessitam de um objeto de transação de consenso, conforme indicado na mensagem de resposta recebida, é determinado. Se o número de unidades de consenso for maior que o número de solicitações de transação, as unidades de consenso podem ser selecionadas aleatoriamente de acordo com a primeira maneira das unidades de consenso que necessitam de um objeto de transação de consenso como indicado na mensagem de resposta recebida, e os dados de transação a serem consensuados são enviados simultaneamente para as unidades de consenso selecionadas aleatoriamente, respectivamente. Se o número de unidades de consenso não for maior que o número de solicitações de transação, os dados de transação a serem consensuados são distribuídos aleatoriamente para as unidades de consenso que necessitam de um objeto de transação de consenso, conforme indicado na mensagem de resposta recebida, e os dados de transação a serem consensuados que não foram distribuídos continuarão aguardando.
[049]Por exemplo, é determinado, em uma maneira de pesquisa, que existem três unidades de consenso em necessidade de um objeto de transação de consenso. Suponha que haja quatro conjuntos de dados de transação a serem consensuados adquiridos. Em seguida, os três conjuntos de dados de transação a serem consensuados são aleatoriamente selecionados dos quatro conjuntos de dados de transação a serem consensuados adquiridos. Os três conjuntos de aleatoriamente os dados de transação a serem consensuados selecionados são enviados para as unidades de consenso que necessitam de um objeto de transação de consenso, respectivamente, e o conjunto de dados de transação a serem consensuados que não foi distribuído está em um estado a ser distribuído.
[050]Supondo que existam dois conjuntos de dados de transação a serem consensuados adquiridos, os dois conjuntos de os dados de transação a serem consensuados são selecionados aleatoriamente a partir dos dados de transação a serem consensuados determinados como necessitando de um objeto de transação de consenso. Os dois conjuntos de dados de transação a serem consensuados são enviados simultaneamente para as unidades de consenso selecionadas aleatoriamente, de modo que as unidades de consenso realizem o processamento de consenso sobre dados de transação a serem consensuados recebidos.
[051]Em outro exemplo, um terceiro método de distribuição pode compreender: determinar uma capacidade de carga de cada unidade de consenso no conjunto de unidade de consenso; e distribuir, de acordo com uma regra de balanceamento de carga, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso.
[052]Em um exemplo, quando dados de transação a serem consensuados são adquiridos, a capacidade de carga (a capacidade de carga aqui pode se referir ao status de carga da unidade de consenso atual, que pode ser diferente da capacidade total de carga da unidade de consenso) de cada unidade de consenso no conjunto de unidade de consenso pode ser determinada para garantir que o carregamento seja equilibrado para todas as unidades de consenso no conjunto de unidade de consenso. Além disso, a quantidade atual de recursos ociosos de cada unidade de consenso pode ser determinada de acordo com a capacidade de carga de cada unidade de consenso. Em uma modalidade, os dados de transação a serem consensuados podem ser distribuídos para unidades de consenso no conjunto de unidade de consenso que tenha uma capacidade de carga abaixo de uma condição definida. Nomeadamente, os dados de transação a serem consensuados são distribuídos para unidades de consenso no conjunto de unidade de consenso que possuem recursos ociosos maiores que um limite definido.
[053]Em algumas modalidades, com relação à situação em que o número de unidades de consenso necessitando de um objeto de transação de consenso é maior que o número de solicitações de transação no segundo método de distribuição acima, o método de balanceamento de carga de acordo com o terceiro método de distribuição, o método pode ser usado para determinar unidades de consenso, que não serão ser descritas em detalhes aqui.
[054]Em uma modalidade, quando os dados de transação a serem consensuados adquiridos não podem ser todos distribuídos para as unidades de consenso de uma só vez, uma parte das solicitações de transação precisa estar em um estado a ser distribuído. Em seguida, para as solicitações de transação em um estado a ser distribuído, unidades de consenso ainda podem ser determinadas usando os três métodos de distribuição acima.
[055]Por exemplo, um conjunto de unidade de consenso compreende três unidades de consenso. Em seguida, a conjunto de unidade de consenso pode processar simultaneamente três dados de transação a serem consensuados adquiridos no mesmo momento. Se quatro (ou seja, maior que três) conjuntos de dados de transação a serem consensuados forem adquiridos: os dados de transação a serem consensuados 1, dados de transação a serem consensuados 2, dados de transação a serem consensuados 3, e dados de transação a serem consensuados 4. Em seguida, assume-se que os dados de transação a serem consensuados 1, dados de transações a serem consensuados 2 e dados de transação a serem consensuados 3 são distribuídos simultaneamente para as três unidades de consenso no conjunto de unidade de consenso, e os dados de transação a serem consensuados 4 estarão em um estado a ser distribuído. Uma vez detectado que uma unidade de consenso no conjunto de unidade de consenso se torna ociosa, os dados de transação a serem consensuados 4 podem ser distribuídos para a unidade de consenso.
[056]Em uma modalidade, as unidades de consenso determinantes a partir de um conjunto de unidade de consenso compreendem: determinar um estado de funcionamento de cada unidade de consenso no conjunto de unidade de consenso, o estado de funcionamento compreendendo pelo menos um estado normal e estado anormal; e determinar unidades de consenso a partir de unidades de consenso com o estado de funcionamento sendo um estado normal.
[057]Para garantir que uma unidade de consenso determinada possa realizar com êxito o processamento de consenso sobre dados de transação a serem consensuados adquiridos, o estado de funcionamento das unidades de consenso em um conjunto de unidade de consenso pode ser adicionalmente monitorado. Dessa forma, quando unidades de consenso são selecionadas, as unidades de consenso com um estado de funcionamento anormal podem ser evitadas, o que melhora efetivamente a eficiência de processamento de solicitações de transação.
[058]Além disso, as unidades de consenso em um conjunto de unidade de consenso podem receber ainda um controle de comutação. Dessa forma, quando a quantidade de solicitações de transação a ser processada em uma rede blockchain é relativamente pequena, algumas unidades de consenso em um conjunto de unidade de consenso podem ser desligadas, o que economiza recursos do sistema para melhorar a taxa de utilização dos recursos do sistema. Em algumas modalidades, ao controlar o estado de comutador de cada unidade de consenso, a blockchain na maneira de implementação do presente pedido pode melhorar a disponibilidade do sistema ao enfrentar problemas como tempo de inatividade ou desconexão da Internet. Por exemplo, quando o tempo de inatividade do nó ou a desconexão da Internet ocorre em uma unidade de consenso, a desvantagem da baixa disponibilidade do sistema de uma maneira existente pode ser evitada desligando a unidade de consenso.
[059]S103: a unidade de consenso executa (por exemplo, deve executar) o processamento de consenso nos dados de transação distribuídos.
[060]Em uma modalidade, o algoritmo de consenso usado por unidades de consenso não é limitado aqui, o que pode ser qualquer algoritmo de consenso, incluindo o algoritmo PBFT convencional.
[061]Um especialista na técnica deve entender que não há requisito de sequência nas maneiras de implementação da presente divulgação para distribuição de dados de transação a serem consensuados. Nesta divulgação, um algoritmo de consenso pode ser projetado como uma unidade de consenso independente, diferente de um consenso convencional de blockchain. Um conjunto de unidade de consenso é formado por essas unidades de consenso e após a recepção dos dados de transação a serem consensuados, os dados de transação podem de acordo com uma regra de distribuição definida, para unidades de consenso no conjunto de unidade de consenso alcançar processamento de consenso sobre os dados de transação pelas unidades de consenso. Dessa maneira, uma pluralidade de unidades de consenso pode executar o processamento de consenso simultaneamente em uma solicitação de transação sem requisitos de sequência, a manipulação de sequência pelos algoritmos de consenso existentes é simplificada, a eficiência de processamento e capacidade de vazão de processamento sobre solicitações de transação sem requisitos de sequência são aprimorados e o desempenho operacional de uma rede blockchain é aprimorado.
[062]Em algumas modalidades, as solicitações de transação podem compreender solicitações de transação sem requisitos de sequência. A solicitação de transação sem requisitos de sequência inclui, mas não é limitada a transações de doação de caridade, transações de crowdfunding sem limite ou cota superior, etc. Com relação a uma transação de doação de caridade, a sequência da doação pode não ter um impacto na transação em um nível de milissegundo, e transações de crowdfunding sem limite ou cota superior podem ter a mesma natureza. Portanto, esse tipo de solicitação de transação pode ser tratado como solicitações sem requisitos de sequência. Em uma modalidade, a eficiência operacional do processamento de consenso pode ser aprimorada de maneira consensual simultânea para esse tipo de solicitação de transação sem requisitos de sequência. Com a adoção de tal uma maneira de consenso simultâneo, a capacidade de vazão de todo o sistema blockchain é bastante aprimorada e, em particular, um módulo de algoritmo de consenso não é mais um obstáculo em todo o sistema blockchain.
[063]A Fig. 2 é um fluxograma de um método de consenso de blockchain de acordo com uma modalidade da presente divulgação. O método pode incluir as seguintes etapas.
[064]S201: adquirir dados de transação.
[065] Isso é idêntico ou semelhante à maneira da etapa S101 com referência à Fig. 1, que não será descrita em detalhes.
[066]S202: determinar a quantidade de recursos requeridos para processar os dados de transação e uma quantidade de recursos ociosos de cada unidade de consenso no conjunto de unidade de consenso.
[067]Em uma modalidade, quando dados de transação a serem consensuados são adquiridos, recursos necessários para processar os dados de transação a serem consensuados podem ser determinados.
[068]Além disso, uma quantidade atual de recursos ociosos de cada unidade de consenso no conjunto de unidade de consenso pode ser determinada através de consulta.
[069]S203: comparar a quantidade de recursos ociosos de cada unidade de consenso com os recursos requeridos para processar os dados de transação, respectivamente, e determinar o número de unidades de consenso tendo uma quantidade de recursos ociosos maior que a quantidade de recursos requeridos para processar os dados de transação.
[070]S204: determinar se o número é maior que um valor definido; se sim, o método prossegue para S205; caso contrário, o método prossegue para S206.
[071]O valor definido nas modalidades da presente divulgação pode ser determinado conforme necessário, ou pode ser determinado de acordo com dados experimentais, que não são limitados aqui.
[072]S205: determinar, em uma maneira de pesquisa, unidades de consenso que necessitam de transações de consenso a partir das unidades de consenso tendo mais recursos ociosos do que os recursos requeridos para processar os dados de transação, e distribuir os dados de transação para as unidades de consenso determinadas.
[073]O segundo método de distribuição descrito acima com referência à etapa S102 pode ser usado aqui como a maneira de pesquisa para determinar unidades de consenso que necessitam de transação de consenso.
[074]Em uma modalidade, um mecanismo de pesquisa e distribuição de cada dado de transação a ser consensuado é adotado. De acordo com o mecanismo de pesquisa e distribuição, um adaptador ou uma unidade de distribuição responsável pela distribuição periodicamente envia uma poll para poll sequencialmente cada unidade de consenso se um objeto de transação de consenso for necessário. Se sim, uma transação é provida, ou seja, os dados de transação a serem consensuados são distribuídos e, quando a transação é concluída, a próxima unidade de consenso é pesquisada, que é repetida continuamente.
[075]S206: determinar, de acordo com uma regra de balanceamento de carga, unidades de consenso tendo uma capacidade de carga abaixo de uma condição definida das unidades de consenso tendo mais recursos ociosos do que os recursos requeridos para processar os dados de transação, e distribuir os dados de transação para as unidades de consenso determinadas.
[076]O terceiro método de distribuição descrito acima com referência à etapa S102 pode ser usado como a maneira aqui em que uma regra de balanceamento de carga é usada para determinar unidades de consenso.
[077]Por exemplo, existem cinco conjuntos de dados de transação a serem consensuados aguardando processamento em um momento, enquanto atualmente existem três unidades de consenso capazes de participar da transação de consenso. Em seguida, o carregamento das solicitações de transação excede a capacidade de processamento das unidades de consenso independentes. O carregamento de dados de transação a serem consensuados e a capacidade de processamento das unidades de consenso independentes são comparados para prover referência para a próxima distribuição de consenso, de modo que cada unidade de consenso seja usada com sua capacidade máxima e a quantidade de processamento de consenso por unidade de tempo, por exemplo, capacidade de vazão, seja aprimorada.
[078]Em algumas modalidades, o método de distribuição de balanceamento de carga usado inclui, mas não está limitado a, de uma maneira de balanceamento de carga de software ou hardware, por exemplo, através do balanceamento de carga DNS, balanceamento de carga de gateway, ou um balanceador de carga. A distribuição em maneira de balanceamento de carga pode impedir que muitas solicitações de transação sobrecarreguem algumas unidades de consenso individuais, deixando outras unidades de consenso individuais ociosas.
[079]Comparado com a distribuição em um método de balanceamento de carga, o método de distribuição de pesquisa é mais fácil de operar, mas a distribuição em um método de balanceamento de carga tem maior eficiência.
[080]A Fig. 3 é um fluxograma de um método de consenso de blockchain de acordo com uma modalidade da presente divulgação. O método pode ainda ser o seguinte.
[081]S301: adquirir pelo menos um conjunto de dados de transação.
[082]S302: agrupar pelo menos um dado de transação para obter um ou mais grupos de dados de transação.
[083]Em uma modalidade, como os dados de transação a serem consensuados são dados de transação sem requisitos de sequência, os dados de transação a serem consensuados adquiridos podem ser agrupados, tal que a eficiência de processamento possa ser aprimorada para os dados de transação.
[084]S303: de acordo com a regra de distribuição predefinida, distribuir (por exemplo, distribuindo simultaneamente) os grupos de dados de transação para diferentes unidades de consenso no conjunto de unidade de consenso.
[085]Aqui, a unidade de consenso é usada para executar o processamento de consenso nos dados de transação a serem consensuados distribuídos.
[086]A Fig. 4 é um fluxograma de um método de armazenamento de dados baseado em blockchain de acordo com uma modalidade da presente divulgação. O método pode ser o seguinte.
[087]S401: receber resultados de consenso enviados por diferentes unidades de consenso em uma rede blockchain.
[088]Em uma modalidade, as unidades de consenso podem ter uma capacidade de armazenamento de dados. Quando um resultado de consenso é obtido, o resultado do consenso só precisa ser armazenado; ele também pode não ter uma capacidade de armazenamento de dados, então diferentes unidades de consenso podem enviar os resultados de consenso obtidos para um nó público, e o nó público concluirá o armazenamento.
[089]S402: armazenar os resultados de consenso em blocos da rede blockchain de acordo com as marcas de tempo dos resultados de consenso.
[090]Em um exemplo, de acordo com o tempo de geração dos resultados de consenso, os diferentes resultados de consenso são armazenados sequencialmente em blocos da blockchain; alternativamente, de acordo com o tempo de recepção dos resultados de consenso, os diferentes resultados de consenso são armazenados sequencialmente em blocos da blockchain.
[091]Em uma modalidade, quando os resultados de consenso são armazenados em blocos da blockchain, nós de armazenamento podem ser selecionados de maneira aleatória; ou de acordo com uma relação de correspondência entre unidades de consenso e nós de armazenamento, os resultados de consenso são armazenados em blocos de nós na rede blockchain correspondente a unidades de consenso que geram os resultados de consenso, que não estão limitados aqui. Ou seja, uma unidade de consenso pode armazenar resultados de consenso gerados por ela mesma, armazenar resultados de consenso gerados por outras unidades de consenso ou não armazenar resultados de consenso com os resultados de consenso armazenados em nós de armazenamento independentes.
[092]Em um exemplo, além do fornecimento de controle de comutação para cada unidade de consenso, um controle de comutação pode ser adicionalmente provido para um nó de armazenamento. Ao enfrentar a inatividade dos nós de armazenamento, desconexão de Internet, adição de novos nós e envio de nós antigos, tal como um controle de comutação, melhoram significativamente a disponibilidade de todo o sistema blockchain.
[093]A Fig. 5 é um diagrama esquemático estrutural de um sistema de consenso de blockchain de acordo com uma modalidade da presente divulgação. O sistema de consenso compreende: uma unidade de distribuição 501 e um conjunto de unidade de consenso 502 compreendendo unidades de consenso 5021a-d, em que: a unidade de distribuição 501 adquire dados de transação a serem consensuados e distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso (por exemplo, 5021a, b, c ou d) no conjunto de unidade de consenso 502; e as unidades de consenso 5021a-d compreendidas no conjunto de unidade de consenso 502 executam o processamento de consenso sobre os dados de transação distribuídos a serem consensuados.
[094]Em uma modalidade, o sistema de consenso adicionalmente compreende um ou mais nós de armazenamento 503a-d, em que: os nós de armazenamento 503a-d recebem resultados de consenso enviados por diferentes unidades de consenso em uma rede blockchain e armazena sequencialmente, de acordo com as marcas de tempo dos resultados de consenso, os resultados de consenso.
[095]Em uma modalidade, a unidade de distribuição 501 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: de acordo com o número de conjuntos de dados de transação recebidos a serem consensuados, determinar, de maneira aleatória, um número correspondente de unidades de consenso do conjunto de unidade de consenso; e distribuir simultaneamente os dados de transação a serem consensuados para as unidades de consenso determinadas, respectivamente.
[096]Em uma modalidade, a unidade de distribuição 501 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: determinar, em uma maneira de pesquisa, as unidades de consenso que necessitam de transações de consenso a partir do conjunto de unidade de consenso; e distribuir os dados de transação a serem consensuados para as unidades de consenso determinadas.
[097]Em uma modalidade, a unidade de distribuição 501 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: determinar a capacidade de carga de cada unidade de consenso no conjunto de unidade de consenso; e distribuir, de acordo com uma regra de balanceamento de carga, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso.
[098]Em uma modalidade, a unidade de distribuição 501 que distribuir, de acordo com uma regra de balanceamento de carga, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: distribuir os dados de transação a serem consensuados para unidades de consenso no conjunto de unidades de consenso que têm capacidade de carga abaixo de uma condição definida.
[099]Em uma modalidade, a unidade de distribuição 501 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: determinar a quantidade de recursos requeridos para processar os dados de transação a serem consensuados e uma quantidade de recursos ociosos de cada unidade de consenso no conjunto de unidade de consenso; quando o número de unidades de consenso tendo uma quantidade de recursos ociosos maior que a quantidade de recursos requeridos para processar os dados de transação a serem consensuados forem maior que um valor definido, determinar, em uma maneira de pesquisa, as unidades de consenso que necessitam de transação de consenso a partir das unidades de consenso tendo mais recursos ociosos do que os recursos requeridos para processar os dados de transação a serem consensuados e distribuição dos dados de transação a serem consensuados para as unidades de consenso determinadas; e quando o número de unidades de consenso tendo uma quantidade de recursos ociosos maior que a quantidade de recursos requeridos para processar os dados de transação a serem consensuados for menor que um valor definido, determinar, de acordo com uma regra de balanceamento de carga, unidades de consenso tendo capacidade de carga abaixo de uma condição definida a partir das unidades de consenso tendo mais recursos ociosos do que os recursos requeridos para processar os dados de transação a serem consensuados, e distribuir os dados de transação a serem consensuados para as unidades de consenso determinadas.
[0100]Em uma modalidade, a unidade de distribuição 501 que determina unidades de consenso a partir do conjunto de unidades de consenso compreende: determinar um estado de funcionamento de cada unidade de consenso no conjunto de unidade de consenso, o estado de funcionamento compreendendo pelo menos um estado normal e estado anormal; e determinar unidades de consenso a partir de unidades de consenso com o estado de funcionamento sendo um estado normal.
[0101]Em uma modalidade, os dados de transação a serem consensuados compreendem dados de transação sem requisitos de sequência.
[0102]Em uma modalidade, o nó de armazenamento 503 recebe resultados de consenso enviados por diferentes unidades de consenso em uma rede blockchain; e armazena, de acordo com marcas de tempo dos resultados de consenso, os resultados de consenso em blocos da rede blockchain.
[0103]Em uma modalidade, o nó de armazenamento 503 que armazena os resultados de consenso em blocos da blockchain compreende: armazenar os resultados de consenso em blocos de nós na rede blockchain correspondente às unidades de consenso que geram os resultados de consenso.
[0104]A Fig. 6 é um diagrama esquemático de um aparelho de consenso de blockchain 600 de acordo com uma modalidade da presente divulgação. O aparelho de consenso 600 pode compreender uma unidade de aquisição 601 e uma unidade de processamento 602, em que: a unidade de aquisição 601 adquire os dados de transação a serem consensuados; e a unidade de processamento 602 distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso e a unidade de consenso é configurada para executar o processamento de consenso nos dados de transação a serem consensuados distribuídos. Em algumas modalidades, o aparelho de consenso de blockchain 600 pode compreender uma memória e um processador acoplados juntos. A memória pode ser não transitória e legível por computador e pode armazenar instruções que, quando executadas pelo processador, fazem com que o aparelho 600 execute uma ou mais etapas aqui descritas. As instruções podem ser implementadas como várias unidades, conforme descrito aqui. Cada unidade pode ser um software, um hardware ou uma combinação de ambos.
[0105]Em uma modalidade, a unidade de processamento 602 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: de acordo com o número de conjuntos de dados de transação recebidos a serem consensuados, determinar, de maneira aleatória, um número correspondente de unidades de consenso a partir do conjunto de unidade de consenso; e distribuir simultaneamente os dados de transação a serem consensuados para as unidades de consenso determinadas, respectivamente.
[0106]Em uma modalidade, a unidade de processamento 602 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: determinar, em uma maneira de pesquisa, as unidades de consenso necessitando de transações de consenso o conjunto de unidade de consenso; e distribuir os dados de transação a serem consensuados para as unidades de consenso determinadas.
[0107]Em uma modalidade, a unidade de processamento 602 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: determinar a capacidade de carga de cada unidade de consenso no conjunto de unidade de consenso; e distribuir, de acordo com uma regra de balanceamento de carga, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso.
[0108]Em uma modalidade, a unidade de processamento 602 que distribuir, de acordo com uma regra de balanceamento de carga, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: distribuir os dados de transação a serem consensuados para unidades de consenso no conjunto de unidades de consenso que têm capacidade de carga abaixo de uma condição definida.
[0109]Em uma modalidade, a unidade de processamento 602 que distribuir, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: determinar a quantidade de recursos requeridos para processar os dados de transação de consenso e uma quantidade de recursos ociosos de cada unidade de consenso no conjunto de unidade de consenso; quando o número de unidades de consenso tendo uma quantidade de recursos ociosos maior que a quantidade de recursos requeridos para processar os dados de transação a serem consensuados for maior que um valor definido, determinar, em uma maneira de pesquisa, as unidades de consenso que necessitam de unidades de transação de consenso
[0110]Tendo mais recursos ociosos do que os recursos requeridos para processar os dados de transação a serem consensuados e distribuição dos dados de transação a serem consensuados em unidades de consenso determinadas; e quando o número de unidades de consenso tendo uma quantidade de recursos ociosos maior que a quantidade de recursos requeridos para processar os dados de transação a serem consensuados é menor que um valor definido, determinar, de acordo com uma regra de balanceamento de carga, unidades de consenso tendo capacidade de carga abaixo de uma condição definida das unidades de consenso tendo mais recursos ociosos que os recursos requeridos para processar os dados de transação a serem consensuados e distribuir os dados de transação a serem consensuados para as unidades de consenso determinadas.
[0111]Em uma modalidade, a unidade de processamento 602 que determina unidades de consenso do conjunto de unidade de consenso compreende: determinar um estado de funcionamento de cada unidade de consenso no conjunto de unidade de consenso, o estado de funcionamento compreendendo pelo menos um de um estado anormal e um estado ocioso; e determinar unidades de consenso a partir de unidades de consenso com o estado de funcionamento sendo um estado normal.
[0112]Em uma modalidade, os dados de transação a serem consensuados compreendem dados de transação sem requisitos de sequência.
[0113]O aparelho de consenso de acordo com as várias modalidades pode ser implementado em um software, ou pode ser implementado em uma maneira de hardware, o que não é limitado aqui. Em outras palavras, as unidades 601 e 602 podem ser unidades funcionais de software armazenadas na memória. Quando as unidades funcionais de software são executadas por um processador, elas fazem com que o processador execute funções descritas. As unidades 601 e 602 também podem ser unidades de hardware, tal como, circuitos programados para executar as funções descritas.
[0114]A Fig. 7 é um diagrama esquemático de um aparelho de consenso de blockchain 700 de acordo com uma modalidade do presente pedido. O aparelho de consenso 700 pode compreender uma unidade de aquisição 701 e uma unidade de processamento 702, em que: a unidade de aquisição adquire pelo menos um dado de transação a ser consensuado; e a unidade de processamento distribui simultaneamente, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso, e a unidade de consenso é configurada para executar o processamento de consenso nos dados de transação a serem consensuados distribuídos. Em algumas modalidades, o aparelho de consenso de blockchain 700 pode compreender uma memória e um processador acoplados. A memória pode ser transitória e legível por computador e pode armazenar instruções que, quando executadas pelo processador, faz com que o aparelho 700 execute uma ou mais etapas aqui descritas. As instruções podem ser implementadas como várias unidades, conforme descrito aqui. Cada unidade pode ser um software, um hardware, ou uma combinação de ambos. Por exemplo, as unidades 701 e 702 podem ser unidades funcionais de software armazenado em uma memória. Quando as unidades funcionais do software são executadas por um processador, elas fazem com que o processador execute as funções descritas. As unidades 701 e 702 também podem ser unidades de hardware, tais como circuitos programados para executar as funções descritas.
[0115]Em uma modalidade, a unidade de processamento 702 que distribui simultaneamente, de acordo com uma regra de distribuição predefinida, os dados de transação a serem consensuados para pelo menos uma unidade de consenso no conjunto de unidade de consenso compreende: agrupar pelo menos um dado de transação a ser consensuado para obter um ou mais grupos de dados de transação; e de acordo com a regra de distribuição predefinida, distribuir os grupos de dados de transação para diferentes unidades de consenso no conjunto de unidade de consenso.
[0116]A Fig. 8 é um diagrama esquemático estrutural de um aparelho de armazenamento de dados baseado em blockchain 800 de acordo com uma modalidade do presente pedido. O aparelho de armazenamento 800 pode compreender uma unidade de recepção 801 e uma unidade de armazenamento 802, em que: a unidade de recepção 801 recebe resultados de consenso enviados por diferentes unidades de consenso em uma rede blockchain; e a unidade de armazenamento 802 armazena, de acordo com marcas de tempo dos resultados de consenso, os resultados de consenso em blocos da rede blockchain. Em algumas modalidades, o aparelho de consenso de blockchain 800 pode compreender uma memória e um processador acoplados. A memória pode ser não transitória e legível por computador e pode armazenar instruções que, quando executadas pelo processador, fazem com que o aparelho 800 execute uma ou mais etapas descritas aqui. As instruções podem ser implementadas como várias unidades, conforme descrito aqui. Cada unidade pode ser um software, um hardware ou uma combinação de ambos. Por exemplo, as unidades 801 e 802 podem ser unidades funcionais de software armazenadas na memória. Quando as unidades de software funcionais são executadas por um processador, elas fazem com que o processador execute as funções descritas. As unidades 801 e 802 também podem ser unidades de hardware, tais como circuitos programados para executar as funções descritas.
[0117]Em uma modalidade, a unidade de armazenamento 802 que armazena os resultados de consenso em blocos da blockchain compreende: armazenar os resultados de consenso em blocos de nós na rede blockchain correspondente às unidades de consenso que geram os resultados de consenso.
[0118]O aparelho de consenso de acordo com várias modalidades pode ser implementado em um software, ou pode ser implementado emu ma maneira de hardware, o que não é limitado aqui. No que diz respeito ao aparelho de consenso, um algoritmo de consenso é projetado como uma unidade de consenso independente, que é diferente de um consenso convencional de blockchain. Um conjunto de unidade de consenso é formado por essas unidades de consenso e após a recepção dos dados de transação a serem consensuados, os dados de transação podem ser distribuídos, de acordo com uma regra de distribuição definida, para as unidades de consenso no conjunto de unidade de consenso para alcançar processamento de consenso sobre os dados de transação pelas unidades de consenso. Desta forma, uma pluralidade de unidades de consenso pode executar o processamento de consenso simultaneamente em uma solicitação de transação sem requisitos de sequência, a manipulação de consequências por algoritmos de consenso existentes é simplificada, a eficiência de processamento e a capacidade de vazão de processamento em solicitações de transação sem os requisitos de sequência são aprimoradas e o desempenho operacional de uma rede blockchain é aprimorado.
[0119]De acordo com as modalidades da presente divulgação, os aparelhos respectivamente correspondem aos métodos. Portanto, os aparelhos também alcançam efeitos técnicos vantajosos que são semelhantes aos dos métodos correspondentes. Como os efeitos técnicos vantajosos dos métodos foram descritos em detalhes acima, os efeitos técnicos vantajosos dos aparelhos correspondentes não serão repetidos aqui.
[0120]Nos anos 90, um aprimoramento em uma tecnologia poderia ser diferenciado em aprimoramento de hardware (por exemplo, um aprimoramento em uma estrutura de circuito, tais como um diodo, um transistor, um comutador e similares) ou um aprimoramento de software (um aprimoramento no fluxo de um método). Juntamente com o desenvolvimento tecnológico, no entanto, muitos aprimoramentos atuais nos fluxos de métodos podem ser considerados como aprimoramentos diretos nas estruturas de circuitos de hardware. Os designers podem obter uma estrutura de circuito de hardware correspondente programando um fluxo de método aprimorado em um circuito de hardware. Portanto, um aprimoramento no fluxo do método pode ser realizado pela implementação do hardware. Por exemplo, Dispositivo Lógico Programável (PLD) (por exemplo, Arranjo de Porta Programável em Campo (FPGA)) é tal um circuito integrado que suas funções lógicas são determinadas pelo usuário através da programação do dispositivo. Um designer pode programar para “integrar” um sistema digital em um pedaço de PLD, sem pedir a um fabricante de chips para projetar e fabricar um chip IC dedicado. Atualmente, esse tipo de programação foi implementado principalmente através do software de “compilador de lógica”, em vez de fabricar manualmente os chips IC. O software do compilador de lógica é semelhante a um compilador de software usado para desenvolvimento e gravação de programas, enquanto uma linguagem de programação específica é usada para gravar códigos-fonte antes da compilação, conhecida como Linguagem de Descrição de Hardware (HDL). Não há apenas um, mas muitos tipos de HDL, tal como o ABEL (Advanced Boolean Expression Language (Linguagem de Expressão Booleana Avançada)), AHDL (Altera Hardware Description Language (Linguagem de Descrição de Hardware de Altera)), Confluence, CUPL (Cornell University Programming Language (Linguagem de Programação da Universidade de Cornell)), HDCal, JHDL (Java Hardware Description Language (Linguagem de Descrição de Hardware de Java)), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language (Linguagem de Descrição de Hardware de Ruby)). A HDL mais comumente usada inclui VHDL (Very-High-Speed-Integrated Circuit Hardware Description Language (Linguagem de Descrição de Hardware de Circuito Integrado de Velocidade Muito Alta)) e Verilog. Uma pessoa versada na técnica saberia obter um circuito de hardware para implementar um fluxo de método de lógico usando as HDLs acima para executar alguma programação de lógica no fluxo do método e programá-lo em um IC.
[0121]Um controlador pode ser implementado de qualquer maneira adequada.Por exemplo, um controlador pode ser em, por exemplo, uma forma de microprocessador ou processador, bem como um meio legível por computador que armazena códigos de programa legíveis por computador (por exemplo, software ou firmware) capazes de serem executados pelo (micro) processador, uma porta lógica, um comutador, um circuito integrado de aplicação específica (ASIC), um controlador de lógica programável e um microcontrolador incorporado. Exemplos do controlador incluem, entre outros, os seguintes microcontroladores: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 e Silicon Labs C8051F320. Um controlador de memória pode ainda ser implementado como parte de uma lógica de controle de uma memória. Uma pessoa especialista na técnica também deve ser ciente de que, em adição aquele controlador ser implementado de uma maneira de códigos de programa legíveis por computador, é possível executar a programação de lógica nas etapas de um método para ativar um controlador para implementar as mesmas funções na forma de um portão de lógica, um comutador, um ASIC, um controlador de lógica programável e um microcontrolador incorporado. Portanto, esse controlador pode ser considerado como uma parte de hardware, enquanto os dispositivos nele incluídos e configurados para executar várias funções também podem ser considerados como uma estrutura dentro da peça de hardware. Como alternativa, dispositivos configurados para executar várias funções podem ser considerados como ambos os módulos de software para implementar um método e uma estrutura dentro de uma peça de hardware.
[0122]Os sistema, aparelho, módulo ou unidade descritos nas modalidades acima podem ser implementados por um chip ou entidade de computador ou implementados por um produto tendo uma função. Um dispositivo de implementação típico é um computador. Por exemplo, um computador pode ser um computador pessoal, um laptop, telefone celular, telefone com câmera, smartphone, assistente digital pessoal, um reprodutor de mídia, um dispositivo de navegação, um aparelho email, um console de jogos, um tablet, um dispositivo usável ou uma combinação de qualquer dispositivo nesses dispositivos.
[0123]Por conveniência de descrição, o aparelho acima é dividido em várias unidades de acordo com as funções para descrição. As funções das unidades podem ser implementadas em uma ou várias partes do software e/ou hardware ao implementar a presente divulgação.
[0124]Um especialista na técnica deve entender que as modalidades da presente divulgação podem ser providas como um método, um sistema ou um produto de programa de computador. Portanto, o sistema divulgado pode ser implementado como uma modalidade de hardware completo, uma modalidade de software completo, ou uma modalidade que combina software e hardware para executar os métodos divulgados. Além disso, o sistema divulgado pode estar na forma de um produto de programa de computador implementado em uma ou mais mídias de armazenamento utilizáveis por computador (incluindo, entre outras, uma memória de disco magnético, CD-ROM, memória óptica e similares) compreendendo códigos de programa usáveis em computador.
[0125]O sistema divulgado é descrito com referência a fluxogramas e/ou diagramas de blocos do método, dispositivo (sistema) e produto do programa de computador de acordo com as modalidades da presente divulgação. Uma instrução de programa de computador pode ser usada para implementar cada processo e/ou bloco nos fluxogramas e/ou diagramas de bloco e uma combinação de processos e/ou blocos nos fluxogramas e/ou diagramas de blocos. Essas instruções do programa de computador podem ser providas para computador de uso geral, computador de uso especial, processador embutido ou processador de outros dispositivos de processamento de dados programáveis para gerar uma máquina, de modo que as instruções executadas por um computador ou processador de outros dispositivos de processamento de dados programáveis geram um aparelho para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de blocos.
[0126]Estas instruções do programa de computador também podem ser armazenadas na memória legível por computador que podem instruir um computador ou outro dispositivo de processamento de dados programável para trabalhar em um maneira particular, tal que as instruções armazenadas na memória legível por computador geram um artigo que inclui um aparelho de instrução. O aparelho de instrução implementa uma ou mais funções em um ou mais processos nos fluxogramas e/ou em um ou mais blocos no diagrama de blocos.
[0127]Estas instruções de programa de computador também podem ser carregadas em um computador ou outros dispositivos de processamento de dados programáveis, de modo que uma série de etapas operacionais sejam executadas no computador ou outros dispositivos programáveis, gerando assim um processamento implementado por computador. Portanto, as instruções executadas no computador ou em outros dispositivos programáveis proveem etapas para implementar uma ou mais funções em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de blocos.
[0128]Em uma configuração típica, o dispositivo de computação inclui uma ou mais Unidades de Processamento Central (CPUs), interfaces de entrada / saída, interfaces de rede e uma memória.
[0129]A memória pode incluir mídia legível por computador, tal como memória volátil, uma Memória de Acesso Aleatório (RAM) e/ou uma memória não volátil, por exemplo, uma Memória Somente de Leitura (ROM) ou uma RAM flash. A memória é um exemplo de mídia legível por computador.
[0130]A mídia legível por computador inclui mídia permanente, mídia volátil, móvel e imóvel, que pode implementar o armazenamento de informações através de qualquer método ou tecnologia. A informação pode ser instruções legíveis por computador, estruturas de dados, módulos de programas ou outros dados. Exemplos de mídia de armazenamento de computadores incluem, entre outros, RAMs de Mudança de Fase (PRAMs), RAMs Estáticas (SRAMs), RAMs Dinâmicas (DRAMs), outros tipos de Memórias de Acesso Aleatório (RAMs), Memórias Somente de Leitura (ROMs), Memórias Somente de Leitura Programáveis Eletricamente Apagáveis (EEPROMs), memórias flash ou outras tecnologias de memória, Memórias Somente de Leitura de Disco Compacto (CD-ROMs), Discos Versáteis Digitais (DVDs) ou outras memórias ópticas, cassetes, memórias de cassetes e discos ou outros dispositivos de memória magnética ou qualquer outra mídia de não transmissão, que possa ser usada para armazenar informações acessíveis a um dispositivo de computação. De acordo com as definições aqui contidas, a mídia legível por computador não inclui mídia transitória, tais como sinais de dados modulados e portadoras.
[0131]Os termos de "incluindo", "compreendendo" ou quaisquer outras variantes dos mesmos pretendem abranger uma inclusão não exclusiva, de modo que um processo, método, mercadoria ou dispositivo compreendendo uma série de elementos não apenas compreendam esses elementos, mas também outros elementos que não estão listados, ou adicionalmente compreendam elementos que são inerentes ao processo, método, mercadoria ou dispositivo. Quando não há mais restrições, os elementos definidos pela declaração “compreendendo um^” não excluem elementos similares adicionais em um processo, método, mercadoria ou dispositivo que incluam os elementos definidos.
[0132]A presente divulgação pode ser descrita em um contexto regular de uma instrução executável por computador que é executada por um computador, tal como um módulo de programa. Em várias modalidades, o módulo de programa compreende uma rotina, um programa, um objeto, um componente, uma estrutura de dados e similares para executar uma tarefa particular ou implementar um tipo de dados abstratos. A presente divulgação também pode ser praticada em ambientes de computação distribuídos. Nestes ambientes de computação distribuídos, os dispositivos de processamento remoto conectados via redes de comunicação executam tarefas. Nos ambientes de computação distribuídos, um módulo de programa pode ser localizado em mídia de armazenamento em computador local e remota, incluindo dispositivos de armazenamento.
[0133]As modalidades nesta descrição são descritas de maneira progressiva com cada modalidade focando em diferenças de outras modalidades, e as modalidades podem ser referenciadas mutuamente para partes idênticas ou similares. Para a modalidade do sistema, a sua descrição é relativamente simples, pois é substancialmente semelhante à modalidade do método. A descrição da modalidade do método pode ser referenciada para partes relacionadas.
[0134]As modalidades da presente divulgação são meramente exemplares e não são usadas para limitar a presente divulgação. Para um especialista na técnica, as modalidades divulgadas podem ser modificadas ou alteradas de várias maneiras. Quaisquer modificação, substituição equivalente ou melhoria feitas dentro do espírito e do princípio da presente divulgação devem ser abrangidas pelas reivindicações da presente divulgação.

Claims (14)

1. Método CARACTERIZADO pelo fato de que compreende:adquirir dados de transação a partir de múltiplas solicitações de transação sem requisitos de sequência, os dados de transação adquiridos compreendendo primeiros dados de transação de uma primeira solicitação de transação dentre as solicitações de transação e segundos dados de transação de uma segunda solicitação de transação dentre as solicitações de transação, em que cada uma das solicitações de transação sem requisitos de sequência não requer processamento de acordo com um fator de tempo de quando a solicitação de transação foi enviada por um remetente em relação a outras solicitações de transação adquiridas para processamento de consenso;determinar uma quantidade de recursos requeridos para processar os dados de transação adquiridos;determinar um número de unidades de consenso em uma rede de blockchain que tem uma quantidade de recursos ociosos que não é menor do que a quantidade de recursos requeridos para processar os dados de transação adquiridos;determinar, com base no número, pelo menos duas unidades de consenso a partir das unidades de consenso ao:se o número for maior do que um limite, pesquisar (polling) as unidades de consenso para determinar qual das unidades de consenso necessita de uma transação de consenso; ese o número for menor do que ou igual ao limite, determinar qual das unidades de consenso tem uma capacidade de carga abaixo de uma condição definida; edistribuir os primeiros dados de transação para uma primeira unidade de consenso dentre as pelo menos duas unidades de consenso e os segundos dados de transação para uma segunda unidade de consenso dentre as pelo menos duas unidades de consenso sem considerar o fator de tempo, fazendo com que as pelo menos duas unidades de consenso executem processamento de consenso sobre os primeiros dados de transação e os segundos dados de transação sem considerar o fator de tempo.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que após os primeiros dados de transação e os segundos dados de transação serem distribuídos, a primeira unidade de consenso e a segunda unidade de consenso executam simultaneamente processamento de consenso nos primeiros dados de transação e nos segundos dados de transação, respectivamente.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que determinar as pelo menos duas unidades de consenso, compreende: determinar que o número é maior do que o limite, e pesquisar as unidades de consenso para determinar qual das unidades de consenso necessita da transação de consenso.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que pesquisar as unidades de consenso compreende: pesquisar sequencialmente cada uma das unidades de consenso para determinar se ela necessita da transação de consenso.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que determinar as pelo menos duas unidades de consenso, compreende: determinar que o número é menor do que ou igual ao limite, e selecionar cada uma das pelo menos duas unidades de consenso com base na capacidade de carga determinada da unidade de consenso.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas solicitações de transação compreendem uma transação de doação de caridade ou uma transação de crowdfunding sem limite superior ou cota.
7. Mídia de armazenamento legível por computador não transitória CARACTERIZADA pelo fato de que armazena instruções que, quando executadas por um processador, fazem o processador executar um método compreendendo:adquirir dados de transação a partir de múltiplas solicitações de transação sem requisitos de sequência, os dados de transação adquiridos compreendendo primeiros dados de transação de uma primeira solicitação de transação dentre as solicitações de transação e segundos dados de transação de uma segunda solicitação de transação dentre as solicitações de transação, em que cada uma das solicitações de transação sem requisitos de sequência não requer processamento de acordo com um fator de tempo de quando a solicitação de transação foi enviada por um remetente em relação a outras solicitações de transação adquiridas para processamento de consenso;determinar uma quantidade de recursos requeridos para processar os dados de transação adquiridos;determinar um número de unidades de consenso em uma rede de blockchain que tem uma quantidade de recursos ociosos que não é menor do que a quantidade de recursos requeridos para processar os dados de transação adquiridos;determinar, com base no número, pelo menos duas unidades de consenso a partir das unidades de consenso ao:se o número for maior do que um limite, pesquisar as unidades de consenso para determinar qual das unidades de consenso necessita de uma transação de consenso; ese o número for menor do que ou igual ao limite, determinar qual das unidades de consenso tem uma capacidade de carga abaixo de uma condição definida; edistribuir os primeiros dados de transação para uma primeira unidade de consenso dentre as pelo menos duas unidades de consenso e os segundos dados de transação para uma segunda unidade de consenso dentre as pelo menos duas unidades de consenso sem considerar o fator de tempo, fazendo com que as pelo menos duas unidades de consenso executem processamento de consenso nos primeiros dados de transação e nos segundos dados de transação sem considerar o fator de tempo.
8. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 7, CARACTERIZADA pelo fato de que após os primeiros dados de transação e os segundos dados de transação serem distribuídos, a primeira unidade de consenso e a segunda unidade de consenso executam simultaneamente processamento nos primeiros dados de transação e nos segundos dados de transação, respectivamente.
9. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 7, CARACTERIZADA pelo fato de que determinar as pelo menos duas unidades de consenso compreende: determinar que o número é maior do que o limite, e pesquisar as unidades de consenso para determinar qual das unidades de consenso necessita da transação de consenso.
10. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 9, CARACTERIZADA pelo fato de que pesquisar as unidades de consenso compreende: pesquisar sequencialmente cada uma das unidades de consenso para determinar se ela necessita da transação de consenso.
11. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 7, CARACTERIZADA pelo fato de que determinar as pelo menos duas unidades de consenso compreende: determinar que o número é menor do que ou igual ao limite, e selecionar cada uma das pelo menos duas unidades de consenso com base na capacidade de carga determinada da unidade de consenso.
12. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 7, CARACTERIZADA pelo fato de que as múltiplas solicitações de transação compreendem transação de doação de caridade ou uma transação de crowdfunding sem limite superior ou cota.
13. Sistema, CARACTERIZADO pelo fato de que compreende:um processador; euma mídia de armazenamento legível por computador não transitória armazenando instruções que, quando executadas pelo processador, fazem o processador executar um método compreendendo:adquirir dados de transação a partir de múltiplas solicitações de transação sem requisitos de sequência, os dados de transação adquiridos compreendendo primeiros dados de transação de uma primeira solicitação de transação dentre as solicitações de transação e segundos dados de transação de uma segunda solicitação de transação dentre as solicitações de transação, em que cada uma das solicitações de transação sem requisitos de sequência não requer processamento de acordo com um fator de tempo de quando a solicitação de transação foi enviada por um remetente em relação a outras solicitações de transação adquiridas para processamento de consenso;determinar uma quantidade de recursos requeridos para processar os dados de transação adquiridos;determinar um número de unidades de consenso em uma rede de blockchain que tem uma quantidade de recursos ociosos que não é menor do que a quantidade de recursos requeridos para processar os dados de transação adquiridos;determinar, com base no número, pelo menos duas unidades de consenso a partir das unidades de consenso ao:se o número for maior do que um limite, pesquisar as unidades de consenso para determinar qual das unidades de consenso necessita de uma transação de consenso; ese o número for menor do que ou igual ao limite, determinar qual das unidades de consenso tem uma capacidade de carga abaixo de uma condição definida; e distribuir os primeiros dados de transação para uma primeira unidade de consenso dentre as pelo menos duas unidades de consenso e os segundos dados de transação para uma segunda unidade de consenso dentre as pelo menos duas unidades de consenso sem considerar o fator de tempo, fazendo com que as pelo menos duas unidades de consenso executem processamento de consenso nos primeiros dados de transação e nos segundos dados de transação sem considerar o fator de tempo.
14. Sistema, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que após os primeiros dados de transação e os segundos dados de transação serem distribuídos, a primeira unidade de consenso e a segunda unidade de consenso executam simultaneamente processamento de consenso nos primeiros dados de transação e nos segundos dados de transação, respectivamente.
BR112019020374-5A 2017-03-29 2018-03-26 Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain BR112019020374B1 (pt)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
BR112019020374A2 BR112019020374A2 (pt) 2020-04-28
BR112019020374B1 true BR112019020374B1 (pt) 2022-01-25

Family

ID=60270911

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019020374-5A BR112019020374B1 (pt) 2017-03-29 2018-03-26 Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain

Country Status (16)

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

Families Citing this family (90)

* 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 创新先进技术有限公司 一种区块链共识方法及装置
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 江苏通付盾科技有限公司 区块链网络中区块打包方法及***、电子设备、存储介质
CN110083437A (zh) * 2018-01-25 2019-08-02 北京欧链科技有限公司 处理区块链事务的方法及装置
WO2019144353A1 (zh) * 2018-01-25 2019-08-01 深圳前海达闼云端智能科技有限公司 基于区块链的数据训练方法、装置、存储介质及区块链节点
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 中车工业研究院有限公司 一种基于区块链的众包交易***
CN111433807A (zh) * 2018-04-18 2020-07-17 深圳市元征软件开发有限公司 区块链节点服务、挖矿方法、装置、设备、***及介质
CN108683645A (zh) * 2018-04-27 2018-10-19 欧阳福 一种基于区块链的信息分布式域名及数据交易***
EP3791348A4 (en) 2018-05-10 2022-01-19 Cornell University METASTABLE BYZANTINE CHORD
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
CN111092925B (zh) * 2018-10-23 2022-08-05 ***通信有限公司研究院 一种区块链扩容处理方法、装置及设备
CN109376274B (zh) * 2018-10-23 2020-12-22 杭州能链科技有限公司 基于区块链***的出块方法、设备以及存储介质
US11138188B2 (en) 2018-11-07 2021-10-05 International Business Machines Corporation Performance optimization
CA3041463C (en) * 2018-11-07 2020-08-25 Alibaba Group Holding Limited Facilitating practical byzantine fault tolerance blockchain consensus and node synchronization
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 京东科技控股股份有限公司 基于区块链的数据处理方法、装置及设备
BR112019014815A2 (pt) 2018-12-13 2020-02-27 Alibaba Group Holding Limited Método implementado por computador, meio de armazenamento legível por computador não transitório e sistema
SG11201906834SA (en) 2018-12-13 2019-08-27 Alibaba Group Holding Ltd Achieving consensus among network nodes in a distributed system
KR102134549B1 (ko) * 2018-12-13 2020-07-27 알리바바 그룹 홀딩 리미티드 분산 시스템에서 프라이머리 노드의 체인지 수행
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 杨税令 一种应用于区块链的多层段式共识方法及***
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)
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)
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 京东方科技集团股份有限公司 共识任务协调方法及装置、区块链***、存储介质
EP3596888B1 (en) * 2019-03-18 2022-08-03 Advanced New Technologies Co., Ltd. System and method for ending view change protocol
EP3593249B1 (en) 2019-03-18 2021-06-23 Advanced New Technologies Co., Ltd. System and method for ending view change protocol
CA3058233C (en) * 2019-03-18 2023-03-07 Alibaba Group Holding Limited Consensus system downtime recovery
CN110049030B (zh) * 2019-04-08 2020-03-10 山东公链信息科技有限公司 基于随机连续离散的区块链共识***
SG11201910057QA (en) 2019-04-12 2019-11-28 Alibaba Group Holding Ltd Performing parallel execution of transactions in a distributed ledger system
CA3060790C (en) 2019-04-12 2021-06-08 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
CN110113388B (zh) * 2019-04-17 2020-01-14 四川大学 一种基于改进型聚类算法的区块链***共识的方法和装置
CN110138597B (zh) * 2019-04-17 2021-11-05 上海大学 基于信用积分和节点聚类的区块链dpos共识机制改进方法
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 广州中科易德科技有限公司 一种基于关联规则模型训练的区块链共识方法和***
CN111524011B (zh) * 2020-05-06 2023-05-30 杭州复杂美科技有限公司 平行链共识确认方法、设备和存储介质
CN111524010B (zh) * 2020-05-06 2023-06-02 杭州复杂美科技有限公司 平行链共识方法、设备和存储介质
CN111522696B (zh) * 2020-07-03 2020-12-29 支付宝(杭州)信息技术有限公司 区块链共识节点的宕机处理方法、数据持久化方法及硬件
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
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 北京百度网讯科技有限公司 区块链***的运行方法、装置、设备和存储介质
CN113784238B (zh) * 2021-06-30 2023-04-18 北京邮电大学 基于区块链网络的频谱资源交易方法及***
CN114296831A (zh) * 2021-12-30 2022-04-08 迅鳐成都科技有限公司 区块链共识算法动态加载方法、装置、***及存储介质

Family Cites Families (39)

* 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
US8910176B2 (en) 2010-01-15 2014-12-09 International Business Machines Corporation System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance
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
EP2954424B1 (en) 2014-05-05 2018-05-30 Huawei Technologies Co., Ltd. Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
US20160335628A1 (en) 2014-05-15 2016-11-17 Adam Mark Weigold 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
JP6425808B2 (ja) 2014-07-11 2018-11-21 ロイヤル コーポレイション 取引型および非取引型の商業を奨励する分散型台帳プロトコル
RU2584506C1 (ru) * 2014-10-22 2016-05-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты операций с электронными деньгами
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
US11386404B2 (en) * 2015-02-04 2022-07-12 Ripple Luxembourg S.A. Temporary consensus subnetwork in a distributed network for payment processing
US9965628B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Device reporting and protection systems and methods using a secure distributed transactional ledger
WO2016154001A1 (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
EP3362965A4 (en) * 2015-10-13 2019-08-07 Transactive Grid Inc. USING A DISTRIBUTED CONSENSUS CONTROL BASED ON A BLOCK CHAIN
US10282457B1 (en) * 2016-02-04 2019-05-07 Amazon Technologies, Inc. Distributed transactions across multiple consensus groups
US10810583B2 (en) * 2016-04-29 2020-10-20 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 杭州云象网络技术有限公司 一种联盟链网络下采用异步方式的节点共识验证方法
JP7212266B2 (ja) * 2017-06-05 2023-01-25 バランスド メディア テクノロジー エルエルシー タスクを共同処理するためのプラットフォーム

Also Published As

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

Similar Documents

Publication Publication Date Title
BR112019020374B1 (pt) Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain
RU2735096C1 (ru) Способ и устройство обработки услуг и консенсуса
KR102304492B1 (ko) 합의 검증을 위한 방법 및 장치
JP6804668B2 (ja) ブロックデータ検証方法および装置
BR112019013379B1 (pt) Método implementado por computador para consenso com base em protocolo de confiança e sistema implementado por computador
BR112019010368B1 (pt) Método para processar uma solicitação de serviço e dispositivo para processar uma solicitação de serviço
BR112019013412B1 (pt) Método para processamento de dados com base em um protocolo de confiança, meio legível por computador e sistema implementado por computador.
TWI694700B (zh) 資料處理方法和裝置、用戶端
US8060773B1 (en) Systems and methods for managing sub-clusters within a multi-cluster computing system subsequent to a network-partition event
TWI697223B (zh) 資料處理方法
TWI662486B (zh) 檢查分布式業務處理完整度的方法及裝置

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY)

B25A Requested transfer of rights approved

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/03/2018, OBSERVADAS AS CONDICOES LEGAIS.