BR112019008171A2 - método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema - Google Patents

método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema Download PDF

Info

Publication number
BR112019008171A2
BR112019008171A2 BR112019008171A BR112019008171A BR112019008171A2 BR 112019008171 A2 BR112019008171 A2 BR 112019008171A2 BR 112019008171 A BR112019008171 A BR 112019008171A BR 112019008171 A BR112019008171 A BR 112019008171A BR 112019008171 A2 BR112019008171 A2 BR 112019008171A2
Authority
BR
Brazil
Prior art keywords
account
node
user
private
transaction
Prior art date
Application number
BR112019008171A
Other languages
English (en)
Inventor
Ma Baoli
Zhang Wenbin
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 BR112019008171A2 publication Critical patent/BR112019008171A2/pt

Links

Classifications

    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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
    • 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/3825Use of electronic signatures
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

a presente invenção se refere às implementações que incluem o recebimento, por um nódulo de consenso de uma blockchain, de dados de transação e uma assinatura digital dos dados da transação. os dados de transação incluem um valor de compromisso, um número aleatório e uma quantia de transação a ser transferida entre uma conta pública ou uma conta privada do primeiro nódulo de usuário para uma conta pública ou uma conta privada de um segundo nódulo de usuário. o nódulo de consenso verifica a assinatura digital dos dados da transação utilizando uma chave pública do primeiro nódulo do usuário. em seguida, determina que a quantia de transação é válida, se o valor de compromisso estiver correto com base no número aleatório e no esquema de compromisso, e a quantia de transação for inferior ou igual a um saldo entre a conta pública ou a conta privada o primeiro nódulo do usuário antes da transferência da quantia de transação.

Description

