BR112019007727A2 - sistema e método para proteção de informações - Google Patents

sistema e método para proteção de informações Download PDF

Info

Publication number
BR112019007727A2
BR112019007727A2 BR112019007727-8A BR112019007727A BR112019007727A2 BR 112019007727 A2 BR112019007727 A2 BR 112019007727A2 BR 112019007727 A BR112019007727 A BR 112019007727A BR 112019007727 A2 BR112019007727 A2 BR 112019007727A2
Authority
BR
Brazil
Prior art keywords
transaction
commitment
amount
key
recipient
Prior art date
Application number
BR112019007727-8A
Other languages
English (en)
Inventor
Ma Baoli
Ma Huanyu
Cui Jiahui
Zhang Wenbin
Liu Zheng
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 BR112019007727A2 publication Critical patent/BR112019007727A2/pt

Links

Classifications

    • 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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

trata-se de um método implementado por computador que compreende: comprometer uma quantia de transação de uma transação com um esquema de compromisso para obter um valor de compromisso de transação, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação e uma quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação t e a combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação.

Description

“SISTEMA E MÉTODO PARA PROTEÇÃO DE INFORMAÇÕES”
CAMPO DA TÉCNICA [001 ]A presente revelação refere-se, em geral, a métodos e dispositivos para proteção de informações.
FUNDAMENTOS [002]A privacidade é importante para comunicações e transferências de dados dentre vários usuários. Sem proteção, os usuários ficam expostos ao risco de falsidade ideológica, transferência ilegal, ou outras perdas potenciais. O risco se torna ainda maior quando as comunicações e transferências forem implementadas online, devido ao livre acesso de informações online.
SUMÁRIO [003]Várias modalidades da presente revelação incluem sistemas, métodos e mídias legíveis por computador não transitórias para proteção de informações.
[004]De acordo com um aspecto, um método implementado por computador para proteção de informações compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e da quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para que o nó de destinatário verifique a transação.
[005]Em algumas modalidades, gerar a primeira chave compreende: gerar a primeira chave com base em uma chave privada SK_Ade um remetente da transação e uma chave pública PK_B do destinatário sob um protocolo de troca de chave DiffieHellman (DH).
[006]Em algumas modalidades, o esquema de compromisso compreende um
Petição 870190036390, de 16/04/2019, pág. 10/78
2/51 compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e com a quantia de transação t sendo urn valor comprometido.
[007]Em algumas modalidades, a combinação do fator randômico de transação r_t e da quantia de transação t compreende uma concatenação do fator randômico de transação r_t e da quantia de transação t.
[008]Em algumas modalidades, transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação para que o nó de destinatário verifique a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação, induzir o nó de destinatário a: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_Ade um remetente da transação; descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t e na quantia de transação t.
[009]Em algumas modalidades, induzir o nó de destinatário a verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t compreende induzir o nó de destinatário a: em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, rejeitar a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, aprovar a transação assinando-se a transação a gerar uma assinatura de destinatário SIGB para retornar a um nó de remetente associado ao remetente.
Petição 870190036390, de 16/04/2019, pág. 11/78
3/51 [010]Em algumas modalidades, antes de transmitir a combinação criptografada ao nó de destinatário associado ao destinatário, o método compreende, ainda: comprometer um troco y da transação com o esquema de compromisso para obter um valor de compromisso de troco Y, sendo que o esquema de compromisso compreende pelo menos um fator randômico de troco r_y, em que o troco y é um ou mais ativos do remetente explorados para a transação menos a quantia de transação t; gerar outra chave com base em uma chave privada SK_Ado remetente e na chave pública PK_A do remetente; e criptografar outra combinação do fator randômico de troco r_y e do troco y com a outra chave.
[011]Em algumas modalidades, o método compreende, ainda: em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação assinando-se a transação para gerar uma assinatura de remetente SIGA; e submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós em uma rede de blockchain para um ou mais nós para verificar a transação.
[012]Em algumas modalidades, submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain para um ou mais nós para verificar a transação compreende: submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain, induzir um ou mais nós, em resposta à verificação bem-sucedida da transação, a emitir a quantia de transação t ao destinatário, eliminar um ou mais ativos explorados para a transação, e emitir o troco y ao remetente.
Petição 870190036390, de 16/04/2019, pág. 12/78
4/51 [013]De acordo com outro aspecto, uma mídia de armazenamento legível por computador não transitória armazena instruções a serem executadas por um processador para induzir o processador a realizar operações que compreendem: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e da quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação.
[014]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e uma mídia de armazenamento legível por computador não transitória acoplada ao processador, sendo que a mídia de armazenamento que armazena instruções a serem executadas pelo processador para induzir o sistema a realizar operações compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e da quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação.
[015]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compro
Petição 870190036390, de 16/04/2019, pág. 13/78
5/51 misso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_A do remetente, descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[016]De acordo com outro aspecto, uma mídia de armazenamento legível por computador não transitória armazena instruções a serem executadas por um processador para induzir o processador a realizar operações que compreendem: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e da quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_Ado remetente, descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação rj e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator
Petição 870190036390, de 16/04/2019, pág. 14/78
6/51 randômico de transação r_t, e na quantia de transação t.
[017]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e uma mídia de armazenamento legível por computador não transitória acoplada ao processador, sendo que a mídia de armazenamento armazena instruções a serem executadas pelo processador para induzir o sistema a realizar operações que compreendem: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e da quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SK_B do destinatário e uma chave pública PK_A do remetente, descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[018]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de tran
Petição 870190036390, de 16/04/2019, pág. 15/78
7/51 sação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_Ado remetente, descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[019]De acordo com outro aspecto, uma mídia de armazenamento legível por computador não transitória stores instruções a serem executadas por um processador para induzir o processador a realizar operações que compreendem: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_A do remetente, descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação rj e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação rj, e na quantia de transação t.
[020]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e uma mídia de armazenamento legível por computador
Petição 870190036390, de 16/04/2019, pág. 16/78
8/51 não transitória acoplada ao processador, sendo que a mídia de armazenamento armazena instruções a serem executadas pelo processador para induzir o sistema a realizar operações compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t; gerar uma primeira chave de um par de chaves simétricas; criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação T e a combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário a: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_A do remetente, descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[021 ]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas, e obter um valor de compromisso de transação T, em que: a quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos o fator randômico de transação r_t; gerar uma segunda chave do par de chaves simétricas; descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado a um destinatário da transação para obter o fator randômico de transação r_t e a quantia de transação t; e
Petição 870190036390, de 16/04/2019, pág. 17/78
9/51 verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[022]De acordo com outro aspecto, uma mídia de armazenamento legível por computador não transitória armazena instruções a serem executadas por um processador para induzir o processador a realizar operações que compreendem: obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas, e obter um valor de compromisso de transação T, em que: a quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos o fator randômico de transação r_t; gerar uma segunda chave do par de chaves simétricas; descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado a um destinatário da transação para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[023]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e uma mídia de armazenamento legível por computador não transitória acoplada ao processador, sendo que a mídia de armazenamento armazena instruções a serem executadas pelo processador para induzir o sistema a realizar operações compreende: obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas, e obter um valor de compromisso de transação T, em que: a quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende
Petição 870190036390, de 16/04/2019, pág. 18/78
10/51 pelo menos o fator randômico de transação r_t; gerar uma segunda chave do par de chaves simétricas; descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado a um destinatário da transação para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
[024]Esses e outros recursos dos sistemas, métodos e mídias legíveis por computador não transitórias revelados no presente documento, bem como os métodos de operação e funções dos elementos relacionados de estrutura e uma combinação de partes e economias de fabricação, se tornarão mais aparentes mediante consideração da descrição a seguir e das reivindicações anexas com referência aos desenhos anexos, sendo que todos formam uma parte deste relatório descritivo, em que referências numéricas similares designam partes correspondentes nas várias figuras. No entanto, deve-se compreender expressamente que os desenhos servem para propósitos de ilustração e descrição somente e não são destinados como uma definição dos limites da invenção.
BREVE DESCRIÇÃO DOS DESENHOS [025]Determinados recursos de várias modalidades da presente tecnologia são particularmente apresentados nas reivindicações anexas. Uma melhor compreensão dos recursos e vantagens da tecnologia será obtida com referência à descrição detalhada a seguir que apresenta modalidades ilustrativas, em que os princípios da invenção são utilizados, e os desenhos anexos em que:
[026]A Figura 1 ilustra um sistema exemplificador para proteção de informações, de acordo com várias modalidades.
[027]A Figura 2 ilustra etapas exemplificadoras para iniciação e verificação de transação, de acordo com várias modalidades.
[028]A Figura 3A ilustra um fluxograma de um método exemplificador para
Petição 870190036390, de 16/04/2019, pág. 19/78
11/51 proteção de informações, de acordo com várias modalidades.
[029]A Figura 3B ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[030]A Figura 4A ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[031 ]A Figura 4B ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[032]A Figura 5 ilustra um diagrama de blocos de um sistema computacional exemplificador no qual qualquer uma das modalidades descritas no presente documento pode ser implementada.
DESCRIÇÃO DETALHADA [033]Blockchain pode ser considerado como um banco de dados descentralizado, comumente referido como uma razão distribuída porque a operação é realizada por vários nós (por exemplo, dispositivos computacionais) em uma rede. Qualquer informações pode ser gravada ao blockchain e salva ou lida a partir do mesmo. Qualquer um pode ajustar um servidor e participar da rede de blockchain para se tornar um nó. Qualquer nó pode contribuir computando potência para manter o blockchain realizando-se computações complexas, tal como um cálculo hash para adicionar um bloco a um blockchain atual, e o bloco adicionado pode conter vários tipos de dados ou informações. O nó que contribuiu computando potência para o bloco adicionado pode ser compensado com um token (por exemplo, unidade de moeda digital). Visto que o blockchain não tem um nó central, cada nó é igual e mantém todo o banco de dados de blockchain.
[034]Qs nós são, por exemplo, dispositivos computacionais ou granes sistemas computacionais que suportam a rede de blockchain e a mantém funcionando sem percalços. Existem dois tipos de nós, nós completos e nós leves. Os nós completos mantêm uma cópia completa do blockchain. Os nós completos na rede de blockchain
Petição 870190036390, de 16/04/2019, pág. 20/78
12/51 validam transações e blocos que eles recebem e os retransmitem aos peers conectados para proporcionar uma verificação consenso das transações. Os nós leves, por outro lado, transferem por download somente uma fração do blockchain. Por exemplo, nós leves são usados para transações de moeda digital. Um nó leve se comunicará com um nó completo quando desejar fazer transação.
[035]Essa propriedade de descentralização pode ajudar a evitar o surgimento de uma central de gerenciamento em uma posição controlada. Por exemplo, a manutenção do blockchain de bitcoin é realizada pela rede de nós de comunicação do software de bitcoin na área em execução. Essa revelação usa um ou mais blockchains ou moedas digitais, tal como bitcoin e ethereum, como exemplos. Um indivíduo com conhecimento comum na técnica deve avaliar que as soluções técnicas reveladas nesta revelação podem usar ou se aplicar a outro tipo de blockchains e moedas digitais. Ou seja, ao invés de bancos, instituições, ou administradores no sentido tradicional, existem múltiplos intermediários soba forma de servidores computacionais que executa um software de bitcoin. Esses servidores computacionais formam uma rede conectada através da Internet, em que qualquer um pode potencialmente participar da rede. As transações acomodadas pela rede podem ser de uma forma: “usuário A deseja enviar Z bitcoins ao usuário B,” em que as transações são radiodifundidas à rede usando aplicativos de software prontamente disponíveis. Os servidores computacionais funcionam como servidores de bitcoin que são operáveis para validar essas transações financeiras, adicionar um registro das mesmas para sua cópia à contabilidade, e, então, radiodifundir essas adições de contabilidade a outros servidores da rede.
[036]A manutenção do blockchain é referida como “mineração,” e aqueles que fazem essa manutenção são concedidos com bitcoins recentemente criados e taxas de transação conforme supramencionado. Por exemplo, os nós podem determinar se
Petição 870190036390, de 16/04/2019, pág. 21/78
13/51 as transações são válidas com base em um conjunto de regras que a rede de blockchain concordou com. Os mineradores podem estar situados em qualquer continente e processar pagamentos verificando-se cada transação como válida e adicionando-a ao blockchain. Essa verificação é alcançada através de consenso proporcionado por uma pluralidade de mineradores e supõe que não existe uma colusão sistemática. No final das contas, todos os dados serão consistentes, porque a computação precisa satisfazer determinadas exigências como sendo válidas e todos os nós serão sincronizados para garantir que o blockchain seja consistente. Logo, os dados podem ser consistentemente armazenados em um sistema distribuído de nós de blockchain.
[037]Através do processo de mineração, as transações como transferências de ativos são verificadas e adicionadas a uma cadeia crescente de blocos de um blockchain por nós de rede. Atravessando-se todo o blockchain, a verificação pode incluir, por exemplo, se a parte pagante tem acesso ao ativo de transferência, se o ativo foi gasto antes, se a quantia de transferência está correta, etc. Por exemplo, em uma transação hipotética (por exemplo, uma transação de bitcoins sob um modelo UTXO (saída de transação não gasta), uma transação de moedas Ethereum sob um modelo de Conta/Saldo) assinado por um remetente, a transação proposta pode ser radiodifundida à rede de blockchain par mineração. Um minerador precisa verificar se a transação é plausível de ser executada de acordo com o histórico de blockchain. Se o saldo em carteira do remetente tiver fundos suficientes de acordo com o histórico de blockchain existente, a transação é considerada válida e pode r adicionada ao bloco. Uma vez verificadas, as transferências de ativos podem ser incluídas no próximo bloco a ser adicionado ao blockchain.
[038]Um bloco é muito semelhante a um registro de banco de dado. Cada gravação de dados cria um bloco. Esses blocos são ligados e protegidos usando criptografia para se tornarem redes interconectadas. Cada bloco é conectado ao bloco
Petição 870190036390, de 16/04/2019, pág. 22/78
14/51 anterior, que também é a origem do nome “blockchain.” Cada bloco geralmente contém o hash criptográfico do bloco anterior, o tempo de geração, e os dados reais. Por exemplo, cada bloco contém duas partes: um cabeçalho de bloco para registrar o valor de recurso do bloco atual, e um corpo para registrar os dados reais (por exemplo, dados de transação). A cadeia de blocos é ligada através dos cabeçalhos de bloco. Cada cabeçalho de bloco pode conter múltiplos valores de recurso, como versão, hash de bloco anterior, raiz merkle, carimbo de data e hora, alvo de dificuldade, e nonce. O hash de bloco anterior contém não somente o endereço do bloco anterior, mas também o hash dos dados dentro do bloco anterior, tornando, assim, os blockchains mutáveis. O nonce é um número que, quando incluído, produz um hash com um número específico de bits de zeros à esquerda.
[039]Para mineração, o hash dos conteúdos do novo bloco é tomado por um nó. O nonce (por exemplo, sequência aleatória) é anexado ao hash para obter uma nova sequência. A nova sequência se encontra novamente em hash. O hash final é, então, comparado ao alvo de dificuldade (por exemplo, um nível) e determinado se o hash final é realmente menor que o alvo de dificuldade ou não. Caso negativo, então, o nonce é alterado e o processo se repete novamente. Caso positivo, então, o bloco é adicionado à cadeia e a contabilidade púbica é atualizada e alertada da adição. O nó responsável pela adição bem-sucedida é recompensado com bitcoins, por exemplo, adicionando-se uma transação de recompensa a ele mesmo no novo bloco (conhecido como geração de coinbase).
[040]0u seja, para cada saída “Y”, se k for escolhido a partir de uma distribuição com entropia mínima alta, é improvável encontrar uma entrada x de modo que H(k|x) = Y, onde K é o nonce, x é o hash do bloco, Y é o alvo de dificuldade, e “|” denota uma concatenação. Considerando-se hashes criptográficos sendo essencialmente aleatórios, no sentido que sua saída não pode ser prevista a partir de suas
Petição 870190036390, de 16/04/2019, pág. 23/78
15/51 entradas, existe somente uma forma conhecida de encontrar o nonce: testar os inteiros um após o outro, por exemplo 1, então 2, então 3, e assim por diante, que podem ser conhecidos como força abruta. Quanto maior o número de zeros à esquerda, mais tempo em média levará para encontrar um nonce de requisito Y. Em um exemplo, o sistema de bitcoin ajusta constantemente o número de zeros à esquerda, de modo que o tempo médio para encontrar um nonce é cerca de dez minutos. Dessa forma, à medida que capacidades de processamento de hardware computacional aumentam com o tempo, com o passar dos anos, o protocolo de bitcoin simplesmente requer mais bits de zeros à esquerda para produzir a mineração leva uma duração de cerca de dez minutos para implementar.
[041]Conforme descrito, hashing é um alicerce importante para blockchain. O algoritmo hash pode ser entendido como uma função que compacta mensagens de qualquer comprimento em uma compilação de mensagem de comprimento fixo. Mais comumente usados são MD5 e SHA. Em algumas modalidades, o comprimento hash do blockchain é 256 bits, o que significa que não importa qual conteúdo original for, um número binário de 256 bits é finalmente calculado. E pode ser garantido que o hash correspondente é exclusivo desde que o conteúdo original seja diferente. Por exemplo, o hash da sequência “123” é a8fdc205a9f19cc1 c7507a60c4f01 b13d11 d7fd0 (hexadecimal), que tem 256 bits quando convertido em binário, e somente “123” tem esse hash. O algoritmo hash no blockchain é irreversível, ou seja, o cálculo avançado é fácil (de “123” a a8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0), e o cálculo inverso não pode ser feito mesmo se todos os recursos computacionais forem esgotados. Logo, o hash de cada bloco do blockchain é exclusivo.
[042]Ademais, se o conteúdo do bloco se alterar, seu hash se alterará. O bloco e o hash são em uma correspondência um para um, e o hash de cada bloco é especificamente calculado para o cabeçalho de bloco. Ou seja, os valores de recurso dos cabeçalhos de bloco são conectados para formar uma sequência longa, e, então, o
Petição 870190036390, de 16/04/2019, pág. 24/78
16/51 hash é calculado para a sequência. Por exemplo, “Hash = SHA256 (cabeçalho de bloco)” é uma fórmula de cálculo de hash de bloco, SHA256 é um algoritmo de blockchain aplicado ao cabeçalho de bloco. O hash é exclusivamente determinado pelo cabeçalho de bloco, e não o corpo de bloco. Conforme mencionado anteriormente, o cabeçalho de bloco contém muitos conteúdos, incluindo o hash do bloco atual, e o hash do bloco anterior. Isso significa que os conteúdos da alteração de bloco atual, ou se o hash do bloco anterior se alterar, isso causará uma alteração de hash no bloco atual. Se um hacker modificar um bloco, o hash desse bloco s altera. Afim de que um último bloco se conecte ao bloco modificado, o hacker deve modificar todos os blocos subsequentes sucessivamente, porque o próximo bloco deve conter o hash do bloco anterior. Caso contrário, o bloco modificado será desanexado do blockchain. Devido a razões de design, os cálculos de hash são demorados, e é quase impossível modificar múltiplos blocos e um curto período de tempo a não ser que o hacker tenha dominado mais de 51% da potência computacional de toda a rede. Logo, o blockchain garante sua própria confiabilidade, e uma vez que os dados são gravados, o mesmo não pode ser adulterado.
[043]Uma vez que o minerador encontrar o hash (ou seja, uma assinatura ou solução legível) para o novo bloco, o minerador radiodifunde essa assinatura a todos os outros mineradores (nós do blockchain). Outros mineradores agora verifica em seus turnos se essa solução corresponde ao problema do bloco do remetente (ou seja, determinar se a entrada de hash realmente resulta nessa assinatura). E a solução for válida, os outros mineradores confirmarão a solução e concordarão que o novo bloco pode ser adicionado ao blockchain. Logo, o consenso do novo bloco é alcançado. Isso também é conhecido como “prova de trabalho.” O bloco ao qual o consenso foi alcançado agora pode ser adicionado ao blockchain e é radiodifundido a todos os nós na rede ao longo de sua assinatura. Os nós aceitarão o bloco e o salvará a seus dados de transação desde que as transações dentro do bloco correspondam corretamente
Petição 870190036390, de 16/04/2019, pág. 25/78
17/51 aos saldos em carteira atuais (histórico de transação) nesse ponto de tempo. Sempre que um novo bloco for adicionado no topo desse bloco, a adição também conta como outra “confirmação” para os blocos antes dela. Por exemplo, se uma transação for incluída no bloco 502, e o blockchain tiver 507 blocos de comprimento, isso significa que a transação tem cinco confirmações (correspondentes aos blocos 507 a 502). Quanto mais confirmações a transação tiver, mais difícil será para os invasores alterála.
[044]Em algumas modalidades, um sistema de ativo de blockchain exemplificador utiliza criptografia de chave pública, em que duas chaves criptográficas, uma chave pública e uma chave privada, são geradas. A chave pública pode ser considerada como sendo um número de conta, e a chave privada pode ser considerada como sendo credenciais de propriedade. Por exemplo, uma carteira de bitcoin é uma coleção das chaves públicas e privadas. A propriedade de um ativo (por exemplo, moeda digital, ativo em dinheiro, ação, títulos, caução) associado a um determinado endereço de ativo pode ser demonstrada com a confirmação da chave privada pertencendo ao endereço. Por exemplo, o software de carteira de bitcoin, algumas vezes referido como sendo um “software de cliente de bitcoin”, permite que um dado usuário faça transação com bitcoins. Um programa de carteira gera e armazena chaves privadas e se comunica com peers na rede de bitcoin.
[045]Em transações de blockchain, os contribuintes e beneficiários são identificados no blockchain por suas chaves criptográficas públicas. Por exemplo, as transferências de bitcoin mais contemporâneas são de uma chave pública a uma chave pública diferente. Na prática, hashes dessas chaves são usadas no blockchain e são denominados como “endereços de bitcoin.” Em princípio, se uma pessoa invasora hipotética S puder roubar dinheiro da pessoa A simplesmente adicionando-se transações à contabilidade de blockchain como “pessoa A pega a pessoa S 100 bitcoins,” usando os endereços de bitcoin dos usuários ao invés de seus nomes. O protocolo de
Petição 870190036390, de 16/04/2019, pág. 26/78
18/51 bitcoin evita esse tipo de roubo exigindo-se que cada transferência seja digitalmente assinada com a chave privada do contribuinte, e somente transferências assinadas podem ser adicionadas à contabilidade de blockchain. Visto que a pessoa S não pode forjar a assinatura da pessoa A, a pessoa S não pode defraudar a pessoa A adicionando-se uma entrada ao blockchain equivalente a “pessoa A paga S 200 bitcoins.” Ao mesmo tempo, qualquer um pode verificar a assinatura da pessoa A usando sua chave pública, e, portanto, que ele autorizou alguma transação no blockchain onde ele é o contribuinte.
[046]No contexto de transação de bitcoins, para transferir alguns bitcoins ao usuário B, o usuário A pode construir um registro contendo informações sobre a transação através de um nó. O registro pode ser assinado com uma chave de assinatura do usuário A (chave privada) e conter uma chave de verificação pública do usuário A e uma chave de verificação púbica do usuário B. A assinatura é usada para confirmar que a transação foi proveniente do usuário, e também evita que a transação seja alterada por qualquer um uma vez que foi lançada. O registro vinculado a outro registro que ocorreu na mesma janela de tempo em um novo bloco pode ser radiodifundido aos nós completos. Mediante a recepção dos registros, os nós completos podem funcionar em incorporar os registros na contabilidade de todas as transações que ocorreram no sistema de blockchain, adicionar o novo bloco a um blockchain previamente aceito através do processo de mineração descrito anteriormente, e validar o bloco adicionado contra as regras consenso da rede.
[047]O modelo UTXO (saída de transação não gasta) e o modelo de Conta/Saldo são dois modelos exemplificadores para implementar transações de blockchain. UTXO é um modelo de objeto de blockchain. Sob UTXO, os ativos são representados por saídas de transações de blockchain que não foram gastas, que podem ser usadas como entradas em novas transações. Por exemplo, o ativo do usuário A a ser transferido pode estar sob a forma de UTXO. Para gastar (fazer transação) o
Petição 870190036390, de 16/04/2019, pág. 27/78
19/51 ativo, o usuário A precisa assinar com a chave privada. Bitcoin é um exemplo de uma moeda digital que usa o modelo UTXO. No caso de uma transação de blockchain válida, as saídas não gastas podem ser usadas para efetuar outras transações. Em algumas modalidades, somente saídas não gastas podem ser usadas em transações adicionais para evitar gastar em dobro e fraudes. Por essa razão, as entradas em um blockchain são deletadas quando uma transação ocorre, enquanto ao mesmo tempo, saídas são criadas sob a forma de UTXOs. Essas saídas de transação não gastas podem ser usadas (pelos detentores de chaves privadas, por exemplo, pessoas com carteiras de moeda digital) para o propósito de transações futuras.
[048]O modelo de Conta/Saldo (ou referido como um Modelo de Transação baseado em Conta), por outro lado, acompanha o saldo de cada conta como um estado global. O saldo de uma conta é verificado para ter certeza que seja maior ou igual à quantia de transação gasta. Fornece-se m exemplo de como o Modelo de Conta/Saldo funciona em Ethereum:
1. Alice ganha 5 ethers através de mineração. Registra-se no sistema que Alice tem 5 ethers.
2. Alice deseja dar a Bob 1 ether, logo, o sistema primeiro deduzirá 1 ether da conta de Alice, logo Alice agora terá 4 ethers.
3. Então, o sistema aumenta a conta de Bob em 1 ether. O sistema sabe que Bob tem 2 ethers inicialmente, portanto, o saldo de Bob é aumentado para 3 ethers.
[049]A manutenção de registros para Ethereum pode ocorrer como em um banco. Uma analogia é usar um caixa eletrônico/cartão de débito. O banco monitora quanto de dinheiro cada cartão de débito tem, e quando Bob desejar gastar dinheiro, o banco verifica seus registros para ter certeza que Bob tem saldo suficiente antes de aprovar a transação.
[050]Visto que o blockchain e outras contabilidades similares são completamente públicas, o próprio blockchain não tem proteção de privacidade. A natureza
Petição 870190036390, de 16/04/2019, pág. 28/78
20/51 pública da rede P2P significa que, embora aqueles que a usam não sejam identificados por nome, vincular transações a indivíduos e empresas é viável. Por exemplo, em remessas transfronteiriças ou na cadeia de suprimentos, a quantia de transação tem um nível extremamente alto de valor de proteção de privacidade, porque com a quantia de informações de transação, é possível inferir o local específico e identidades das partes de transação. A matéria da transação pode compreender, por exemplo, dinheiro, token, moeda digital, contrato, escritura, registro médico, detalhamento de clientes, ações, caução, títulos, ou qualquer outro ativo que possa ser descrito sob a forma digital. Embora o modelo UTXO possa proporcionar anonimato às quantias de transação, por exemplo, através de assinatura em anel em Monero e criptografia de conhecimento zero Zcash, as quantias de transação permanecem desprotegidas sob um Modelo de Conta/Saldo. Logo, um problema técnico levantado pela presente revelação é como proteger informações online como a privacidade das quantias de transação. Essas transações podem estar sob o Modelo de Conta/Saldo.
[051]Algumas tecnologias existentes propõem usar o esquema de compromisso de Pedersen para criptografar a quantia de transação e substituir o Modelo de Conta/Saldo. Sob o esquema, o remetente envia a quantia de transação e um número aleatório correspondente ao compromisso de Pedersen da quantia de transação ao beneficiário através de um canal seguro fora do blockchain. O beneficiário verifica se o número aleatório corresponde ao compromisso de transação e realiza um armazenamento local. Por exemplo, sob o Modelo de Conta/Saldo, uma conta pode ser tratada como uma carteira (conta) para manter os ativos que sejam agregados, mas não incorporados. Cada ativo pode corresponder a um tipo de ativo (por exemplo, criptomoeda), e o saldo da conta é a soma dos valores patrimoniais. Mesmo ativos do mesmo tipo não são incorporados. Durante a transação, um destinatário de uma transferência de ativo pode ser especificado, e o ativo correspondente pode ser removido da carteira para financiar a transação. Os nós de blockchain verificam que a carteira
Petição 870190036390, de 16/04/2019, pág. 29/78
21/51 pagante tenha ativos suficientes para cobrir a transação, e, então, os nós excluem o ativo transferido da carteira pagante e adicionam um ativo correspondente à carteira do destinatário.
[052]No entanto, ainda existem limitações para esse esquema. Primeiro, o esquema requer que o usuário mantenha um armazenamento persistente localmente para gerenciar os números aleatórios e saldos em purotexto correspondentes ao saldo em conta criptografado, e a implementação de gerenciamento é complicada; segundo, o armazenamento de fatores randômicos (por exemplo, os números aleatórios) e os saldos em purotexto correspondentes ao “ativo de Pedersen” em um nó local único é propenso a perda ou corrupção, enquanto um armazenamento de backup multi-nodal é difícil de realizar devido à mudança frequente do saldo em conta.
[053]Os sistemas e métodos apresentados nesta revelação podem superar as limitações anteriores e alcançar uma proteção de privacidade robusta para quantias de transação, valores patrimoniais, e fatores randômicos em esquemas de compromisso. Nesse sentido, as chaves simétricas obtidas pelo protocolo de troca de chave de Diffie-Hellman (DH) podem ser usadas para criptografar/descriptografar os números aleatórios e os saldos em purotexto, proporcionando, assim, um gerenciamento conveniente. Ademais, armazenar as informações criptografadas em blockchain garante que as quantias de transação, valores patrimoniais, e fatores randômicos em esquemas de compromisso não sejam facilmente perdidos ou adulterados.
[054]Antes de discutir as figuras desta revelação, o Compromisso de Pedersen e o protocolo de troca de chave de Diffie-Hellman (DH) serão descritos abaixo.
[055]Em algumas modalidades, um esquema de compromisso (por exemplo, compromisso de Pedersen) pode criptografar um determinado valor a (por exemplo, quantia de transação, valor patrimonial, parâmetro de chave) da seguinte forma:
PC(a) = rxG + axH [056]onde r é um fator randômico aleatório (alternativamente referido como
Petição 870190036390, de 16/04/2019, pág. 30/78
22/51 um fator randômico) que proporciona ocultação, G e H são os geradores/pontos de base publicamente acordados da curva elíptica e podem ser escolhidos aleatoriamente, sn é o valor do compromisso, C(sn) é o ponto de curva usado como compromisso e dado à contraparte, e H é outro ponto de curva. Ou seja, G e H podem ser parâmetros conhecidos aos nós. Uma geração de “nothing up my sleeve” de H pode ser gerada realizando-se hash no ponto de base G com um mapeamento de função hash a partir de um ponto para outre com H= Hash(G). H e G são os parâmetros públicos do dado sistema (por exemplo, pontos aleatoriamente gerados em uma curva elíptica). Embora acima se proporcione um exemplo de compromisso de Pedersen sob a forma de curva elíptica, várias outras formas de compromisso de Pedersen ou outro esquema de compromissos podem ser alternativamente usadas.
[057]Um esquema de compromisso mantém sigilo de dados, mas se compromete aos dados de modo que não possam ser alterados posteriormente pelo remetente dos dados. Se uma parte souber somente o valor de compromisso (por exemplo, PC(a)), ela não pode determinar quais valores de dados subjacentes (por exemplo, a) foram comprometidos. Tanto os dados (por exemplo, a) como o fator randômico (por exemplo, r) podem ser revelados posteriormente (por exemplo, pelo nó iniciador), e um destinatário (por exemplo, nó de consenso) do compromisso pode executar o compromisso e verificar que os dados comprometidos correspondem aos dados revelados. O fator randômico está presente porque sem um, alguém pode tentar adivinhar os dados.
[058]Os esquemas de compromisso são uma forma que o remetente (parte de compromisso) se compromete a um valor (por exemplo, a) de modo que o valor comprometido permaneça privado, mas pode ser revelado em um momento posterior quando a parte de compromisso divulgar um parâmetro necessário do processo de compromisso. Esquemas de compromisso fortes podem ser ocultação e incorporação computacional de informações. Ocultação se refere à noção que um dado valor a e
Petição 870190036390, de 16/04/2019, pág. 31/78
23/51 um compromisso desse valor PC(a) devem ser irrelacionáves. Ou seja, PC(a) não deve revelar informações sobre a. Com PC(a), G e H conhecidos, é quase impossível conhecer a por causa do número aleatório r. Um esquema de compromisso é incorporação se não houver uma forma passível que dois valores diferentes posam resultar no mesmo compromisso. Um compromisso de Pedersen é ocultação perfeita e incorporação computacional sob a hipótese logarítmica discreta. Ademais, com r, G, H e PC(a) conhecidos, é possível verificar PC(a) determinando-se se PC(a) = rxG + axH.
[059]Um compromisso de Pedersen tem uma propriedade adicional: compromissos podem ser adicionados, e a soma de um conjunto de compromissos é igual compromisso à soma dos dados (com um fator randômico ajustado como a soma dos fatores randômicos): PC(ri, dados-i) + PC(r2, dados2) == PC(ri+r2, dadosi+dados2); PC(ri, dados-i) - PC(ri, dados-ι) == 0. Em outras palavras, o compromisso preserva a adição e a propriedade comutativa se aplica, isto é, o compromisso de Pedersen é aditivamente homomórfico, pelo fato de que os dados subjacentes podem ser matematicamente manipulados como se não fossem criptografados.
[060]Em uma modalidade, um compromisso de Pedersen usado para criptografar o valor de entrada pode ser construído usando pontos de curva elíptica. Convencionalmente, uma pubkey de criptografia de curva elíptica (ECC) é criada multiplicando-se um gerador para o grupo (G) com a chave secreta (r): Pub=rG. O resultado pode ser serializado como um arranjo de 33-byte. Chaves públicas ECC podem obedecer a propriedade aditivamente homomórfica mencionada antes em relação a compromissos de Pedersen. Ou seja: Pub1+Pub2=(r1+r2(mod n))G.
[061 ]O compromisso de Pedersen para o valor de entrada pode ser criado escolhendo-se um gerador adicional para o grupo (H, nas equações abaixo) de modo que alguém saiba o log discreto para o segundo gerador H em relação ao primeiro gerador G (ou vice-versa), significando que ninguém conhece um x de modo que rG=H. Isso pode ser realizado, por exemplo, utilizando-se o hash criptográfico de G
Petição 870190036390, de 16/04/2019, pág. 32/78
24/51 para escolher H: H=to_point(SHA256(ENCODE(G))).
[062]Dados os dois geradores G e H, um esquema de compromisso exemplificador para criptografar o valor de entrada pode ser definido como: compromisso=rG+aH. Aqui, r pode ser o fator randômico secreto, e a pode ser o valor de entrada sendo comprometido. Portanto, se sn for comprometido, o esquema de compromisso descrito anteriormente PC(a) = rxG + axH pode ser obtido. Os compromissos de Pedersen são informações teoricamente privadas: para qualquer compromisso, existe algum fator randômico que faria com que qualquer quantia correspondesse ao compromisso. Os compromissos de Pedersen podem ser computacionalmente seguros contra compromissos falsos, pelo fato de que um mapeamento arbitrário pode não ser computado.
[063]A parte (nó) que comprometeu o valor pode abrir o compromisso revelando-se o valor original a e o fator r que completa a equação de compromisso. A parte que deseja abrir o valor PC(a) então, computará o compromisso novamente para verificar que o valor original compartilhado de fato corresponde ao compromisso PC(a) inicialmente recebido. Logo, as informações de tipo de ativo podem ser protegidas mapeando-a a um número de série exclusivo, e, então, criptografando-a por compromisso de Pedersen. O número aleatório r escolhido ao gerar o compromisso torna quase impossível que alguém infira o tipo de ativo que é comprometido de acordo com o valor de compromisso PC(a).
[064]Em algumas modalidades, a troca de chave de Diffie-Hellman (DH) pode ser usada como um método para trocar seguramente chaves criptográficas por um canal público. A troca de chave DH, também denominada como troca de chave exponencial, é um método de criptografia digital que usa números elevados a potências específicas para produzir chaves de descriptografia com base nos componentes que nunca serão diretamente transmitidos, tornando a tarefa de um decifrador de códigos would-be matematicamente considerável.
Petição 870190036390, de 16/04/2019, pág. 33/78
25/51 [065]Em um exemplo de implementar uma troca de chave de Diffie-Hellman (DH), os dois usuários finais Alice e Bob, enquanto se comunicam por um canal que eles sabem ser privado, mutuamente concordam em números inteiros positivos p e q, de modo que p seja um número primo e q seja um gerador de p. O gerador q é um número que, quando elevado a potências de número inteiro positivo menores que p, nunca produz o mesmo resultado para quaisquer dois desses números inteiros. O valor de p pode ser grande, mas o valor de q é geralmente pequeno. Ou seja, q é um módulo de raiz primitiva p.
[066]Uma vez que Alice e Bob concordaram em p e q em privado, eles escolhem chaves pessoais de número inteiro positivo a e b, ambos menores que o nódulo de número primo p e ambos podem ser aleatoriamente gerados. O usuário não divulga sua chave pessoal a ninguém, e idealmente, ele memoriza esses números e não os escreve bem armazena em nenhum lugar. A seguir, Alice e Bob computam chaves públicas a* e b* com base em suas chaves pessoais de acordo com as fórmulas a* = qa mod p e
b* = qb mod p [067]Os dois usuários podem compartilhar suas chaves públicas a* e b* por uma mídia de comunicação considerada como sendo insegura, tal como a Internet ou uma rede de área ampliada corporativa (WAN). A partir dessas chaves públicas, um número k1 pode ser gerado por qualquer usuário com base em suas próprias chaves pessoais.
Alice computa k1 usando a fórmula: k1 = (b*)a mod p
Bob computa k1 usando a fórmula: k1 = (a*)b mod p [068]O valor de k1 fica sendo o mesmo de acordo com qualquer uma das duas fórmulas acima. No entanto, as chaves pessoais a e b, que são fundamentais no cálculo de k1, não foram transmitidas por um meio público. Mesmo com p, q, a* e b*,
Petição 870190036390, de 16/04/2019, pág. 34/78
26/51 ainda é muito difícil calcular a eb. Devido ao fato de ser grande e aparentemente um número aleatório, um hacker potencial quase não tem chance de adivinhar corretamente k1, mesmo com a ajuda de um computador poderoso para conduzir milhões de tentativas. Os dois usuários podem, portanto, em teoria, se comunicar privadamente por um meio público com um método de criptografia de sua escolha usando a chave de descriptografia k1.
[069]Em outro exemplo de implementar uma troca de chave de Diffie-Hellman (DH), todos os cálculos acontecem e um gripo discreto de tamanho suficiente, onde o problema de Diffie-Hellman é considerado difícil, geralmente o grupo multiplicative modula um número primo grande (por exemplo, para DH clássico) ou um grupo de curva elíptica (por exemplo, para curva elíptica de Diffie-Hellman).
[070]Para duas partes em transação, cada parte escolhe uma chave privada a ou b.
[071]Cada parte calcula a chave pública aG ou bG correspondente.
[072]Cada parte envia a chave pública aG ou bG à outra parte.
[073]Cada parte usa a chave pública recebida junto com sua própria chave privada para calcular o novo segredo compartilhado a(bG) = b(aG), que pode ser referido como chaves simétricas de um par de chaves simétricas.
[074]Conforme descrito posteriormente, esse método exemplificador pode ser usado para gerar chaves simétricas abG e baG. O resultado dessa troca de chave é um segredo compartilhado, que pode, então, ser usado com uma função de derivação de chave (por exemplo, função de criptografia E() usando outra entrada conhecida por ambas as partes, tal como uma concatenação de um número aleatório e um valor patrimonial) para derivar um conjunto de chaves para um esquema de criptografia simétrico. Alternativamente, vários outros métodos de computação podem ser usados, por exemplo, gerando-se chaves públicas gae gb e chave compartilhada gabou gba.
[075]Durante as transações, a proteção de informações é importante para
Petição 870190036390, de 16/04/2019, pág. 35/78
27/51 manter a privacidade do usuário, e a quantia de transação é um tipo de informação que te proteção carente. A Figura 1 mostra um sistema exemplificador 100 para proteção de informações, de acordo com várias modalidades. Conforme mostrado, uma rede de blockchain pode compreender uma pluralidade de nós (por exemplo, nós completos implementados em servidores, computadores, etc.). Para alguma plataforma de blockchain (por exemplo, NEO), nós completos com determinados níveis de direito de voto podem ser referidos como nós de consenso, que assumem a responsabilidade de verificação de transação. Nesta revelação, nós completos, nós de consenso, ou outros nós equivalentes podem verificar a transação.
[076]Da mesma forma, conforme mostrado na Figura 1, o usuário A e o usuário B podem usar dispositivos correspondentes, tais como laptops e telefones móveis que servem como nós leves para realizar transações. Por exemplo, o usuário A pode desejar realizar transação com o usuário B transferindo-se algum ativo na conta do usuário A à conta do usuário B. O usuário A e o usuário B podem usar dispositivos correspondentes instalados com um software de blockchain apropriado para a transação. O dispositivo do usuário A pode ser referido como um nó iniciador A que inicia uma transação com o dispositivo do usuário B referido como nó de destinatário B. O nó A pode acessar o blockchain através da comunicação com o nó 1, e o Nó B pode acessar o blockchain através da comunicação com o nó 2. Por exemplo, o nó A e o nó B podem submeter transações ao blockchain através do nó 1 e do nó 2 para solicitar adicionar as transações ao blockchain. Fora do blockchain, o nó A e o nó B podem ter outros canais de comunicação (por exemplo, comunicação regular via internet sem passar através dos nós 1 e 2).
[077]Cada um dos nós na Figura 1 pode compreender um processador e uma mídia de armazenamento legível por computador não transitória que armazena instruções a serem executadas pelo processador para induzir o nó (por exemplo, o processador) a realizar várias etapas para proteção de informações descritas no presente
Petição 870190036390, de 16/04/2019, pág. 36/78
28/51 documento. Cada nó pode ser instalado com um software (por exemplo, programa de transação) e/ou hardware (por exemplo, fios, conexões sem fio) para se comunicar com outros nós e/ou outros dispositivos. Detalhes adicionais do hardware e software de nó serão descritos posteriormente com referência à Figura 5.
[078]A Figura 2 ilustra etapas exemplificadoras para transação e verificação dentre um nó de remetente A, um nó de destinatário B, e um ou mais nós de verificação, de acordo com várias modalidades. As operações apresentadas abaixo são destinadas a serem ilustrativas. Dependendo da implementação, as etapas exemplificadoras podem incluir etapas adicionais, menos ou alternativas realizadas em várias ordens ou em paralelo.
[079]Em várias modalidades, contas para partes de transação (usuário remetente A e usuário destinatário B) são configuradas par modelo de Conta/Saldo. O usuário A e o usuário B podem realizar as etapas a seguir para realizar a transação através de um ou mais dispositivos, tal como seu laptop, telefone móvel, etc. Os dispositivos podem ser instalados com software e hardware apropriados para realizar as várias etapas. Cada conta pode ser associada a um par de chave privada criptográfica (chave secreta) - chave pública. A chave privada pode ser denotada como SK=x, e a chave pública pode ser denotada como PK=xG, onde G é um gerador do grupo. Cada conta pode conter vários ativos, cada um denotado como: (V=PC(r, v), E(K, r, v)), onde v representa o valor nominal do ativo, V representa um compromisso de Pedersen do valor nominal v, r é um fator randômico (por exemplo, um número aleatório), PC() é um algoritmo de compromisso de Pedersen, E() é um algoritmo de criptografia (por exemplo, algoritmo de criptografia de chave simétrica), e K é uma chave de criptografia. Em um exemplo, cada ativo pode ser denotado como (V=PC(r, v), E(K, r||v)), onde || representa uma concatenação. Cada ativo também ode incluir informações diferentes daquelas listadas, como informações de origem do ativo.
[080]Em um exemplo, antes de o usuário A realizar com sucesso a transação
Petição 870190036390, de 16/04/2019, pág. 37/78
29/51 de uma quantia t ao usuário B em uma transação verificada por blockchain, os endereços e ativos na conta A e na conta B são da seguinte forma:
[081 ]Para Conta A (conta A):
Endereço: (SK_A=a, PK_A=aG)
Ativos A_1 a A_m respectivamente de valores a_1 a a_m são denotados como:
(A_1=PC(r_{a_1}, a_1), E(K_A, r_{a_1 }||a_1)), (A_2=PC(r_{a_2}, a_2), E(K_A, r_{a_2}||a_2)), (A_m=PC(r_{a_m}, a_m), E(K_A, r_{a_m}||a_m)) [082] Para Conta B (conta B):
Endereço: (SK_B=b, PK_B=bG)
Ativos B_1 a B_n respectivamente de valores b_1 a b_n são denotados como:
(B_1 =PC(r_{b_1}, b_1), E(K_B, r_{b_1 }||b_1)), (B_2=PC(r_{b_2}, b_2), E(K_B, r_{b_2}||b_2)), (B_n=PC(r_{b_n}, b_n), E(K_B, r_{b_n}||b_n)) [083]Em algumas modalidades, a geração de chave pode se basear em uma curva elíptica ecp256k1 para cada conta sob o modelo de Conta/Saldo. Por exemplo, em Ethereum ecp256k1, qualquer número entre 1 a 2256-1 pode ser uma chave privada válida SK. Uma biblioteca boa gera uma chave privada levando-se uma aleatoriedade suficiente em consideração. Ethereum requer que a chave privada SK tenha 256 bit de extensão. A geração de chave pública é realizada usando uma operação grupai de criptografia de ECC. Para derivar a chave pública PK, a chave privada pode ser multiplicada por G. A multiplicação usada para derivar a chave pública PK é uma multiplicação de ECC (multiplicação de ponto de curva elíptica), que é diferente da multiplicação normal. G é o ponto gerador que é um dos parâmetros de domínio de
Petição 870190036390, de 16/04/2019, pág. 38/78
30/51 criptografia de ECC. G pode ter um valor fixo para ecp256k1. O endereço pode ser, por exemplo, os últimos 20 bytes do hash da chave pública PK.
[084]Em algumas modalidades, na etapa 201, o nó A pode iniciar uma transação com o nó B. Por exemplo, usuário A e usuário B podem negociar uma quantia de transação t a partir da conta A do usuário A à conta B do usuário B. A conta A e a conta B podem corresponder às “carteiras” descritas no presente documento. A conta A pode ter um ou mais ativos. O ativo pode compreender, por exemplo, dinheiro, token, moeda digital, contrato, escritura, registro médico, detalhamento de clientes, ações, caução, títulos, ou qualquer outro ativo que possa ser descrito sob a forma digital. A conta B pode ter um ou mais ativos ou nenhum ativo. Cada ativo pode ser associado a várias informações de blockchain armazenadas nos blocos do blockchain, sendo que as informações de blockchain compreendem, por exemplo, NoteType que representa um tipo de ativo, Notei D que representa uma identificação exclusiva de um ativo, valores de compromisso que representam um valor de compromisso (por exemplo, compromisso de Pedersen) do valor patrimonial, criptografia de número aleatório e valor patrimonial, etc.
[085]Conforme descrito em relação à conta A, em algumas modalidades, os ativos A_1 a A_m respectivamente correspondem aos valores patrimoniais a_1 a a_m e números aleatórios r_1 a r_m. Com base nos números aleatórios r_1 a r_m, o nó A pode comprometer os valores patrimoniais na conta A a um esquema de compromisso (por exemplo, compromisso de Pedersen) para obter valores de compromisso criptografados. Por exemplo, os valores de compromisso criptografados podem ser PC_1 a PC_m, onde PC_i = PC(r_{a_i}, aj) = r_{a_i}xG + a_ixH, onde G e H são parâmetros conhecidos, e i está entre 1 e m. Além do primeiro campo PC(...), cada ativo também é associado a um segundo campo E(...) conforme descrito anteriormente. O segundo campo E(...) pode representar uma criptografia do número aleatório correspondente e valor patrimonial criptografado com a chave K_A. Por exemplo, a criptografia pode
Petição 870190036390, de 16/04/2019, pág. 39/78
31/51 ser E(K_A, r_{a_ij||a_i)). PC(...) e(...) para cada ativo pode ser herdado a partir de transações prévias. O mesmo mecanismo pode se aplicar à conta B e seus ativos.
[086]Em algumas modalidades, K_A pode compreender vários tipos de chave de criptografia. Por exemplo, K_A pode ser a*PK_A=aaG que será adícionalmente descrito abaixo, e K_B pode ser a*PK_B=abG que será adícionalmente descrito abaixo, onde a, b e G podem ser multiplicados pela multiplicação de ECC.
[087]Em algumas modalidades, para satisfazer a quantia de transação t, o usuário A pode explorar um ou mais ativos de um valor agregado pelo menos t da conta A. Por exemplo, com referência à Figura 1, o nó A pode selecionar ativos A_1 e A_2 para essa transação. O nó A pode ler ativos PC(r_1, a_1) e PC(r_2, a_2) a partir do nó 1. Com os números aleatórios r_1 e r_2 conhecidos ao nó A, o nó A pode descriptografar os ativos lidos PC(r_1, a_1) e PC(r_2, a_2) para obter valores patrimoniais a_1 e a_2, para garantir que a soma de a_1 e a_2 não seja maior que a quantia de transação t. Diferentes ativos podem ser trocados entre si dentro da conta com base em várias taxas.
[088]Em algumas modalidades, a quantia do valor patrimonial selecionado superior a t, caso exista, é ajustada para y como o troco. Por exemplo, o nó A pode determinar o troco y = a_1 + a_2 -1. O nó A pode selecionar números aleatórios r_t e r_y como fatores randômicos para gerar compromissos de Pedersen para t e y: T=PC(r_t, t), Y=PC(r_y, y). Ou seja, o nó A pode gerar um número aleatório r_t para t e um número aleatório r_y para y. O nó A pode comprometer t e r_t a um esquema de compromisso (por exemplo, criptografia homomórfica) para obter um valor de compromisso T = PC(r_t, t), e comprometer y e r_y a um esquema de compromisso (por exemplo, criptografia homomórfica) para obter um valor de compromisso Y = PC(r_y, y)· [089]Ademais, em algumas modalidades, o nó A gera uma primeira chave de um par de chaves simétricas a*PK_B=abG e gera outra chave a*PK_A=aaG. O nó A
Petição 870190036390, de 16/04/2019, pág. 40/78
32/51 usa a primeira chave abG para criptografar (r_t||t), que proporciona uma criptografia E(abG, r_t||t), e usa a chave aaG para criptografar (r_y||y), que proporciona uma criptografia E(aaG, r_y||y). As Figuras 3A e 3B podem seguir esse exemplo. Alternativamente à obtenção da criptografia E(abG, r_t||t) pelo nó A, o usuário A pode enviar r_t e t ao nó B junto às informações de transação, induzindo o nó B a gerar uma segunda chave do par de chaves simétricas b*PK_A=baG para criptografar (r_t||t). O nó B enviaria a criptografia ao nó A para permitir que o nó A verifique. As Figuras 4A e 4B podem seguir esse exemplo. Embora concatenação seja usada em vários exemplos desta revelação, combinações alternativas de entradas, saídas, ou outros parâmetros podem ser usados para a função de criptografia ou outra operação.
[090]Ademais, em algumas modalidades, o nó A pode gerar uma prova de faixa RP para provar aos nós de blockchain se o valor de PC(rt, t) e o valor de PC(ry, y) são dentro de uma faixa válida. Por exemplo, para ter valores válidos de PC(rt, t), a quantia de transação t pode estar dentro de uma faixa válida [0, 2n-1 ]; e para ter valores válidos de PC(ry, y), o troco y pode estar dentro de uma faixa valida [0, 2n-1 ]. Em uma modalidade, o nó A pode usar a técnica de prova de bloco para gerar a prova de faixa RP relacionada a (r_y, y, Y, r_t, t, T) para os nós de blockchain (por exemplo, nós de consenso) para verificar em uma etapa posterior se a quantia de transação t e o troco y estão dentro da faixa válida com base na prova de faixa. A prova de faixa pode compreender, por exemplo, Bulletproofs, assinatura em anel Borromeana, etc.
[091 ]Na etapa 202, o nó A pode enviar as informações de transação ao nó B (por exemplo, através deum canal seguro fora do blockchain). As informações de transação enviadas podem compreender, por exemplo, valor de compromisso T=PC(r_t, t), valor de compromisso Y=PC(r_y, y), criptografia E(abG, r_t||t), criptografia E(aaG, r_y||y), prova de faixa RP, etc. O valor de compromisso Y=PC(r_y, y), criptografia E(aaG, r_y||y), e prova de faixa RP podem ser opcionais porque o nó B pode não se
Petição 870190036390, de 16/04/2019, pág. 41/78
33/51 importar com o troco enviado de volta à conta A. Em algumas modalidades, a transmissão através do canal de comunicação fora de blockchain pode evitar que as informações de transação sejam gravadas no blockchain e evitar que nós diferentes do nó de remetente A e do nó de destinatário B obtenham as informações de transação. E(aaG, r_y||y) pode não precisar ser enviado ao nó B, mas pode ser necessário no futuro para que o usuário A gaste o troco y visto que o troco deve ser retornado à conta A.
[092]Na etapa 203, o nó B pode verificar o número aleatório r_t, a quantia de transação t e o valor de compromisso T. Em algumas modalidades, o nó B pode gerar uma segunda chave do par de chaves simétricas b*PK_A=baG e usar a segunda chave baG para descriptografar a criptografia E(abG, r_t||t) para obter r_t||t. A partir de r_t||t, o nó B pode obter r_t e t, e, então, verificar se r_t e t correspondem a T=PC(r_t, t). Ou seja, o nó B pode verificar se o valor de compromisso T = PC(r_t, t) está correto com base no número aleatório r_t e na quantia de transação t de acordo com o algoritmo de compromisso de Pedersen. Se a correspondência/verificação falhar, o nó B pode rejeitar a transação; e se a correspondência/verificação for bem-sucedida, o nó B pode assinar a transação a responder o nó A na etapa 204.
[093]Na etapa 204, o nó B pode assinar a transação com a chave privada do usuário B SK_B para gerar uma assinatura SIGB. A assinatura pode seguir o Algoritmo de Assinatura Digital (DSA) tal como o Algoritmo de Assinatura Digital com Curvas Elípticas (ECDSA), desse modo, o destinatário da assinatura pode verificar a assinatura com a chave pública do signatário para autenticar os dados assinados. A assinatura SIGB indica que o nó de destinatário B concorda com a transação.
[094]Na etapa 205, o nó B pode transmitir a transação assinada de volta ao nó A com a assinatura SIGB.
[095]Na etapa 206, se SIGB não for verificado com sucesso, o nó A pode re
Petição 870190036390, de 16/04/2019, pág. 42/78
34/51 jeitar a transação. Se SIGB for verificado com sucesso, o nó A pode assinar a transação com a chave privada do usuário A SK_A para gerar uma assinatura SIGA. De modo similar, a assinatura pode seguir o Algoritmo de Assinatura Digital (DSA). Em uma modalidade, o nó A pode assinar (E(abG, r_t||t); E(aaG, r_y||y); Y; T; RP) com a chave privada do usuário A para gerar a assinatura SIGA.
[096]Na etapa 207, o nó A pode submeter a transação ao blockchain, induzindo os nós de blockchain a verificar a transação e determinar se adiciona a transação ao blockchain. Em uma modalidade, o nó A pode submeter a transação (E(abG, r_t||t); E(aaG, r_y||y); Y; T; RP; SIGA; SIGB) ao blockchain através do nó 1 para executar a transação. A transação pode comprometer parâmetros adicionais ou pode não comprometer todos os parâmetros listados. A transação pode ser radiodifundida a um ou mais nós (por exemplo, nós de consenso) no blockchain para verificação. Se a verificação for bem-sucedida, a transação é adicionada ao blockchain. Se a verificação falhar, a transação de adição ao blockchain é rejeitada.
[097]Na etapas 208 a 213, um ou mais nós (por exemplo, nós de consenso) verificam as assinaturas, prova de faixa, e outras informações da transação submetida. Se a verificação falhar, os nós rejeitam a transação. Se a verificação for bemsucedida, os nós aceitam a transação, atualizam a conta do usuário A e a conta do usuário B separadamente.
[098]Em algumas modalidades, para executar a transação, as informações de transação podem ser verificadas por vários nós de blockchain. As informações de transação podem compreender um endereço de transação TXID, assinaturas(s), entrada e saída. TXID pode compreender o hash do conteúdo de transação. As assinaturas podem compreender assinaturas de cripto-chave pelo remetente e destinatário. A entrada pode compreender um endereço da conta do remetente em blockchain, um ou mais ativos explorados a partir da conta de blockchain do remetente para transação, etc. A saída pode compreender um endereço da conta do destinatário em blockchain,
Petição 870190036390, de 16/04/2019, pág. 43/78
35/51 tipo(s) de ativos dos ativos do destinatário, valor(es) de compromisso dos ativos do destinatário, etc. A entrada e a saída podem compreender informações indexadas em uma forma tabular. Em algumas modalidades, o valor de Notei D pode ser “TXID + um índice do ativo na saída.” [099]Em algumas modalidades, um ou mais nós do blockchain podem verificar a transação submetida (E(abG, r_t||t); E(aaG, r_y||y); Y; T; RP; SIGA; SIGB).
[0100]Na etapa 208, os nós podem verificar se a transação foi executada usando um mecanismo anti-gasto duplo ou um mecanismo anti-repetição de ataque. Se a transação tiver sido executada, os nós podem rejeitar a transação; caso contrário, o método pode proceder para a etapa 209.
[0101 ]Na etapa 209, os nós podem verificar as assinaturas SIGA e SIGB (por exemplo, com base na chave pública A e na chave pública B, respectivamente). Se alguma das assinaturas for incorreta, os nós podem rejeitar a transação; caso contrário, o método pode proceder para a etapa 210.
[0102]Na etapa opcional 210, os nós podem verificar se os tipos de ativos são consistentes. Por exemplo, os nós podem verificar se os tipos de ativos no NoteType para A_1 a A_2 são consistentes aos tipos de ativos da quantia de transação t. Se algum dos tipos de ativos for inconsistente, os nós podem rejeitar a transação; caso contrário, o método pode proceder para a etapa 211. Em algumas modalidades, o tipo de ativos original na carteira podem ter sido convertidos em outro tipo com base em uma taxa de troca, e essa etapa pode ser omitida.
[0103]Na etapa 211, os nós podem verificar a prova de faixa RP para validar o valor de PC(rt, t) e o valor de PC(ry, y). Em uma modalidade, os nós podem verificar a prova de faixa RP para verificar se a quantia de transação t não é menor que zero e o troco y não é menor que zero. Se a verificação falhar, o nós podem rejeitar a transação; caso contrário, o método pode proceder para a etapa 212.
[0104]Na etapa 212, os nós podem verificar se as entradas e as saídas da
Petição 870190036390, de 16/04/2019, pág. 44/78
36/51 transação são consistentes. Se a verificação falhar, os nós podem rejeitar a transação; caso contrário, o método pode proceder para a etapa 213.
[0105]Na etapa 213, os nós podem verificar se o nó A tem o(s) ativos explorados para a transação. Em uma modalidade, os nós podem realizar essa verificação com base nas informações armazenadas no blockchain, tais como informações correspondentes à conta A. As informações podem compreender informações de transações prévias de todos os ativos. Logo, os nós podem determinar se a conta A tem o ativo de transação para a transação. Se a determinação for negativa, os nós podem rejeitar a transação; caso contrário, o método pode proceder para a etapa 214.
[0106]Na etapa 214, os nós podem atualizar a conta A e a conta B. Por exemplo, os nós podem remover o ativo de transação da quantia t da conta A, e adicionar a mesma à conta B. Com base na propriedade homomórfica, visto que Y = PC(r_y, y) e o n[o 1 conhece r_y e pode avaliar o valor de compromisso Y a partir do blockchain, o nó 1 pode descriptografar Y para obter o valor patrimonial y e retornar o mesmo para a conta A. O nó 2 obtém na etapa 202 o número aleatório r_t a partir do nó 1 e pode obter a partir do blockchain o valor de compromisso T. Logo, o nó 2 pode descriptografar T para obter o valor patrimonial t e adicionar o mesmo à conta B.
[0107]Em um exemplo, após a atualização à conta A e à conta B, a conta A recebe o troco y aos ativos explorados e recebe seus ativos inexplorados. Por exemplo, os ativos explorados podem ser A_1 e A_2 que são removidos na transação com o troco y retornado à conta A, e os ativos inexplorados são A_3, ..., A_m. A conta B recebe a quantia de transação t e recebe seus ativos originais (por exemplo, B_1, ..., B_n). Os ativos na conta A e na conta B são os seguintes:
[0108]Para Conta A (conta A), ativos atualizados são denotados como:
(Y=PC(r_y, y), E(aaG, r_y||y)), (A_m=PC(r_{a_mj, a_m), E(K_A, r_{a_m}||a_m))
Petição 870190036390, de 16/04/2019, pág. 45/78
37/51 [0109]Para Conta B (conta B), ativos atualizados são denotados como:
(B_1=PC(r_{b_1}, b_1), E(K_B, r_{b_1}||b_1)), (B_2=PC(r_{b_2}, b_2), E(K_B, r_{b_2}||b_2)), (B_n=PC(r_{b_n}, b_n), E(K_B, r_{b_n}||b_n)), (T=PC(r_t, t), E(abG, r_t||t)) [0110]Embora esta revelação use nó A/usuário A e nó B/usuário B para ilustrar o remetente e o destinatário, respectivamente, o remetente e o destinatário podem ser o mesmo nó/usuário. Por exemplo, o troco y de uma transação (ativos explorados totais na conta A menos a quantia de transação) pode ser enviado de volta ao remetente da transação. Logo, as várias etapas realizadas pelo nó B conforme descrito no presente documento podem ser alternativamente realizados pelo nó A.
[0111 ]A Figura 3A ilustra um fluxograma de um método exemplificador 300 para proteção de informações, de acordo com várias modalidades da presente revelação. O método 300 pode ser implementado por um ou mais componentes (por exemplo, o nó A, nó 1, uma combinação de nó A e nó 1) do sistema 100 da Figura 1. O método 300 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) que compreende um processador e uma mídia de armazenamento legível por computador não transitória (por exemplo, memória) que armazena instruções a serem executadas pelo processador para induzir o sistema ou dispositivo (por exemplo, o processador) para realizar o método 300. As operações do método 300 apresentado abaixo são destinadas a serem ilustrativas. Dependendo da implementação, o método exemplificador 300 pode incluir etapas adicionais, menos ou alternativas realizadas em várias ordens ou em paralelo.
[0112]O bloco 301 compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compro
Petição 870190036390, de 16/04/2019, pág. 46/78
38/51 misso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t. Por exemplo, conforme descrito anteriormente, T = PC(r_t, t). Em algumas modalidades, o esquema de compromisso compreende um compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e com a quantia de transação t sendo um valor comprometido.
[0113]O bloco 302 compreende: gerar uma primeira chave de um par de chaves simétricas. Por exemplo, conforme descrito anteriormente, SK_A= a, PK_B = bG, e a primeira chave pode ser a*PK_B = abG. Em algumas modalidades, gerar a primeira chave e a segunda chave compreende: gerar a primeira chave e a segunda chave com base em uma chave privada SK_A de um remetente da transação e uma chave pública PKJ3 do destinatário sob um protocolo de troca de chave de DiffieHellman (DH).
[0114]O bloco 303 compreende: criptografar uma combinação (por exemplo, concatenação) do fator randômico de transação r_t e a quantia de transação t com a primeira chave. Por exemplo, conforme descrito anteriormente, o Nó A pode usar a primeira chave abG para criptografar (r_t||t), que proporciona a criptografia E(abG, r_t||t).
[0115]O bloco 304 compreende: transmitir o valor de compromisso de transação T e uma combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação. Em algumas modalidades, transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação para o nó de destinatário para verificar a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação, induzir o nó de destinatário a: gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_Ado remetente, descriptografar a combinação criptografada com a
Petição 870190036390, de 16/04/2019, pág. 47/78
39/51 segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t, e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t. Vide, por exemplo, a Etapa 203. Por exemplo, conforme descrito anteriormente, o nó de destinatário pode gerar independentemente a segunda chave b*PK_A=baG. As chaves abG e baG são simétricas e iguais. Ou seja, o nó de destinatário pode não receber a primeira chave abG a partir do nó de remetente, e, ao invés disso, o nó de destinatário gera independentemente a segunda chave baG como um equivalente de abG.
[0116]Em algumas modalidades, induzir o nó de destinatário a verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t compreende induzir o nó de destinatário a: em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, rejeitar a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, aprovar a transação assinando-se a transação para gerar uma assinatura de destinatário SIGB para retornar a um nó de remetente associado ao remetente.
[0117]Em algumas modalidades, antes (bloco 304) de transmitir a combinação criptografada ao nó de destinatário associado ao destinatário, o método compreende, ainda: comprometer um troco y da transação com o esquema de compromisso para obter um valor de compromisso de troco Y, sendo que o esquema de compromisso compreende pelo menos um fator randômico de troco r_y, em que o troco y é um ou mais ativos do remetente explorados para a transação menos a quantia de transação t; gerar outra chave com base em uma chave privada SK_Ado remetente e na chave pública PK_A do remetente; e criptografar outra combinação do fator randômico de
Petição 870190036390, de 16/04/2019, pág. 48/78
40/51 troco r_y e o troco y com a outra chave. Por exemplo, conforme descrito anteriormente, Y = PC(r_y, y), PK_A =a, e nó A podem gerar uma chave a*PK_A=aaG e usar a chave aaG para criptografar (r_y||y), que proporciona uma criptografia E(aaG, r_y||y).
[0118]Em algumas modalidades, o método compreende, ainda: em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação sinalizando-se a transação para gerar uma assinatura de remetente SIGA; e submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós em uma rede de blockchain para um ou mais nós para verificar a transação. Maiores detalhes serão descritos acima com referência às Etapas 208 a 213.
[0119]Em algumas modalidades, submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain para um ou mais nós para verificar a transação compreende: submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain, induzir um ou mais nós para, em resposta à verificação bem-sucedida da transação, lançar a quantia de transação t ao destinatário, eliminar o um ou mais ativos explorados para a transação, e lançar o troco y ao remetente. Maiores detalhes são descritos acima com referência à Etapa 214.
[0120]A Figura 3B ilustra um fluxograma de um método exemplificador 400 para proteção de informações, de acordo com várias modalidades ad presente revelação. O método 400 pode ser implementado por um ou mais componentes (por exemplo, o nó B, nó 2, juma combinação de nó B e nó 2, etc.) do sistema 100 da Figura 1.
Petição 870190036390, de 16/04/2019, pág. 49/78
41/51
O método 400 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) que compreende um processador e uma mídia de armazenamento legível por computador não transitória (por exemplo, memória) que armazena instruções a serem executadas pelo processador para induzir o sistema ou dispositivo (por exemplo, o processador) para realizar o método 400. As operações do método 400 apresentadas abaixo são destinadas a serem ilustrativas. Dependendo da implementação, o método exemplificador 400 pode incluir etapas adicionais, menos ou alternativas realizadas em várias ordens ou em paralelo.
[0121 ]O bloco 401 compreende: obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas, e obter um valor de compromisso de transação T. A quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos o fator randômico de transação r_t. Em algumas modalidades, a primeira chave é gerada pelo nó de remetente com base em uma chave privada SK_A do remetente da transação e uma chave pública PK_B de um destinatário da transação.
[0122]O bloco 402 compreende: gerar uma segunda chave do par de chaves simétricas. Em algumas modalidades, gerar a segunda chave do par de chaves simétricas compreende gerar a segunda chave do par de chaves simétricas com base em uma chave privada SK_B de um destinatário da transação e uma chave pública PK_A do remetente sob um protocolo de troca de chave de Diffie-Hellman (DH).
[0123]O bloco 403 compreende: descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado ao destinatário para obter o fator randômico de transação r_t e a quantia de transação t.
[0124]O bloco 404 compreende: verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na
Petição 870190036390, de 16/04/2019, pág. 50/78
42/51 quantia de transação t.
[0125]Alternativamente à criptografia, a combinação (r_t, t) tal como (r_t||t) no nó A, o nó A pode transmitir (r_t, t) ao nó B, induzir o nó B a criptografar a combinação (r_t, t), conforme descrito abaixo com referência às Figuras 4A e 4B. Outras etapas e descrições das Figuras 1 a 3B podem aplicar similarmente à Figuras 4A e 4B.
[0126]A Figura 4A ilustra um fluxograma de um método exemplificador 440 para proteção de informações, de acordo com várias modalidades da presente revelação. O método 440 pode ser implementado por um ou mais componentes (por exemplo, o nó A, nó 1, uma combinação do nó A e nó 1) do sistema 100 da Figura 1. O método 440 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) que compreende um processador e uma mídia de armazenamento legível por computador não transitória (por exemplo, memória) que armazena instruções a serem executadas pelo processador para induzir o sistema ou dispositivo (por exemplo, o processador) para realizar o método 440. As operações do método 440 apresentado abaixo são destinadas a serem ilustrativas. Dependendo da implementação, o método exemplificador 440 pode incluir etapas adicionais, menos ou alternativas realizadas em várias ordens ou em paralelo.
[0127]Bloco 441 compreende: comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t.
[0128]O bloco 442 compreende: enviar a quantia de transação t, o fator randômico de transação r_t, e o valor de compromisso de transação T a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação e criptografar o fator randômico de transação r_t e a quantia de transação t com uma segunda chave de um par de chaves simétricas. Por exemplo, o nó B pode verificar se T=PC(r_t, t), e o nó B pode criptografar a combinação com a chave
Petição 870190036390, de 16/04/2019, pág. 51/78
43/51 baG para obter E(baG, r_t||t).
[0129]O bloco 443 compreende: obter uma combinação criptografada (por exemplo, E(baG, r_t||t)) do fator randômico de transação r_t e a quantia de transação t a partir do nó de destinatário.
[0130]O bloco 444 compreende: gerar uma primeira chave do par de chaves simétricas para descriptografar a combinação criptografada para verificar a transação. Por exemplo, o nó A pode gerar a primeira chave abG para descriptografar E(baG, r_t||t) e verificar se r_t e t estão corretos. Uma vez que r_t e t são mutuamente verificados pelos nós de remetente e destinatário, a transação pode ser submetida à blockchain para verificação.
[0131 ]A Figura 4B ilustra um fluxograma de um método exemplificador 450 para proteção de informações, de acordo com várias modalidades da presente revelação. O método 450 pode ser implementado por um ou mais componentes (por exemplo, o nó B, nó 2, uma combinação de nó B e nó 2, etc.) do sistema 100 da Figura 1. O método 450 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) que compreende um processador e uma mídia de armazenamento legível por computador não transitória (por exemplo, ,memória) que armazena instruções a serem executadas pelo processador para induzir o sistema ou dispositivo (por exemplo, o processador) para realizar o método 450. As operações do método 450 apresentado abaixo são destinadas a serem ilustrativas. Dependendo da implementação, o método exemplificador 450 pode incluir etapas adicionais, menos ou alternativas realizadas em várias ordens ou em paralelo.
[0132]O bloco 451 compreende: obter uma quantia de transação t de uma transação, um fator randômico de transação r_t, e um valor de compromisso de transação T.
[0133]O bloco 452 compreende: verificar a transação com base na quantia de
Petição 870190036390, de 16/04/2019, pág. 52/78
44/51 transação obtida t, no fator randômico de transação obtido r_t, e no valor de compromisso de transação obtido T.
[0134]O bloco 453 compreende: em resposta à verificar com sucesso a transação, criptografar o fator randômico de transação r_t e a quantia de transação t com uma segunda chave de um par de chaves simétricas para obter uma combinação criptografada (por exemplo, E(baG, r_t||t)).
[0135]O bloco 454 compreende: transmitir a combinação criptografada a um nó de remetente associado a um remetente da transação.
[0136]Conforme mostrado, a privacidade para a quantia de transação pode ser protegida através de vários aperfeiçoamentos da tecnologia da computação. Por exemplo, a estrutura de conta compreende um ou mais campos, tal como um primeiro campo associado ao compromisso de Pedersen do valor patrimonial (por exemplo, o primeiro campo sendo PC(r_{a_i}, a_i), com i estando entre 1 e m) e um segundo campo associado ao número aleatório para o compromisso de Pedersen e o valor patrimonial (por exemplo, o segundo campo sendo E(...)). O primeiro e segundo campos também são usados nas etapas de transação e armazenados em blockchain.
[0137]Para outro exemplo, uma chave simétrica é usada para criptografar o número aleatório de cada compromisso de Pedersen e o valor patrimonial correspondente, e armazenar a transação incluindo os números aleatórios criptografados e valores patrimoniais no blockchain. Essa maneira evita que o gerenciamento local desses números aleatórios e promove segurança com base no armazenamento de blockchain distribuído e consistente.
[0138]Ademais, sob o protocolo de troca de chave DH ou um protocolo alternativo, mesmo sem comunicação direta, o usuário A e o usuário B compartilham um segredo comum (o par de chaves simétricas abG e baG) para criptografar/descriptografar o número aleatório do compromisso e o valor patrimonial. Visto que o par de
Petição 870190036390, de 16/04/2019, pág. 53/78
45/51 chaves simétricas é obtido a partir do par de chave pública-privada das contas correspondentes, o número aleatório para o compromisso pode ser efetivamente armazenado através do blockchain, sem adicionar adícionalmente uma chave de criptografia.
[0139]Ainda em outro exemplo, a prova de faixa é usada para provar que os ativos preexistentes da transação são equilibrados em relação a novos ativos e à transação, e que o valor de cada novo ativo se encontra em uma faixa razoável. Ademais, as partes de transação podem transmitir o número aleatório comprometido e o valor do novo ativo ao destinatário través de um canal fora de blockchain seguro para verificar se o valor comprometido correspondente ao valor do ativo de transação.
[0140]Como tal, números aleatórios de compromissos de Pedersen podem ser convenientemente gerenciados, sem o risco de corrupção e sem efetuar um encargo de gerenciamento de chave adicional. Logo, a privacidade de transação pode ser minunciosamente protegida, e as quantias de transação podem ser mantidas como secretas.
[0141]As técnicas descritas no presente documento são implementadas por um ou mais dispositivos computacionais para propósitos especiais. Os dispositivos computacionais para propósitos especiais podem ser sistemas computacionais desktop, sistemas computacionais de servidor, sistemas computacionais portáteis, dispositivos de mão, dispositivos de rede ou qualquer outro dispositivo ou combinação de dispositivos que incorporam uma lógica cabeada e/ou lógica de programa para implementar as técnicas. O(s)s dispositivo(s) computacional(is) é(são) geralmente controlado(s) e coordenado(s) operando-se um software de sistema. Os sistemas operacionais convencionais controlar e agendam processos computacionais para execução, realizam gerenciamento de memória, proporcionam sistema de arquivo, rede, serviços I/O, e proporcionam uma funcionalidade de interface de usuário, tal como uma interface gráfica de usuário (“GUI”), dentre outras coisas.
Petição 870190036390, de 16/04/2019, pág. 54/78
46/51 [0142]A Figura 5 é um diagrama de blocos que ilustra um sistema computacional 500 mediante o qual qualquer uma das modalidades descritas no presente documento pode ser implementada. O sistema 500 pode ser implementado em qualquer um dos nós descritos no presente documento e configurados para realizar etapas correspondentes para métodos de proteção de informações. O sistema computacional 500 inclui um barramento 502 ou outro mecanismo de comunicação para comunicar informações, um ou mais processadores de hardware 504 acoplados ao barramento 502 para processar informações. Os processadores de hardware 504 podem ser, por exemplo, um ou mais microprocessadores para propósitos gerais.
[0143]O sistema computacional 500 também inclui uma memória principal 506, tal como uma memória de acesso aleatório (RAM), cache e/ou outros dispositivos de armazenamento dinâmico, acoplados ao barramento 502 para armazenar informações e instruções a serem executadas pelos processadores 504. A memória principal 506 também pode ser usada para armazenar variáveis temporárias ou outras informações intermediárias durante a execução de instruções a serem executadas por processadores 504. Essas instruções, quando armazenadas em mídia de armazenamento acessíveis a processadores 504, renderizam o sistema computacional 500 em uma máquina para propósitos especiais que seja customizada para realizar as operações especificadas nas instruções. O sistema computacional 500 inclui, ainda, uma memória somente para leitura (ROM) 508 ou outro dispositivo de armazenamento estático acoplado ao barramento 502 para armazenar informações estáticas e instruções para processadores 504. Um dispositivo de armazenamento 510, tal como um disco magnético, disco óptico, ou pendrive USB (unidade Flash), etc., é proporcionado e acoplado ao barramento 502 para armazenar informações e instruções.
[0144]O sistema computacional 500 pode implementar as técnicas descritas no presente documento usando uma lógica cabeada customizada, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que, em combinação com o sistema
Petição 870190036390, de 16/04/2019, pág. 55/78
47/51 computacional, induz ou programa o sistema computacional 500 a ser uma máquina para propósitos especiais. De acordo com uma modalidade, as operações, métodos e processos descritos no presente documento são realizados pelo sistema computacional 500 em resposta aos processadores 504 executando uma ou mais sequências de uma ou mais instruções contidas na memória principal 506. Essas instruções podem ser lidas na memória principal 506 a partir de outra mídia de armazenamento, tal como um dispositivo de armazenamento 510. A execução das sequências de instruções contidas na memória principal 506 induz os processadores 504 a realizar as etapas de processo descritas no presente documento. Em modalidades alternativas, um conjunto de circuitos cabeados pode ser usado ao invés ou em combinação com instruções de software.
[0145]A memória principal 506, a ROM 508, e/ou o armazenamento 510 podem incluir uma mídia de armazenamento não transitória. O termo “mídia não transitória,” e termos similares, conforme o uso em questão se refere à mídia que armazena dados e/ou instruções que induze uma máquina a operarem de forma específica, a mídia exclui sinais transitórios. Essa mídia não transitória pode compreender uma mídia não volátil e/ou mídia volátil. A mídia não volátil inclui, por exemplo, discos ópticos ou magnéticos, como o dispositivo de armazenamento 510. A mídia volátil inclui uma memória dinâmica, tal como uma memória principal 506. As formas comuns de mídia não transitória incluem, por exemplo, um disquete flexível, um disco flexível, um disco rígido, uma unidade em estado sólido, fita magnética, ou quaisquer outras mídias de armazenamento de dados magnéticos, uma CD-ROM, qualquer outra mídia de armazenamento de dados ópticos, qualquer mídia física com padrões de furos, uma RAM, uma PROM, e EPROM, uma FLASH-EPROM, NVRAM, qualquer outro chip de memória ou cartucho, e versões em rede das mesmas.
[0146]O sistema computacional 500 também inclui uma interface de rede 518 acoplada ao barramento 502. A interface de rede 518 proporciona uma comunicação
Petição 870190036390, de 16/04/2019, pág. 56/78
48/51 de dados bidirecional que se acopla a um ou mais links de rede que são conectados a uma ou mais redes locais. Por exemplo, a interface de rede 518 pode ser um cartão de rede digital de serviços integrados (ISDN), modem via cabo, modem via satélite, ou um modem para proporcionar uma conexão de comunicação de dados a um tipo correspondente de linha telefônica. Como outro exemplo, a interface de rede 518 pode ser um cartão de rede de área local (LAN) para proporcionar uma conexão de comunicação de dados a uma LAN compatível (ou componente WAN para se comunicar com uma WAN). Os links sem fio também podem ser implementados. Em qualquer uma dessas implementações, a interface de rede 518 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que porta fluxos de dados digitais que representam vários tipos de informações.
[0147]O sistema computacional 500 pode enviar mensagens e receber dados, incluindo um código de programa, através das redes, link de rede e interface de rede 518. No exemplo da Internet, um servidor pode transmitir um código solicitado para um programa de aplicativo através da Internet, o ISP, a rede local e a interface de rede 518.
[0148]O código recebido pode ser executado pelos processadores 504 à medida que é recebido, e/ou armazenado no dispositivo de armazenamento 510, ou outro armazenamento não volátil para execução posterior.
[0149]Cada um dos processos, métodos e algoritmos descritos nas seções anteriores pode ser incorporado a, e total ou parcialmente automatizado por, módulos de código executados por um ou mais sistemas computacionais ou processadores computacionais que compreendem hardware computacional. Os processos e algoritmos podem ser implementados parcial ou totalmente em um conjunto de circuitos para aplicação específica.
[0150]Os vários recursos e processos descritos anteriormente podem ser usados independentemente entre si, ou podem ser combinados de várias formas. Todas
Petição 870190036390, de 16/04/2019, pág. 57/78
49/51 as combinações e subcombinações possíveis são destinadas a se enquadrarem no escopo desta revelação. Além disso, determinados blocos de método ou processo podem ser omitidos em algumas implementações. Os métodos e processos descritos no presente documento também não são limitados a qualquer sequência particular, e os blocos ou estados relacionados a mesmo podem ser realizados em outras sequências que sejam apropriadas. Por exemplo, os blocos ou estados descritos podem ser realizados em uma ordem diferente daquela especificamente revelada, ou múltiplos blocos ou estados podem ser combinados em um único bloco ou estado. Os blocos ou estados exemplificadores podem ser realizados em série, em paralelo, ou de alguma outra forma. Os blocos ou estados podem ser adicionados ou removidos das modalidades exemplificadoras reveladas. Os sistemas e componentes exemplificadores descritos no presente documento podem ser configurados diferentemente dos descritos. Por exemplo, elementos podem ser adicionados, removidos, ou rearranjados comparados às modalidades exemplificadoras reveladas.
[0151]As várias operações de métodos exemplificadores descritos no presente documento podem ser realizadas, pelo menos parcialmente, por um algoritmo. O algoritmo pode ser composto em códigos de programa ou instruções armazenadas em uma memória (por exemplo, uma mídia de armazenamento legível por computador não transitória descrita anteriormente). Esse algoritmo pode compreender um algoritmo de aprendizagem por máquina. Em algumas modalidades, um algoritmo de aprendizagem por máquina pode não programar explicitamente computadores para realizar uma função, mas pode aprender a partir dos dados de treinamento para produzir um modelo de previsões que realiza a função.
[0152]As várias operações de métodos exemplificadores descritos no presente documento podem ser realizadas, pelo menos parcialmente, por um ou mais processadores que são temporariamente configurados (por exemplo, por software) ou
Petição 870190036390, de 16/04/2019, pág. 58/78
50/51 permanentemente configurados para realizar as operações relevantes. Sejam temporárias ou permanentemente configurados, esses processadores podem constituir mecanismos implementados por processador que operam para realizar uma ou mais operações ou funções descritas no presente documento.
[0153]De modo similar, os métodos descritos no presente documento podem ser pelo menos parcialmente implementados por processador, com um processador ou processadores particulares sendo um exemplo de hardware. Por exemplo, pelo menos algumas das operações de um método podem ser realizadas por um ou mais processadores ou mecanismos implementados por processador. Ademais, um ou mis processadores também podem operar para suportar o desempenho das operações relevantes em um ambiente de “computação em nuvem” ou como um “software como um serviço” (SaaS). Por exemplo, pelo menos algumas das operações podem ser realizadas por um grupo de computadores (como exemplo de máquinas incluindo processadores), com essas operações sendo acessíveis através de uma rede (por exemplo, a Internet) e através de uma ou mais interfaces apropriadas (por exemplo, uma Interface de Programa de Aplicativo (API)).
[0154]O desempenho de determinadas operações pode ser distribuído dentre os processadores, não somente residindo em uma máquina simples, mas implantadas por uma série de máquinas. Em algumas modalidades exemplificadoras, os processadores ou mecanismos implementados por processador podem estar situados em uma localização geográfica única (por exemplo, dentro de um ambiente doméstico, um ambiente empresarial, ou uma fazenda de servidores). Em outras modalidades exemplificadoras, os processadores ou mecanismos implementados por processador podem ser distribuídos por uma série de localizações geográficas.
[0155]Ao longo deste relatório descritivo, várias instâncias podem implementar componentes, operações ou estruturas descritas como uma instância única. Embora operações individuais de um ou mais métodos sejam ilustradas e descritas como
Petição 870190036390, de 16/04/2019, pág. 59/78
51/51 operações separadas, uma ou mais das operações individuais podem ser realizadas simultaneamente, e nada requer que as operações sejam realizadas na ordem ilustrada. As estruturas e funcionalidade apresentadas como componentes separados em configurações exemplificadoras podem ser implementadas como uma estrutura ou componente combinados. De modo similar, estruturas e funcionalidade apresentadas como um componente único podem ser implementadas como componentes separados. Essas e outras variações, modificações, adições, e aperfeiçoamentos se enquadram no escopo da matéria em questão.
[0156]Muito embora uma visão geral da matéria tenha sido descrita com referências às modalidades exemplificadoras específicas, várias modificações e alterações podem ser feitas a essas modalidades sem divergir do escopo mais amplo das modalidades da presente revelação. Essas modalidades da matéria podem ser referidas no presente documento, individual ou coletivamente, pelo termo “invenção” meramente por conveniência e sem a intenção de limitar voluntariamente o escopo deste pedido a nenhuma revelação ou conceito único se mais de um for, de fato, revelado. A Descrição Detalhada não deve ser tomada em um sentido limitative, e o escopo de várias modalidades é definido somente pelas reivindicações anexas, junto à gama completa de equivalentes aos quais essas reivindicações são concedidas.

