BR112019012905A2 - método para o envio das informações de transação e dispositivo para o envio das informações de transação - Google Patents

método para o envio das informações de transação e dispositivo para o envio das informações de transação Download PDF

Info

Publication number
BR112019012905A2
BR112019012905A2 BR112019012905A BR112019012905A BR112019012905A2 BR 112019012905 A2 BR112019012905 A2 BR 112019012905A2 BR 112019012905 A BR112019012905 A BR 112019012905A BR 112019012905 A BR112019012905 A BR 112019012905A BR 112019012905 A2 BR112019012905 A2 BR 112019012905A2
Authority
BR
Brazil
Prior art keywords
transaction information
consensus
consensus node
node
transaction
Prior art date
Application number
BR112019012905A
Other languages
English (en)
Inventor
Li Ning
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of BR112019012905A2 publication Critical patent/BR112019012905A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/104Peer-to-peer [P2P] networks
    • 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)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Retry When Errors Occur (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

a presente invenção se refere às implementações que descrevem um método e um dispositivo para o envio das informações de transação e realizar a verificação de consenso. se outro nódulo de consenso falha em receber as informações de transação enviadas através de um nódulo de manuseio em uma fase de manuseio de transação, o outro nódulo de consenso pode enviar uma notificação de falha de verificação de consenso que inclui um identificador de informações de transação ao nódulo de manuseio em uma fase de verificação de consenso, se o outro nódulo de consenso determina que as informações de transação incluídas em um bloco pré-processado não existem em um conjunto de transações de outro nódulo de consenso, de maneira que o nódulo de manuseio reenvia as informações de transação para o outro nódulo de consenso. de acordo com as implementações do presente aplicativo, pode ser assegurado, tanto quanto possível, que as informações de transação armazenadas em conjuntos de transações de nódulos de consenso sejam consistentes e, por conseguinte, a precisão de um resultado de verificação de consenso dos nódulos de consenso não seja reduzida.

Description

“MÉTODO PARA O ENVIO DAS INFORMAÇÕES DE TRANSAÇÃO E DISPOSITIVO PARA O ENVIO DAS INFORMAÇÕES DE TRANSAÇÃO” Campo da Invenção [001]A presente invenção se refere ao campo das tecnologias de blockchain e, em especial, a um método e a um dispositivo para o envio das informações de transação e para a verificação de consenso.
Antecedentes da Invenção [002]No campo das tecnologias de blockchain, um nódulo de blockchain responsável por realizar a verificação de consenso em transações é referido como um nódulo de consenso.
[003]Em uma fase de verificação de consenso, um nódulo de consenso que inicia a verificação de consenso precisa empacotar as informações de transações geradas dentro de um período de tempo em um bloco pré-processado e enviar o bloco pré-processado para o outro nódulo de consenso para a verificação de consenso e outro nódulo de consenso verifica se um conjunto de transações do outro nódulo de consenso inclui todas as informações de transação no bloco pré-processado. Um resultado de verificação é que a verificação de consenso é bem-sucedida se o conjunto de transações incluir todas as informações de transação no bloco pré-processado. Um resultado de verificação é que a verificação de consenso falha se o conjunto de transações não incluir todas as informações de transação no bloco pré-processado. Posteriormente, os nódulos de consenso alcançam um consenso de que as informações de transação no bloco pré-processado são válidas ou inválidas com base nos resultados de verificação dos nódulos de consenso no bloco pré-processado e utilizam o consenso como resultado da verificação de consenso através dos nódulos de consenso no bloco préprocessado. Por conseguinte, é necessário garantir que as informações de transação armazenadas nos conjuntos de transações dos nódulos de consenso
Petição 870190057392, de 21/06/2019, pág. 81/114
2/29 sejam consistentes, para tornar o resultado da verificação de consenso dos nódulos de consenso o mais preciso possível.
[004]Em uma fase de manuseio de transação, para diferentes transações, cada nódulo de consenso pode servir como um nódulo de manuseio de transação (que é denominado como um golpe de nódulo de manuseio) para obter as informações de transação de uma transação. Para uma transação, um nódulo de manuseio que corresponde à transação precisa enviar as informações de transação para o outro nódulo de consenso e outro nódulo de consenso que recebe as informações de transação armazena as informações de transação em um conjunto de transações do outro nódulo de consenso. Os nódulos de consenso mantêm as informações de transação consistentes que são armazenadas nos conjuntos de transação dos nódulos de consenso utilizando esse método.
[005]No entanto, uma vez que os distúrbios de rede são sempre inevitáveis, a instabilidade da rede, em geral, conduz à instabilidade da transmissão de informações entre os nódulos de consenso, e alguns nódulos de consenso podem deixar de receber as informações enviadas. Por exemplo, um nódulo de manuseio envia as informações de transação para os outros nódulos de consenso. Se um distúrbio de rede ocorrer, as informações de transação enviadas através do nódulo de manuseio para os outros nódulos de consenso não poderão ser recebidas por todos os outros nódulos de consenso. Consequentemente, as informações de transação armazenadas nos conjuntos de transações dos nódulos de consenso não podem se manter consistentes, reduzindo, por conseguinte, a precisão de um resultado de verificação de consenso dos nódulos de consenso.
Descrição Resumida da Invenção [006]As implementações do presente aplicativo fornecem um método e um dispositivo para o envio das informações de transação e para a
Petição 870190057392, de 21/06/2019, pág. 82/114
3/29 verificação de consenso, para aliviar o problema de que a precisão de um resultado de verificação de consenso de nódulos de consenso é reduzida utilizando um método existente para o envio das informações de transação e realização da verificação de consenso.
[007] Para aliviar o problema técnico anterior, as implementações da presente aplicativo são implementadas da seguinte maneira:
Uma implementação do presente aplicativo fornece um método para o envio das informações de transação, em que o método inclui o seguinte: obter, através de um nódulo de consenso, as informações de transação; enviar as informações de transação para o outro nódulo de consenso; e reenviar as informações de transação com base em uma notificação de falha de verificação de consenso ao receber a notificação de falha de verificação de consenso que é enviada através de outro nódulo de consenso e que inclui um identificador de informações de transação;
Uma implementação do presente aplicativo fornece um método para a verificação de consenso, em que o método inclui o seguinte: receber, através de um nódulo de consenso, um bloco pré-processado enviado através de outro nódulo de consenso; realizar a verificação de consenso no bloco préprocessado com base nas informações de transação armazenadas em um conjunto de transações e informações de transação incluídas no bloco préprocessado; e em um processo de verificação de consenso, se for determinado que, pelo menos, uma parte das informações de transação incluídas no bloco pré-processado não existe no conjunto de transações, determinar um identificador de informações das informações de transação ausentes no conjunto de transações nas informações de transação incluídas no bloco préprocessado e enviar uma notificação de falha de verificação de consenso que inclui o identificador de informações para os outros nódulos de consenso;
Uma implementação do presente aplicativo fornece um dispositivo
Petição 870190057392, de 21/06/2019, pág. 83/114
4/29 para o envio das informações de transação, em que o dispositivo inclui o seguinte: um módulo de aquisição, configurado para obter as informações de transação; um primeiro módulo de envio, configurado para enviar as informações de transação para o outro nódulo de consenso; e um segundo módulo de envio, configurado para reenviar as informações de transação com base em uma notificação de falha de verificação de consenso quando a notificação de falha de verificação de consenso enviada através de outro nódulo de consenso e que inclui um identificador de informações de transação é recebida; e
Uma implementação do presente aplicativo fornece um dispositivo para a verificação de consenso, em que o dispositivo inclui o seguinte: um módulo de recebimento, configurado para receber um bloco pré-processado enviado através de outro nódulo de consenso; um módulo de verificação de consenso, configurado para realizar a verificação de consenso no bloco préprocessado com base nas informações de transação armazenadas em um conjunto de transações e informações de transação incluídas no bloco préprocessado; e um módulo de envio, configurado para: em um processo de verificação de consenso, se for determinado que pelo menos, uma parte das informações de transação incluídas no bloco pré-processado não existe no conjunto de transações, determinar um identificador de informações de transação ausente do conjunto de transações nas informações de transação incluídas no bloco pré-processado e enviar uma notificação de falha de verificação de consenso que inclui o identificador de informações para os outros nódulos de consenso.
[008] Pode ser observado nas soluções técnicas fornecidas nas implementações anteriores do presente aplicativo que, nas implementações do presente aplicativo, se outro nódulo de consenso falha em receber as informações de transação enviada através de um nódulo de manuseio em uma
Petição 870190057392, de 21/06/2019, pág. 84/114
5/29 fase de manuseio de transações, o outro nódulo de consenso pode enviar uma notificação de falha de verificação de consenso que inclui um identificador de informações de transação para o nódulo de manuseio em uma fase de verificação de consenso se o outro nódulo de consenso determinar que as informações de transação incluídas em um bloco pré-processado não existem em um conjunto de transações do outro nódulo de consenso, para que o nódulo de manuseio reenvie as informações de transação para o outro nódulo de consenso. De acordo com as implementações do presente aplicativo, pode ser assegurado, tanto quanto possível, que as informações de transação armazenada em conjuntos de transações de nódulos de consenso sejam consistentes e, por conseguinte, a precisão de um resultado de verificação de consenso dos nódulos de consenso não seja reduzida.
Breve Descrição das Figuras [009] Para descrever mais claramente as soluções técnicas nas implementações do presente aplicativo ou na tecnologia existente, o que se segue descreve resumidamente os desenhos anexos necessários para descrever as implementações ou a tecnologia existente. Aparentemente, os desenhos anexos na descrição seguinte mostram apenas algumas implementações do presente aplicativo, e um técnico no assunto ainda pode derivar outros desenhos destes desenhos anexos sem esforços criativos.
[010]A Figura 1 é um fluxograma que ilustra um método para o envio das informações de transação, de acordo com uma implementação do presente aplicativo.
[011]A Figura 2 é um diagrama esquemático ilustrando um mecanismo confiável em uma fase de manuseio de transação, de acordo com uma implementação do presente aplicativo.
[012]A Figura 3 é um fluxograma que ilustra um método para a verificação de consenso, de acordo com uma implementação do presente
Petição 870190057392, de 21/06/2019, pág. 85/114
6/29 aplicativo.
[013]A Figura 4 é um diagrama esquemático que ilustra um dispositivo para o envio das informações de transação, de acordo com uma implementação do presente aplicativo.
[014]A Figura 5 é um diagrama esquemático que ilustra um dispositivo para a verificação de consenso, de acordo com uma implementação do presente aplicativo.
Descrição Detalhada da Invenção [015]As implementações do presente aplicativo fornecem um método e um dispositivo para o envio das informações de transação e para a verificação de consenso.
[016] Para tornar possível que um técnico no assunto compreenda melhor as soluções técnicas no presente aplicativo, o que se segue de maneira clara e abrangente descreve as soluções técnicas nas implementações do presente aplicativo com referência aos desenhos anexos nas implementações do presente aplicativo. Aparentemente, as implementações descritas são meramente apenas algumas, mas não todas as implementações do presente aplicativo. Todas as outras implementações obtidas por um técnico comum no assunto com base nas implementações do presente aplicativo sem esforços criativos devem cair no âmbito de proteção do presente aplicativo.
[017]As soluções técnicas fornecidas nas implementações do presente aplicativo estão descritas em detalhes abaixo com referência às Figuras anexas.
[018]A Figura 1 é um fluxograma que ilustra um método para o envio das informações de transação, de acordo com uma implementação do presente aplicativo. O método inclui as seguintes etapas.
[019]S101. Um nódulo de consenso obtém as informações de transação.
Petição 870190057392, de 21/06/2019, pág. 86/114
7/29 [020]Na presente implementação do presente aplicativo, as informações de transação podem ser todos os detalhes envolvidos em uma transação, tal como um endereço de conta, um valor de transação e um tipo de transação.
[021] Em uma fase de manuseio de transação, o nódulo de consenso atua como um nódulo de manuseio e pode receber as informações de transação enviadas através de um dispositivo de cliente. O dispositivo de cliente pode ser um dispositivo de cliente de um nódulo de blockchain que participa da transação. Certamente, o nódulo de consenso pode iniciar uma transação por si só e gerar as informações de transação da transação.
[022] Para facilidade de descrição, o nódulo de manuseio descrito abaixo é um nódulo de consenso que manuseia uma transação em uma fase de manuseio, e é um corpo de execução da presente implementação do presente aplicativo.
[023]S102. Enviar as informações de transação para o outro nódulo de consenso.
[024]Após obter as informações de transação, o nódulo de manuseio armazena as informações de transação em um conjunto de transações do nódulo de manuseio e envia as informações de transação para o outro nódulo de consenso, de maneira que o outro nódulo de consenso armazene as informações de transação em um conjunto de transações do outro nódulo de consenso após receber as informações de transação. Em seguida, em uma fase de verificação de consenso, cada nódulo de consenso pode verificar um bloco pré-processado determinando se as informações de transação armazenadas em um conjunto de transações do nódulo de consenso incluem todas as informações de transação no bloco pré-processado.
[025]O outro nódulo de consenso é um nódulo de consenso diferente do nódulo de manuseio. O conjunto de transações é um banco de
Petição 870190057392, de 21/06/2019, pág. 87/114
8/29 dados utilizado para armazenar as informações de transação. Cada nódulo de consenso possui seu próprio conjunto de transações. O conjunto de transações pode ser construído em uma memória do nódulo de consenso ou em uma memória externa do nódulo de consenso.
[026]Vale a pena enfatizar que cada nódulo de consenso pode realizar o trabalho multiprocesso, isto é, simultaneamente manuseiar a transação A e participar da verificação de consenso em um bloco préprocessado (que não inclui a transação A) que inclui um lote de informação de transação. Desde que a capacidade de computação seja suficiente, o nódulo de consenso pode simultaneamente manuseiar diferentes transações ou realizar a verificação de consenso por meio de uma pluralidade de processos.
[027]Na presente implementação do presente aplicativo, para descrever em detalhes a maneira como garantir, tanto quanto possível, que cada nódulo de consenso receba as informações de transação de uma transação, a fase de manuseio de transação e a fase de verificação de consenso estão descritas em relação à informações de transação da mesma transação.
[028]Na presente implementação do presente aplicativo, o nódulo de consenso pode criar um encadeamento para cada outro nódulo de consenso e enviar as informações de transação para o outro nódulo de consenso através do encadeamento. O nódulo de consenso pode enviar as informações de transação por meio do encadeamento utilizando uma tecnologia de invocação assíncrona. Após as informações de transação serem enviadas, o encadeamento é revogado, independentemente de outro nódulo de consenso poder receber as informações de transação. De maneira alternativa, o nódulo de consenso pode enviar as informações de transação utilizando uma tecnologia de invocação síncrona. Após enviar as informações de transação, o nódulo de consenso continua a utilizar o encadeamento para aguardar o
Petição 870190057392, de 21/06/2019, pág. 88/114
9/29 recebimento de um sinal de resposta retornado através de outro nódulo de consenso após o outro nódulo de consenso receber as informações de transação.
[029]S103. Reenviar as informações de transação com base em uma notificação de falha de verificação de consenso ao receber a notificação de falha de verificação de consenso que é enviada através de outro nódulo de consenso e que inclui um identificador de informações de transação.
[030]Na presente implementação do presente aplicativo, a notificação de falha de verificação de consenso é enviada através de outro nódulo de consenso na fase de verificação de consenso posterior. Na fase de verificação de consenso, um nódulo de consenso (que é denominado de golpe de nódulo de líder) que inicia um consenso empacota as informações de transação de um lote de transações em um conjunto de transações do nódulo de consenso em um bloco pré-processado e envia o bloco pré-processado para um nódulo de consenso (que é denominado como um nódulo de réplica) diferente do nódulo de líder, de maneira que os nódulos de consenso (o nódulo de líder e os nódulos de réplica) realizem a verificação de consenso no bloco pré-processado. O nódulo de líder pode ser eleito através dos nódulos de consenso ou pode ser especificado aleatoriamente.
[031]Vale a pena enfatizar que a presente implementação do presente aplicativo é realizada através do nódulo de manuseio na fase de manuseio da transação. Na fase de verificação de consenso, o nódulo de manuseio pode ser um nódulo de líder ou um nódulo de réplica. As implementações não são limitadas no presente pedido. Além disso, o outro nódulo de consenso é um nódulo de consenso diferente do nódulo de manuseio na fase de manuseio, e o outro nódulo de consenso, em geral, pode ser um nódulo de réplica ou um nódulo de líder.
[032]Em resumo, uma identidade de cada nódulo de consenso
Petição 870190057392, de 21/06/2019, pág. 89/114
10/29 pode mudar de acordo, após a transição da fase de manuseio de transação para a fase de verificação de consenso. O nódulo de manuseio anterior pode se tornar um nódulo de réplica e outro nódulo de consenso anterior pode se tornar um nódulo de líder.
[033]Na presente implementação do presente aplicativo, ao verificar o bloco pré-processado, um nódulo de réplica compara as informações de transação no bloco pré-processado com as informações de transação armazenadas em um conjunto de transações do nódulo de réplica. Se as informações de transação armazenadas no conjunto de transações do nódulo de réplica incluírem todas as informações de transação no bloco préprocessado, isso indica que o nódulo de réplica recebe com sucesso as informações de transação na fase de manuseio de transação anterior.
[034]Se as informações de transação armazenadas no conjunto de transações do nódulo de réplica não incluírem todas as informações de transação no bloco pré-processado, em outras palavras, se algumas informações de transação no bloco pré-processado estiverem ausentes nas informações de transação armazenadas no conjunto de transações do nódulo da réplica, isso indica que o nódulo da réplica falha em receberu com sucesso as informações de transação na fase de manuseio da transação anterior. Nesse caso, a verificação realizada através do nódulo de réplica no bloco préprocessado falha e o nódulo de réplica transmite uma notificação de falha de verificação de consenso que inclui um identificador de informações das informações de transação ausentes para os outros nódulos de réplica e o nódulo de líder. Cada nódulo de consenso que recebe a notificação de falha de verificação de consenso pode verificar um conjunto de transações do nódulo de consenso e enviar as informações de transação que correspondem ao identificador de informações para o nódulo de réplica que envia a notificação de falha de verificação de consenso, se o conjunto de transações do nódulo de
Petição 870190057392, de 21/06/2019, pág. 90/114
11/29 consenso armazena as informações de transação que correspondem ao identificador de informações incluído na notificação de falha de verificação de consenso (o nódulo de consenso recebe com sucesso as informações de transação na fase de manuseio de transação ou o nódulo de consenso é o nódulo de manuseio).
[035]Vale a pena enfatizar que, em geral, existe um número muito amplo de informações de transação incluídas no bloco pré-processado, e as informações de transação, em geral, são transmitidas por diferentes nódulos de manuseio. Por conseguinte, na fase de verificação de consenso, cada nódulo de consenso pode não possuir algumas informações de transação incluídas no bloco pré-processado. As informações de transação que cada nódulo de consenso não possui, certamente, são armazenadas em um conjunto de transações de um nódulo de manuseio que originalmente transmite as informações de transação. Além disso, as informações de transação que cada nódulo de consenso não possui podem ser armazenadas em um conjunto de transações de mais de um outro nódulo de consenso. Em outras palavras, na fase de verificação de consenso, as informações de transação que cada nódulo de consenso não possui podem ser compensadas através da assistência conjunta de outros nódulos de consenso.
[036]Por exemplo, existem cinco nódulos de consenso A, B, C, D e E em uma rede de blockchain. Em uma fase de verificação de consenso, A que serve como um nódulo de líder gera um bloco pré-processado, e as informações de transação incluídas no bloco pré-processado são L, M e N. O L é transmitido por E quando E serve como um nódulo de manuseio, M é transmitido por A quando A serve como o nódulo de manuseio e N é transmitido por D quando D serve como um nódulo de manuseio. Suponha que B e C falham em receber L em uma fase de manuseio de L, B e E falha em receber M em uma fase de manuseio de Μ, B falha em receber N em uma fase
Petição 870190057392, de 21/06/2019, pág. 91/114
12/29 de manuseio de N. Neste caso, em uma fase de verificação de consenso, após A enviar o bloco pré-processado para B, C, D e E, B envia uma notificação de falha de verificação de consenso que inclui os identificadores de informação de L, M e N a A, C, D e E uma vez que L, M e N estão ausentes em um conjunto de transações de B. Tal como, B recebe separadamente L, M e N enviados através de A; M e N enviados através de C; L, M e N enviados através de D; e L e N enviados através de E. Em outras palavras, as informações de transação ausentes do conjunto de transações de B podem ser compensadas por meio de assistência de consenso de A, C, D e E.
[037]Além disso, devido aos distúrbios de rede, todos os nódulos de consenso que recebem a notificação de falha de verificação de consenso enviam as informações de transação para o nódulo de réplica por meio de compensação. Na verdade, pode ser assegurado que o nódulo da réplica receba as informações de transação em grande probabilidade, por conseguinte, aliviando os distúrbios de rede e garantindo a consistência nos conjuntos de transações dos nódulos de consenso.
[038]Em conclusão, na presente implementação do presente aplicativo, após o envio das informações de transação para o outro nódulo de consenso, independentemente de cada outro nódulo de consenso receber as informações de transação ou não, o nódulo de consenso pode aguardar até a fase de verificação de consenso para reenviar, através de compensação, as informações de transação para o outro nódulo de consenso que envia a notificação de falha de verificação de consenso com base na notificação de falha de verificação de consenso recebida.
[039] Pode ser observado que, de acordo com o método para o envio das informações mostrada na Figura 1, se outro nódulo de consenso falha em receber as informações de transação enviadas através de um nódulo de manuseio em uma fase de manuseio de transação, o outro nódulo de
Petição 870190057392, de 21/06/2019, pág. 92/114
13/29 consenso pode enviar uma notificação de falha de verificação de consenso que inclui um identificador de informações de transação para o nódulo de manuseio em uma fase de verificação de consenso se o outro nódulo de consenso determinar que as informações de transação incluídas em um bloco préprocessado não existem em um conjunto de transações do outro nódulo de consenso, de maneira que o nódulo de manuseio reenvie as informações de transação ao outro nódulo de consenso. De acordo com a presente implementação do presente aplicativo, pode ser assegurado, tanto quanto possível, que as informações de transação armazenadas nos conjuntos de transações dos nódulos de consenso são consistentes e, por conseguinte, a precisão de um resultado de verificação de consenso dos nódulos de consenso não é reduzida.
[040]Além disso, na presente implementação do presente aplicativo, alguns mecanismos confiáveis podem ser utilizados na fase de manuseio de transações para intensificar a confiabilidade de enviar as informações de transação através do nódulo de consenso para o outro nódulo de consenso.
[041] Na etapa S102, o nódulo de consenso cria um encadeamento para cada outro nódulo de consenso e envia as informações de transação para o outro nódulo de consenso através do encadeamento; e reenvia as informações de transação para o outro nódulo de consenso através do encadeamento se for determinado que o outro nódulo de consenso falha em receber as informações de transação, até que seja determinado que o outro nódulo de consenso receba as informações de transação ou uma condição de interrupção de envio predeterminada seja satisfeita.
[042]É determinado que o outro nódulo de consenso recebe as informações de transação se um sinal de resposta retornado através de outro nódulo de consenso é recebido através do encadeamento dentro de um
Petição 870190057392, de 21/06/2019, pág. 93/114
14/29 período de tempo especificado. É determinado que o outro nódulo de consenso falha em receber as informações de transação se nenhum sinal de resposta retornado através de outro nódulo de consenso for recebido através do encadeamento dentro do período de tempo especificado.
[043]A condição de interrupção de envio predeterminada pode ser a seguinte: O número de vezes que as informações de transação são enviadas para o outro nódulo de consenso alcança o número predeterminado de vezes ou um tempo percorrido desde a primeira vez que as informações de transação foram enviadas ao outro nódulo de consenso exceda a duração predeterminada. O número predeterminado de vezes e a duração predeterminada não são limitados no presente pedido.
[044]Vale a pena observar que o nódulo de consenso pode reenviar as informações de transação para o outro nódulo de consenso através do encadeamento toda vez utilizando o seguinte método: O nódulo de consenso pode reenviar as informações de transação quando for determinado que o envio anterior falha ou pode aguardar por um intervalo de tempo específico para atrasar o envio. O intervalo de tempo específico pode ser configurado e o intervalo de tempo específico para aguardar cada reenvio pode ser o mesmo ou diferente. Por exemplo, o intervalo de tempo específico aumenta ou reduz gradualmente.
[045] Por exemplo, o nódulo de consenso cria um encadeamento para cada outro nódulo de consenso e, em primeiro lugar, envia as informações de transação para o outro nódulo de consenso através do encadeamento. O nódulo de consenso pode reenviar as informações de transação após um atraso de 5S se o outro nódulo de consenso não retornar nenhum sinal de resposta, pode reenviar as informações de transação após um atraso de 15S se ainda falha em receber nenhum sinal de resposta e pode reenviar as informações de transação após um atraso de um tempo maior se ainda não
Petição 870190057392, de 21/06/2019, pág. 94/114
15/29 existir sinal correspondente recebido. O reenvio das informações de transação, por conseguinte, continua até que o número de vezes de envio alcance o número predeterminado de vezes ou o tempo percorrido desde a primeira vez que as informações de transação foram enviadas para o outro nódulo de consenso exceda a duração predeterminada.
[046]Especialmente, no exemplo anterior, se o número de vezes que o nódulo de consenso envia as informações de transação alcança o número predeterminado de vezes, o nódulo de consenso ainda pode adicionar as informações de transação a uma fila de espera e criar uma recuperação de encadeamento especialmente utilizada para verificar a fila de espera. A recuperação varre a fila de espera a cada intervalo de tempo específico para identificar as informações de transação e as informações de transação são enviadas através da recuperação até que o tempo percorrido desde a primeira vez que as informações de transação foram enviadas para o outro consenso exceda a duração predeterminada. Certamente, o intervalo de tempo específico em que a recuperação varre a fila de espera também pode ser configurado. Isto é, o encadeamento cujo número de vezes que as informações de transação são enviadas alcança o número predeterminado de vezes é revogado para salvar os recursos do nódulo de consenso, as informações de transação são adicionadas à fila de espera e o encadeamento permanente da recuperação é responsável por varrer a fila de espera e enviar as informações de transação a cada intervalo de tempo específico. Tal como, o desperdício de recursos causado pela manutenção de um número relativamente grande de encadeamentos através do nódulo de consenso pode ser aliviado.
[047]No exemplo anterior, o nódulo de consenso realmente envia as informações de transação para o outro nódulo de consenso utilizando uma tecnologia de invocação de sincronização fraca. Após, de maneira assíncrona, invocar um encadeamento para cada outro nódulo de consenso, o nódulo de
Petição 870190057392, de 21/06/2019, pág. 95/114
16/29 consenso envia as informações de transação para o outro nódulo de consenso através do encadeamento utilizando a invocação de sincronização. O encadeamento ocupa um recurso de computação do nódulo de consenso e o nódulo de consenso aguarda, por meio do encadeamento, que o outro nódulo de consenso retorne o sinal de resposta. Além disso, se o outro nódulo de consenso falhar em retornar o sinal de resposta dentro de um período de tempo especificado, isso indica que o outro nódulo de consenso falha em receber as informações de transação e o nódulo de consenso reenvia as informações de transação para o outro nódulo de consenso através do encadeamento. Por conseguinte, a utilização da tecnologia de invocação de sincronização fraca na fase de manuseio de transações pode realizar com que o nódulo de consenso não precisa separar os processos de trabalho mais importantes para aguardar especialmente o sinal de resposta retornado através de outro nódulo de consenso e o nódulo de consenso também pode utilizar o encadeamento que corresponde a cada outro nódulo de consenso para aguardar o sinal de resposta e para repetidamente enviar as informações de transação, por conseguinte, garantindo que o outro nódulo de consenso receba com sucesso as informações de transação.
[048]Além disso, na presente implementação do presente aplicativo, quando a condição de interrupção de envio predeterminada é satisfeita, as informações de transação podem ser adicionadas à fila predeterminada se o outro nódulo de consenso ainda não retornar nenhum sinal de resposta. Ao receber a notificação de falha de verificação de consenso, a fila é pesquisada pelas informações de transação que correspondem ao identificador de informações com base no identificador de informações incluído na notificação de falha de verificação de consenso e as informações de transação são enviadas.
[049]A fila é o espaço de armazenamento na memória do nódulo
Petição 870190057392, de 21/06/2019, pág. 96/114
17/29 de consenso e é configurada para armazenar as informações de transação que o nódulo de consenso repetidamente tenta enviar na fase de manuseio, mas que ainda não é recebido através de outro nódulo de consenso. As informações de transação que o nódulo de consenso repetidamente tenta enviar, mas que ainda não foram recebidas, são armazenadas na fila quando o conjunto de transações do nódulo de consenso não é construído na memória, de maneira que o nódulo de consenso possa enviar as informações de transação mais rapidamente para o outro nódulo de consenso que não possui as informações de transação na fase de verificação de consenso.
[050]Especialmente, quando o conjunto de transações não é construído na memória, na fase de verificação de consenso, ao receber uma notificação de falha de verificação de consenso enviada através de um nódulo de réplica, o nódulo de consenso deve verificar se a fila do nódulo de consenso inclui as informações de transação que o nódulo da réplica não possui, em vez de verificar o conjunto de transações do nódulo de consenso; e pode enviar as informações de transação para o nódulo da réplica se a fila do nódulo de consenso incluir as informações de transação que o nódulo da réplica não possui; ou não precisa enviar as informações de transação para o nódulo de réplica se a fila do nódulo de consenso não incluir as informações de transação que o nódulo de réplica não possui (até mesmo se o conjunto de transações do nódulo de consenso incluir uma transação que o nódulo de réplica não possui). Tal como, se o nódulo da réplica não obtiver as informações de transação X, sempre pode ser assegurado que um nódulo de manuseio que transmite as informações de transação X obtém as informações de transação X de uma fila do nódulo de manuseio e envia as informações de transação X. Por conseguinte, o nódulo de réplica que não possui as informações de transação sempre pode ser compensado rapidamente.
[051]A Figura 2 é um diagrama esquemático ilustrando um
Petição 870190057392, de 21/06/2019, pág. 97/114
18/29 mecanismo confiável em uma fase de manuseio de transação, de acordo com uma implementação do presente aplicativo. Conforme mostrado na Figura 2, em uma fase de manuseio de transação, um nódulo de manuseio tenta enviar as informações de transação para o outro nódulo de consenso utilizando um método como um atraso de 5S ou um atraso de 10 min, e o método para tentar enviar as informações de transação é restringido. Isto é, as informações de transação são enviadas utilizando um atraso maior quando o número de vezes de envio é superior a 3. As informações de transação são adicionadas a uma fila predeterminada e o envio é interrompido quando um período ativo das informações de transação (um tempo percorrido desde a primeira vez que as informações de transação foram enviadas para o outro nódulo de consenso) excede a duração predeterminada (por exemplo, uma hora). Em uma fase de verificação de consenso, o nódulo de consenso ativa as informações de transação na fila somente ao receber uma notificação de falha de verificação de consenso.
[052]Vale a pena enfatizar que a duração predeterminada pode ser determinada com base em um período em que cada nódulo de consenso realiza uma verificação de consenso ou pode ser determinado com base em um período de solução de problemas de uma falha de rede comum.
[053]De acordo com o mecanismo confiável mostrado na Figura 2, o nódulo de consenso atrasa a tentativa de enviar as informações de transação, e após o nódulo de consenso repetidamente enviar as informações de transação após um atraso de duas vezes de 5S, indica que existe um problema de transmissão que não pode ser solucionado temporariamente (que pode ser que outro nódulo de consenso que falha em receberu com sucesso as informações de transação é interrompido ou ocorre uma falha grande em uma rede). Por conseguinte, o nódulo de consenso interrompe temporariamente o envio das informações de transação para o outro nódulo de consenso. Após
Petição 870190057392, de 21/06/2019, pág. 98/114
19/29 aguardar por um tempo relativamente longo (por exemplo, 10 min), o problema de transmissão pode ser aliviado e, em seguida, o nódulo de consenso continua a enviar as informações de transação. Se o período ativo das informações de transação for demasiado longo, as informações de transação podem ser adicionadas à fila predeterminada para aguardar para posteriormente reenviar, através da compensação, as informações de transação ao outro nódulo de consenso que não possua as informações de transação.
[054]Na presente implementação do presente aplicativo, na fase de verificação de consenso, os nódulos de consenso compensam em conjunto cada nódulo de consenso que não possui as informações de transação, de maneira que o problema da inconsistência nos conjuntos de transação dos nódulos de consenso seja causado através dos distúrbios de rede podem ser bem aliviados. Nesta base, de acordo com o mecanismo confiável mostrado na Figura 2, as medidas podem ser utilizadas na fase de manuseio de transações para aumentar a taxa de sucesso de receber as informações de transação através de outro nódulo de consenso.
[055]A Figura 3 é um método para a verificação de consenso, de acordo com uma implementação do presente aplicativo. O método inclui as seguintes etapas:
5301. Um nódulo de consenso recebe um bloco pré-processado enviado através de outro nódulo de consenso;
5302. Realizar a verificação de consenso no bloco préprocessado com base nas informações de transação armazenadas em um conjunto de transações e nas informações de transação incluídas no bloco préprocessado;
5303. Em um processo de verificação de consenso, se for determinado que, pelo menos, uma parte das informações de transação
Petição 870190057392, de 21/06/2019, pág. 99/114
20/29 incluídas no bloco pré-processado não existe no conjunto de transações, determinar um identificador de informações das informações de transação ausentes no conjunto de transações nas informações de transação incluídas no bloco pré-processado; e
S304. Enviar uma notificação de falha de verificação de consenso que indue o identificador de informações para os outros nódulos de consenso.
[056]Na presente implementação do presente aplicativo, o nódulo de consenso é um nódulo de consenso que verifica o bloco pré-processado na fase de verificação de consenso, isto é, um nódulo de réplica. O outro nódulo de consenso é um nódulo que inicia um consenso, isto é, um nódulo de líder.
[057]A descrição detalhada do método para a verificação de consenso mostrado na Figura 3 foi registrado na descrição do método para o envio das informações de transação mostrada na Figura 1. Os detalhes são omitidos no presente para simplificação.
[058]Com base no método para envio de informações de transação mostrado na Figura 1, uma implementação do presente aplicativo ainda correspondentemente fornece um dispositivo para o envio das informações de transação. Conforme mostrado na Figura 4, o dispositivo inclui o seguinte: um módulo de aquisição (401), configurado para obter as informações de transação; um primeiro módulo de envio (402), configurado para enviar as informações de transação para o outro nódulo de consenso; e um segundo módulo de envio (403), configurado para reenviar as informações de transação com base em uma notificação de falha de verificação de consenso quando a notificação de falha de verificação de consenso enviada através de outro nódulo de consenso e que inclui um identificador de informações de transação é recebida.
[059]O módulo de aquisição (401) é configurado para receber as informações de transação enviadas através de um dispositivo de cliente.
Petição 870190057392, de 21/06/2019, pág. 100/114
21/29 [060]0 primeiro módulo de envio (402) é configurado para criar um encadeamento para cada outro nódulo de consenso e enviar as informações de transação para o outro nódulo de consenso através do encadeamento.
[061 ]O primeiro módulo de envio (402) é configurado para reenviar as informações de transação para o outro nódulo de consenso através do encadeamento se for determinado que o outro nódulo de consenso falha em receber as informações de transação, até que seja determinado que o outro nódulo de consenso receba as informações de transação ou uma condição de interrupção de envio predeterminada seja satisfeita.
[062]O primeiro módulo de envio (402) é configurado para determinar que o outro nódulo de consenso recebe as informações de transação se um sinal de resposta retornado através de outro nódulo de consenso seja recebido através do encadeamento dentro de um período de tempo especificado; ou determinar que o outro nódulo de consenso falha em receber as informações de transação se nenhum sinal de resposta retornado através de outro nódulo de consenso for recebido através do encadeamento dentro do período de tempo especificado.
[063]A condição de interrupção de envio predeterminada pode incluir o seguinte: O número de vezes de envio das informações de transação para o outro nódulo de consenso alcança o número predeterminado de vezes ou um tempo percorrido desde a primeira vez que as informações de transação foram enviadas para o outro nódulo de consenso excede a duração predeterminada.
[064]O dispositivo ainda inclui um módulo de adição (404), configurado para adicionar as informações de transação a uma fila predeterminada quando a condição de interrupção de envio predeterminada é satisfeita.
Petição 870190057392, de 21/06/2019, pág. 101/114
22/29 [065]O segundo módulo de envio (403) é configurado para pesquisar na fila as informações de transação que correspondem ao identificador de informações com base no identificador de informações incluído na notificação de falha de verificação de consenso e enviar as informações de transação.
[066]Com base no método de verificação de consenso mostrado na Figura 3, uma implementação do presente aplicativo, de maneira correspondente, ainda fornece um dispositivo para a verificação de consenso. Conforme mostrado na Figura 5, o dispositivo inclui o seguinte: um módulo receptor (501), configurado para receber um bloco pré-processado enviado através de outro nódulo de consenso; um módulo de verificação de consenso (502), configurado para realizar a verificação de consenso no bloco préprocessado com base nas informações de transação armazenadas em um conjunto de transações e informações de transação incluídas no bloco préprocessado; e um módulo de envio (503), configurado para: em um processo de verificação de consenso, se for determinado que, pelo menos, uma parte das informações de transação incluídas no bloco pré-processado não existe no conjunto de transações, determinar um identificador de informações de transação ausente do conjunto de transações nas informações de transação incluídas no bloco pré-processado e enviar uma notificação de falha de verificação de consenso que inclua o identificador de informações para os outros nódulos de consenso.
[067]Na década de 1990, se um aprimoramento técnico for um aprimoramento de hardware (por exemplo, um aprimoramento para uma estrutura de circuito, tal como um diode, um transistor ou um comutador) ou um aprimoramento de software (um aprimoramento em um procedimento de método) pode ser claramente distinguido. No entanto, com o desenvolvimento de tecnologias, os aprimoramentos atuais em muitos procedimentos de
Petição 870190057392, de 21/06/2019, pág. 102/114
23/29 métodos podem ser considerados como aprimoramentos diretos nas estruturas dos circuitos de hardware. Um projetista, em geral, programa um procedimento de método aprimorado em um circuito de hardware, para obter uma estrutura de circuito de hardware correspondente. Por conseguinte, um procedimento de método pode ser aprimorado utilizando um módulo de entidade de hardware. Por exemplo, um dispositivo lógico programável (PLD) (por exemplo, um Field Programmable Gate Array (FPGA)) é um circuito integrado, e uma função lógica de PLD é determinada por um usuário através da programação do dispositivo. O projetista executa a programação para integrar um sistema digital a um PLD sem exigir que um fabricante de chips projete e produza um chip de circuito integrado específico do aplicativo. Além disso, atualmente, em vez de fabricar manualmente um chip de circuito integrado, essa programação é implementada principalmente utilizando o software compilador lógico. O software compilador lógico é similar a um compilador de software utilizado para desenvolver e escrever um programa. O código original precisa ser escrito em uma linguagem de programação específica para a compilação. A linguagem é referida como uma linguagem de descrição de hardware (HDL). Existem muitos HDLs, tais como o Advanced Boolean Expression Language (ABEL), Altera Hardware Description Language), Confluence (AHDL), Cornell University Programming Language (CUPL), HDCal, Java Hardware Description Language (JHDL), Lava, Lola, MyHDL, PALASM e Ruby Hardware Description Language (RHDL). A Very-High-Speed Integrated Circuit Hardware Description Language (VHDL) e a Verilog são as mais utilizadas. Um técnico no assunto também deve entender que um circuito de hardware que implementa um procedimento de método lógico pode ser facilmente obtido uma vez que o procedimento do método é logicamente programado utilizando as diversas linguagens de descrição de hardware descritas e é programado em um circuito integrado.
[068]Um controlador pode ser implementado utilizando qualquer
Petição 870190057392, de 21/06/2019, pág. 103/114
24/29 método adequado. Por exemplo, o controlador pode ser um microprocessador ou um processador e um código legível por computador de programa de meio legível por computador de armazenamento (tal como o software ou firmware) que pode ser executado pelo microprocessador, ou o processador, uma porta lógica, um comutator, um circuito integrado específico do aplicativo (ASIC), um controlador lógico programável ou um microcontrolador incorporado. Os exemplos do controlador incluem, mas não estão limitados aos seguintes microprocessadores: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 e Silicone Labs C8051F320. O controlador de memória também pode ser implementado como parte da lógica de controle da memória. Um técnico no assunto também sabe que, além de implementar o controlador utilizando o código de programa legível por computador, a programação lógica pode ser executada em etapas de método para possibilitar que o controlador implemente a mesma função em formas de porta lógica, o comutador, o circuito integrado específico do aplicativo, o controlador lógico programável e o microcontrolador incorporado. Por conseguinte, o controlador pode ser considerado como um componente de hardware, e um dispositivo incluído no controlador configurado para implementar diversas funções também pode ser considerado como uma estrutura no componente de hardware. Ou de outra maneira, o dispositivo configurado para implementar diversas funções pode até ser considerado como um módulo de software que implementa o método e uma estrutura no componente de hardware.
[069]O sistema, dispositivo, módulo ou unidade ilustrados nas implementações anteriores podem ser implementados utilizando um chip de computador ou uma entidade, ou podem ser implementados utilizando um produto que possua uma função determinada. Um dispositivo de implementação típico é um computador. O computador, por exemplo, pode ser um computador pessoal, um computador portátil, um telefone celular, um
Petição 870190057392, de 21/06/2019, pág. 104/114
25/29 telefone com câmera, um smartphone, um assistente digital pessoal, um reprodutor de mídia, um dispositivo de navegação, um dispositivo de e-mail, um console de jogos, um computador tablet, um dispositivo vestível ou uma combinação de qualquer um desses dispositivos.
[070]Para a facilidade de descrição, o dispositivo acima está descrito dividindo as funções em diversas unidades. Certamente, quando o presente aplicativo é implementado, as funções das unidades podem ser implementadas em uma ou mais partes de software e/ou hardware.
[071]Um técnico no assunto deve compreender que uma implementação da presente invenção pode ser fornecida como um método, um sistema ou um produto de programa de computador. Por conseguinte, a presente invenção pode utilizar uma forma de implementações apenas de hardware, implementações apenas de software ou implementações com uma combinação de software e hardware. Além disso, a presente invenção pode utilizar uma forma de produto de programa de computador que é implementado em um ou mais meios de armazenamento utilizáveis por computador (incluindo, mas não limitado a uma memória de disco, um CD-ROM, uma memória ótica, e similares) que incluem o código de programa utilizável pelo computador.
[072]A presente invenção está descrita com referência aos fluxogramas e/ou diagramas de blocos do método, ao dispositivo (sistema) e ao produto de programa de computador de acordo com as implementações da presente invenção. É entendido que as instruções do programa de computador podem ser utilizadas para implementar cada processo e/ou cada bloco nos fluxogramas e/ou diagramas de blocos e uma combinação de um processo e/ou um bloco nos fluxogramas e/ou nos diagramas de blocos. Estas instruções de programas de computador podem ser fornecidas para um computador de propósito geral, um computador dedicado, um processador embutido ou um processador de outro dispositivo de processamento de dados programável para
Petição 870190057392, de 21/06/2019, pág. 105/114
26/29 gerar uma máquina, de maneira que as instruções executadas pelo computador ou pelo processador de outro dispositivo de processamento de dados programável gerem um dispositivo para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[073]Estas instruções de programas de computador podem ser armazenadas em uma memória legível por computador que pode instruir o computador ou o outro dispositivo de processamento de dados programável para trabalhar de uma maneira específica, de maneira que as instruções armazenadas na memória de computador gerem um artefato que inclui um dispositivo de instrução. O dispositivo de instrução implementa uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[074]Essas instruções do programa de computador podem ser carregadas no computador ou em outro dispositivo de processamento de dados programável, de maneira que uma série de operações e operações e etapas sejam executadas no computador ou em outro dispositivo programável, por conseguinte, gerando o processamento implementado por computador. Por conseguinte, as instruções executadas no computador ou no outro dispositivo programável fornecem as etapas para implementar uma função especificada em um ou mais processos nos fluxogramas e/ou em um ou mais blocos nos diagramas de bloco.
[075]Em uma configuração típica, um dispositivo de computação inclui um ou mais processadores (CPU), uma ou mais interfaces de entrada / saída, uma ou mais interfaces de rede e uma ou mais memórias.
[076]A memória pode incluir uma memória não persistente, uma memória de acesso aleatório (RAM), uma memória não volátil e/ou outra maneira que esteja em um meio legível por computador, por exemplo, uma
Petição 870190057392, de 21/06/2019, pág. 106/114
27/29 memória somente de leitura (ROM) ou uma memória flash (flash RAM). A memória é um exemplo do meio legível por computador.
[077]O meio legível por computador inclui o meio persistente, não persistente, móvel e imóvel que pode armazenar as mensagens utilizando qualquer método ou tecnologia. A mensagem pode ser uma instrução legível por computador, uma estrutura de dados, um módulo de programa ou outros dados. Os exemplos de um meio de armazenamento do computador incluem, mas não estão limitados à memória de acesso aleatório de parâmetro (PRAM), memória de acesso aleatório estática (SRAM), memória de acesso aleatório dinâmica (DRAM), ou outro tipo de memória de acesso aleatório (RAM), memória apenas de leitura (ROM), uma memória de apenas leitura programável e apagável eletricamente (EEPROM), uma memória flash ou outra tecnologia de memória, uma memória de leitura em disco compacto (CD-ROM), um disco versátil digital (DVD) ou outro armazenamento ótico, um cassete magnético, uma fita magnética, uma memória de fita magnética / disco magnético ou outro dispositivo de armazenamento magnético, ou qualquer outro meio de não transmissão que pode ser utilizado para armazenar as mensagens que podem ser acessadas por um dispositivo de computação. Com base na definição do presente aplicativo, o meio legível por computador não inclui os meios transitórios legíveis por computador (meios transitórios), tais como um sinal de dados modulado e veículo.
[078]Vale a pena observar ainda que, os termos incluir, compreender, ou quaisquer outras variantes, pretendem abranger uma inclusão não exclusiva, isto é, um processo, um método, um produto ou um dispositivo que inclui uma lista de elementos que inclui não apenas esses elementos, mas também inclui outros elementos que não estão expressamente listados ou ainda inclui os elementos inerentes a tal processo, método, produto ou dispositivo. Sem mais restrições, um elemento precedido por inclui um... não exclui a existência de elementos idênticos adicionais no processo, método, produto ou dispositivo que
Petição 870190057392, de 21/06/2019, pág. 107/114
28/29 inclui o elemento.
[079]Um técnico no assunto deve entender que uma implementação do presente aplicativo pode ser fornecida como um método, um sistema ou um produto de programa de computador. Por conseguinte, o presente aplicativo pode utilizar uma forma de implementações somente de hardware, implementações somente de software ou implementações com uma combinação de software e hardware. Além disso, o presente aplicativo pode utilizar uma forma de produto de programa de computador que é implementado em um ou mais meios de armazenamento utilizáveis por computador (incluindo, mas não limitado a uma memória de disco, um CD-ROM, uma memória ótica, e similares) que incluem o código de programa utilizável por computador.
[080]O presente aplicativo pode ser descrito no contexto geral de instruções executáveis por computador executadas por um computador, por exemplo, um módulo de programa. Em geral, o módulo do programa inclui uma rotina, um programa, um objeto, um componente, uma estrutura de dados, e similares, para realizar uma tarefa específica ou implementar um tipo de dados abstrato específico. O presente aplicativo também pode ser praticado em ambientes de computação distribuída. Nos ambientes de computação distribuída, as tarefas são executadas por dispositivos de processamento remoto conectados por meio de uma rede de comunicações. Em um ambiente de computação distribuída, o módulo do programa pode estar localizado no meio de armazenamento do computador local ou remoto, incluindo os dispositivos de armazenamento.
[081]As implementações na presente especificação estão descritas de maneira progressiva. Para partes iguais ou similares das implementações, podem ser feitas referências às implementações. Cada implementação se concentra em uma diferença de outras implementações. Especial mente, uma implementação de sistema é basicamente similar a uma implementação de método e, por conseguinte, está descrita resumidamente. Para as partes relacionadas,
Petição 870190057392, de 21/06/2019, pág. 108/114
29/29 podem ser feitas referências às descrições relacionadas na implementação do método.
[082]As implementações anteriores são implementações do presente aplicativo e não se destinam a limitar o presente aplicativo. Um técnico no assunto pode realizar diversas modificações e alterações no presente aplicativo. Qualquer modificação, substituição equivalente, ou aprimoramento realizado sem se afastar do espírito e princípio do presente aplicativo, estará no âmbito das reivindicações do presente aplicativo.