“MÉTODO IMPLEMENTADO POR COMPUTADOR PARA VALIDAR AS TRANSAÇÕES BLOCKCHAIN COM BASE EM MODELOS DE CONTA, MEIO LEGÍVEL POR COMPUTADOR E SISTEMA”
Campo da Invenção [001]As realizações da presente invenção incluem os métodos implementados por computador para proteger a privacidade de dados de transações públicas e privadas sob o modelo de saldo de conta de uma rede blockchain.
Antecedentes da Invenção [002]As redes blockchain, que também podem ser referidas como sistemas blockchain, redes de consenso, redes de sistema de contabilidade distribuída (DLS) ou blockchain, possibilitam que as entidades participantes armazenem os dados de maneira segura e imutável. Uma blockchain pode ser descrita como uma contabilidade de transações, e diversas cópias de blockchain são armazenadas na rede blockchain. Os exemplos de tipos de blockchains podem incluir as blockchains públicas e blockchains privadas. Uma blockchain pública está aberta para todas as entidades utilizarem a blockchain e participarem do processo de consenso. Uma blockchain privada é fornecida para uma entidade específica, que controla centralmente as permissões de leitura e gravação.
[003]As blockchains são utilizadas em redes de criptomoedas, que possibilitam aos participantes realizar as transações para comprar / vender mercadorias e/ou serviços utilizando uma criptomoeda. Uma criptomoeda comum inclui a Bitcoin. Em redes de criptomoeda, os modelos de manutenção de registros são utilizados para registrar transações entre os usuários. Os exemplos de modelos de manutenção de registros incluem o modelo de saída de transação não utilizada (UTXO) e o modelo de saldo da conta. No modelo UTXO, cada transação gasta a saída a partir de transações anteriores e gera
Petição 870190058526, de 25/06/2019, pág. 9/40
2/22 novas saídas que podem ser gastas em transações posteriores. As transações não gastas de um usuário são rastreadas e um saldo que o usuário precisa gastar é calculado como a soma das transações não gastas. No modelo de saldo da conta, o saldo da conta de cada usuário é rastreado como um estado global. Para cada transação, um saldo de uma conta de despesas é verificado para garantir que seja superior ou igual à quantia de transação. Isso é comparável ao banco tradicional.
[004]Uma blockchain inclui uma série de blocos, cada uma das quais contém uma ou mais transações executadas na rede. Cada bloco pode ser convertido em uma página da contabilidade, enquanto a blockchain em si é uma cópia completa da contabilidade. As transações individuais são confirmadas e adicionadas a um bloco, que é adicionado à blockchain. As cópias da blockchain são replicadas nos nós da rede. Desta maneira, existe um consenso global sobre o estado da blockchain. Além disso, a blockchain está aberta para todos os nós observarem, pelo menos, no caso de redes públicas. Para proteger a privacidade dos usuários da blockchain, as tecnologias de criptomoeda são implementadas.
Descrição da Invenção [005]As realizações da presente invenção incluem os métodos implementados por computador para proteger a privacidade de dados de transações públicas e privadas sob o modelo de saldo de conta de uma rede blockchain. Mais especial mente, as realizações da presente invenção se destinam a possibilitar as transações privadas e transações públicas sob o modelo de saldo de contas dentro de uma rede blockchain. Dessa maneira, e conforme descrito em maiores detalhes no presente, os usuários podem selecionar livremente se cada transação é uma transação pública ou uma transação privada dentro da rede blockchain.
[006]Em algumas realizações, as ações incluem receber, por um nó de consenso de uma rede blockchain, os dados de transação e uma
Petição 870190058526, de 25/06/2019, pág. 10/40
3/22 assinatura digital dos dados da transação, em que os dados da transação incluem um valor de compromisso, um número aleatório e uma quantia de transação a ser transferidas entre uma conta pública ou uma conta privada do primeiro nó de usuário para uma conta pública ou uma conta privada de um segundo nó de usuário e em que a assinatura digital é gerada assinando digitalmente os dados da transação utilizando uma chave privada do primeiro nó de usuário e o valor de compromisso são gerados com base no número aleatório e na quantia de transação utilizando um esquema de compromisso; verificando a assinatura digital dos dados da transação utilizando uma chave pública do primeiro nó do usuário; e
- determinando que a quantia de transação é válida, se o valor de compromisso estiver correto com base no número aleatório e no esquema de compromisso, e a quantia de transação for inferior ou igual a um saldo entre a conta pública ou a conta privada do primeiro nó do usuário antes da transferência da quantia de transação. Outras realizações incluem os sistemas, aparelhos e programas de computador correspondentes, configurados para realizar as ações dos métodos, codificados em dispositivos de armazenamento de computador.
[007]Essas e outras realizações opcionalmente podem incluir uma ou mais das características seguintes.
[008]Uma primeira característica, combinável com qualquer uma das seguintes característica, em que a conta pública possui um saldo público visível pelo nó de consenso e a conta especial possui um saldo privado visível utilizando uma chave privada de um respectivo nó de usuário.
[009]Uma segunda característica, combinável com qualquer uma das características anteriores ou seguintes, em que a quantia de transação é a partir de uma conta pública associada ao primeiro nó de usuário para uma conta privada associada ao segundo nó de usuário.
Petição 870190058526, de 25/06/2019, pág. 11/40
4/22 [010]Uma terceira característica, combinável com qualquer uma das características anteriores ou seguintes, em que a quantia de transação é a partir da conta privada do primeiro nó de usuário para a conta pública do segundo nó de usuário, e o método ainda compreende: receber, a partir do primeiro nó do usuário, uma prova de alcance para provar que a quantia de transação é inferior ou igual a um saldo da conta privada do primeiro nó do usuário; e em que a transferência é determinada como válida, se a quantia de transação for inferior ou igual ao saldo da conta privada do primeiro nó do usuário com base na prova de alcance.
[011 ] Uma quarta característica, combinável com qualquer uma das características anteriores ou seguintes, ainda compreende a atualização do saldo da conta pública ou da conta privada do primeiro nó de usuário, e o saldo de uma conta pública ou da conta privada do segundo nó do usuário com base na quantia de transação, se a transferência for válida.
[012] Uma quinta característica, combinável com qualquer uma das características anteriores ou seguintes, em que o saldo da conta privada é atualizado com base no valor de compromisso da quantia de transação e um compromisso do saldo da conta privada gerada utilizando o esquema de compromisso.
[013]Uma sexta característica, combinável com qualquer uma das características anteriores ou seguintes, em que o esquema de compromisso é homomórfico.
[014]A presente invenção ainda fornece um sistema para a realização dos métodos fornecidos no presente. O sistema inclui um ou mais processadores, e um meio de armazenamento legível por computador acoplado a um ou mais processadores que possui as instruções armazenadas nele que, quando executadas por um ou mais processadores, ocasionam que um ou mais processadores realizem as operações, de acordo com realizações dos métodos
Petição 870190058526, de 25/06/2019, pág. 12/40
5/22 fornecidos no presente.
[015] É considerado que os métodos, de acordo com a presente invenção, podem incluir qualquer combinação das realizações e características descritas no presente. Isto é, os métodos, de acordo com a presente invenção, não estão limitados às combinações de realizações e características especificamente descritas no presente, mas também incluem qualquer combinação das realizações e características fornecidas.
[016]Os detalhes de uma ou mais realizações da presente invenção são apresentados nas Figuras anexas e na descrição abaixo. Outras características e vantagens da presente invenção serão evidentes a partir da Descrição e Figuras, e das Reivindicações.
Breve Descrição dos Desenhos [017]A Figura 1 ilustra um exemplo de ambiente que pode ser utilizado para executar as realizações da presente invenção.
[018]A Figura 2 ilustra um exemplo de arquitetura conceptual, de acordo com realizações da presente invenção.
[019]A Figura 3 ilustra um exemplo de processo de validação de uma transação blockchain, de acordo com realizações da presente invenção.
[020]A Figura 4 ilustra um exemplo de transação blockchain de uma conta pública para uma conta privada, de acordo com as realizações da presente invenção.
[021 ] A Figura 5 ilustra um exemplo de transação blockchain de uma conta privada para uma conta pública, de acordo com as realizações da presente invenção.
[022]A Figura 6 ilustra um exemplo de método que pode ser executado de acordo com realizações da presente invenção.
[023]Os símbolos similares de referência nos diversos desenhos indicam elementos similares.
Petição 870190058526, de 25/06/2019, pág. 13/40
6/22
Descrição de Realizações da Invenção [024]As realizações da presente invenção incluem os métodos implementados por computador para proteger a privacidade de dados de transações públicas e privadas sob o modelo de saldo de conta (também referido no presente como o modelo de conta) de uma rede blockchain. Mais especialmente, as realizações da presente invenção se destinam a possibilitar as transações privadas e as transações públicas sob o modelo de saldo de contas dentro de uma rede blockchain. Dessa maneira, e conforme descrito em maiores detalhes no presente, os usuários podem selecionar livremente se cada transação é uma transação pública ou uma transação privada dentro da rede blockchain. Em algumas realizações, as ações incluem receber, por um nó de consenso de uma rede blockchain, os dados de transação e uma assinatura digital dos dados da transação, em que os dados da transação incluem um valor de compromisso, um número aleatório e uma quantia de transação a ser transferida entre uma conta pública ou uma conta privada do primeiro nó de usuário para uma conta pública ou de uma conta privada de um segundo nó de usuário e em que a assinatura digital é gerada assinando digitalmente os dados da transação utilizando uma chave privada do primeiro nó do usuário e o valor de compromisso são gerados com base no número aleatório e na quantia de transação utilizando um esquema de compromisso; verificando a assinatura digital dos dados da transação utilizando uma chave pública do primeiro nó do usuário; e determinando que a quantia de transação é válida, se o valor de compromisso estiver correto com base no número aleatório e no esquema de compromisso, e a quantia de transação for inferior ou igual a um saldo entre a conta pública ou a conta privada do primeiro nó do usuário antes da transferência da quantia de transação.
[025] Para fornecer contexto adicional para as realizações da presente invenção, e conforme introduzido acima, as redes blockchain, que
Petição 870190058526, de 25/06/2019, pág. 14/40
7/22 também podem ser referidas como redes de consenso (por exemplo, constituídas por nós peer-to-peer), sistema de contabilidade distribuída, ou simplesmente blockchain, possibilita que as entidades participantes executem as transações de maneira segura e imutável e armazenem os dados. Uma blockchain pode ser fornecida como uma blockchain pública, uma blockchain privada ou uma blockchain do consórcio. As realizações da presente invenção estão descritas no presente documento em maiores detalhes com referência a uma blockchain pública, que é pública entre as entidades participantes. Está contemplado, no entanto, que as realizações da presente invenção podem ser realizadas em qualquer tipo adequado de blockchain.
[026]Em uma blockchain pública, o processo de consenso é controlado por nós da rede de consenso. Por exemplo, centenas, milhares e até milhões de entidades podem participar de uma blockchain pública, cada um operando, pelo menos, um nó na blockchain pública. Por conseguinte, a blockchain pública pode ser considerada uma rede pública em relação às entidades participantes. Em alguns exemplos, a maioria das entidades (nós) deve assinar todos os blocos para que o bloco seja válido e adicionado à blockchain. Um exemplo de blockchain pública inclui a blockchain utilizada na rede Bitcoin, que é uma rede de pagamento peer-to-peer (rede de criptomoeda). Embora o termo blockchain normal mente seja referenciado em mãos com a rede Bitcoin, conforme utilizado no presente, a blockchain, em geral, se refere às contabilidades distribuídos sem referência especial à rede Bitcoin.
[027]Em geral, uma blockchain pública suporta as transações públicas. Uma transação pública é compartilhada com todos os nós dentro da blockchain, uma vez que a blockchain é replicada em todos os nós. Isto é, todos os nós estão em perfeito estado de consenso em relação à blockchain. Para alcançar um consenso (por exemplo, concordar com a adição de um bloco a uma blockchain), um protocolo de consenso é implementado dentro da rede
Petição 870190058526, de 25/06/2019, pág. 15/40
8/22 blockchain. Um exemplo de protocolo de consenso inclui, sem limitação, a prova de trabalho (POW) implementada na rede Bitcoin.
[028]As realizações da presente invenção estão descritas em maiores detalhes no presente em vista do contexto acima. Mais especialmente, e conforme introduzido acima, as realizações da presente invenção se destinam a possibilitar as transações privadas e transações públicas sob o modelo de saldo de contas dentro de uma rede blockchain. Dessa maneira, e conforme descrito em maiores detalhes no presente, os usuários podem selecionar livremente se cada transação é uma transação pública ou uma transação privada dentro da rede blockchain.
[029]De acordo com as realizações da presente invenção, as estruturas de conta com base em modelos de conta possibilitam as transações entre as contas públicas, transações entre as contas privadas e transações entre as contas públicas e privadas. Um esquema de proteção de privacidade adequado pode ser implementado para diferentes tipos de conta. Dessa maneira, um usuário (por exemplo, o nó na rede) pode selecionar se deseja realizar as transações utilizando a conta pública ou a conta privada com base em preferências de privacidade.
[030]Uma conta pública pode possuir um saldo de conta visível pelos nós de consenso. Uma conta especial pode possuir um saldo de conta visível utilizando uma chave privada de um proprietário (usuário) da conta. O saldo da conta privada pode ser criptografado utilizando a criptomoeda homomórfica ou comprometido por um esquema de compromisso com o homomorfismo. Como tal, o saldo da conta privada não pode ser determinado por outros nós na rede blockchain. A quantia de transação realizada para ou de uma conta especial também pode ser ocultada com base no esquema de compromisso para atualizar o saldo da conta privada com base na criptomoeda homomórfica.
Petição 870190058526, de 25/06/2019, pág. 16/40
9/22 [031 ]A Figura 1 ilustra um exemplo de ambiente (100) que pode ser utilizado para a execução das realizações da presente invenção. Em alguns exemplos, o ambiente de exemplo (100) possibilita que as entidades participem de uma blockchain pública (102). O ambiente de exemplo (100) inclui os sistemas de computação (106), (108) e uma rede (110). Em alguns exemplos, a rede (110) inclui uma rede de área local (LAN), rede de longa distância (WAN), a Internet ou uma de suas combinações, e conecta os sites da Web, dispositivos de usuário (por exemplo, os dispositivos de computação) e sistemas de backend. Em alguns exemplos, a rede (110) pode ser acessada através de um link de comunicação com fio e/ou sem fio.
[032]No exemplo descrito, os sistemas de computação (106), (108) podem incluir cada sistema de computação adequado que possibilita a participação como um nó na blockchain pública (102). Os exemplos de dispositivos de computação incluem, sem limitação, um servidor, um computador de mesa, um computador laptop, um dispositivo de computação (120) em tablet e um smartphone. Em alguns exemplos, os sistemas de computação (106), (108) hospedam um ou mais serviços implementados por computador para interagir com a blockchain pública (102). Por exemplo, o sistema de computação (106) pode hospedar os serviços implementados por computador de uma primeira entidade (por exemplo, o usuário A), como um sistema de gerenciamento de transações que a primeira entidade utiliza para gerenciar suas transações com uma ou mais entidades (por exemplo, outros usuários). O sistema de computação (108) pode hospedar os serviços implementados por computador de uma segunda entidade (por exemplo, o usuário B), como sistema de gerenciamento de transações que a segunda entidade utiliza para gerenciar suas transações com uma ou mais outras entidades (por exemplo, outros usuários). No exemplo da Figura 1, a blockchain pública (102) é representada como uma rede de nós peer-to-peer, e os sistemas de computação (106), (108)
Petição 870190058526, de 25/06/2019, pág. 17/40
10/22 fornecem os nós da primeira entidade, e segunda entidade respectivamente, que participam na blockchain pública (102).
[033]A Figura 2 ilustra um exemplo de arquitetura conceptual (200) de acordo com realizações da presente invenção. A arquitetura conceituai de exemplo (200) inclui uma camada de entidade (202), uma camada de serviços hospedados (204) e uma camada de blockchain pública (206). No exemplo descrito, a camada de entidade (202) inclui três entidades, Entidade_1 (E1), Entidade_2 (E2) e Entidade_3 (E3), cada entidade possui um respectivo sistema de gestão de transações (208).
[034] No exemplo descrito, a camada de serviços hospedados (204) inclui a blockchain ou as interfaces DLS (210) para cada sistema de gerenciamento de transação (208). Em alguns exemplos, um sistema de gerenciamento de transação (208) se comunica com uma respectiva interface DLS (210) em uma rede (por exemplo, a rede (110) da Figura 1) utilizando um protocolo de comunicação (por exemplo, o protocolo de transferência de hipertexto seguro (HTTPS)). Em alguns exemplos, cada interface DLS (210) fornece uma conexão de comunicação entre um sistema de gerenciamento de transação (208) e a camada blockchain (206). Mais especial mente, cada interface DLS (210) possibilita que a entidade respectiva conduza as transações registradas em uma rede blockchain (212) da camada blockchain (206). Em alguns exemplos, a comunicação entre uma interface DLS (210) e a camada blockchain (206) é conduzida utilizando as chamadas de procedimento remoto (RPCs). Em alguns exemplos, as interfaces DLS (210) “hospedam” os nós de blockchain para os respectivos sistemas de gerenciamento de transação. Por exemplo, as interfaces DLS (210) fornecem a interface de programação de aplicativos (API) para acesso à rede blockchain (212).
[035]Conforme descrito no presente, a rede blockchain (212) é fornecida como uma rede peer-to-peer incluindo uma pluralidade de nós (214)
Petição 870190058526, de 25/06/2019, pág. 18/40
11/22 que gravam a informação, de maneira imutável, em uma blockchain (216). Embora uma única blockchain (216) esteja esquematicamente representada, diversas cópias da blockchain (216) são fornecidas, e são mantidas através da blockchain (212). Por exemplo, cada nó (214) armazena uma cópia da blockchain (216). Em algumas realizações, a blockchain (216) armazena a informação associada às transações que são realizadas entre duas ou mais entidades participantes na blockchain pública.
[036]A presente invenção descreve os métodos que podem possibilitar que as transações privadas e as transações públicas sejam realizadas sob o modelo de saldo de conta dentro de uma rede blockchain com base em esquemas de compromisso. Dessa maneira, os usuários podem selecionar livremente se cada transação ou conta utilizada para a transação é pública ou privada.
[037]A Figura 3 ilustra um diagrama de raia (funcional) que ilustra um exemplo de processo de validação (300) de uma transação de blockchain, de acordo com as realizações da presente invenção. Para o propósito que ilustra o processo de validação de exemplo (300), é presumido que uma transação de transferência de fundos é realizada por um nó de usuário A (302) para um nó de usuário B (não mostrado na Figura 3) e a transação é submetida pelo nó de usuário A (302) para um nó blockchain (304) para a validação. Cada nó de usuário A (302) e o nó de usuário B podem incluir uma conta pública e uma conta privada. Um saldo da conta pública pode ser visualizado por todos os nós na rede blockchain. Um saldo da conta especial pode ser visualizado apenas pelo proprietário da conta (usuário) utilizando uma chave privada. De acordo com realizações da presente invenção, os nós de usuário podem selecionar se efetuam as transações de maneira pública ou privada utilizando uma conta pública ou uma conta privada.
[038]No (306), o nó de usuário A (302) gera um valor de
Petição 870190058526, de 25/06/2019, pág. 19/40
12/22 compromisso com base em uma quantia de transação te um número aleatório r. O valor de compromisso pode ser gerado por um esquema de compromisso homomórfico. Um esquema de compromisso de exemplo inclui, sem limitação, o Compromisso de Pedersen (PC). Embora as realizações da presente invenção sejam descritas no presente em maiores detalhes com referência ao PC, é contemplado que as realizações da presente invenção podem ser realizadas utilizando qualquer esquema de compromisso adequado.
[039] Utilizando o PC, por exemplo, o valor de compromisso é um texto cifrado que pode ser denominado como PC(t) = rG + íH, em que G e H podem ser geradores de uma curva elíptica, PC(t) é uma multiplicação escalar de pontos de curva, t é o valor que está comprometido. O esquema de compromisso de PC possui um homomorfismo, isto é, PC(t1) + PC(t2) = PC(t1+t2). Os titulares do texto cifrado PC(t) podem verificar a quantia de transação t utilizando o número aleatório r. Em (308), o nó de usuário A (302) utiliza uma chave privada para assinar digitalmente o valor de compromisso PC(t), a quantia de transação t e o número aleatório r. O nó de usuário A (302) submete o valor de compromisso PC(í), a quantia de transação t, o número aleatório re a assinatura digital ao nó de blockchain (304) em (310).
[040] Em algumas realizações, a quantia de transação t pode ser enviada de uma conta privada do nó do usuário A (302). Para uma conta privada, se a conta possui saldo suficiente para transferir a quantia de transação t não puder ser verificada diretamente por outros nós da blockchain. Nesses casos, o nó de usuário A (302) pode gerar uma ou mais provas de alcance para mostrar que a quantia de transação t é superior ou igual a zero e inferior ou igual a um saldo da conta especial do nó de usuário A (302).
[041]No (312), o nó blockchain (304) verifica a assinatura digital do valor de compromisso PC(r, t), a quantia de transação te o número aleatório r utilizando uma chave pública do nó do usuário A (302). Se a assinatura digital
Petição 870190058526, de 25/06/2019, pág. 20/40
13/22 estiver correta, o processo de validação de exemplo (300) prossegue para o (314).
[042] Em 314, o nó blockchain (304) verifica se o valor de compromisso PC(t) está correto e se a quantia de transação t é válida. Para verificar se o PC(t) está correto, o número aleatório recebido r e a quantia de transação t podem ser utilizados para gerar o PC denotado como PC’(r, t). Se PC’(r, t) for igual ao compromisso recebido PC(r, t), o compromisso PC(r, t) é verificado como sendo o compromisso correto da quantia de transação t. Em algumas realizações, o nó blockchain (304) pode verificar se a quantia de transação té válida se for maior que ou igual a 0 e inferior ou igual ao saldo da conta (302) do nó do usuário A, para a qual a quantia de transação é transferida com base em uma ou mais provas de alcance.
[043]Em 316, o nó blockchain (304) atualiza os saldos do nó de usuário A (302), e o nó de usuário B na blockchain, e transmite a blockchain para o resto dos nós na rede de blockchain. Para as transações de contas públicas, a quantia de transação pode ser diretamente subtraída ou adicionada ao saldo da conta pública com base no tipo de transação. Para as transações de conta privada, a quantia de transação t pode estar comprometida com a utilização de PC como PC(t) e subtraída de, ou adicionada a um saldo de conta privada também comprometido com a utilização de PC como PC(s). Uma vez que PC é homomórfico, PC(s) ± PC(t) = PC(s ± t). Os detalhes da atualização dos saldos de contas públicas e privadas estão descritos em maiores detalhes no presente com referências às Figuras 4 e 5.
[044]A Figura 4 ilustra um diagrama de blocos que ilustra um exemplo de transação (400) a partir de uma conta pública para uma conta privada, de acordo com as realizações da presente invenção. Conforme mostrado na transação de exemplo (400), antes da transação, um nó de usuário A (402) possui um saldo de conta pública u e um saldo de conta privada v
Petição 870190058526, de 25/06/2019, pág. 21/40
14/22 confirmado para utilizar o PC e expresso como PC(v). Um nó de usuário B (406) possui um saldo de conta pública xe um saldo de conta privada y comprometido em utilizar o PC e expresso como PC(y). O nó de usuário A (402) pode submeter uma transação da sua conta pública para a conta privada do nó de usuário B (406) enviando uma cópia assinada digitalmente de um valor de compromisso PC(t), a quantia de transação te um número aleatório α correspondente ao valor de compromisso para uma rede blockchain (408). Após o valor de compromisso PC(t) da quantia de transação té verificada utilizando um processo de validação, tal como o processo de exemplo (300) da Figura 3, as contas do nó de usuário A (402) e do nó de usuário B (406) podem ser atualizadas. Após a transação ser validada pela rede blockchain (408), uma quantia de transação té subtraída da conta pública do nó do usuário A (402) e é adicionada à conta privada do nó do usuário B (406). Após a transação, o nó do usuário A (400) possui um saldo de conta pública u - t, e um saldo de conta privada PC(v). O nó de usuário B (406) possui um saldo de conta pública xe um saldo de conta pessoal PC(y+ t).
[045]A Figura 5 ilustra um diagrama de blocos que ilustra um exemplo de transação (500) a partir de uma conta privada para uma conta pública, de acordo com as realizações da presente invenção. Conforme mostrado na transação de exemplo (500), antes da transação, um nó de usuário A (502) possui um saldo de conta pública u e um saldo de conta privada v confirmado para utilizar o PC e expresso como PC(v). Um nó de usuário B (506) possui um saldo de conta pública xe um saldo de conta privada y comprometido em utilizar o PC e expresso como PC(y). O nó de usuário A (502) pode submeter uma transação de sua conta especial para uma conta pública da conta pública do nó de usuário B (506), enviando uma cópia assinada digitalmente de um valor de compromisso PC(t), a quantia de transação t, um número aleatório α correspondente ao valor de compromisso e uma ou mais provas de alcance. As provas de uma ou mais intervalos podem ser utilizadas para provar que 0 < t < v
Petição 870190058526, de 25/06/2019, pág. 22/40
15/22 para uma rede blockchain (508). Após o valor de compromisso PC(t) da quantia de transação t ser verificado utilizando um processo de validação, tal como o processo de exemplo (300) de Figura 3, as contas do nó de usuário A (502) e do nó de usuário B (506) podem ser atualizadas. Após a transação ser validada pela rede blockchain (508), uma quantia de transação té subtraída da conta privada do nó de usuário A e é adicionada à conta pública da conta pública do nó de usuário B (506). Após a transação, o nó do usuário A (502) possui um saldo de conta pública ue um de saldo de conta privada PC(v-t). O nó de usuário B (504) possui um saldo de conta pública x+teum saldo pessoal de conta PC(y).
[046] A Figura 6 ilustra um exemplo de método (600) que pode ser executado, de acordo com realizações da presente invenção. Para clareza de apresentação, a descrição que se segue, em geral, descreve o método de exemplo (600) no contexto de outras Figuras nesta descrição. No entanto, será entendido que o método de exemplo (600) pode ser realizado, por exemplo, através de qualquer sistema, ambiente, software e hardware, ou uma combinação de sistemas, ambientes, software e hardware, conforme adequado. Em algumas realizações, diversas etapas do método de exemplo (600) podem ser executadas em paralelo, em combinação, em enlaces ou em qualquer ordem.
[047]No (602), um nó de consenso de uma rede blockchain recebe os dados de transação e uma assinatura digital dos dados de transação. Em algumas realizações, os dados da transação incluem um valor de compromisso, um número aleatório e uma quantia de transação a ser transferida entre uma conta pública ou uma conta privada do primeiro nó de usuário para uma conta pública ou conta privada de um segundo nó do usuário. A assinatura digital é gerada assinando digitalmente os dados da transação utilizando uma chave privada do primeiro nó do usuário. O valor de compromisso é gerado com base no número aleatório e na quantia de transação utilizando um esquema de compromisso. Em algumas realizações, o esquema de compromisso é
Petição 870190058526, de 25/06/2019, pág. 23/40
16/22 homomórfico. Em algumas realizações, a quantia de transação é a partir de uma conta pública associada ao primeiro nó do usuário para uma conta privada associada ao segundo nó do usuário. Em algumas realizações, a quantia de transação é a partir de uma conta privada associada ao primeiro nó do usuário para uma conta pública do segundo nó do usuário. Nesses casos, o nó de consenso também pode receber, do primeiro nó do usuário, uma prova de alcance para provar que a quantia de transação é inferior ou igual a um saldo da conta especial do primeiro nó do usuário.
[048]No (604), o nó de consenso verifica a assinatura digital dos dados da transação utilizando uma chave pública do primeiro nó do usuário.
[049]No (606), o nó de consenso determina que a quantia de transação é válida, se o valor de compromisso estiver correto com base no número aleatório e no esquema de compromisso. O nó de consenso também determina que a quantia de transação é inferior ou igual a um saldo entre a conta pública ou a conta privada do primeiro nó do usuário antes da transferência da quantia de transação. Em algumas realizações, a quantia de transação é a partir de uma conta privada do primeiro nó do usuário para uma conta pública do segundo nó do usuário. Nesses casos, determinar se a transferência de saldo é válida também inclui determinar se a quantia de transação é inferior ou igual ao saldo da conta especial associada ao primeiro nó do usuário com base na prova de alcance.
[050] Em algumas realizações, o método de exemplo (600) também pode incluir a atualização do saldo de uma conta pública ou da conta privada associada ao primeiro nó de usuário e o saldo de uma conta pública ou conta privada associada ao segundo nó do usuário. A atualização pode ser realizada com base na quantia de transação, se a quantia de transação for válida. Em algumas realizações, o saldo da conta privada é atualizado com base no valor de compromisso da quantia de transação e um compromisso do saldo da conta
Petição 870190058526, de 25/06/2019, pág. 24/40
17/22 privada gerada utilizando o esquema de compromisso.
[051]As realizações do assunto descrito nesta especificação podem ser implementadas de maneira a realizar vantagens específicas ou efeitos técnicos. Por exemplo, as realizações da presente invenção possibilitam que uma rede blockchain suporte as transações entre as contas públicas, transações entre as contas privadas e transações entre as contas públicas e privadas. Como tal, a proteção de privacidade adequada pode ser implementada independentemente dos tipos de conta, por conseguinte um nó de usuário da rede blockchain pode selecionar de maneira flexível enviar e receber os fundos de sua conta pública ou conta privada com base em preferências de privacidade.
[052]A metodologia descrita possibilita a intensificação da segurança da conta / dados de diversos dispositivos de computação móvel. O saldo da conta privada pode ser comprometido com base em um esquema de compromisso. Como tal, o saldo da conta privada pode ser verificado com base no compromisso sem revelar o saldo real da conta. A quantia de transação efetuada para ou de uma conta privada também pode ser confirmada com base no esquema de compromisso para atualizar a conta especial após a transação, sem revelar o valor real transferido. Dessa maneira, maior controle sobre a segurança das transações de conta privada é fornecida.
[053]A metodologia descrita pode garantir a utilização eficiente de recursos do computador (por exemplo, os ciclos de processamento, largura de banda de rede e utilização de memória), através da atualização eficiente da blockchain. As operações da conta podem ser realizadas de maneira mais rápida e segura através de processos de consenso mais simples.
[054]As realizações e as operações descritas nesta especificação podem ser implementadas em circuitos eletrônicos digitais, ou em software de computador, firmware ou hardware, incluindo as estruturas descritas na presente invenção ou em combinações de uma ou mais delas. As operações podem ser
Petição 870190058526, de 25/06/2019, pág. 25/40
18/22 implementadas como operações realizadas por um aparelho de processamento de dados em dados armazenados em um ou mais dispositivos de armazenamento legíveis por computador ou recebidos de outras fontes. Um dispositivo de processamento de dados, computador ou dispositivo de computação (120) pode abranger os aparelhos, dispositivos e máquinas para o processamento de dados, incluindo, por exemplo, um processador programável, um computador, um sistema em um chip ou diversos, ou combinações, dos anteriores. O aparelho pode incluir os circuitos lógicos para propósitos especiais, por exemplo, uma unidade central de processamento (CPU), um FPGA (Field Programmable Gate Array) ou um circuito integrado específico para aplicativos (ASIC). O aparelho também pode incluir código que cria um ambiente de execução para o programa de computador em questão, por exemplo, o código que constitui o firmware do processador, uma pilha de protocolos, um sistema de gerenciamento de banco de dados, um sistema operacional (por exemplo, um sistema operacional ou uma combinação de sistemas operacionais), um ambiente de tempo de execução entre as plataformas, uma máquina virtual ou uma combinação de um ou mais deles. O aparelho e o ambiente de execução podem realizar diversas infraestruturas de modelos de computação diferentes, tais como os serviços da Web, computação distribuída e infraestruturas de computação em grade.
[055]Um programa de computador (também conhecido, por exemplo, como um programa, software, aplicativo de software, módulo de software, unidade de software, script ou código) pode ser escrito em qualquer forma de linguagem de programação, incluindo as linguagens compiladas ou interpretadas, declarativas ou linguagens procedurais, e pode ser implantado de qualquer forma, incluindo como um programa independente ou como um módulo, componente, sub-rotina, objeto ou outra unidade adequada para a utilização em um ambiente de computação. Um programa pode ser armazenado
Petição 870190058526, de 25/06/2019, pág. 26/40
19/22 em uma parte de um arquivo que contém outros programas ou dados (por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação), em um único arquivo dedicado ao programa em questão ou em diversos arquivos coordenados (por exemplo, os arquivos que armazenam um ou mais módulos, subprogramas ou partes do código). Um programa de computador pode ser executado em um computador ou em diversos computadores localizados em um site ou distribuídos em diversos sites e interconectados por uma rede de comunicação.
[056]Os processadores para execução de um programa de computador incluem, a título de exemplo, os microprocessadores de propósito geral e especial, e qualquer um ou mais processadores de qualquer tipo de computador digital. Em geral, um processador irá receber as instruções e dados de uma memória somente de leitura ou de uma memória de acesso aleatório ou de ambos. Os elementos essenciais de um computador são um processador para executar as ações de acordo com as instruções e um ou mais dispositivos de memória para armazenar as instruções e dados. Em geral, um computador também irá incluir, ou estará acoplado operacionalmente para receber os dados ou transferir dados, ou ambos, para um ou mais dispositivos de armazenamento em massa para o armazenamento de dados. Um computador pode ser incorporado em outro dispositivo, por exemplo, um dispositivo móvel, um assistente digital pessoal (PDA), um console de jogos, um receptor de Sistema de Posicionamento Global (GPS) ou um dispositivo de armazenamento portátil. Os dispositivos adequados para armazenar as instruções e dados de programas de computador incluem a memória não volátil, meios e dispositivos de memória, incluindo, a título de exemplo, os dispositivos de memória semicondutores, discos magnéticos e discos magneto-óticos. O processador e a memória podem ser complementados por, ou incorporados em circuitos lógicos de propósito especial.
Petição 870190058526, de 25/06/2019, pág. 27/40
20/22 [057]Os dispositivos móveis podem incluir os telefones celulares, equipamentos de usuário (UE), telefones móveis (por exemplo, os smartphones), tablets, dispositivos vestíveis (por exemplo, os relógios inteligentes e óculos inteligentes), dispositivos implantados dentro do corpo humano (por exemplo, os biossensores implantes cocleares) ou outros tipos de dispositivos móveis. Os dispositivos móveis podem se comunicar sem fio (por exemplo, utilizando os sinais de radiofrequência (RF)) para diversas redes de comunicação (descritas abaixo). Os dispositivos móveis podem incluir os sensores para determinar as características do ambiente atual do dispositivo móvel. Os sensores podem incluir as câmaras, microfones, sensores de proximidade, sensores GPS, sensores de movimento, acelerômetros, sensores de luz ambiente, sensores de umidade, giroscópios, bússolas, barômetros, sensores de impressões digitais, sistemas de reconhecimento facial, sensores de RF (por exemplo, Wi-Fi e rádios celulares), sensores térmicos ou outros tipos de sensores. Por exemplo, as câmeras podem incluir uma câmera voltada para frente ou para trás com as lentes móveis ou fixas, um flash, um sensor de imagem e um processador de imagem. A câmera pode ser uma câmera megapixel capaz de capturar detalhes para reconhecimento facial e/ou de íris. A câmera, em conjunto com um processador de dados e informações de autenticação armazenadas na memória ou acessadas remotamente, podem formar um sistema de reconhecimento facial. O sistema de reconhecimento facial ou um ou mais sensores, por exemplo, os microfones, sensores de movimento, acelerômetros, sensores de GPS ou sensores de RF, podem ser utilizados para autenticação do usuário.
[058]Para fornecer a interação com um usuário, as realizações podem ser implementadas em um computador que possui um dispositivo de exibição e um dispositivo de entrada, por exemplo, um monitor de cristal líquido (LCD) ou diodo orgânico emissor de luz (OLED) / realidade virtual (VR) / exibição de realidade aumentada (AR) para exibir as informações para o usuário e uma
Petição 870190058526, de 25/06/2019, pág. 28/40
21/22 tela sensível ao toque, teclado e um dispositivo apontador pelo qual o usuário pode fornecer a entrada para o computador. Outros tipos de dispositivos também podem ser utilizados para fornecer a interação com um usuário; por exemplo, o feedback fornecido ao usuário pode ser qualquer forma de feedback sensorial, por exemplo, o feedback visual, feedback auditivo ou feedback tátil; e a entrada do usuário pode ser recebida de qualquer forma, incluindo entrada acústica, de fala ou tátil. Além disso, um computador pode interagir com um usuário enviando documentos e recebendo os documentos de um dispositivo utilizado pelo usuário; por exemplo, enviando as páginas da web para um navegador da web no dispositivo do cliente de um usuário em resposta às solicitações recebidas do navegador da web.
[059]As realizações da presente invenção podem ser realizadas utilizando os dispositivos de computação interconectados por qualquer forma ou meio de comunicação de dados digital com fio ou sem fio (ou combinação dos mesmos), por exemplo, uma rede de comunicação. Os exemplos de dispositivos interconectados são um cliente e um servidor, em geral, remotos entre si que normalmente interagem através de uma rede de comunicação. Um cliente, por exemplo, um dispositivo móvel, pode realizar transações em si, com um servidor ou através de um servidor, por exemplo, realizando as transações de compra, venda, pagamento, entrega, envio ou empréstimo, ou autorizando o mesmo. Tais transações podem ser em tempo real, de maneira que uma ação e uma resposta estejam temporariamente próximas; por exemplo, um indivíduo percebe a ação e a resposta ocorrendo substancialmente simultaneamente, a diferença de tempo para uma resposta após a ação do indivíduo é inferior a 1 milissegundo (ms) ou inferior a 1 segundo(s), ou a resposta é sem atrasos intencionais levando em consideração as limitações de processamento da conta do sistema.
[060]Os exemplos de redes de comunicação incluem uma rede de área local (LAN), uma rede de acesso de rádio (RAN), uma rede de área
Petição 870190058526, de 25/06/2019, pág. 29/40
22/22 metropolitana (MAN) e uma rede de área ampla (WAN). A rede de comunicação pode incluir toda ou parte da Internet, outra rede de comunicação ou uma combinação de redes de comunicação. As informações podem ser transmitidas na rede de comunicação de acordo com diversos protocolos e padrões, incluindo o Long Term Evolution (LTE), 5G, IEEE 802, Protocolo Internet (IP) ou outros protocolos ou combinações de protocolos. A rede de comunicação pode transmitir a voz, vídeo, dados biométricos ou de autenticação ou outras informações entre os dispositivos de computação conectados.
[061]As características descritas como realizações separadas podem ser implementados, em combinação, em uma única realização, enquanto as características descritas como uma única realização podem ser implementados em múltiplas realizações, separadamente ou em qualquer subcombinação adequada. As operações descritas e reivindicadas em uma ordem específica não devem ser entendidas como exigindo essa ordem específica, nem que todas as operações ilustradas sejam executadas (algumas operações podem ser opcionais). Conforme adequado, a multitarefa ou o processamento paralelo (ou uma combinação de multitarefa e processamento paralelo) podem ser executados.