Claims (23)

1. Método implementado por computador para proteção de informações, CARACTERIZADO pelo fato de que compreende:
comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos a fator randômico de transação r_t;
gerar uma primeira chave de um par de chaves simétricas;
criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que gerar a primeira chave compreende: gerar a primeira chave com base em uma chave privada SK_A de um remetente da transação e uma chave pública PK_B do destinatário sob um protocolo de troca de chave de Diffie-Hellman (DH).
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: o esquema de compromisso compreende um compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e com a quantia de transação t sendo um valor comprometido.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: a combinação do fator randômico de transação r_t e a quantia de transação t compreendem uma concatenação do fator randômico de transação r_t e da quantia de transação t.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que transmitir o valor de compromisso de transação Tea combinação criptografada
Petição 870190036390, de 16/04/2019, pág. 61/78
2/10 ao nó de destinatário associado ao destinatário da transação para o nó de destinatário para verificar a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação, induzindo o nó de destinatário a:
gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SK_B do destinatário e uma chave pública PK_A de um remetente da transação;
descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que induzir o nó de destinatário a verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t compreende induzir o nó de destinatário a:
em resposta à determinação que o valor de compromisso de transação T não correspondente ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, rejeitar a transação; e em resposta à determinação que o valor de compromisso de transação T correspondente ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, aprovar a transação assinando-se a transação para gerar uma assinatura de destinatário SIGB para retornar a um nó de remetente associado ao remetente.
7. Método, de acordo com a reivindicação 6, antes de transmitir a combinação criptografada ao nó de destinatário associado ao destinatário, CARACTERIZADO pelo fato de que compreende, ainda:
Petição 870190036390, de 16/04/2019, pág. 62/78
3/10 comprometer um troco y da transação com o esquema de compromisso para obter um valor de compromisso de troco Y, sendo que o esquema de compromisso compreende pelo menos um fator randômico de troco r_y, em que o troco y é um ou mais ativo s do remetente explorados para a transação menos a quantia de transação t;
gerar outra chave com base em uma chave privada SK_A do remetente e na chave pública PK_Ado remetente; e criptografar outra combinação do fator randômico de troco r_y e do troco y com a outra chave.
8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que compreende, ainda:
em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação assinando-se a transação para gerar uma assinatura de remetente SIGA; e submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós e uma rede de blockchain para um ou mais nós para verificar a transação.
9. Método, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain para um ou mais nós para verificar a transação compreende:
submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário
Petição 870190036390, de 16/04/2019, pág. 63/78
4/10
SIGB a um ou mais nós na rede de blockchain, induzir um ou mais nós a, em resposta à verificação bem-sucedida da transação, lançar a quantia de transação t ao destinatário, eliminar um ou mais ativos explorados para a transação, e lançar o troco y ao remetente.
10. Mídia de armazenamento legível por computador não transitória, CARACTERIZADA pelo fato de que armazena instruções a serem executadas por um processador para induzir o processador a realizar operações que compreendem:
comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t;
gerar uma primeira chave de um par de chaves simétricas;
criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação.
11. Mídia de armazenamento, de acordo com a reivindicação 10, CARACTERIZADA pelo fato de que gerar a primeira chave compreende: gerar a primeira chave com base em uma chave privada SK_A de um remetente da transação e uma chave pública PK_B do destinatário sob um protocolo de troca de chave de DiffieHellman (DH).
12. Mídia de armazenamento, de acordo com a reivindicação 10, CARACTERIZADA pelo fato de que: o esquema de compromisso compreende um compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e com a quantia de transação t sendo um valor comprometido.
13. Mídia de armazenamento, de acordo com a reivindicação 10,
Petição 870190036390, de 16/04/2019, pág. 64/78
5/10
CARACTERIZADA pelo fato de que: a combinação do fator randômico de transação r_t e a quantia de transação t compreendem uma concatenação do fator randômico de transação r_t e da quantia de transação t.
14. Mídia de armazenamento, de acordo com a reivindicação 10, CARACTERIZADA pelo fato de que transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação para o nó de destinatário para verificar a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada ao nó de destinatário associado ao destinatário da transação, induzí o nó de destinatário a:
gerar uma segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_A de um remetente da transação;
descriptografar a combinação criptografada com a segunda chave gerada pelo nó de destinatário para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
15. Mídia de armazenamento, de acordo com a reivindicação 14, CARACTERIZADA pelo fato de que induzir o nó de destinatário a verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t compreende induzir o nó de destinatário a:
em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantia de transação t com base no fator randômico de transação r_t, rejeitar a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso d aquantia de transação t com base no fator
Petição 870190036390, de 16/04/2019, pág. 65/78
6/10 randômico de transação r_t, aprovar a transação assinando-se a transação para gerar uma assinatura de destinatário SIGB para retornar a um nó de remetente associado ao remetente.
16. Mídia de armazenamento, de acordo com a reivindicação 15, CARACTERIZADA pelo fato de que antes de transmitir a combinação criptografada ao nó de destinatário associado ao destinatário, as operações compreendem, ainda:
comprometer um troco y da transação ao esquema de compromisso para obter um valor de compromisso de troco Y, sendo que o esquema de compromisso compreende pelo menos um fator randômico de troco r_y, em que o troco y é um ou mais ativos do remetente explorados para a transação menos a quantia de transação t;
gerar outra chave com base em uma chave privada SK_A do remetente e na chave pública PK_Ado remetente; e criptografar outra combinação do fator randômico de troco r_y e troco y com a outra chave.
17. Mídia de armazenamento, de acordo com a reivindicação 16, CARACTERIZADA pelo fato de que as operações compreendem, ainda:
em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação assinando-se a transação para gerar uma assinatura de remetente SIGA; e submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós em uma rede de blockchain para um ou mais nós para verificar a transação.
18. Mídia de armazenamento, de acordo com a reivindicação 17, CARACTERIZADA pelo fato de que submeter a transação compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transa
Petição 870190036390, de 16/04/2019, pág. 66/78
7/10 ção T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain para um ou mais nós para verificar a transação compreende:
submeter a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de troco Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB a um ou mais nós na rede de blockchain, induzir um ou mais nós a, em resposta à verificação bem-sucedida da transação, lançar a quantia de transação t ao destinatário, eliminar um ou mais ativos explorados para a transação, e lançar o troco y ao remetente.
19. Sistema para proteção de informações, CARACTERIZADO pelo fato de que compreende um processador e uma mídia de armazenamento legível por computador não transitória acoplada ao processador, sendo que a mídia de armazenamento armazena instruções a serem executadas pelo processador para induzir o sistema a realizar operações compreende:
comprometer uma quantia de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t;
gerar uma primeira chave de um par de chaves simétricas;
criptografar uma combinação do fator randômico de transação r_t e a quantia de transação t com a primeira chave; e transmitir o valor de compromisso de transação Tea combinação criptografada a um nó de destinatário associado a um destinatário da transação para o nó de destinatário para verificar a transação.
20. Método implementado por computador para proteção de informações, CARACTERIZADO pelo fato de que compreende:
Petição 870190036390, de 16/04/2019, pág. 67/78
8/10 obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas, e obter um valor de compromisso de transação T, em que: a quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos o fator randômico de transação r_t;
gerar uma segunda chave do par de chaves simétricas;
descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado a um destinatário da transação para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
21. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que:
gerar a segunda chave do par de chaves simétricas compreende gerar a segunda chave do par de chaves simétricas com base em uma chave privada SKJB do destinatário e uma chave pública PK_A do remetente sob um protocolo de troca de chave de Diffie-Hellman (DH); e o esquema de compromisso compreende um compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e com a quantia de transação t sendo um valor comprometido.
22. Mídia de armazenamento legível por computador não transitória, CARACTERIZADA pelo fato de que armazena instruções a serem executadas por um processador para induzir o processador a realizar operações que compreendem:
obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas,
Petição 870190036390, de 16/04/2019, pág. 68/78
9/10 e obter um valor de compromisso de transação T, em que: a quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos o fator randômico de transação r_t;
gerar uma segunda chave do par de chaves simétricas;
descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado a um destinatário da transação para obter o fator randômico de transação r_t e a quantia de transação t; e verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
23. Sistema para proteção de informações, CARACTERIZADO pelo fato de que compreende um processador e uma mídia de armazenamento legível por computador não transitória acoplada ao processador, sendo que a mídia de armazenamento armazena instruções a serem executadas pelo processador para induzir o sistema a realizar operações compreende:
obter uma combinação de um fator randômico de transação r_t e uma quantia de transação t criptografada com uma primeira chave de um par de chaves simétricas, e obter um valor de compromisso de transação T, em que: a quantia de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente de uma transação para obter o valor de compromisso de transação T, sendo que o esquema de compromisso compreende pelo menos o fator randômico de transação r_t;
gerar uma segunda chave do par de chaves simétricas;
descriptografar a combinação obtida com a segunda chave gerada por um nó de destinatário associado a um destinatário da transação para obter o fator randômico de transação r_t e a quantia de transação t; e
Petição 870190036390, de 16/04/2019, pág. 69/78
10/10 verificar a transação com base pelo menos no valor de compromisso de transação T, no fator randômico de transação r_t, e na quantia de transação t.
BR112019007727-8A 2018-11-27 2018-11-27 sistema e método para proteção de informações BR112019007727A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/117552 WO2019072276A2 (en) 2018-11-27 2018-11-27 INFORMATION PROTECTION SYSTEM AND METHOD