Claims (13)

  1. Reivindicações
    1. MÉTODO PARA O ENVIO DAS INFORMAÇÕES DE TRANSAÇÃO, o método caracterizado pelo fato de que compreende:
    - obter, através de um nódulo de consenso, as informações de transação associadas com a transação manuseada através de um nódulo de uma rede de blockchain·,
    - enviar as informações de transação para o outro nódulo de consenso de uma rede de blockchain·, e
    - reenviar as informações de transação com base em uma notificação de falha de verificação de consenso em resposta ao recebimento da notificação de falha de verificação de consenso que é enviada através de outro nódulo de consenso e que compreende um identificador de informações de transação.
  2. 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que a obtenção, através de um nódulo de consenso, das informações de transação compreendem:
    - receber, através do nódulo de consenso, as informações de transação enviadas através de um dispositivo de cliente.
  3. 3. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que o envio das informações de transação para o outro nódulo de consenso compreende:
    - criar um encadeamento para cada outro nódulo de consenso; e
    - enviar as informações de transação para o outro nódulo de consenso através do encadeamento.
  4. 4. MÉTODO, de acordo com a reivindicação 3, caracterizado pelo fato de que o envio das informações de transação para o outro nódulo de consenso através do encadeamento compreende:
    Petição 870190057392, de 21/06/2019, pág. 110/114
    2/4
    - reenviar as informações de transação para o outro nódulo de consenso através do encadeamento em resposta à determinação de que o outro nódulo de consenso falha em receber as informações de transação, até que seja determinado que o outro nódulo de consenso receba as informações de transação ou uma condição de interrupção de envio predeterminada seja satisfeita.
  5. 5. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que a determinação de que o outro nódulo de consenso recebe as informações de transação compreende:
    - determinar que o outro nódulo de consenso receba as informações de transação em resposta à determinação de que um sinal de resposta retornado através de outro nódulo de consenso seja recebido através do encadeamento dentro de um período de tempo especificado.
  6. 6. MÉTODO, de acordo com a reivindicação 5, caracterizado pelo fato de que a determinação de que o outro nódulo de consenso falha em receber as informações de transação compreende:
    - determinar que o outro nódulo de consenso falha em receber as informações de transação em resposta à determinação de que nenhum sinal de resposta retornado através de outro nódulo de consenso seja recebido através do encadeamento dentro do período de tempo especificado.
  7. 7. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que a condição de interrupção de envio predeterminada compreende:
    - um número de vezes que as informações de transação são enviadas para o outro nódulo de consenso alcança um número predeterminado de vezes; ou
    - um tempo percorrido desde uma primeira vez que as informações de transação foram enviadas para o outro nódulo de consenso excede a duração predeterminada.
    Petição 870190057392, de 21/06/2019, pág. 111/114
    3/4
  8. 8. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que quando a condição de interrupção de envio predeterminada é satisfeita, o método ainda compreende:
    - adicionar as informações de transação a uma fila predeterminada.
  9. 9. MÉTODO, de acordo com a reivindicação 8, caracterizado pelo fato de reenviar as informações de transação com base em uma notificação de falha de verificação de consenso compreende:
    - pesquisar na fila predeterminada as informações de transação que correspondem ao identificador de informações com base no identificador de informações compreendido na notificação de falha de verificação de consenso;e
    - enviar as informações de transação.
  10. 10. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que a notificação de falha de verificação de consenso é gerada, em resposta à determinação de que, pelo menos, uma parte das informações de transação compreendida em um bloco pré-processado não existe em um conjunto de transações, e determinação de que o identificador de informações ausentes no conjunto de transações nas informações de transação compreendidas no bloco pré-processado.
  11. 11. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de transação compreendem, pelo menos, um de um endereço de conta, uma quantidade de transação, e um tipo de transação.
  12. 12. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de transação compreendem aguardar um tempo de atraso antes de reenviar as informações de transação.
    Petição 870190057392, de 21/06/2019, pág. 112/114
    4/4
  13. 13. DISPOSITIVO PARA O ENVIO DAS INFORMAÇÕES DE TRANSAÇÃO, o dispositivo caracterizado pelo fato de que compreende uma pluralidade de módulos configurados para realizar o método, de acordo com as reivindicações de 1 a 12.