Claims (9)

  1. Reivindicações
    1. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR PARA VALIDAR AS TRANSAÇÕES BLOCKCHAIN COM BASE EM MODELOS DE CONTA, caracterizado pelo fato de que compreende as etapas de:
    - receber (602), por um nó de consenso (214) de uma rede blockchain (102, 212), os dados de transação e uma assinatura digital dos dados da transação, em que os dados da transação incluem um valor de compromisso, um número aleatório e uma quantia de transação a ser transferida entre uma conta pública ou uma conta privada do primeiro nó do usuário entre uma conta pública ou uma conta privada de um segundo nó do usuário e em que a assinatura digital é gerada assinando digitalmente os dados da transação utilizando uma chave privada do primeiro nó do usuário e o valor de compromisso é gerado com base no número aleatório e na quantia de transação utilizando um esquema de compromisso;
    - verificar (604) a assinatura digital dos dados da transação utilizando uma chave pública do primeiro nó do usuário; e
    - determinar (606) que a quantia de transação é válida, se o valor de compromisso estiver correto com base no número aleatório e no esquema de compromisso, e a quantia de transação for inferior ou igual a um saldo entre a conta pública ou a conta privada do primeiro nó do usuário antes da transferência da quantia de transação.
  2. 2. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de que a conta pública possui um saldo público visível pelo nó de consenso (214) e a conta privada possui um saldo privado visível utilizando uma chave privada de um respectivo nó de usuário.
  3. 3. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de que a quantia de
    Petição 870190058526, de 25/06/2019, pág. 31/40
    2/3 transação é a partir de uma conta pública associada ao primeiro nó de usuário para uma conta privada associada ao segundo nó de usuário.
  4. 4. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de que a quantia de transação é a partir da conta privada do primeiro nó de usuário para a conta pública do segundo nó de usuário e o método (600) compreendendo ainda:
    - receber, do primeiro nó do usuário, uma prova de alcance para provar que a quantia de transação é inferior ou igual a um saldo da conta privada do primeiro nó do usuário; e
    - em que a transferência é determinada como válida, se a quantia de transação for inferior ou igual ao saldo da conta privada do primeiro nó do usuário com base na prova de alcance.
  5. 5. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 2, caracterizado pelo fato de que ainda compreende a atualização do saldo da conta pública ou da conta privada do primeiro nó de usuário, e o saldo da conta pública ou da conta privada do segundo nó do usuário com base na quantia de transação, se a transferência for válida.
  6. 6. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 5, caracterizado pelo fato de que o saldo da conta privada é atualizado com base no valor de compromisso da quantia de transação e um compromisso do saldo da conta privada gerada utilizando o esquema de compromisso.
  7. 7. MÉTODO (600) IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de que o esquema de compromisso é homomórfico.
  8. 8. MEIO LEGÍVEL POR COMPUTADOR, não transitório, acoplado a um ou mais processadores, caracterizado pelo fato de que possui as instruções armazenadas nele que, quando executadas por um ou mais
    Petição 870190058526, de 25/06/2019, pág. 32/40
    3/3 processadores, ocasionam que um ou mais processadores realizem as operações de acordo com o método (600), conforme definido em qualquer uma das reivindicações de 1 a 7.
  9. 9. SISTEMA (106, 108), caracterizado pelo fato de que compreende:
    um dispositivo de computação (120); e um dispositivo de armazenamento legível por computador acoplado ao dispositivo de computação (120) e que possui as instruções armazenadas nele que, quando executadas pelo dispositivo de computação (120), ocasionam que o dispositivo de computação (120) execute as operações de acordo com o método (600), conforme definido em qualquer uma das reivindicações de 1 a 7.