Publications (1)

Publication Number Publication Date
BR112019007727A2 true BR112019007727A2 (pt) 2019-11-12

Family

ID=66100013

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019007727-8A BR112019007727A2 (pt) 2018-11-27 2018-11-27 sistema e método para proteção de informações

Country Status (18)

Country Link
US (2) US11277389B2 (pt)
EP (2) EP3866382B1 (pt)
JP (1) JP6724249B2 (pt)
KR (1) KR102170346B1 (pt)
CN (1) CN109937557B (pt)
AU (1) AU2018327218B2 (pt)
BR (1) BR112019007727A2 (pt)
CA (1) CA3040601C (pt)
ES (1) ES2875581T3 (pt)
MX (1) MX2019004202A (pt)
MY (1) MY193900A (pt)
PH (1) PH12019500556A1 (pt)
PL (1) PL3549303T3 (pt)
RU (1) RU2719423C1 (pt)
SG (1) SG11201902778UA (pt)
TW (1) TWI706275B (pt)
WO (1) WO2019072276A2 (pt)
ZA (1) ZA201902470B (pt)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
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
CN110089069B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
US10764029B1 (en) * 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm
WO2019137563A2 (en) 2019-04-26 2019-07-18 Alibaba Group Holding Limited Anti-replay attack authentication protocol
GB2587773A (en) * 2019-05-24 2021-04-14 Nchain Holdings Ltd Streaming portions of data over a side channel
CN110399735A (zh) * 2019-06-21 2019-11-01 深圳壹账通智能科技有限公司 加密数据大小关系证明方法、装置、设备及存储介质
CN112150281B (zh) * 2019-06-28 2023-09-26 北京国盾量子信息技术有限公司 一种数字货币的交易方法、装置及系统
CN111030821B (zh) * 2019-08-27 2022-07-12 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链的加密方法
CN113570460A (zh) * 2019-08-30 2021-10-29 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
CN112465500A (zh) * 2019-09-09 2021-03-09 本田技研工业株式会社 用于在区块链内保护私钥交易的系统和方法
CN110781503B (zh) * 2019-09-18 2022-05-17 深圳壹账通智能科技有限公司 数据调用方法、装置及计算机可读存储介质
JP7372527B2 (ja) * 2019-09-26 2023-11-01 富士通株式会社 通信中継プログラム、中継装置、及び通信中継方法
CN112769548B (zh) * 2019-11-05 2022-09-20 深圳市迅雷网络技术有限公司 一种区块链数值信息传输方法、系统、装置及计算机介质
CN110580418B (zh) * 2019-11-08 2020-04-07 支付宝(杭州)信息技术有限公司 基于区块链账户的隐私数据查询方法及装置
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法
CN113055178B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
CN111340489B (zh) * 2020-02-21 2023-11-14 数据通信科学技术研究所 可监管的交易接收者保护方法和装置
CN111523894A (zh) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 数据延时公布方法、设备和存储介质
CN111600703B (zh) * 2020-05-12 2023-08-04 京东科技信息技术有限公司 基于sm2的签名方法、系统、电子设备及存储介质
CN111709738B (zh) * 2020-05-18 2023-08-01 杜晓楠 区块链系统中隐藏交易金额的方法、计算机可读存储介质和区块链系统
WO2020169122A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Blockchain-based import custom clearance data processing
EP3844654B1 (en) 2020-06-08 2023-05-17 Alipay Labs (Singapore) Pte. Ltd. Blockchain-based document registration for custom clearance
WO2020169127A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. User management of blockchain-based custom clearance service platform
EP3844655B1 (en) * 2020-06-08 2023-05-03 Alipay Labs (Singapore) Pte. Ltd. Managing user authorizations for blockchain-based custom clearance services
SG11202103226UA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based smart contract pools
EP3837617B1 (en) 2020-06-08 2023-08-02 Alipay Labs (Singapore) Pte. Ltd. Distributed storage of custom clearance data
CN113014384B (zh) * 2021-03-16 2022-07-15 平安付科技服务有限公司 基于dh密钥交换算法的数据比较方法、装置、计算机设备及存储介质
US11849032B2 (en) * 2021-05-14 2023-12-19 Verizon Patent And Licensing Inc. Systems and methods for blockchain-based secure key exchange
CN113706150B (zh) * 2021-10-27 2022-02-08 深圳前海微众银行股份有限公司 一种区块确认方法及装置
CN114565382A (zh) * 2022-03-01 2022-05-31 汪泽希 一种交易账户匿名支付方法及系统
JP2024022912A (ja) 2022-08-08 2024-02-21 富士通株式会社 情報秘匿化プログラム、情報秘匿化方法及び情報管理装置
CN115809482B (zh) * 2023-02-01 2023-05-16 上海金仕达软件科技股份有限公司 基于随机数混淆的数据聚合计算方法、装置、介质及设备
CN116389164B (zh) * 2023-05-26 2023-09-12 建信金融科技有限责任公司 数据的检测方法及装置

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US7107246B2 (en) * 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
JP2000207466A (ja) 1999-01-18 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> 電子商取引文書を媒介とした電子商取引方法および電子商取引手段、ならびにプログラムを記録した記録媒体。
JP2000299683A (ja) * 1999-02-10 2000-10-24 Nippon Telegr & Teleph Corp <Ntt> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
US7716484B1 (en) * 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
WO2001069843A2 (en) 2000-03-10 2001-09-20 Absolutefuture, Inc. Method and system for coordinating secure transmission of information
WO2001080479A1 (en) 2000-04-14 2001-10-25 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
EP1205889A1 (en) 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7509498B2 (en) 2001-06-29 2009-03-24 Intel Corporation Digital signature validation
GB2378282A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Automated multivariate negotiation using convertable undeniable signatures
WO2003036901A2 (en) 2001-10-19 2003-05-01 Matsushita Electric Industrial Co., Ltd. Device authentication system and device authentication method
ATE408940T1 (de) 2003-11-03 2008-10-15 Koninkl Philips Electronics Nv Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung
US8156029B2 (en) 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
ATE534089T1 (de) 2005-05-10 2011-12-15 Dts Ltd Transaktionsverfahren und verifikationsverfahren
JP4435076B2 (ja) 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
US7725446B2 (en) 2005-12-19 2010-05-25 International Business Machines Corporation Commitment of transactions in a distributed system
CN101375286B (zh) 2006-01-25 2012-06-27 松下电器产业株式会社 终端装置、服务器装置及事务处理方法以及数字内容分发系统
TW200820108A (en) 2006-05-24 2008-05-01 Ibm Method for automatically validating a transaction, electronic payment system and computer program
US20090177591A1 (en) 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US20090281949A1 (en) 2008-05-12 2009-11-12 Appsware Wireless, Llc Method and system for securing a payment transaction
US8543091B2 (en) 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US8281131B2 (en) 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
US8744077B2 (en) 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
JP5264450B2 (ja) * 2008-12-02 2013-08-14 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
AP3995A (en) 2008-12-23 2017-01-11 Mtn Mobile Money Sa Pty Ltd Method of and system for securely processing a transaction
US8762741B2 (en) 2009-01-29 2014-06-24 Microsoft Corporation Privacy-preserving communication
US8825555B2 (en) 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
US8527777B2 (en) 2010-07-30 2013-09-03 International Business Machines Corporation Cryptographic proofs in data processing systems
US8661240B2 (en) 2011-04-29 2014-02-25 International Business Machines Corporation Joint encryption of data
US20120317034A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Transparent virtual currency using verifiable tokens
US9858401B2 (en) 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
AU2012315674B9 (en) 2011-09-29 2018-08-30 Amazon Technologies, Inc. Parameter based key derivation
JP5364141B2 (ja) 2011-10-28 2013-12-11 楽天株式会社 携帯端末、店舗端末、送信方法、受信方法、決済システム、決済方法、プログラムおよびコンピュータ読み取り可能な記憶媒体
EP2634738A1 (en) 2012-03-02 2013-09-04 Alcatel Lucent Decentralized electronic transfer system
FR2993382B1 (fr) 2012-07-13 2015-07-03 Oberthur Technologies Entite electronique securisee pour l'autorisation d'une transaction
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US11055707B2 (en) 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR20160024185A (ko) 2014-08-25 2016-03-04 아이보 (주) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
WO2016161073A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
WO2016164496A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
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
US11080665B1 (en) * 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
CA2990651A1 (en) 2015-06-30 2017-01-05 Visa International Service Association Confidential authentication and provisioning
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20180191503A1 (en) 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20180331832A1 (en) 2015-11-05 2018-11-15 Allen Pulsifer Cryptographic Transactions System
WO2017091530A1 (en) 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
CA3006495A1 (en) 2015-11-30 2017-06-08 Shapeshift Ag Digital asset zero-custody switch
US10013573B2 (en) 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
US11354658B2 (en) 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
CN114282926A (zh) 2016-02-23 2022-04-05 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
AU2017223133B2 (en) * 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
BR112018016234A2 (pt) 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
WO2017147696A1 (en) 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
KR102608099B1 (ko) 2016-04-11 2023-12-01 엔체인 홀딩스 리미티드 블록체인에서 안전한 피어-투-피어 통신을 위한 방법
CN107306183B (zh) 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证系统
KR101780635B1 (ko) 2016-04-28 2017-09-21 주식회사 코인플러그 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US10046228B2 (en) 2016-05-02 2018-08-14 Bao Tran Smart device
US10447478B2 (en) 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
KR101802655B1 (ko) 2016-06-10 2017-11-29 인하대학교 산학협력단 원격 서버를 이용한 안전한 소프트웨어 기반 일회용 비밀번호 생성 방법
US11062366B2 (en) 2016-06-24 2021-07-13 Raise Marketplace Inc. Securely processing exchange items in a data communication system
US20180006823A1 (en) 2016-07-01 2018-01-04 Qualcomm Incorporated Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
KR101795695B1 (ko) 2016-07-14 2017-12-01 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
JP2019525326A (ja) 2016-07-15 2019-09-05 ビザ インターナショナル サービス アソシエーション トランザクションデバイスによるデジタル資産分配
EP3273635B1 (en) * 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
WO2018019364A1 (en) 2016-07-26 2018-02-01 NEC Laboratories Europe GmbH Method for controlling access to a shared resource
US10067810B2 (en) 2016-07-28 2018-09-04 Cisco Technology, Inc. Performing transactions between application containers
GB201613176D0 (en) 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
JP6971019B2 (ja) * 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20180167198A1 (en) 2016-12-09 2018-06-14 Cisco Technology, Inc. Trust enabled decentralized asset tracking for supply chain and automated inventory management
CN110024422B (zh) 2016-12-30 2023-07-18 英特尔公司 物联网的命名和区块链记录
CN106911470B (zh) 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
CN107025602A (zh) 2017-02-24 2017-08-08 杭州象链网络技术有限公司 一种基于联盟链的金融资产交易系统构建方法
JP6961960B2 (ja) 2017-03-13 2021-11-05 ソニーグループ株式会社 情報処理装置および情報処理方法
JP6719410B2 (ja) 2017-03-17 2020-07-08 Kddi株式会社 生成装置、検証装置、及びプログラム
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
GB201705621D0 (en) 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705749D0 (en) 2017-04-10 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705858D0 (en) 2017-04-11 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201706132D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
US10320758B2 (en) 2017-04-25 2019-06-11 International Business Machines Corporation Cryptography using multi-factor key system and finite state machine
US10198949B2 (en) 2017-04-28 2019-02-05 Mastercard International Incorporated Method and system for parking verification via blockchain
US10560270B2 (en) 2017-05-03 2020-02-11 International Business Machines Corporation Optimal data storage configuration in a blockchain
GB201707168D0 (en) 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
GB201707296D0 (en) 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US11165589B2 (en) 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107451175B (zh) 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107239951A (zh) 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
CN117640099A (zh) 2017-06-14 2024-03-01 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法
GB201710283D0 (en) 2017-06-28 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
US10333710B2 (en) 2017-09-12 2019-06-25 Qed-It Systems Ltd. Method and system for determining desired size of private randomness using Tsallis entropy
TWI636411B (zh) 2017-09-13 2018-09-21 現代財富控股有限公司 對非區塊鏈節點提供交易不可否認性之系統及其方法
US10361870B2 (en) 2017-09-14 2019-07-23 The Toronto-Dominion Bank Management of cryptographically secure exchanges of data using permissioned distributed ledgers
EP3688705B1 (en) 2017-09-29 2023-08-02 Leverage Rock LLC Transaction privacy in public distributed ledger systems
CN107679857B (zh) 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN108062671A (zh) 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
EP3718069B1 (en) 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US10831764B2 (en) 2017-12-02 2020-11-10 International Business Machines Corporation Query processing and access control in a blockchain network
US11227284B2 (en) 2017-12-13 2022-01-18 Mastercard International Incorporated Method and system for consumer-initiated transactions using encrypted tokens
CN108282459B (zh) 2017-12-18 2020-12-15 中国银联股份有限公司 基于智能合约的数据传递方法及系统
US11544708B2 (en) 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
TWM561861U (zh) 2018-01-11 2018-06-11 網家金融科技股份有限公司 網路支付轉帳系統
US10388097B1 (en) 2018-01-29 2019-08-20 Accenture Global Solutions Limited Blockchain-based cryptologic ballot verification
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US20210089676A1 (en) 2018-02-16 2021-03-25 Ecole Polytechnique Fédérale De Lausanne Epfl-Tto Methods and systems for secure data exchange
CN108512650B (zh) 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
US11159306B2 (en) 2018-04-24 2021-10-26 Duvon Corporation Autonomous exchange via entrusted ledger token and transaction management
US10708243B2 (en) 2018-04-24 2020-07-07 Capital One Services, Llc Message encryption using public keychains
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN108683669B (zh) 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
CN108876332B (zh) 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN109003184A (zh) 2018-06-22 2018-12-14 中链科技有限公司 区块链资产管理方法及装置
US11032068B2 (en) * 2018-06-29 2021-06-08 International Business Machines Corporation Leakage-deterring encryption for message communication
US10917233B2 (en) 2018-10-16 2021-02-09 International Business Machines Corporation Selective exchange of transaction data
JP6956062B2 (ja) 2018-10-30 2021-10-27 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法
US11240001B2 (en) 2018-11-06 2022-02-01 International Business Machines Corporation Selective access to asset transfer data
BR112019008171A2 (pt) 2018-11-07 2019-09-10 Alibaba Group Holding Ltd 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
CN110089069B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
PL3549303T3 (pl) 2018-11-27 2021-11-22 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
MY188126A (en) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd System and method for information protection