BR112019012905A 2017-03-24 2018-03-19 método para o envio das informações de transação e dispositivo para o envio das informações de transação BR112019012905A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710181241.4A CN107392611B (zh) 2017-03-24 2017-03-24 一种发送交易信息和共识验证的方法及装置
PCT/CN2018/079439 WO2018171545A1 (zh) 2017-03-24 2018-03-19 一种发送交易信息和共识验证的方法及装置

Publications (1)

Publication Number Publication Date
BR112019012905A2 true BR112019012905A2 (pt) 2019-12-03

Family

ID=60338903

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019012905A BR112019012905A2 (pt) 2017-03-24 2018-03-19 método para o envio das informações de transação e dispositivo para o envio das informações de transação

Country Status (15)

Country Link
US (1) US10679217B2 (pt)
EP (1) EP3543937A4 (pt)
JP (1) JP6794551B2 (pt)
KR (1) KR102151899B1 (pt)
CN (2) CN107392611B (pt)
AU (1) AU2018240159B2 (pt)
BR (1) BR112019012905A2 (pt)
CA (1) CA3047884C (pt)
MX (1) MX2019007557A (pt)
PH (1) PH12019501470A1 (pt)
RU (1) RU2735156C1 (pt)
SG (1) SG10202107139RA (pt)
TW (1) TWI727120B (pt)
WO (1) WO2018171545A1 (pt)
ZA (1) ZA201904053B (pt)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392611B (zh) * 2017-03-24 2020-04-24 创新先进技术有限公司 一种发送交易信息和共识验证的方法及装置
CN108009824A (zh) * 2017-11-28 2018-05-08 北京博晨技术有限公司 数据共识方法、装置及电子设备
CN108537525B (zh) * 2018-03-09 2020-06-09 阿里巴巴集团控股有限公司 一种共识验证方法、装置及设备
CN108600163B (zh) * 2018-03-13 2020-12-15 南京邮电大学 一种云环境分布式哈希链架构及云数据完整性验证方法
GB2572340A (en) * 2018-03-26 2019-10-02 Fetch Ai Ltd Data processing system using directed acyclic graph and method of use thereof
CN108765150A (zh) * 2018-05-11 2018-11-06 中国联合网络通信集团有限公司 交易信息处理方法及存储节点
CN108665365B (zh) * 2018-05-16 2021-07-13 四川大学 一种混合区块链架构系统、处理方法及处理系统
CN108960604B (zh) * 2018-06-25 2021-06-29 山东大海集团有限公司 一种信息处理的方法、系统及装置
CN109191135A (zh) * 2018-08-27 2019-01-11 北京京东金融科技控股有限公司 基于区块链的交易重试方法、装置、设备及可读存储介质
CN109461079B (zh) * 2018-10-29 2022-04-05 众安信息技术服务有限公司 基于区块链的交易处理方法和装置
CN111182009B (zh) * 2018-11-09 2023-06-20 北京天德科技有限公司 一种区块链交易消息多汇点分发的方法
CN109639656B (zh) * 2018-12-03 2020-12-25 北京瑞卓喜投科技发展有限公司 一种区块链隐私数据传输方法及隐私数据传输系统
CN111353884B (zh) * 2018-12-20 2024-05-03 上海智知盾科技有限公司 区块链交易处理方法及系统
CN109831425B (zh) * 2019-01-25 2022-02-15 中国联合网络通信集团有限公司 区块链共识方法、装置、设备及计算机可读存储介质
CN110033271B (zh) * 2019-03-22 2023-12-22 湖南天河国云科技有限公司 一种跨链交易方法、系统及计算机可读存储介质
CN110570171B (zh) * 2019-09-11 2022-03-11 杭州秘猿科技有限公司 交易池节点同步方法、电子设备和计算机可读存储介质
CN110782255B (zh) * 2019-11-06 2022-11-15 杭州复杂美科技有限公司 延时交易取消方法、设备和存储介质
CN112019599A (zh) * 2020-03-16 2020-12-01 支付宝(杭州)信息技术有限公司 在区块链共识处理时进行处理消息同步的方法及装置
US11321149B1 (en) 2021-02-08 2022-05-03 Visa International Service Association Synchronization consensus token system and method
CN112883068A (zh) * 2021-04-30 2021-06-01 支付宝(杭州)信息技术有限公司 区块链交易执行方法、区块链节点及控制装置
CN113379542B (zh) * 2021-05-28 2024-01-09 中邮信息科技(北京)有限公司 一种区块链交易的查询方法、装置、介质及电子设备
CN113269645B (zh) * 2021-05-28 2024-05-17 中邮信息科技(北京)有限公司 一种区块链的交易信息调度方法、装置、介质及电子设备
CN113378240B (zh) * 2021-06-23 2023-03-28 浪潮云信息技术股份公司 一种基于区块链的同步调用用户身份认证方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5931917A (en) * 1996-09-26 1999-08-03 Verifone, Inc. System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US7620680B1 (en) * 2002-08-15 2009-11-17 Microsoft Corporation Fast byzantine paxos
US20060235795A1 (en) * 2005-04-19 2006-10-19 Microsoft Corporation Secure network commercial transactions
BR112012022918A2 (pt) * 2010-04-09 2021-03-30 Visa International Service Association Computador servidor, e, método.
US11270298B2 (en) * 2014-04-14 2022-03-08 21, Inc. Digital currency mining circuitry
US11232415B2 (en) * 2015-05-28 2022-01-25 OX Labs Inc. Method for cryptographically managing title transactions
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN105630609B (zh) * 2016-02-24 2021-05-11 杭州复杂美科技有限公司 区块链的打包存储方法
CN106060036B (zh) * 2016-05-26 2019-07-16 布比(北京)网络技术有限公司 去中心化共识方法及装置
RU2016123959A (ru) 2016-06-16 2017-12-21 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для обработки запроса на транзакцию в распределенных системах обработки данных
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
CN106372868B (zh) * 2016-09-06 2020-02-18 联动优势科技有限公司 一种对写入区块链的交易数据的验证方法和装置
CN106506146A (zh) * 2016-10-26 2017-03-15 北京瑞卓喜投科技发展有限公司 基于区块链技术的交易信息校验方法、装置及系统
CN106503589A (zh) * 2016-10-26 2017-03-15 北京瑞卓喜投科技发展有限公司 区块链交易信息正确性的校验方法、装置及系统
US10862959B2 (en) * 2016-11-28 2020-12-08 Keir Finlow-Bates Consensus system and method for adding data to a blockchain
CN107392611B (zh) * 2017-03-24 2020-04-24 创新先进技术有限公司 一种发送交易信息和共识验证的方法及装置