BR112019008171A 2018-11-07 2018-11-07 método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema BR112019008171A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114401 WO2019072265A2 (en) 2018-11-07 2018-11-07 BLOCK CHAIN SYSTEM SUPPORTING PUBLIC AND PRIVATE TRANSACTIONS WITH ACCOUNT MODELS

Publications (1)

Publication Number Publication Date
BR112019008171A2 true BR112019008171A2 (pt) 2019-09-10

Family

ID=66100009

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019008171A BR112019008171A2 (pt) 2018-11-07 2018-11-07 método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema

Country Status (14)

Country Link
US (1) US20190244195A1 (pt)
EP (1) EP3542332A4 (pt)
JP (1) JP6830530B2 (pt)
KR (1) KR102151894B1 (pt)
CN (1) CN110326013A (pt)
AU (1) AU2018348318B2 (pt)
BR (1) BR112019008171A2 (pt)
CA (1) CA3041157C (pt)
MX (1) MX2019004672A (pt)
PH (1) PH12019500893A1 (pt)
RU (1) RU2727552C1 (pt)
SG (1) SG11201903563WA (pt)
WO (1) WO2019072265A2 (pt)
ZA (1) ZA201902552B (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110945831B (zh) * 2018-05-08 2021-04-27 维萨国际服务协会 抗Sybil攻击身份的生成
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
PL3545640T3 (pl) * 2018-11-07 2021-10-18 Advanced New Technologies Co., Ltd. Ochrona danych łańcucha bloków przy zastosowaniu szyfrowania homomorficznego
CN110089069B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
MY188126A (en) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd System and method for information protection
PL3549303T3 (pl) 2018-11-27 2021-11-22 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
ES2881674T3 (es) 2018-11-27 2021-11-30 Advanced New Technologies Co Ltd Sistema y método para la protección de información
CA3037833C (en) 2018-11-27 2022-04-19 Alibaba Group Holding Limited System and method for information protection
CN110084600B (zh) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 决议事务请求的处理、验证方法、装置、设备及介质
US10536537B1 (en) 2019-06-13 2020-01-14 Accenture Global Solutions Limited Multi-source deterministic oracle management
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN110533402B (zh) * 2019-08-22 2023-01-03 珠海得分金融科技有限公司 一种异构系统的记账共识方法及系统
CN110766400B (zh) * 2019-10-22 2023-01-13 全链通有限公司 基于区块链的交易记录处理方法、记账节点及介质
CN111538757B (zh) * 2020-04-13 2022-02-11 支付宝(杭州)信息技术有限公司 数据存储方法、查询方法、装置、服务器及介质
US11853291B2 (en) * 2020-07-06 2023-12-26 International Business Machines Corporation Privacy preserving architecture for permissioned blockchains
CN113222758A (zh) * 2021-05-08 2021-08-06 华中科技大学 以隐私为前提的联盟链交易信息监管方法、系统、终端
CN113505138B (zh) * 2021-09-06 2021-12-21 支付宝(杭州)信息技术有限公司 区块链系统中状态证明及执行区块的方法及装置
CN113570373B (zh) * 2021-09-23 2022-02-11 北京理工大学 一种基于区块链的可追责交易方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434726B2 (en) * 2006-05-15 2008-10-14 Pitney Bowes Inc. Method and system for postdating of financial transactions
US8296568B2 (en) * 2009-10-27 2012-10-23 Google Inc. Systems and methods for authenticating an electronic transaction
SG183988A1 (en) * 2010-04-09 2012-10-30 Visa Int Service Ass System and method for securely validating transactions
JPWO2012067214A1 (ja) * 2010-11-15 2014-05-19 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US11080701B2 (en) * 2015-07-02 2021-08-03 Royal Bank Of Canada Secure processing of electronic payments
US11394773B2 (en) * 2014-06-19 2022-07-19 Jim Austin Joseph Cryptographic currency block chain based voting system
PL3073670T4 (pl) * 2015-03-27 2021-08-23 Black Gold Coin, Inc. System i sposób osobistej identyfikacji i weryfikacji
WO2016200885A1 (en) * 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US11562353B2 (en) * 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
WO2017207717A1 (en) * 2016-06-01 2017-12-07 Brand New Ideas B.V. Validating blockchain transactions regarding real money
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106910072A (zh) * 2017-02-15 2017-06-30 捷德(中国)信息科技有限公司 数字货币管理方法和系统
KR102407187B1 (ko) * 2017-04-05 2022-06-10 삼성에스디에스 주식회사 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
EP3718069B1 (en) * 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108335103B (zh) * 2017-12-28 2021-06-11 中国人民银行数字货币研究所 一种基于数字货币的扣款方法和系统
CN108389046B (zh) * 2018-02-07 2020-08-28 西安交通大学 一种电子商务中基于区块链技术的隐私保护交易方法
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质

Also Published As

Publication number Publication date
JP2020501406A (ja) 2020-01-16
US20190244195A1 (en) 2019-08-08
MX2019004672A (es) 2019-08-21
EP3542332A4 (en) 2020-01-22
JP6830530B2 (ja) 2021-02-17
CA3041157C (en) 2020-09-08
CN110326013A (zh) 2019-10-11
AU2018348318B2 (en) 2020-05-21
EP3542332A2 (en) 2019-09-25
PH12019500893A1 (en) 2019-11-25
SG11201903563WA (en) 2019-05-30
RU2727552C1 (ru) 2020-07-22
CA3041157A1 (en) 2019-04-18
KR20200054124A (ko) 2020-05-19
ZA201902552B (en) 2022-05-25
KR102151894B1 (ko) 2020-09-03
WO2019072265A3 (en) 2019-08-22
WO2019072265A2 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
BR112019008171A2 (pt) método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema
KR102215245B1 (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
ES2876926T3 (es) Protección de datos de cadena de bloques utilizando cifrado homomórfico
KR102215773B1 (ko) 영-지식 증명을 갖는 계정 노트 모델에 기초한 블록체인 데이터 보호
US10805088B2 (en) Cross-blockchain authentication method, apparatus, and electronic device
CA3084081C (en) Cross-blockchain authentication method and apparatus
BR112019014629A2 (pt) método implementado por computador, meio de armazenamento legível por computador e sistema
BR112019016474A2 (pt) método implementado por computador, meio de armazenamento não transitório legível por computador e sistema
BR112019008140A2 (pt) método implementado por computador, meio de armazenamento legível por computador não transitório e sistema
US11108571B2 (en) Managing communications among consensus nodes and client nodes
BR112019008154A2 (pt) método implementado por computador, meio de armazenamento legível por computador e sistema

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]
B09B Patent application refused [chapter 9.2 patent gazette]