Also Published As

Publication number Publication date
CN109937557B (zh) 2022-02-22
AU2018327218A1 (en) 2020-01-30
ES2875581T3 (es) 2021-11-10
EP3549303A4 (en) 2020-02-26
RU2719423C1 (ru) 2020-04-17
JP6724249B2 (ja) 2020-07-15
PL3549303T3 (pl) 2021-11-22
ZA201902470B (en) 2021-06-30
US20190268312A1 (en) 2019-08-29
TW202020710A (zh) 2020-06-01
TWI706275B (zh) 2020-10-01
JP2019537744A (ja) 2019-12-26
AU2018327218B2 (en) 2020-07-16
US11102184B2 (en) 2021-08-24
WO2019072276A2 (en) 2019-04-18
KR20200066257A (ko) 2020-06-09
KR102170346B1 (ko) 2020-10-28
EP3866382B1 (en) 2023-06-21
MY193900A (en) 2022-10-31
MX2019004202A (es) 2019-08-05
SG11201902778UA (en) 2019-05-30
US11277389B2 (en) 2022-03-15
CA3040601A1 (en) 2019-04-18
EP3866382A1 (en) 2021-08-18
US20200120074A1 (en) 2020-04-16
EP3549303A2 (en) 2019-10-09
CN109937557A (zh) 2019-06-25
EP3549303B1 (en) 2021-05-26
PH12019500556A1 (en) 2019-12-16
WO2019072276A3 (en) 2019-09-19
CA3040601C (en) 2021-03-30

Similar Documents

Publication Publication Date Title
BR112019007727A2 (pt) sistema e método para proteção de informações
ES2879855T3 (es) Sistema y método para la protección de información
US11080694B2 (en) System and method for information protection
KR102150814B1 (ko) 정보 보호를 위한 시스템 및 방법
AU2019101590A4 (en) System and method for information protection
AU2019101582A4 (en) System and method for information protection
AU2019101589A4 (en) System and method for information protection

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]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B11D Dismissal acc. art. 38, par 2 of ipl - failure to pay fee after grant in time