Also Published As

Publication number Publication date
US20190347663A1 (en) 2019-11-14
US10679217B2 (en) 2020-06-09
EP3543937A4 (en) 2019-12-04
CN111612468B (zh) 2024-03-19
KR102151899B1 (ko) 2020-09-03
AU2018240159A1 (en) 2019-07-11
EP3543937A1 (en) 2019-09-25
CA3047884C (en) 2021-01-19
WO2018171545A1 (zh) 2018-09-27
CA3047884A1 (en) 2018-09-27
ZA201904053B (en) 2021-01-27
RU2735156C1 (ru) 2020-10-28
CN111612468A (zh) 2020-09-01
KR20190086747A (ko) 2019-07-23
TWI727120B (zh) 2021-05-11
CN107392611A (zh) 2017-11-24
PH12019501470A1 (en) 2020-02-24
JP6794551B2 (ja) 2020-12-02
JP2020516973A (ja) 2020-06-11
SG10202107139RA (en) 2021-08-30
AU2018240159B2 (en) 2021-02-04
TW201835831A (zh) 2018-10-01
CN107392611B (zh) 2020-04-24
MX2019007557A (es) 2019-09-06

Similar Documents

Publication Publication Date Title
BR112019012905A2 (pt) método para o envio das informações de transação e dispositivo para o envio das informações de transação
US10594489B2 (en) Method and device for processing service request
EP3547170B1 (en) Blockchain-based consensus method and device
BR112019013204A2 (pt) método para processamento de serviços e dispositivo para processamento de serviços
BR112019020374B1 (pt) Método, mídia de armazenamento legível por computador não transitória e sistema para consenso de blockchain
WO2019195969A1 (zh) 数据同步处理的方法和装置
KR20190118630A (ko) 합의 검증을 위한 방법 및 장치
BR112019009591B1 (pt) Método implementado por computador para executar troca de exibição em uma rede de protocolo de confiança, meio legível por computador, não transitório, e sistema implementado por computador
BR112019014478A2 (pt) Método para a determinação do estado da base de dados e dispositivo para a determinação do estado da base de dados
WO2017219857A1 (zh) 一种数据处理方法和设备
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.
BR112019009576A2 (pt) método de processamento de dados e dispositivo
BR112019027873B1 (pt) Método, meio de armazenamento não-transitório legível por computador e aparelho de ordenação de compromisso de transação blockchain.
US10999283B2 (en) Addressing transaction conflict in blockchain systems
WO2018171543A1 (zh) 一种广播消息的方法及装置
US11340967B2 (en) High availability events in a layered architecture
US10698770B1 (en) Regionally agnostic in-memory database arrangements with reconnection resiliency
EP3271821B1 (en) Memory store error check
US11669516B2 (en) Fault tolerance for transaction mirroring
Hasselberg Efficient Networked Message-Passing Through Reusable Buffers

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)

B350 Update of information on the portal [chapter 15.35 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]