BR112019007907A2 - 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
BR112019007907A2
BR112019007907A2 BR112019007907-6A BR112019007907A BR112019007907A2 BR 112019007907 A2 BR112019007907 A2 BR 112019007907A2 BR 112019007907 A BR112019007907 A BR 112019007907A BR 112019007907 A2 BR112019007907 A2 BR 112019007907A2
Authority
BR
Brazil
Prior art keywords
transaction
recipient
commitment
random
amount
Prior art date
Application number
BR112019007907-6A
Other languages
English (en)
Inventor
Ma Baoli
Zhang Wenbin
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of BR112019007907A2 publication Critical patent/BR112019007907A2/pt

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • 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
    • G06Q2220/00Business processing using cryptography
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

trata-se de um método implementado por computador que compreende: comprometer uma quantidade 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; criptografar uma combinação do fator randômico de transação r_t e da quantidade de transação t com uma segunda chave pública pk_2_b de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública pk_1_b como um endereço para receber a quantidade de transação t; e transmitir o valor de compromisso de transação t e a combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.

Description

“SISTEMA E MÉTODO PARA PROTEÇÃO DE INFORMAÇÕES”
CAMPO DA TÉCNICA [001]Esta revelação refere-se, de modo geral, a métodos e dispositivos para proteção de informações.
ANTECEDENTES [002]A privacidade é importante para comunicações e transferências de dados entre vários usuários. Sem proteção, os usuários ficam expostos ao risco de roubo de identidade, transferência ilegal ou outras perdas potenciais. O risco se torna ainda maior quando as comunicações e transferências são implementadas online, devido ao acesso livre 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 quantidade de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, em que o esquema de compromisso compreende pelo menos um fator randômico de transação r_t; criptografar uma combinação do fator randômico de transação r_t e da quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t; e transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.
[005]Em algumas modalidades, a segunda chave pública PK_2_B é uma chave de criptografia homomórfica.
Petição 870190037026, de 17/04/2019, pág. 9/76
2/51 [006]Em algumas modalidades, o esquema de compromisso compreende uma compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e sendo que a quantidade de transação t é um valor comprometido.
[007]Em algumas modalidades, a combinação do fator randômico de transação r_t e da quantidade de transação t compreende uma concatenação do fator randômico de transação r_t e da quantidade de transação t.
[008]Em algumas modalidades, a transmissão do valor de compromisso de transação T e da combinação criptografada para o nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada para o nó de destinatário associado ao destinatário, fazendo com que o nó de destinatário: descriptografe a combinação criptografada com uma segunda chave privada SK_2_B do destinatário para obter o fator randômico de transação r_t e a quantidade de transação t; e verifique 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 quantidade de transação t.
[009]Em algumas modalidades, fazer com que o nó de destinatário verifique 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 quantidade de transação t compreende fazer com que o nó de destinatário: em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, rejeite a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, aprove a transação ao assinar a transação com uma primeira chave privada SK_1_B do destinatário para gerar uma assinatura de destinatário SIGB.
Petição 870190037026, de 17/04/2019, pág. 10/76
3/51 [010]Em algumas modalidades, antes de transmitir a combinação criptografada para o nó de destinatário associado ao destinatário, o método compreende adícionalmente: comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, em que o esquema de compromisso compreende pelo menos um fator randômico de alteração r_y, em que a alteração y consiste em um ou mais ativos de um remetente da transação que são derivados para transação menos a quantidade de transação t; e criptografar outra combinação do fator randômico de alteração r_y e alteração y com uma segunda chave pública PK_2_Ado remetente.
[011]Em algumas modalidades, o método compreende adícionalmente: em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação ao assinar a transação com uma primeira chave privada SK_1_A do remetente para gerar uma assinatura de remetente SIGA; e enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para um ou mais nós em uma rede blockchain para que o um ou mais nós verifiquem a transação.
[012]Em algumas modalidades, enviar 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 alteração Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain para que o um ou mais nós verifiquem a transação compreende: enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain, fazendo com que o um ou mais nós, em resposta à verificação bem-sucedida da transação, emitam a
Petição 870190037026, de 17/04/2019, pág. 11/76
4/51 quantidade de transação t para o destinatário, eliminem o um ou mais ativos derivados para a transação e emitam a alteração y para o remetente.
[013]De acordo com outro aspecto, um meio de armazenamento legível por computador não transitório armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que compreendem: comprometer uma quantidade 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; criptografar uma combinação do fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t; e transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.
[014]De acordo com outro aspecto, um sistema para proteção de informações, que compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, sendo que o meio de armazenamento armazena instruções que, quando executadas pelo processador, fazem com que o sistema realize operações que compreendem: enviar uma quantidade 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 esquema de compromisso compreende pelo menos um fator randômico de transação r_t; criptografar uma combinação do fator randômico de transação r_t e da quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t; e
Petição 870190037026, de 17/04/2019, pág. 12/76
5/51 transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.
[015]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 quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da 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; descriptografar a combinação obtida com uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
[016]Em algumas modalidades, a segunda chave pública PK_2_B do destinatário e a segunda chave privada SK_2_B do destinatário são um par de chaves de criptografia homomórfica.
[017]De acordo com outro aspecto, um meio de armazenamento legível por computador não transitório armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que compreendem: obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da transação para
Petição 870190037026, de 17/04/2019, pág. 13/76
6/51 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; descriptografar a combinação obtida com uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
[018]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, sendo que o meio de armazenamento armazena instruções que, quando executadas pelo processador, fazem com que o sistema realize operações que compreendem: obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da 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; descriptografar a combinação obtida com uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
[019]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: comprometer uma quantidade 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
Petição 870190037026, de 17/04/2019, pág. 14/76
7/51 compromisso compreende pelo menos um fator randômico de transação r_t; enviar a quantidade de transação t, o fator randômico de transação r_t e o valor de compromisso de transação T para um nó de destinatário associado a um destinatário da transação para que o nó de destinatário verifique a transação e criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B do destinatário, em que o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação; obter uma combinação criptografada do fator randômico de transação r_t e da quantidade de transação t a partir do nó de destinatário; e transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma blockchain para que a pluralidade de nós verifique a transação.
[020]De acordo com outro aspecto, um meio de armazenamento legível por computador não transitório armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que compreendem: comprometer uma quantidade 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; enviar a quantidade de transação t, o fator randômico de transação r_t e o valor de compromisso de transação T para um nó de destinatário associado a um destinatário da transação para que o nó de destinatário verifique a transação e para criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B do destinatário, em que o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação; obter uma combinação criptografada do fator randômico de transação r_t e a quantidade de transação t a partir do nó de destinatário; e transmitira combinação criptografada e o valor de compromisso de
Petição 870190037026, de 17/04/2019, pág. 15/76
8/51 transação T para uma pluralidade de nós em uma blockchain para que a pluralidade de nós verifique a transação.
[021 ]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, sendo que o meio de armazenamento armazena instruções que, quando executadas pelo processador, fazem com que o sistema realize operações que compreendem: comprometer uma quantidade 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; enviar a quantidade de transação t, o fator randômico de transação r_t e o valor de compromisso de transação T para um nó de destinatário associado a um destinatário da transação para que o nó de destinatário verifique a transação e para criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B do destinatário, em que o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação; obter uma combinação criptografada do fator randômico de transação r_t e da quantidade de transação t a partir do nó de destinatário; e transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma blockchain para que a pluralidade de nós verifique a transação.
[022]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: obter uma quantidade 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; verificar a transação com base na quantidade de transação obtida t, no fator randômico de transação obtido r_t e no valor de compromisso de transação obtido T; em resposta à verificação bem-sucedida da
Petição 870190037026, de 17/04/2019, pág. 16/76
9/51 transação, criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação para obter uma combinação criptografada; e transmitir a combinação criptografada para um nó de remetente associado a um remetente da transação.
[023]De acordo com outro aspecto, um meio de armazenamento legível por computador não transitório armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que compreendem: obter uma quantidade 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; verificar a transação com base na quantidade de transação obtida t, no fator randômico de transação obtido r_t, e no valor de compromisso de transação obtido T; em resposta à verificação bem-sucedida da transação, criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação para obter um combinação criptografada; e transmitir a combinação criptografada para um nó de remetente associado a um remetente da transação.
[024]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, sendo que o meio de armazenamento armazena instruções que, quando executadas pelo processador, fazem com que o sistema realize operações que compreendem: obter uma quantidade 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; verificar a transação com base na quantidade de transação obtida t, no fator randômico de transação obtido r_t e no valor de compromisso de transação obtido T; em resposta à verificação bemsucedida da transação, criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um
Petição 870190037026, de 17/04/2019, pág. 17/76
10/51 destinatário da transação para obter uma combinação criptografada; e transmitir a combinação criptografada para um nó de remetente associado a um remetente da transação.
[025]Esses e outros recursos do sistemas, métodos e mídia legível por computador não transitória revelados no presente documento, assim como os métodos de operação e as funções dos elementos relacionados de estrutura e a combinação de partes e economias de fabricação, se tornarão mais evidentes mediante consideração da descrição a seguir e das reivindicações anexas com referência aos desenhos anexos, todos os quais formam uma parte deste relatório descritivo, em que números de referência similares designam partes correspondentes nas várias Figuras. No entanto, deve ser expressamente entendido que as Figuras são apenas para os propósitos de ilustração e descrição e não se destinam a ser uma definição dos limites da invenção.
BREVE DESCRIÇÃO DOS DESENHOS [026]Determinados recursos das várias modalidades da presente tecnologia são apresentados com particularidade nas reivindicações anexas. Um melhor entendimento dos recursos e vantagens da tecnologia será obtido com referência à seguinte descrição detalhada que apresenta as modalidades ilustrativas, em que os princípios da invenção são derivados, e os desenhos anexos dos quais:
[027]A Figura 1 ilustra um sistema exemplificative para proteção de informações, de acordo com várias modalidades.
[028]A Figura 2 ilustra etapas exemplificativas para iniciação e verificação de transação, de acordo com várias modalidades.
[029]A Figura 3A ilustra um fluxograma de um método exemplificativo para proteção de informações, de acordo com várias modalidades.
[030]A Figura 3B ilustra um fluxograma de um método exemplificativo para proteção de informações, de acordo com várias modalidades.
Petição 870190037026, de 17/04/2019, pág. 18/76
11/51 [031 ]A Figura 4A ilustra um fluxograma de um método exemplificativo para proteção de informações, de acordo com várias modalidades.
[032]A Figura 4B ilustra um fluxograma de um método exemplificativo para proteção de informações, de acordo com várias modalidades.
[033]A Figura 5 ilustra um diagrama de blocos de um sistema de computador exemplificativo em que qualquer uma das modalidades descritas no presente documento pode ser implementada.
DESCRIÇÃO DETALHADA [034]Blockchain pode ser considerado como um banco de dados descentralizado, comumente chamado de um razão distribuído porque a operação é realizada por vários nós (por exemplo, dispositivos de computação) em uma rede. Quaisquer informações podem ser gravadas na blockchain e salvas ou lidas a partir do mesmo. Qualquer um pode configurar um servidor e ingressar na rede blockchain para se tornar um nó. Qualquer nó pode contribuir com potência de computação para manter a blockchain ao realizar computações complexas, tal como cálculo de hash para adicionar um bloco a uma blockchain atual, e o bloco adicionado pode conter vários tipos de dados ou informações. O nó que contribuiu com a potência de computação para o bloco adicionado pode ser recompensado com um token (por exemplo, unidade monetária digital). Uma vez que a blockchain não tem nó central, cada nó é igual e contém todo o banco de dados de blockchain.
[035]Qs nós são, por exemplo, dispositivos de computação ou sistemas de computador grandes que suportam a rede blockchain e mantém a mesma funcionando suavemente, existem dois tipos de nós, os nós completos e os nós leves. Os nós completos mantêm uma cópia completa da blockchain. Os nós completos a rede blockchain validam transações e blocos que eles recebem e retransmite os mesmos para pares conectados para fornecer verificação de consenso das transações. Os nós leves, por outro lado, transferem por download
Petição 870190037026, de 17/04/2019, pág. 19/76
12/51 apenas uma fração da blockchain. Por exemplo, os nós leves são usados para transações monetárias digitais. Um nó leve irá se comunicar com um nó completo quando o mesmo deseja realizar transações.
[036]Essa propriedade de descentralização pode ajudar a impedir o surgimento de um centro de gerenciamento em uma posição controlada. Por exemplo, a manutenção da blockchain de bitcoin é realizada pela rede de nós de comunicação do software de bitcoin em uma área em execução. Esta revelação usa uma ou mais blockchains ou moedas digitais, tais como bitcoin e Ethereum, como exemplos. Uma pessoa de habilidade comum na técnica deve observar que as soluções da técnica reveladas nesta revelação podem usar ou se aplicar a outros tipos de blockchains e moedas digitais. Ou seja, em vez de bancos, instituições ou administradores no sentido tradicional, existem múltiplos intermediários sob uma forma de servidores de computador que executam software de bitcoin. Esses servidores de computador formam uma rede conectada através da Internet, em que qualquer um pode ingressar potencialmente na rede. As transações acomodadas pela rede podem ser sob uma forma: O “usuário A deseja enviar bitcoins Z para o usuário B”, em que as transações são difundidas para rede com o uso de aplicativos de software prontamente disponíveis. Os servidores de computador funcionam como servidores de bitcoin que são operáveis para validar essas transações financeiras, adicionar um registro das mesmas à sua cópia do razão e, então, difundir essas adições de razão a outros servidores da rede.
[037]A manutenção da blockchain é chamada de “mineração”, e aqueles que fazem tal manutenção são recompensados com bitcoins recentemente criadas e taxas de transação conforme anteriormente mencionado. Por exemplo, nós podem determinar se as transações são válidas com base em um conjunto de regras com as quais a rede blockchain concordou. Os mineradores podem estar localizados em qualquer continente e processar pagamentos verificando cada transação como
Petição 870190037026, de 17/04/2019, pág. 20/76
13/51 válida e adicionando a mesma à blockchain. Tal verificação é obtida através do consenso fornecido por uma pluralidade de mineradores e supõe que não haja conluio sistemático. No final, todos os dados serão consistentes, porque a computação precisa atender certos requisitos para ser válida e todos os nós serão sincronizados para assegurar que a blockchain seja consistente. Desse modo, os dados podem ser consistentemente armazenados em um sistema distribuído de nós de blockchain.
[038]Através do processo de mineração, transações, tais como transferências de ativo são verificadas e adicionadas a uma cadeia crescente de blocos de uma blockchain por nós de rede. Ao atravessar todo a blockchain, a verificação pode incluir, por exemplo, se a parte pagadora tem acesso ao ativo de transferência, se o ativo foi gasto antes, se a quantidade 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 transação não gasta), uma transação de moedas Ethereum sob um modelo Conta/Saldo) aprovada por um remetente, a transação proposta pode ser difundida para a rede blockchain para mineração. Um minerador precisa verificar se a transação é qualificada para ser executada de acordo com o histórico de blockchain. Se o saldo de carteira do remetente tiver fundos de acordo com o histórico de blockchain existente, a transação é considerada válida e pode ser adicionada ao bloco. Uma vez verificadas, as transferências de ativo podem ser incluídas no próximo bloco para serem adicionadas à blockchain.
[039]Um bloco é muito parecido com um registro de banco de dados. Cada que grava dados cria um bloco. Esses blocos são vinculados e protegidos com o uso de criptografia para se tornarem redes interconectadas. Cada bloco é conectado ao bloco anterior, que é também a origem do nome “blockchain”. Cada bloco contém geralmente o hash criptográfico do bloco anterior, o tempo de geração e os dados
Petição 870190037026, de 17/04/2019, pág. 21/76
14/51 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 é vinculada através dos cabeçalhos de bloco. Cada cabeçalho de bloco pode conter múltiplos valores de recurso, tais como versão, hash de bloco anterior, raiz de merkle, carimbo de data/hora, alvo de dificuldade e nonce. O hash de bloco anterior contém não apenas o endereço do bloco anterior, mas também o hash dos dados dentro do bloco anterior tornando, desse modo, as blockchains imutáveis. O nonce é um número que, quando incluído, rende um hash com um número especificado de zero bits à esquerda.
[040]Para mineração, o hash do conteúdo do novo bloco é tomado por um nó. O nonce (por exemplo, cadeia aleatória) é anexado ao hash para obter uma nova cadeia. A nova cadeia é submetida a hash novamente. 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 contrário, o nonce é alterado e o processo é repetido novamente. Em caso afirmativo, então o bloco é adicionado à cadeia e o razão público é atualizado e alertado sobre a adição. O nó responsável pela adição bem-sucedida é recompensado com bitcoins, por exemplo, adicionando-se uma transação de recompensa a si mesmo no novo bloco (conhecido como geração de coinbase).
[041 ]Ou seja, para cada saída Ύ”, se k for escolhido a partir de uma distribuição com ala entropia mínima é inviável encontrar uma entrada x de modo que H(k|x) = Y, em que K é o nonce, x é o hash do bloco, Y é o alvo de dificuldade e indica concatenação. Devido ao fato de que os hashes criptográficos são essencialmente aleatórios, no sentido de que sua saída não pode ser prevista a partir de suas entradas, á apenas um modo conhecido para encontrar o nonce: tentar números inteiros uma após o outro, por exemplo 1, depois 2, depois 3, e
Petição 870190037026, de 17/04/2019, pág. 22/76
15/51 assim por diante, o que pode ser conhecido como força bruta. Quanto maior o número de zeros à esquerda, mais tempo levará em média para encontrar um nonce Y indispensável. 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 seja de cerca de dez minutos. Desse modo, à medida que as capacidades de processamento de hardware de computação aumentam com o tempo, ao longo dos anos, o protocolo de bitcoin irá exigir simplesmente mais bits de zero à esquerda para fazer com que a mineração sempre tenha uma duração de cerca de dez minutos para implementação.
[042]Conforme descrito, hash é uma base importante para blockchain. O algoritmo de hash pode ser entendido como uma função que compacta mensagens de qualquer comprimento em um resumo da mensagem de comprimento fixo. MD5 e SHA são mais comumente usados. Em algumas modalidades, o comprimento de da blockchain é 256 bits, o que significa que não importa qual o conteúdo original, um número binário de 256 bits é finalmente calculado. E pode-se garantir que o hash correspondente é exclusivo desde que o conteúdo original seja diferente. Por exemplo, o hash da cadeia “123” é a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0 (hexadecimal), que tem 256 bits quando convertido em binário, e somente “123” tem esse hash. O algoritmo de hash na blockchain é irreversível, ou seja, o cálculo direto é fácil (de “123” para a8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0), e o cálculo inverso não pode ser feito mesmo se todos os recursos de computação forem esgotados. Desse modo, o hash de cada bloco da blockchain é exclusivo.
[043]Ademais, se o conteúdo do bloco alterar, seu hash irá alterar. O bloco e o hash estão em uma correspondência de 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 cadeia longa e,
Petição 870190037026, de 17/04/2019, pág. 23/76
16/51 então, o hash é calculado para a cadeia. Por exemplo, “Hash = SHA256 (cabeçalho de bloco)” é uma fórmula de cálculo de hash de bloco, SHA256 é um algoritmo de hash de blockchain aplicado ao cabeçalho de bloco. O hash é exclusivamente determinado pelo cabeçalho de bloco, e não pelo corpo de bloco. Conforme mencionado acima, o cabeçalho de bloco contém muito conteúdo, incluindo o hash do bloco atual, e o hash do bloco anterior. Isso significa que se o conteúdo do bloco atual alterar, ou se o hash do bloco anterior alterar, o mesmo pode causar uma alteração de hash no bloco atual. Se um hacker modifica um bloco, o hash desse bloco altera. Para que um bloco posterior se conecte ao bloco modificado, o hacker precisa modificar todos os blocos subsequentes, porque o próximo bloco precisa conter o hash do bloco anterior. De outro modo, o bloco modificado será separado da blockchain. Devido a razões de projeto, cálculos de hash são demorados, e é quase impossível modificar múltiplos blocos em um curto período de tempo, exceto se o hacker masterizou mais de 51% da potência de computação de toda a rede. Desse modo, a blockchain garante sua própria confiabilidade, e uma vez que os dados são gravados, não podem ser adulterados.
[044]Uma vez que o minerador encontra o hash (ou seja, um assinatura ou solução qualificada) para o novo bloco, o minerador difunde essa assinatura para todos os outros mineradores (nós da blockchain). Outros mineradores agora verificam, por sua vez, se essa solução corresponde ao problema do bloco do remetente (ou seja, determinam se a entrada de hash realmente resulta nessa assinatura). Se a solução é válida, os outros mineradores irão comprometer a solução e concordar que o novo bloco pode ser adicionado à blockchain. Desse modo, o consenso do novo bloco é alcançado. Isso também é conhecido como “prova de trabalho”. O bloco para o qual o consenso foi alcançado agora pode ser adicionado à blockchain e ser difundido para todos os nós na rede juntamente com sua assinatura. Os nós irão aceitar o bloco e salvar o mesmo para seus dados de
Petição 870190037026, de 17/04/2019, pág. 24/76
17/51 transação desde que as transações dentro do bloco correspondam corretamente aos sados de carteira atuais (histórico de transações) nesse ponto no tempo. Toda vez que um novo bloco é adicionado no topo desse bloco, a adição também conta como outra “confirmação” para o blocos antes disso. Por exemplo, se uma transação é incluída no bloco 502, e a blockchain tiver 507 blocos de comprimento, isso significa que a transação tem cinco confirmações (que correspondem aos blocos 507 a 502). Quanto mais confirmações a transação tem, mais difícil será para os invasores alterarem.
[045]Em algumas modalidades, um sistema de ativo de blockchain exemplificative utiliza criptografia de chave pública, e que suas 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 da 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ções, capital próprio, vínculo) associada a um determinado endereço de ativo pode ser demonstrada com conhecimento da chave privada que pertence ao endereço. Por exemplo, o software de carteira de bitcoin, algumas vezes chamado de “software de cliente de bitcoin”, permite que um determinado usuário realize transações de bitcoins. Um programa de carteira gera e armazena chaves privadas e se comunica com pares na rede de bitcoin.
[046]Nas transações de blockchain, os pagadores e beneficiários são identificados na blockchain por suas chaves criptográficas públicas. Por exemplo, a maioria das transferências de bitcoin contemporâneas são de uma chave pública para uma chave pública diferente. Na prática, hashes dessas chaves são usados na blockchain e são chamados de “endereços de bitcoin”. Em princípio, se um invasor hipotético S pudesse roubar dinheiro da pessoa A simplesmente adicionando-se
Petição 870190037026, de 17/04/2019, pág. 25/76
18/51 transações ao razão de blockchain como “a pessoa A paga à pessoa S 100 bitcoins”, com o uso dos endereços de bitcoin dos usuários em vez de seus nomes, o protocolo de bitcoin impede esse tipo de roubo ao exigir que cada transferência seja digitalmente assinada com a chave privada do pagador, e apenas as transferências assinadas podem ser adicionadas ao razão de blockchain. Uma vez que a pessoa S não pode forjar a assinatura da pessoa A, a pessoa S não pode defraudar a pessoa A ao adicionar uma entrada à blockchain equivalente a “pessoa A paga à pessoa S 200 bitcoins”. Ao mesmo tempo, qualquer um pode verificar a assinatura da pessoa A usando sua chave pública e, portanto autorizou qualquer transação na blockchain em que ele é o pagador.
[047]No contexto de transação de bitcoin, para transferir algumas bitcoins para o usuário Β, 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 a chave de assinatura do usuário A (chave privada) e contém a chave de verificação pública do usuário A e a chave de verificação pública do usuário Β. A assinatura é usada para comprometer que a transação se originou do usuário, e também impede que a transação seja alterada por qualquer um, uma vez que foi emitida. O registro agrupado com outro registro que ocorreu na mesma janela de tempo em um novo bloco pode ser difundido para os nós completos. Após receber os registros, os nós completos podem trabalhar na incorporação dos registros no razão de todas as transações que já ocorreram no sistema de blockchain, adicionando o novo bloco a uma blockchain anteriormente aceito através do processo de mineração descrito acima, e validar o bloco adicionado e, relação às regras de consenso da rede.
[048]O modelo UTXO (saída de transação não gasta) e o modelo de Conta/Saldo são dois modelos exemplificativos 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
Petição 870190037026, de 17/04/2019, pág. 26/76
19/51 podem ser usadas como entradas em novas transações. Por exemplo, o ativo do usuário A pode ser transferido em uma forma de UTXO. Para gastar (realizar transação) o ativo, o usuário A precisa aprovar com a chave privada. Bitcoin é um exemplo de moeda digital que usa o modelo UTXO. No caso de uma transação de blockchain válida, saídas não gastas podem ser usadas para efetuar transações adicionais. Em algumas modalidades, apenas as saídas não gastas podem ser usadas em transações adicionais para evitar gasto duplicado e fraude. Por essa razão, entradas em uma blockchain são excluídas quando uma transação ocorre, enquanto, ao mesmo tempo, as saídas são criadas na forma de UTXOs. Essas saídas de transação não gastas podem ser usadas (pelos titulares de chaves privada, por exemplo, pessoas com carteiras monetárias digitais) para o propósito de futuras transações.
[049]O modelo de Conta/Saldo (ou chamado de 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 assegurar que seja maior ou igual à quantidade de transação gasta. Um exemplo de como o Modelo de Conta/Saldo funciona em Ethereum é fornecido:
[050]1. Alice ganha 5 éteres através de mineração. É registrado no sistema que Alice tem 5 éteres.
[051 ]2. Alice deseja dar Bob 1 éter, então o sistema irá primeiro deduzir 1 éter da conta da Alice, então Alice tem agora 4 éteres.
[052]3. O sistema então aumenta a conta do Bob em 1 éter. O sistema sabe que Bob tem 2 éteres para começar, portanto o saldo do Bob é aumentado em 3 éteres.
[053]A manutenção de registros para Ethereum pode ser como aquela em um banco. Uma analogia é usar um caixa eletrônico (ATM)/cartão de débito. O banco rastreia quanto dinheiro cada cartão de débito tem, e quando Bob precisa
Petição 870190037026, de 17/04/2019, pág. 27/76
20/51 gastar dinheiro, o banco verifica seu registro para assegurar que Bob tem saldo suficiente antes de aprovar a transação.
[054]Uma vez que a blockchain e outros razões similares são completamente públicos, a própria blockchain não tem proteção de privacidade. A natureza pública da rede P2P significa que, embora aqueles que usam a mesma não sejam identificados por nome, a ligação de transações a indivíduos e empresas é viável. Por exemplo, nas remessas internacionais ou na cadeia de fornecimento, o valor da transação tem um nível de valor de proteção de privacidade extremamente alto, porque com as informações de quantidade de transação, é possível inferir a localização e identidades específicas das partes da transação. O assunto da transação pode compreender, por exemplo, dinheiro, moeda digital, contrato, escritura, registo médico, detalhes de cliente, ações, vínculos, capital próprio ou qualquer outro ativo que possa ser descrito em forma digital. Embora o modelo UTXO possa fornecer anonimato para quantidades de transação, por exemplo, através da assinatura de anel em criptografia de Monero e conhecimento de nulo de Zcash, quantidades de transação permanecem desprotegidas sob o Modelo de Conta/Saldo. Desse modo, um problema da técnica abordado pela presente revelação consiste em como proteger as informações online, tal como a privacidade de quantidades de transação. Tais transações podem estar sob o Modelo de Conta/Saldo.
[055]Algumas tecnologias existentes propõem o uso do esquema de compromisso de Pedersen para criptografar a quantidade de transação e substituir o Modelo de Conta/Saldo. Sob o esquema, o remetente envia a quantidade de transação e um número aleatório que corresponde ao compromisso de Pedersen da quantidade de transação para o beneficiário através de um canal seguro fora da blockchain. O beneficiário verifica se o número aleatório corresponde ao compromisso de transação e realiza armazenamento local. Por exemplo, sob o
Petição 870190037026, de 17/04/2019, pág. 28/76
21/51
Modelo de Conta/Saldo, uma conta pode ser tratada como uma carteira (conta) para manter os ativos que são agregados, porém não mesclada. Cada ativo pode corresponder a um tipo de ativo (por exemplo, criptomoeda), e o saldo da conta é a soma dos valores de ativo. Mesmo os ativos do mesmo tipo não são mesclados. Durante a transação, um destinatário de um ativo de transferência 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 de pagamento tem ativo(s) suficiente para cobrir a transação e, então, os nós excluem o ativo transferido da carteira de pagamento e adicionar um ativo correspondente a uma carteira de destinatário.
[056]Entretanto, ainda existem limitações para tal esquema. Primeiro, o esquema exige que o usuário mantenha um armazenamento persistente localmente para gerenciar os números aleatórios e saldos de texto não criptografado que correspondem ao saldo de conta criptografado e a implementação de gerenciamento é complicada; segundo, o armazenamento dos fatores randômicos (por exemplo, os números aleatórios) e os saldos de texto não criptografado que correspondem ao “ativo de Pedersen” em um único nó local é propenso a perda ou corrupção, enquanto o armazenamento de backup de vários nós é difícil de realizar devido à mudança frequente do saldo da conta.
[057]Os sistemas e métodos apresentados nesta revelação podem superar as limitações acima e alcançar proteção de privacidade robusta para quantidades de transação, valores de ativo e fatores randômicos em esquemas de compromisso. Com essa finalidade, o protocolo de criptografia homomórfica pode ser usado para criptografar/descriptografar números aleatórios e os saldos de texto não criptografado fornecendo, desse modo, gerenciamento conveniente. Ademais, o armazenamento de informações criptografadas na blockchain assegura que as quantidades de transação, valores de ativo e fatores randômicos em esquemas de
Petição 870190037026, de 17/04/2019, pág. 29/76
22/51 compromisso não sejam facilmente perdidos ou adulterados.
[058]Em algumas modalidades, um esquema de compromisso (por exemplo, compromisso de Pedersen) pode criptografar o determinado valor a (por exemplo, quantidade de transação, valor de ativo, parâmetro de chave) da seguinte forma:
PC(a) = rXG + a’lH [059]em que r é um fator randômico aleatório (alternativamente chamado de fator randômico) que fornece 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 fornecido para a contraparte, e H é outro ponto de curva. Ou seja, G e H podem ser parâmetros conhecidos para os nós. Uma geração de “nothing up my sleeve” de H pode ser gerada por hash do ponto de base G com um mapeamento de função de hash 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 o mencionado acima forneça um exemplo de compromisso de Pedersen na forma de curva elíptica, várias outras formas de compromisso de Pedersen ou outros esquemas de compromisso podem ser alternativamente usados.
[060]A esquema de compromisso mantém sigilo de dados, mas se compromete com os dados para que não possam ser alterados posteriormente pelo remetente dos dados. Se um terceiro sabe apenas o valor de compromisso (por exemplo, PC(a)), ele não pode determinar com quais valores de dados subjacentes (por exemplo, a) se comprometeram. 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.
Petição 870190037026, de 17/04/2019, pág. 30/76
23/51 [061 ]0s esquemas de compromisso são um modo para o remetente (parte comprometida) se comprometer com um valor (por exemplo, a) de modo que o valor comprometido permaneça privado, porém possa ser revelado em um tempo posterior qu7ando a parte comprometida divulga um parâmetro necessário do processo de compromisso. Os esquemas de compromisso fortes podem ser tanto a ocultação de informações quanto a vinculação computacional. A ocultação refere-se à noção de que um determinado valor e um compromisso desse valor PC(a) devem ser não relacionados. Ou seja, PC(a) não deve revelar informações sobre a. Com PC(a), G, e H conhecidos, é quase impossível saber a devido ao número aleatório r. A esquema de compromisso é vinculado se não houver modo plausível em que dois valores diferentes possam resultar no mesmo compromisso. Um compromisso de Pedersen é perfeitamente oculto e computacionalmente vinculado sob a suposição de logaritmo discreto. Ademais, com r, G, H e PC(a) conhecidos, é possível verificar x x
PC(a) ao determinar se PC(a) = r G + a H.
[062]Um compromisso de Pedersen tem uma propriedade adicional: compromissos podem ser adicionados, e a soma de um conjunto de compromissos é igual a uma compromisso para soma de dados (comum fator randômico definido como a soma de fatores randômicos): PC(ri, dados-ι) + PC(r2, dados2) == PC(n+r2, datai+dados2); PC(n, dadosí) - PC(n, dadosí) == 0. Em outras palavras, o compromisso preserva a adição e aplica-se a propriedade comutativa, ou seja, o compromisso de Pedersen é aditivamente homomórfico, pelo fato de que os dados subjacentes podem ser manipulados matematicamente como se não fossem criptografados.
[063]Em uma modalidade, um compromisso de Pedersen usado para criptografar o valor de entrada pode ser construído com o uso de pontos de curva elíptica. De modo convencional, uma pubkey de criptografia de curva elíptica (ECC) é criada multiplicando-se um gerador para o grupo (G) com a chave secreta (r):
Petição 870190037026, de 17/04/2019, pág. 31/76
24/51
Pub=rG. O resultado pode ser serializado como uma matriz de 33 bytes. As chaves públicas ECC podem obedecer a propriedade aditivamente homomórfica anteriormente mencionada em relação aos compromissos de Pedersen. Ou seja: Pub1+Pub2=(r1+r2(mod n))G.
[064]O compromisso de Pedersen para o valor de entrada pode ser criado escolhendo um gerador adicional para o grupo (H, nas equações abaixo) de modo que ninguém conheça o log discreto do segundo gerador H em relação ao primeiro gerador G (ou vice-versa), ou seja, ninguém conhece um x de modo que rG = H. Isso pode ser realizado, por exemplo, como uso do hash criptográfico de G para escolher H: H=to_point(SHA256(ENCODE(G))).
[065]Dados os dois geradores G e H, um esquema de compromisso exemplificative para criptografar o valor de entrada pode ser definido como: compromisso=rG+aH. Aqui, r pode ser um fator randômico secreto, e a pode ser o valor de entrada que é comprometido. Portanto, se sn for comprometido, o esquema x x de compromisso descrito acima PC(a) = r G + a H pode ser obtido. Os compromissos de Pedersen são informações teoricamente privadas: para qualquer compromisso, existe algum fator randômico que pode fazer com que qualquer quantidade corresponda ao compromisso. Os compromissos de Pedersen podem ser computacionalmente seguros contra compromisso falso, pelo fato de que o mapeamento arbitrário não pode ser computado.
[066]A parte (nó) que comprometeu o valor pode abrir o compromisso revelando o valor original a e o fator r que completa a equação de compromisso. A parte que deseja abrir o valor PC(a) irá, então computar o compromisso novamente para verificar que o valor original compartilhado, de fato, corresponde ao compromisso PC(a) inicialmente recebido. Desse modo, as informações de tipo de ativo podem ser protegidas mapeando-as para um número de série exclusivo e, então, criptografando-as por meio do compromisso de Pedersen. O número aleatório
Petição 870190037026, de 17/04/2019, pág. 32/76
25/51 r escolhido ao gerar o compromisso torna quase impossível que qualquer um infira o tipo de ativo que é comprometido de acordo com o valor de compromisso PC(a).
[067]Durante as transações, a proteção de informações é importante para proteger a privacidade de usuário, e a quantidade de transação é um tipo de informações que é desprovido de proteção. A Figura 1 mostra um sistema exemplificativo 100 para proteção de informações, de acordo com várias modalidades. Conforme mostrado, uma rede 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), os nós completos com determinado nível de poder de voto podem ser chamados de nós de consenso, que assumem a responsabilidade da 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.
[068]Também, conforme mostrado na Figura 1, o usuário A e o usuário B podem usar dispositivos correspondentes, tais como computadores do tipo laptop 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 ao transferir algum ativo na conta do usuário A para 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 adequado para a transação. O dispositivo do usuário A pode ser chamado de um nó iniciador A que inicia uma transação com o dispositivo do usuário B chamado de nó de destinatário B. O nó A pode acessar a blockchain através da comunicação com o nó 1, e o nó B pode acessar a blockchain através da comunicação com o nó 2. Por exemplo, o nó A e o nó B podem enviar transações para a blockchain através do nó 1 e do nó 2 para solicitar a adição das transações à blockchain. Fora da blockchain, o nó A e o nó B podem ter outros canais de comunicação (por exemplo, a comunicação de internet regular sem passar através dos nós 1 e 2).
Petição 870190037026, de 17/04/2019, pág. 33/76
26/51 [069]Cada um dos nós na Figura 1 pode compreender um processador e um meio de armazenamento legível por computador não transitório que armazena instruções que, quando executadas pelo processador, fazem com que o nó realize várias etapas para proteção de informações descritas no presente 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ó descritos posteriormente com referência à Figura 5.
[070]A Figura 2 ilustra etapas exemplificativas para transação e verificação entre um nó de remetente A, um nó de destinatário B e e ou mais nós de verificação, de acordo com várias modalidades. As operações apresentadas abaixo se destinam a ser ilustrativas. Dependendo da implementação, as etapas exemplificativas podem incluir etapas adicionais, menos etapas ou etapas alternativas realizadas em várias ordens ou em paralelo.
[071 ]Em várias modalidades, contas de partes de transação (usuário remetente A e usuário destinatário B) são configuradas para o Modelo de Conta/Saldo. O usuário A e o usuário B podem realizar as seguintes etapas para realizar a transação através de um ou mais dispositivos, tais como seu computador do tipo laptop, telefone móvel, etc. Os dispositivos podem ser instalados com software e hardware adequado para realizar as várias etapas. Cada conta pode ser associada a um ou mais pares de chaves criptográficas privadas (chave secreta) e públicas. Por exemplo, cada conta pode ser associada a (1) um primeiro par de chaves com uma primeira chave privada SK_1 e uma primeira chave pública PK_1, e (2) um segundo par de chaves com uma segunda chave privada SK_2 e uma segunda chave pública PK_2. o primeiro par de chaves pode ser chamado de par de chaves de endereço para endereçar a conta correspondente. O segundo par de chaves pode ser chamado de um par de chaves homomórficas. O segundo par de
Petição 870190037026, de 17/04/2019, pág. 34/76
27/51 chaves pode se basear na criptografia homomórfica, que e uma forma de criptografia que permite a computação em textos não criptografados (por exemplo, criptografias a partir da realização da criptografia homomórfica em dois ou mais conjuntos de dados), gerando um resultado criptografado que, quando descriptografado, corresponde ao resultado das operações como se tivessem sido realizadas no texto não criptografado. A criptografia homomórfica pode compreender, por exemplo, criptografia homomórfica de Elgamal, criptografia homomórfica de Paillier, criptografia homomórfica de Benaloh,criptografia homomórfica de OkamotoUchiyama, criptografia homomórfica de Naccache-Stern, criptografia homomórfica de Damgârd-Jurik, criptografia homomórfica de Boneh-Goh-Nissim, etc. A criptografia homomórfica pode suportar descriptografia.
[072]Ademais, cada conta pode conter vários ativos, cada um indicado como: (V=PC(r, v), HE(K, r, v)), em que v representa o valor de face do ativo, V representa um compromisso de Pedersen do valor de face v, r é um fator randômico (por exemplo, um número aleatório), PC() é um algoritmo de compromisso de Pedersen, HE() é um algoritmo de criptografia (por exemplo, algoritmo de criptografia homomórfica), e K é uma chave de criptografia, que pode ser uma chave pública. Em um exemplo, cada ativo pode ser indicado como (V=PC(r, v), HE(K, r||v)), em que || representa concatenação. Cada ativo também pode incluir informações diferente daquelas listadas, tais como as informações de origem do ativo.
[073]Em um exemplo, antes de o usuário A realizar a transação bemsucedida de uma quantidade t para o usuário B em uma transação verificada por blockchain, a conta do usuário A e a conta do usuário B compreendem as seguintes informações:
[074]Para a Conta de A (conta A):
Primeiro par de chaves de A: (SK_1_A, PK_1_A)
Segundo par de chaves de A: (SK_2_A, PK_2_A)
Petição 870190037026, de 17/04/2019, pág. 35/76
28/51
Os ativos A_1 a A_m, respectivamente, de valores a_1 a a_m são indicados como:
(A_1=PC(r_{a_1}, a_1), HE(PK_2_A, r_{a_1 }||a_1)), (A_2=PC(r_{a_2}, a_2), HE(PK_2_A, r_{a_2}||a_2)), (A_m=PC(r_{a_m}, a_m), HE(PK_2_A, r_{a_m}||a_m)) [075] Para a Conta de B (conta B):
Primeiro par de chaves de B: (SK_1_B, PK_1_B)
Segundo par de chaves de B: (SK_2_B, PK_2_B)
Os ativos B_1 a B_n, respectivamente, de valores b_1 a b_n são indicados como:
(B_1=PC(r_{b_1}, b_1), HE(PK_2_B, r_{b_1 }||b_1)), (B_2=PC(r_{b_2}, b_2), HE(PK_2_B, r_{b_2}||b_2)), (B_n=PC(r_{b_n}, b_n), HE(PK_2_B, r_{b_n}||b_n)), [076]Em algumas modalidades, a geração de chave pode se basear na curva elíptica ecp256k1 para cada conta sob o modelo de Conta/Saldo. Por exemplo, em Ethereum ecp256k1, qualquer número entre 1 e 2256-1 pode ser uma chave privada válida SK. Uma boa biblioteca gera uma chave privada levando em conta a aleatoriedade suficiente. Ethereum exige que a chave privada SK tenha 256 bits de comprimento. A geração de chave pública é feita com o uso da operação de grupo de criptografia 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 é a multiplicação 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 da criptografia 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.
Petição 870190037026, de 17/04/2019, pág. 36/76
29/51 [077]Em algumas modalidades, na etapa 201, o nó A pode iniciar uma transação com o nó B. Por exemplo, o usuário A e o usuário B pode negociar uma quantidade de transação t da conta A do usuário A para 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, moeda digital, contrato, escritura, registo médico, detalhes de cliente, ações, vínculos, capital próprio ou qualquer outro ativo que possa ser descrito em 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 da blockchain, as informações de blockchain que compreendem, por exemplo, NoteType que representa o tipo de ativo, Notei D que representa a identificação exclusiva do ativo, valores de compromisso que representam um valor de compromisso (por exemplo, compromisso de Pedersen) do valor de ativo, criptografia de número aleatório e valor de ativo, etc.
[078]Conforme descrito em relação à conta A, em algumas modalidades, ativos A_1 a A_m correspondem respectivamente aos valores de ativo 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 de ativo na conta A para 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, em que PC_i = PC(r_{a_i}, aj) = r_{a_i}xG + a_ixH, em que G e H são parâmetros conhecidos, e i se situa entre 1 e m. Além do primeiro campo PC(...), cada ativo também é associado a um segundo campo HE(...) conforme descrito anteriormente. O segundo campo HE(...) pode representar uma criptografia do número aleatório correspondente e do valor de ativo criptografado com a chave PK_2_A. Por exemplo, a criptografia pode ser HE(PK_2_A, r_{a_i}||a_i)). O PC (...) e HE (...) para cada ativo podem ser herdados
Petição 870190037026, de 17/04/2019, pág. 37/76
30/51 de transações anteriores. O mesmo mecanismo se aplica à conta B e seus ativos.
[079]Em algumas modalidades, para satisfazer a quantidade de transação t, o usuário A pode usar a chave PK_2_A para descriptografar um ou mais ativos de um valor agregado pelo menos t a partir da conta A. Por exemplo, o nó A pode derivar os ativos A_1, A_2, ..., A_k para essa transação, em que k é menor ou igual a m. Os ativos restantes A_k+1, A_k+2, ..., A_m da conta A são não derivados. Correspondentemente, o nó A pode ler ativos PC(r_{a_1}, a_1), PC(r_{a_2}, a_2), ..., PC(r_{a_k}, a_k) a partir do nó 1. Com os números aleatórios r_{a_1}, r_{a_2}, ..., r_{a_k} conhecidos para o nó A, o nó A pode descriptografar os ativos lidos PC(r_{a_1}, a_1), PC(r_{a_2}, a_2), ..., PC(r_{a_k}, a_k) para obter valores de ativo a_1, a_2, ..., a_k para assegurar que a soma (a_1 + a_2 + ... + a_k) não seja menor que a quantidade de transação t. Ativos diferentes podem ser trocados entre si dentro da conta com base em várias taxas.
[080]Em algumas modalidades, a quantidade do valor de ativo selecionado em excesso de t, se houver, é definida como y como a alteração.. Por exemplo, o nó A pode determinar a alteração y = (a_1 + a_2 + ... + a_k) -1. O nó A pode selecionar números aleatórios r_t e r_y como fatores randômicos para gerar compromissos de Pedersen commitments 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 para um esquema de compromisso para obter o valor de compromisso T = PC(r_t, t), e comprometer y e r_y para um esquema de compromisso para obter o valor de compromisso Y = PC(r_y, y).
[081]Ademais, em algumas modalidades, o nó A pode usar a chave pública do usuário B PK_2_B para criptografar (r_t||t), que gera a criptografia HE(PK_2_B, r_t||t), e usar a chave pública PK_2_A para criptografar (r_y||y), que gera a criptografia HE(PK_2_A, r_y||y). A Figura 3A e a Figura 3B podem seguir esse exemplo. A alternativa para obter a criptografia HE(PK_2_B, r_t||t) pelo nó A, o
Petição 870190037026, de 17/04/2019, pág. 38/76
31/51 usuário A pode enviar r_t e t para o nó B juntamente com as informações de transação, fazendo com que o nó B gere uma segunda chave para criptografar (r_t||t) with PK_2_B. O nó B pode enviar a criptografia para o nó A para permitir que o nó A verifique. A Figura 4A e a Figura 4B podem seguir esse exemplo. Embora a concatenação seja usada em vários exemplos desta revelação, combinações alternativas de entradas, saídas ou outros parâmetros podem ser usadas para a função de criptografia ou outra operação.
[082]Ademais, em algumas modalidades, o nó A pode gerar uma prova de alcance RP para provar para os nós de blockchain se o valor de T=PC(r_t, t) e o valor de Y=PC(r_y, y) estão, cada um, dentro de uma faixa válida. Por exemplo, para ter os valores válidos de T=PC(r_t, t), a quantidade de transação t pode estar dentro de uma faixa válida [0, 2n-1]; e para ter os valores válidos de Y=PC(r_y, y), a alteração y pode estar dentro de uma faixa válida [0, 2n-1 ]. Em uma modalidade, o nó A pode usar a técnica de prova de bloco para gerar a prova de alcance 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 quantidade de transação t e a alteração y estão dentro da faixa válida com base na prova de alcance. A prova de alcance pode compreender, por exemplo, Bulletproofs, assinatura de anel de Borromeano, etc.
[083]Na etapa 202, o nó A pode enviar as informações de transação para o nó B (por exemplo, através de um canal seguro fora da blockchain). As informações de transação enviadas podem compreender, por exemplo, o valor de compromisso T=PC(r_t, t), valor de compromisso Y=PC(r_y, y), criptografia HE(PK_2_B, r_t||t), criptografia HE(PK_2_A, r_y||y), prova de alcance RP, etc. O valor de compromisso Y=PC(r_y, y), criptografia HE(PK_2_A, r_y||y), e prova de alcance RP podem ser opcionais porque o nó B não se importar com a alteração enviada de volta para a conta A. Em algumas modalidades, a transmissão através do canal de comunicação
Petição 870190037026, de 17/04/2019, pág. 39/76
32/51 fora de blockchain pode impedir que as informações de transação sejam registradas na blockchain e impedir que nós diferentes do nó de remetente A e do nó de destinatário B obtenham as informações de transação. HE(PK_2_A, r_y||y) pode não precisar ser enviado para o nó B, porém pode ser necessário no futuro para que o usuário A gaste a alteração y uma vez que a alteração deve ser retornada para a conta A.
[084]Na etapa 203, o nó B pode verificar o número aleatório r_t, a quantidade de transação t, e o valor de compromisso T. Em algumas modalidades, o nó B pode usar a chave privada SK_2_B para descriptografar a criptografia HE(PK_2_B, 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 corresponde 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 quantidade 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 para responder ao nó A na etapa 204.
[085]Na etapa 204, o nó B pode assinar a transação com a chave privada do usuário B SK_1_B para gerar uma assinatura SIGB. A assinatura pode seguir o Algoritmo de Assinatura Digital (DSA) tal como o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA), de modo que o receptor da assinatura possa verificar a assinatura com a chave pública do signatário (por exemplo, PK_1_B nesse caso) para autenticar os dados assinados. A assinatura SIGB indica que o nó de destinatário B concorda com a transação.
[086]Na etapa 205, o nó B pode transmitir a transação assinada de volta para o nó A com a assinatura SIGB.
[087]Na etapa 206, se SIGB não for verificada de maneira bem-sucedida, o nó A pode rejeitar a transação. Se SIGB for verificada de maneira bem-sucedida, o
Petição 870190037026, de 17/04/2019, pág. 40/76
33/51 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 (HE(PK_2_B, r_t||t); HE(PK_2_A, r_y||y); Y; T; RP) com a chave privada do usuário A para gerar a assinatura SIGA.
[088]Na etapa 207, o nó A pode enviar a transação para a blockchain, fazendo com que a blockchain verifique a transação e determine se deve adicionar a transação à blockchain. Em uma modalidade, o nó A pode enviar a transação (HE(PK_2_B, r_t||t); HE(PK_2_A, r_y||y); Y; T; r’; RP; SIGA; SIGB) para a blockchain através do nó 1 para executar a transação, r’ = r_1 + ... + r_k - r_t - r_y. A transação pode compreender parâmetros adicionais ou pode não compreender todos os parâmetros listados. A transação pode ser difundida para um ou mais nós (por exemplo, nós de consenso) na blockchain para verificação. Se a verificação for bemsucedida, a transação é adicionada à blockchain. Se a verificação falhar, rejeita-se a transação da adição da blockchain.
[089]Nas etapas 208 a 213, o um ou mais nós (por exemplo, nós de consenso) verificam as assinaturas, prova de alcance e outras informações da transação enviada. Se a verificação falha, os nós rejeitam a transação. Se a verificação for bem-sucedida, os nós aceitam a transação, atualizam a conta do usuário A e do usuário B separadamente.
[090]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 endereço de transação TXID, assinatura(s), entrada e saída. sTXID pode compreender o hash do conteúdo de transação. As assinaturas podem compreender assinaturas de criptochave pelo remetente e destinatário. A entrada pode compreender um endereço da conta do remetente na blockchain, um ou mais ativos derivados partir da conta de blockchain do remetente para transação,
Petição 870190037026, de 17/04/2019, pág. 41/76
34/51 etc. A saída pode compreender um endereço da conta do destinatário, tipo(s) de ativo do ativo(s) de destinatário, valor(es) de compromisso do ativo(s) de destinatário, etc. A entrada e a saída podem compreender informações indexadas em uma forma tabular. Em algumas modalidades, o valor do valor Notei D pode ser “o TXID + um índice do ativo na saída”. A primeira chave pública PK_1_A do remetente pode servir como o endereço para a conta A, e a primeira chave pública PK_1_B do destinatário pode servir como o endereço para a conta B.
[091 ]Em algumas modalidades, o um ou mais nós da blockchain podem verificar a transação enviada (HE(abG, r_t||t); HE(aaG, r_y||y); Y; T; RP; SIGA; SIGB).
[092]Na etapa 208, os nós podem verificar se a transação foi executada com o uso de um mecanismo antigasto duplo ou mecanismo de ataque antirreprodução. Se a transação foi executada, os nós podem rejeitar a transação; de outro modo, o método pode prosseguir para a etapa 209.
[093]Na etapa 209, os nós podem verificar as assinaturas SIGA e SIGB (por exemplo, com base em uma chave pública de A e chave pública de B, respectivamente). Se qualquer uma das assinaturas estiver incorreta, os nós podem rejeitar a transação; de outro modo, o método pode prosseguir para a etapa 210.
[094]Na etapa opcional 210, os nós podem verificar se os tipos de ativo são consistentes. Por exemplo, os nós podem verificar se os tipos de ativo no NoteType para A_1 a A_k são consistentes com o tipo(s) de ativo da quantidade de transação t. Se qualquer um dos tipos de ativo for inconsistente, os nós podem rejeitar a transação; de outro modo, o método pode prosseguir para a etapa 211. Em algumas modalidades, o tipo de ativo original na carteira pode ter sido convertido em outro tipo com base em uma taxa de câmbio, e essa etapa pode ser ignorada.
[095]Na etapa 211, os nós podem verificar a prova de alcance RP para validar o valor de PC(r_t, t) e o valor de PC(r_y, y). Em uma modalidade, os nós
Petição 870190037026, de 17/04/2019, pág. 42/76
35/51 podem verificar a prova de alcance RP para verificar se a quantidade de transação t não é menor que zero e a alteração y não é menor que zero. Se a verificação falhar, os nós podem rejeitar a transação; de outro modo, o método pode prosseguir para a etapa 212.
[096]Na etapa 212, os nós podem verificar se as entradas e as saídas da transação são consistentes. Em uma modalidade, r’ pode corresponder ao valor de ativo t’ = a_1 + ... + a_k -1 - y com base na propriedade homomórfica, em que r’ = r_1 + ... + r_k - r_t - r_y. Uma vez que os ativos de entrada são a_1 a a_k e a saída é t + y, t’ = 0 quando a entrada e a saída são consistentes: a_1 + ... a_k = t + y. Desse modo, o valor de compromisso que corresponde a r’ é PC(r’, t’) = r’xG + t’xH = r’G. Uma vez que r’ = r_1 + ... + r_k - r_t - r_y, os nós podem determinar se as entradas e saídas são iguais ao verificar se r’G é igual a PC_1 + ... + PC_k - T - Y que corresponde a r_1 + ... + r_k - r_t - r_y. Se r’G for igual a PC_1 + ... + PC_k - T Y, os nós podem determinar que as entradas e as saídas da transação são consistentes e prosseguir para a próxima etapa; de outro modo, os nós podem determinar que as entradas e as saídas da transação são inconsistentes e rejeitar a transação.
[097]Na etapa 213, os nós podem verificar se o nó A tem o ativo(s) derivado para a transação. Em uma modalidade, os nós podem realizar essa verificação com base nas informações armazenadas na blockchain, tais como informações que correspondem à conta A. As informações podem compreender informações de transação anteriores de todos os ativos. Os nós podem, desse modo, 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; de outro modo, o método pode prosseguir para a etapa 214.
[098]Na etapa 214, os nós podem atualizar a conta A ea conta B. Por exemplo, os nós podem remover o ativo de transação da quantidade t da conta A, e
Petição 870190037026, de 17/04/2019, pág. 43/76
36/51 adicionar o mesmo à conta B. Com base na propriedade homomórfica, uma vez que Y = PC(r_y, y) e o nó 1 conhece r_y e pode acessar o valor de compromisso Y a partir da blockchain, o nó 1 pode descriptografar Y para obter o valor de ativo 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 da blockchain o valor de compromisso T. Desse modo, o nó 2 pode descriptografar T para obter o valor de ativo t e adicionar o mesmo à conta B.
[099]Em um exemplo, após a atualização da conta A e da conta B, a conta A recebe a alteração y para os ativos derivados A_1, A_2, ..., A_k e recebe seus ativos não derivados A_k+1, ..., A_m, e a conta B recebe a quantidade de transação t e recebe seus ativos originais B_1, B_2, ..., B_n. Os ativos na conta de A e na conta de B são da seguinte forma:
[0100]Para a Conta de A (conta A), os ativos atualizados são indicados como:
(Y=PC(r_y, y), HE(PK_2_A, r_y||y)), (A_k+1=PC(r_{a_ k+1}, a_ k+1), HE(PK_2_A, r_{a_ k+1 }||a_ k+1)) (A_k+2=PC(r_{a_ k+2}, a_ k+2), HE(PK_2_A, r_{a_ k+2}||a_ k+2)) (A_m=PC(r_{a_m}, a_m), HE(PK_2_A, r_{a_m}||a_m)) [0101]Para a Conta de B (conta B), os ativos atualizados são indicados como:
(B_1=PC(r_{b_1}, b_1), HE(PK_2_B, r_{b_1 }||b_1)), (B_2=PC(r_{b_2}, b_2), HE(PK_2_B, r_{b_2}||b_2)), (B_n=PC(r_{b_n}, b_n), HE(PK_2_B, r_{b_n}||b_n)), (T=PC(r_t, t), HE(PK_2_B, r_t||t)) [0102]Embora esta revelação use o nó A/usuário A e nó B/usuário B para
Petição 870190037026, de 17/04/2019, pág. 44/76
37/51 ilustrar o remetente e o destinatário respectivamente, o remetente e o destinatário podem ser o mesmo nó/usuário. Por exemplo, a alteração y de uma transação (ativos derivados totais na conta A menos a quantidade de transação) pode ser enviada de volta para o remetente da transação. Desse modo, as várias etapas realizadas pelo nó B, conforme descrito no presente documento, podem ser alternativamente realizadas pelo nó A.
[0103]A Figura 3A ilustra a fluxograma de um método exemplificativo 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, nó A, nó 1, uma combinação do nó A e do 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 um meio de armazenamento legível por computador não transitório (por exemplo, memória) que armazena instruções. As instruções, quando executadas pelo processador, fazem com que o sistema ou dispositivo (por exemplo, o processador) realize o método 300. As operações do método 300 apresentado abaixo se destinam a ser ilustrativas. Dependendo da implementação, o método exemplificativo 300 pode incluir etapas adicionais, menos etapas ou etapas alternativas realizadas em várias ordens ou em paralelo.
[0104]O bloco 301 compreende: comprometer uma quantidade 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. Em algumas modalidades, o esquema de compromisso compreende uma compromisso de Pedersen com base pelo menos no fator randômico de transação r_t e sendo que a quantidade de transação t é um valor comprometido.
[0105]O bloco 302 compreende: criptografar uma combinação do fator
Petição 870190037026, de 17/04/2019, pág. 45/76
38/51 randômico de transação r_t e da quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adícionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t. Em algumas modalidades, a segunda chave pública PK_2_B é uma chave de criptografia homomórfica. Em algumas modalidades, a combinação do fator randômico de transação r_t e da quantidade de transação t compreende uma concatenação do fator randômico de transação r_t e da quantidade de transação t. Em algumas modalidades, a primeira chave pública PK_1_B do destinatário serve como um endereço da conta B para receber a quantidade de transação t, e a chave pública PK_1_A do remetente serve como um endereço da conta A para enviar a quantidade de transação t.
[0106]O bloco 303 compreende: transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação (por exemplo, fazendo com que o nó de destinatário verifique a transação). Em algumas modalidades, a transmissão do valor de compromisso de transação T e da combinação criptografada para o nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada para o nó de destinatário associado ao destinatário, fazendo com que o nó de destinatário: descriptografe a combinação criptografada com uma segunda chave privada SK_2_B do destinatário para obter o fator randômico de transação r_t e a quantidade de transação t; e verifique 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 quantidade de transação t.
[0107]Em algumas modalidades, fazer com que o nó de destinatário verifique 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 quantidade de transação t compreende
Petição 870190037026, de 17/04/2019, pág. 46/76
39/51 fazer com que o nó de destinatário: em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, rejeite a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, aprove a transação ao assinar a transação com uma primeira chave privada SK_1_B do destinatário para gerar uma assinatura de destinatário SIGB.
[0108]Em algumas modalidades, antes de transmitir a combinação criptografada para o nó de destinatário associado ao destinatário, o método compreende adicíonalmente: comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, em que o esquema de compromisso compreende pelo menos um fator randômico de alteração r_y, em que a alteração y consiste em um ou mais ativos de um remetente da transação que são derivados para transação menos a quantidade de transação t; e criptografar outra combinação do fator randômico de alteração r_y e alteração y com uma segunda chave pública PK_2_Ado remetente.
[0109]Em algumas modalidades, o método compreende adicíonalmente: em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação ao assinar a transação com uma primeira chave privada SK_1_A do remetente para gerar uma assinatura de remetente SIGA; e enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para um ou mais nós em uma rede blockchain para que o um ou mais nós verifiquem a transação.
[0110]Em algumas modalidades, enviar a transação que compreende a combinação criptografada, a outra combinação criptografada, o valor de
Petição 870190037026, de 17/04/2019, pág. 47/76
40/51 compromisso de transação T, o valor de compromisso de alteração Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain para que o um ou mais nós verifiquem a transação compreende: enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain, fazendo com que o um ou mais nós, em resposta à verificação bem-sucedida da transação, emitam a quantidade de transação t para o destinatário, eliminem o um ou mais ativos derivados para a transação e emitam a alteração y para o remetente.
[0111 ]A Figura 3B ilustra um fluxograma de um método exemplificative 400 para proteção de informações, de acordo com várias modalidades da presente revelação. O método 400 pode ser implementado por um ou mais componentes (por exemplo, nó B, nó 2, uma combinação de nó B e nó 2, etc.) do sistema 100 da Figura 1. O método 400 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) que compreende um processador e um meio de armazenamento legível por computador não transitório (por exemplo, memória) que armazena instruções. As instruções, quando executadas pelo processador, fazem com que o sistema ou dispositivo (por exemplo, o processador) realize o método 400. As operações do método 400 apresentado abaixo se destinam a ser ilustrativas. Dependendo da implementação, o método exemplificative 400 pode incluir etapas adicionais, menos etapas ou etapas alternativas realizadas em várias ordens ou em paralelo.
[0112]O bloco 401 compreende: obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é
Petição 870190037026, de 17/04/2019, pág. 48/76
41/51 comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da 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.
[0113]O bloco 402 compreende: descriptografar a combinação obtida com uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade de transação t. Em algumas modalidades, a segunda chave pública PK_2_B do destinatário e a segunda chave privada SK_2_B do destinatário são um par de chaves de criptografia homomórfica.
[0114]O bloco 403 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 quantidade de transação t.
[0115]A alternativa para criptografar a combinação (r_t, t) tal como (r_t||t) no nó A, o nó A pode transmitir (r_t, t) para o nó B, fazendo com que o nó B criptografe a combinação (r_t, t), conforme descrito abaixo com referência à Figura 4A e à Figura 4B. Outras etapas e descrições da Figura 1 a Figura 3B podem se aplicar de modo similar à Figura 4A e à Figura 4B.
[0116]A Figura 4A ilustra a fluxograma de um método exemplificative 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, nó A, nó 1, uma combinação do nó A e do 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 um meio de armazenamento legível por computador não transitório (por exemplo, memória) que armazena instruções. As instruções, quando executadas pelo processador, fazem com que o sistema ou dispositivo (por exemplo, o processador) realize o método 440. As operações do método 440 apresentado abaixo se destinam a ser ilustrativas.
Petição 870190037026, de 17/04/2019, pág. 49/76
42/51
Dependendo da implementação, o método exemplificativo 440 pode incluir etapas adicionais, menos etapas ou etapas alternativas realizadas em várias ordens ou em paralelo.
[0117]O bloco 441 compreende: comprometer uma quantidade 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.
[0118]O bloco 442 compreende: enviar a quantidade de transação t, o fator randômico de transação r_t e o valor de compromisso de transação T para um nó de destinatário associado a um destinatário da transação para que o nó de destinatário verifique a transação e para criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B do destinatário, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação. 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 PK_2_B para obter HE(PK_2_B, r_t||t).
[0119]O bloco 443 compreende: obter uma combinação criptografada (por exemplo, HE(PK_2_B, r_t||t)) do fator randômico de transação r_t e da quantidade de transação t a partir do nó de destinatário.
[0120]O bloco 444 compreende: transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma blockchain para que a pluralidade de nós verifique a transação.
[0121 ]A Figura 4B ilustra um fluxograma de um método exemplificativo 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, 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
Petição 870190037026, de 17/04/2019, pág. 50/76
43/51 exemplo, computador, servidor) que compreende um processador e um meio de armazenamento legível por computador não transitório (por exemplo, memória) que armazena instruções. As instruções, quando executadas pelo processador, fazem com que o sistema ou dispositivo (por exemplo, o processador) realize o método 450. As operações do método 450 apresentado abaixo se destinam a ser ilustrativas. Dependendo da implementação, o método exemplificativo 450 pode incluir etapas adicionais, menos etapas ou etapas alternativas realizadas em várias ordens ou em paralelo.
[0122]O bloco 451 compreende: obter uma quantidade 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.
[0123]O bloco 452 compreende: verificar a transação com base na quantidade de transação obtida t, no fator randômico de transação obtido r_t e no valor de compromisso de transação T obtido.
[0124]O bloco 453 compreende: em resposta à verificação bem-sucedida da transação, criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação para obter uma combinação criptografada (por exemplo, HE(PK_2_B, r_t||t)).
[0125]O bloco 454 compreende: transmitir a combinação criptografada para um nó de remetente associado a um remetente da transação.
[0126]Conforme mostrado, a privacidade para a quantidade de transação pode ser protegida através de vários aprimoramentos da tecnologia de 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 de ativo (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
Petição 870190037026, de 17/04/2019, pág. 51/76
44/51 o valor de ativo (por exemplo, o segundo campo sendo HE(...)). O primeiro e o segundo campos também são usados nas etapas de transação e armazenados na blockchain.
[0127]Para outro exemplo, o uso de criptografia homomórfica é compatível com o modelo de Conta/Saldo. Desse modo, os números aleatórios criptografados podem ser gerados para a quantidade de transação e a alteração e adicionados às contas correspondentes. O uso de criptografia homomórfica permite o armazenamento dos fatores randômicos (por exemplo, números aleatórios) e valores de ativo na blockchain com segurança aprimorada, evitando o gerenciamento de fator randômico. O armazenamento dos números aleatórios criptografados e valores de ativo na blockchain fornece conveniência para gerenciar os números aleatórios, minimiza chances de perda e alteração dos números aleatórios e valores de ativo, e promove segurança com base no armazenamento de blockchain distribuído e consistente.
[0128]Para ainda outro exemplo, a prova de alcance é usada para provar que os ativos preexistentes da transação são equilibrados em relação aos novos ativos e à transação, e que o valor de cada novo ativo está 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 para o destinatário através de um canal de fora da blockchain seguro para verificar se o valor comprometido corresponde ao valor do ativo de transação.
[0129]Desse modo, os números aleatórios de compromissos de Pedersen podem ser convenientemente gerenciados, sem o risco de corrupção e sem incorrer em encargos de gerenciamento de chaves adicionais. Dessa forma, a privacidade de transação pode ser completamente protegida, e as quantidades de transação podem ser mantidas como secretas.
[0130]As técnicas descritas no presente documento são implementadas por
Petição 870190037026, de 17/04/2019, pág. 52/76
45/51 um ou mais dispositivos de computação de propósito especial. Os dispositivos de computação de propósito especial podem ser sistemas de computador desktop, sistemas de computador servidor, sistemas de computador portátil, dispositivo de mão, dispositivos de rede ou qualquer outro dispositivo ou combinação de dispositivos que incorporem conexão direta e/ou lógica de programa para implementar as técnicas. Os dispositivos de computação são geralmente controlados e coordenados pelo software de sistema operacional. Os sistemas operacionais convencionais controlam e agendam processos de computador para execução, realizam gerenciamento de memória, fornecem sistema de arquivos, rede, serviços I/O e fornecem uma funcionalidade de interface de usuário, tal como uma interface gráfica de usuário (“GUI”), entre outros.
[0131]A Figura 5 é um diagrama de blocos que ilustra um sistema de computador 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 de computador 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. O processador (ou processador) de hardware 504 pode ser, por exemplo, um ou mais microprocessadores de propósito geral.
[0132]O sistema de computador 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 pelo processador (ou 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
Petição 870190037026, de 17/04/2019, pág. 53/76
46/51 execução das instruções a serem executadas pelo processador (ou processadores) 504. Tais instruções, quando armazenadas em mídia temporária acessível ao processador (ou processadores) 504, renderizam o sistema de computador 500 em uma máquina de propósito especial que é personalizada para realizar as operações especificadas nas instruções. O sistema de computador 500 inclui adicíonalmente uma memória somente de leitura (ROM) 508 ou outro dispositivo de armazenamento estático acoplado ao barramento 502 para armazenar informações estáticas e instruções para o processador (ou processadores) 504. Um dispositivo de armazenamento 510, tal como um disco magnético, disco óptico ou pen drive USB (unidade flash), etc., é fornecido e acoplado ao barramento 502 para armazenar informações e instruções.
[0133]O sistema de computador 500 pode implementar as técnicas descritas no presente documento com o uso de lógica com fio rígido personalizada, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que em combinação com combinação com o sistema de computador faz com que oi programa o sistema de computador 500 para ser uma máquina de propósito especial. De acordo com uma modalidade, as operações, métodos e processos descritos no presente documento são realizados pelo sistema de computador 500 em resposta ao processador (ou processadores) 504 que executa uma ou mais sequências de uma ou mais instruções contidas em uma memória principal 506. Tais instruções podem ser lidas na memória principal 506 a partir de outro meio de armazenamento, tal como o dispositivo de armazenamento 510. A execução das sequências de instruções contidas na memória principal 506 faz com que o processador (ou processadores) 504 realize as etapas de processo descritas no presente documento. Em modalidades alternativas, o conjunto de circuitos com fio conectado diretamente pode ser usado no lugar de ou uma combinação com instruções de software.
[0134]A memória principal 506, a ROM 508 e/ou o armazenamento 510
Petição 870190037026, de 17/04/2019, pág. 54/76
47/51 podem incluir mídia de armazenamento não transitória. O termo “mídia não transitória” e termos similares, conforme usado no presente documento se refere à mídia que armazena dados e/ou instruções que fazem com que uma máquina operar de uma maneira específica, sendo que a mídia exclui os sinais transitórios. Tal mídia não transitória pode compreender mídia não-volátil e/ou mídia volátil. A mídia não volátil inclui, por exemplo, discos magnéticos ou ópticos, tal como um dispositivo de armazenamento 510. A mídia volátil inclui memória dinâmica, tal como a memória principal 506. As formas comuns de mídia não transitória incluem, por exemplo, um disquete, um disco flexível, disco rígido, unidade em estado sólido, fita magnética ou qualquer outro meio de armazenamento de dados magnético, um CD-ROM, qualquer outro meio de armazenamento de dados ópticos, qualquer meio físico com padrões de orifícios, uma RAM, uma PROM e EPROM, uma FLASH-EPROM, NVRAM, qualquer outro chip ou cartucho de memória e versões de rede do mesmo.
[0135]O sistema de computador 500 também inclui uma interface de rede 518 acoplada ao barramento 502. A interface de rede 518 fornece uma comunicação de dados bidimensional que se acopla a uma ou mais enlaces 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 a cabo, modem por satélite ou um modem para fornecer uma conexão de comunicação de dados para um tipo de linha telefônica correspondente. Como outro exemplo, a interface de rede 518 pode ser um cartão de rede local (LAN) para fornecer uma conexão de comunicação de dados para uma LAN compatível (ou componente WAN para se comunicar com uma WAN). Os enlaces sem fio também podem ser implementados. Em qualquer tal implementação, a interface de rede 518 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que portam fluxos de dados digitais que representam vários tipos de informações.
[0136]O sistema de computador 500 pode enviar mensagens e receber
Petição 870190037026, de 17/04/2019, pág. 55/76
48/51 dados, incluindo código do programa, através da rede, enlace de rede e interface de rede 518. No exemplo de Internet, um servidor pode transmitir um código solicitado para um programa de aplicativo através da Internet, do ISP, da rede local e da interface de rede 518.
[0137]O código recebido pode ser executado pelo processador (ou processadores) 504 à medida que é recebido, e/ou armazenado no dispositivo de armazenamento 510, ou outro armazenamento não volátil para execução posterior.
[0138]Cada um dos processos, métodos e algoritmos descritos nas seções anteriores pode ser incorporado, e total ou parcialmente automatizado por, módulos de código executados por um ou mais sistemas de computador ou processadores de computador que compreendem hardware de computador. Os processos e algoritmos podem ser parcial ou totalmente implementados no conjunto de circuitos específico de aplicativo.
[0139]Os vários recursos e processos descritos acima podem ser usados independentemente uns dos outros, ou podem ser combinados de várias maneiras. Todas as combinações e subcombinações possíveis se destinam a serem abrangidas pelo 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 se limitam a qualquer sequência particular, e os blocos ou estados relacionados a isso podem ser realizados em outras sequências que sejam adequadas. 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 exemplificativos podem ser realizados em série, em paralelo ou de alguma outra maneira. Os blocos ou estados podem ser adicionados ou removidos das modalidades exemplificativas reveladas. Os sistemas e componentes exemplificativos descritos no presente documento
Petição 870190037026, de 17/04/2019, pág. 56/76
49/51 podem ser configurados de modo diferente do descrito. Por exemplo, os elementos podem ser adicionados, removidos ou rearranjados em comparação com as modalidades exemplificativas reveladas.
[0140]As várias operações dos métodos exemplificativos descritos no presente documento podem ser realizadas, pelo menos parcialmente, por um algoritmo. O algoritmo pode ser compreendido em códigos ou instruções de programa armazenados em uma memória (por exemplo, um meio de armazenamento legível por computador não transitório descrito acima). Tal algoritmo pode compreender um algoritmo de aprendizado de máquina. Em algumas modalidades, um algoritmo de aprendizado de máquina pode não programar explicitamente computadores para realizar uma função, mas podem aprender a partir de dados de treinamento para efetuar um modelo de previsão que realiza a função.
[0141]As várias operações dos métodos exemplificativos 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 permanentemente configurados para realizar as operações relevantes. Seja temporária ou permanentemente configurados, tais processadores podem constituir mecanismos implementados por processador que operam para realizar uma ou mais operações ou funções descritas no presente documento.
[0142]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 mecanismos implementados por processador ou processadores. Além disso, o um ou mais 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
Petição 870190037026, de 17/04/2019, pág. 57/76
50/51 operações podem ser realizadas por um grupo de computadores (como exemplos de máquinas que incluem 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 adequadas (por exemplo, uma Interface de Programa de Aplicativo (API)).
[0143]O desempenho de determinadas operações pode ser distribuído entre os processadores, não apenas se situando em uma única máquina, mas instalado através de várias máquinas. Em algumas modalidades exemplificativas, os mecanismos implementados por processadores ou processador podem se situar em uma única localização geográfica (por exemplo, em um ambiente domiciliar, um ambiente de escritório ou uma fazenda de servidores). Em outras modalidades exemplificativas, os mecanismos implementados por processadores ou processador podem distribuídos através de várias localizações geográficas.
[0144]Ao longo deste relatório descritivo, várias instâncias podem implementar componentes, operações ou estruturas descritos como uma única instância. Embora operações individuais de um ou mais métodos sejam ilustradas e descritas como 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 a funcionalidade apresentadas como componentes separados nas configurações exemplificativas podem ser implementadas como uma estrutura ou componente combinado. De modo similar, as estruturas e funcionalidade apresentadas como um único componente podem ser implementadas como componentes separados. Essas e outras variações, modificações, adições e aprimoramentos são abrangidos pelo escopo da matéria no presente documento.
[0145]Embora uma visão geral da matéria tenha sido descrita com referência a modalidades exemplificativas específicas, várias modificações e alterações podem ser efetuadas nessas modalidades sem que se afaste do escopo mais amplo das
Petição 870190037026, de 17/04/2019, pág. 58/76
51/51 modalidades da presente revelação. Tais modalidades da matéria podem ser chamadas no presente documento, individual ou coletivamente, pelo termo “invenção” meramente por uma questão de conveniência e sem pretender limitar voluntariamente o escopo deste pedido a qualquer única revelação ou conceito se mais de um for, de fato, revelado. A descrição detalhada não deve ser considerada em um sentido limitative, e o escopo de várias modalidades é definido apenas pelas reivindicações anexas, juntamente com a faixa completa de equivalentes aos quais tais reivindicações são intituladas.

Claims (23)

  1. REIVINDICAÇÕES
    1. Método implementado por computador para proteção de informações CARACTERIZADO pelo fato de que compreende:comprometer uma quantidade 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;
    criptografar uma combinação do fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t; e transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.
  2. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
    a segunda chave pública PK_2_B é uma chave de criptografia homomórfica.
  3. 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 sendo que a quantidade de transação t é um valor comprometido.
  4. 4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de: a combinação do fator randômico de transação r_t e da quantidade de transação t compreende uma concatenação do fator randômico de transação r_t e a quantidade de transação t.
  5. 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 870190037026, de 17/04/2019, pág. 60/76
    2/9 para o nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação compreende transmitir o valor de compromisso de transação T e a combinação criptografada para o nó de destinatário associado ao destinatário, fazendo com que o nó de destinatário:
    descriptografe a combinação criptografada com uma segunda chave privada SK_2_B do destinatário para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
  6. 6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que fazer com que o nó de destinatário verifique 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 quantidade de transação t compreende fazer com que o nó de destinatário:
    em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, rejeite a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, aprove a transação ao assinar a transação com uma primeira chave privada SK_1_B do destinatário para gerar uma assinatura de destinatário SIGB.
  7. 7. Método, de acordo com a reivindicação 6, antes de transmitir a combinação criptografada para o nó de destinatário associado ao destinatário CARACTERIZADO pelo fato de que compreende adícionalmente:
    comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, sendo que o esquema de compromisso compreende pelo menos um fator randômico de alteração
    Petição 870190037026, de 17/04/2019, pág. 61/76
    3/9 r_y, em que a alteração y consiste em um ou mais ativos de um remetente da transação que são derivados para a transação menos a quantidade de transação t; e criptografar outra combinação do fator randômico de alteração r_y e da alteração y com uma segunda chave pública PK_2_A do remetente.
  8. 8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que compreende adicionalmente:
    em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação ao assinar a transação com uma primeira chave privada SK_1_A do remetente para gerar uma assinatura de remetente SIGA; e enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para um ou mais nós em uma rede blockchain para que o um ou mais nós verifiquem a transação.
  9. 9. Método, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain para que o um ou mais nós verifiquem a transação compreende:
    enviar 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 alteração Y, a assinatura de remetente SIGA, e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain, fazendo com que o um ou mais nós, em resposta à verificação bem-sucedida da transação, emitam a quantidade de transação t para o destinatário, eliminem o um ou mais ativos derivados para a transação e emitam a alteração y para o remetente.
    Petição 870190037026, de 17/04/2019, pág. 62/76
    4/9
  10. 10. Meio de armazenamento legível por computador não transitório CARACTERIZADO pelo fato de que armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que compreendem:
    comprometer uma quantidade 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;
    criptografar uma combinação do fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t; e transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.
  11. 11. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que:
    a segunda chave pública PK_2_B é uma chave de criptografia homomórfica.
  12. 12. Meio de armazenamento, de acordo com a reivindicação 10, 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 sendo que a quantidade de transação t é um valor comprometido.
  13. 13. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que: a combinação do fator randômico de transação r_t e da quantidade de transação t compreende uma concatenação do fator randômico de transação r_t e da quantidade de transação t.
    Petição 870190037026, de 17/04/2019, pág. 63/76
    5/9
  14. 14. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que transmitir o valor de compromisso de transação Tea combinação criptografada para o nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação compreende transmitir o valor de compromisso de transação Tea combinação criptografada para o nó de destinatário associado ao destinatário, fazendo com que o nó de destinatário:
    descriptografe a combinação criptografada com uma segunda chave privada SK_2_B do destinatário para obter o fator randômico de transação r_t e a quantidade de transação t; e verifique 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 quantidade de transação t.
  15. 15. Meio de armazenamento, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que fazer com que o nó de destinatário verifique 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 quantidade de transação t compreende fazer com que o nó de destinatário:
    em resposta à determinação que o valor de compromisso de transação T não corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, rejeite a transação; e em resposta à determinação que o valor de compromisso de transação T corresponde ao esquema de compromisso da quantidade de transação t com base no fator randômico de transação r_t, aprove a transação ao assinar a transação com uma primeira chave privada SK_1_B do destinatário para gerar uma assinatura de destinatário SIGB.
  16. 16. Meio de armazenamento, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que antes de transmitir a combinação criptografada para o nó de destinatário associado ao destinatário, as operações compreendem
    Petição 870190037026, de 17/04/2019, pág. 64/76
    6/9 adicíonalmente:
    comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, sendo que o esquema de compromisso compreende pelo menos um fator randômico de alteração r_y, em que a alteração y consiste em um ou mais ativos de um remetente da transação que são derivados para a transação menos a quantidade de transação t; e criptografar outra combinação do fator randômico de alteração r_y e da alteração y com uma segunda chave pública PK_2_A do remetente.
  17. 17. Meio de armazenamento, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que as operações compreendem adicíonalmente:
    em resposta à recepção da assinatura de destinatário SIGB, aprovar a transação ao assinar a transação com uma primeira chave privada SK_1_A do remetente para gerar uma assinatura de remetente SIGA; e enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para um ou mais nós em uma rede blockchain para que o um ou mais nós verifiquem a transação.
  18. 18. Meio de armazenamento, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que enviar 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 alteração Y, a assinatura de remetente SIGA e a assinatura de destinatário SIGB para o um ou mais nós na rede blockchain para que o um ou mais nós verifiquem a transação compreende:
    enviar 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 alteração Y, a assinatura de remetente SIGA, e a assinatura de
    Petição 870190037026, de 17/04/2019, pág. 65/76
    7/9 destinatário SIGB para o um ou mais nós na rede blockchain, fazendo com que o um ou mais nós, em resposta à verificação bem-sucedida da transação, emitam a quantidade de transação t para o destinatário, eliminem o um ou mais ativos derivados para a transação e emitam a alteração y para o remetente.
  19. 19. Sistema para proteção de informações, CARACTERIZADO pelo fato de que compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, sendo que o meio de armazenamento armazena instruções que, quando executadas pelo processador, fazem com que o sistema realize operações que compreendem:
    comprometer uma quantidade 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;
    criptografar uma combinação do fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t; e transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação.
  20. 20. Método implementado por computador para proteção de informações CARACTERIZADO pelo fato de que compreende:obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente
    Petição 870190037026, de 17/04/2019, pág. 66/76
    8/9 associado a um remetente da 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;
    descriptografar a combinação obtida uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
  21. 21. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que: a segunda chave pública PK_2_B do destinatário e a segunda chave privada SK_2_B do destinatário são um par de chaves de criptografia homomórfica.
  22. 22. Meio de armazenamento legível por computador não transitório CARACTERIZADO pelo fato de que armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que compreendem:
    obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da 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;
    descriptografar a combinação obtida uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
    Petição 870190037026, de 17/04/2019, pág. 67/76
    9/9
  23. 23. Sistema para proteção de informações, CARACTERIZADO pelo fato de que compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, sendo que o meio de armazenamento armazena instruções que, quando executadas pelo processador, fazem com que o sistema realize operações que compreendem:
    obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da 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;
    descriptografar a combinação obtida uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade 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 quantidade de transação t.
    Petição 870190037026, de 17/04/2019, pág. 68/76
    1/7 nó iniciador Usuário A destinatário nó B
    Figure BR112019007907A2_C0001
    comunicação fora da cadeia de blocos
    Nó B (por exemplo, nó leve)
    Figure BR112019007907A2_C0002
    FIG. 1
    Petição 870190037026, de 17/04/2019, pág. 69/76
    2/7
    Figure BR112019007907A2_C0003
    FIG. 2
    Petição 870190037026, de 17/04/2019, pág. 70/76
    3/7
    300
    301: com pro meter uma quantidade 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 transação compreende pelo menos um fator randômico de transação r_t
    Figure BR112019007907A2_C0004
    302: criptografar uma combinação do fator randômico de transação r_t e da quantidade de transação t com uma segunda chave pública PK_2_B de um destinatário da transação, em que: o destinatário é adicionalmente associado a uma primeira chave pública PK_1_B como um endereço para receber a quantidade de transação t
    .............................................................................................. .....................................................................................
    303 : transmitir o valor de compromisso de transação Tea combinação criptografada para um nó de destinatário associado ao destinatário para que o nó de destinatário verifique a transação
    FIG. 3A
    Petição 870190037026, de 17/04/2019, pág. 71/76
    4/7
    400
    401: obter uma combinação de um fator randômico de transação r_t e uma quantidade de transação t criptografada com uma segunda chave pública PK_2_B de um destinatário de uma transação, e obter um valor de compromisso de transação T, em que: a quantidade de transação t é comprometida com um esquema de compromisso por um nó de remetente associado a um remetente da 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.
    -402: descriptografar a combinação obtida com uma segunda chave privada SK_2_B de um destinatário da transação para obter o fator randômico de transação r_t e a quantidade de transação t
    403: 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 quantidade de transação t
    FIG. 3B
    Petição 870190037026, de 17/04/2019, pág. 72/76
    5/7
    440
    441comprometer uma quantidade 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
    .................................................................................................t............................................................................................
    442: enviar a quantidade de transação t, o fator randômico de transação r_t e o valor de compromisso de transação T para um nó de destinatário associado a um destinatário da transação para que o nó de destinatário verifique a transação e para criptografar o fator randômico de transação r_t e a quantidade de transação t com uma segunda chave pública PK_2_B do destinatário
    443: obter uma combinação criptografada (por exemplo, HE(PK_2_B, r_tllt)) do fator randômico de transação r_t e da quantidade de transação t a partir do nó de destinatário.
    1 f
    444:transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma cadeia de blocos para que a pluralidade de nós verifique a transação
BR112019007907-6A 2018-11-27 2018-11-27 sistema e método para proteção de informações BR112019007907A2 (pt)

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=66100015

Family Applications (1)

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

Country Status (17)

Country Link
US (2) US11127002B2 (pt)
EP (2) EP3549082B1 (pt)
JP (1) JP6908700B2 (pt)
KR (1) KR102139897B1 (pt)
CN (1) CN110419053B (pt)
AU (1) AU2018347196B2 (pt)
BR (1) BR112019007907A2 (pt)
CA (1) CA3040611C (pt)
ES (2) ES2881674T3 (pt)
MX (1) MX2019004360A (pt)
MY (1) MY197480A (pt)
PH (1) PH12019500860A1 (pt)
PL (1) PL3745637T3 (pt)
RU (1) RU2721959C1 (pt)
SG (1) SG11201903438TA (pt)
WO (1) WO2019072278A2 (pt)
ZA (1) ZA201902472B (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019022674A1 (en) * 2017-07-27 2019-01-31 Nanyang Technological University AUTHENTICATION REALIZATION METHOD FOR TRANSACTION AND SYSTEM THEREOF
EP3713148B1 (en) * 2019-03-22 2022-08-03 Giesecke+Devrient Mobile Security GmbH White-box ecc implementation
DE102019002731A1 (de) 2019-04-15 2020-10-15 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Gerät zum direkten Übertragen von elektronischen Münzdatensätzen an ein anderes Gerät sowie Bezahlsystem
GB201907396D0 (en) 2019-05-24 2019-07-10 Nchain Holdings Ltd Hash function attacks
GB201907392D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Proof-of-work
SE544149C2 (en) * 2019-06-25 2022-01-11 Coined Invest Pool Company Ab Method and system for performing electronic transactions
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
US10790961B2 (en) * 2019-07-31 2020-09-29 Alibaba Group Holding Limited Ciphertext preprocessing and acquisition
CN114503509B (zh) * 2019-09-25 2024-04-23 维萨国际服务协会 密钥-值映射承诺系统和方法
CN111191212B (zh) * 2019-12-31 2020-12-15 卓尔智联(武汉)研究院有限公司 基于区块链的数字凭证处理方法、装置、设备和存储介质
CN111275414A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 一种基于区块链的数字货币兑换方法、装置及系统
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
DE102020104906A1 (de) * 2020-02-25 2021-08-26 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten, bezahlsystem, währungssystem und überwachungseinheit
US11645632B2 (en) * 2020-05-26 2023-05-09 Derek Norman La Salle System and method for a decentralized portable information container supporting privacy protected digital information credentialing, remote administration, local validation, access control and remote instruction signaling utilizing blockchain distributed ledger and container wallet technologies
EP3957025B1 (en) * 2020-07-03 2022-12-28 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for providing privacy and security protection in blockchain-based private transactions
DE102020004122A1 (de) 2020-07-08 2022-01-13 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Bezahlsystem, münzregister, teilnehmereinheit, transaktionsregister, überwachungsregister und verfahren zum bezahlen mit elektronischen münzdatensätzen
DE102020004121A1 (de) 2020-07-08 2022-01-13 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren, teilnehmereinheit, transaktionsregister und bezahlsystem zum verwalten von transaktionsdatensätzen
US12057128B1 (en) * 2020-08-28 2024-08-06 United Services Automobile Association (Usaa) System and method for enhanced trust
CN113225189B (zh) * 2021-01-05 2024-02-02 上海零数众合信息科技有限公司 一种基于量子抗性的环形保密业务方法
CN112819465B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Elgamal的同态加密方法及应用系统
DE102021004025A1 (de) 2021-08-04 2023-02-09 Giesecke+Devrient Advance52 Gmbh Münzverwaltungseinheit sowie Verfahren in einer Münzverwaltungseinheit
DE102021004022A1 (de) 2021-08-04 2023-02-09 Giesecke+Devrient Advance52 Gmbh Münzdepot-Verwaltungseinheit sowie Verfahren in einer Münzdepot-Verwaltungseinheit
CN113704733B (zh) * 2021-08-31 2024-03-08 上海万向区块链股份公司 隐私可验证的动态did认证方法及系统
DE102021005040A1 (de) 2021-09-24 2023-03-30 Giesecke+Devrient Advance52 Gmbh Münzverwaltungseinheit sowie Verfahren in einer Münzverwaltungseinheit
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN115412263B (zh) * 2022-09-06 2024-06-11 西南交通大学 一种基于双重盲化的拜占庭容错共识方法
CN115955315B (zh) * 2022-12-27 2024-08-23 浙江吉利控股集团有限公司 环机密交易的签名验证方法、系统、设备及可读存储介质

Family Cites Families (144)

* 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> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
WO2001069843A2 (en) 2000-03-10 2001-09-20 Absolutefuture, Inc. Method and system for coordinating secure transmission of information
US7716484B1 (en) 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
AU2001255183A1 (en) 2000-04-14 2001-10-30 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
WO2001095545A2 (en) * 2000-06-05 2001-12-13 Phoenix Technologies Ltd. Systems, methods and software for remote password authentication using multiple servers
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
EP1436967A2 (en) 2001-10-19 2004-07-14 Matsushita Electric Industrial Co., Ltd. Device authentication system and device authentication method
WO2004111751A2 (en) * 2003-06-13 2004-12-23 Orbid Limited Method and system for performing a transaction and for performing a verification of legitimate use of digital data
WO2005043808A1 (en) 2003-11-03 2005-05-12 Koninklijke Philips Electronics N.V. Method and device for efficient multiparty multiplication
US8156029B2 (en) 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
WO2006121322A1 (en) 2005-05-10 2006-11-16 Dts Ltd. Transaction method and verification method
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
JP4016061B2 (ja) 2006-01-25 2007-12-05 松下電器産業株式会社 端末装置、サーバ装置及びデジタルコンテンツ配信システム
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 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
US20120116978A1 (en) * 2008-12-23 2012-05-10 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
GB2490483B (en) * 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
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
SG10201903265PA (en) 2011-09-29 2019-05-30 Amazon Tech 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
JP6497726B2 (ja) * 2014-03-14 2019-04-10 シャープ株式会社 端末、基地局、通信システム、通信方法、およびプログラム
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)를 이용한 암호화폐 관리 시스템 및 그 방법
CN104219056B (zh) * 2014-09-16 2017-05-17 西安电子科技大学 一种智能电网中具有隐私保护的实时电量收集方法
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
EP3872666A1 (fr) * 2015-01-30 2021-09-01 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
AU2016242888A1 (en) 2015-03-31 2017-11-16 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
SG11201708295XA (en) 2015-04-06 2017-11-29 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
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
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
US11062303B2 (en) * 2015-06-08 2021-07-13 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US10826712B2 (en) 2015-06-30 2020-11-03 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
JP2018536957A (ja) 2015-11-30 2018-12-13 シェイプシフト・アーゲーShapeShift AG ブロックチェーン資産取引におけるセキュリティを向上させるためのシステム及び方法
US10243738B2 (en) * 2015-12-04 2019-03-26 Microsoft Technology Licensing, Llc Adding privacy to standard credentials
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
KR20180115768A (ko) 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
GB2561729A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
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
EP3424177B1 (en) 2016-02-29 2021-10-13 SecureKey Technologies Inc. Systems and methods for distributed identity verification
US11455630B2 (en) 2016-04-11 2022-09-27 nChain Holdings Limited Method for secure peer-to-peer communication on a blockchain
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 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
CN109478282A (zh) 2016-07-15 2019-03-15 维萨国际服务协会 通过交易装置进行数字资产分发
EP3273635B1 (en) 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
EP3491572B1 (en) 2016-07-26 2021-09-01 NEC Corporation 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インターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
CN106375097A (zh) * 2016-10-12 2017-02-01 贵州大学 基于代理盲签名的防倒卖的敏感数据交易方法
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
EP3934203A1 (en) 2016-12-30 2022-01-05 INTEL Corporation Decentralized data storage and processing for iot devices
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株式会社 生成装置、検証装置、及びプログラム
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data 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 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
EP3639469B1 (en) 2017-06-14 2024-04-03 nChain Licensing AG Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network
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
CA3113389C (en) 2017-09-29 2023-12-19 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 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US11257077B2 (en) 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
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 中国银联股份有限公司 基于智能合约的数据传递方法及系统
US10896418B2 (en) 2017-12-29 2021-01-19 Ebay Inc. Secure management of data files using 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 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
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
CN110326013A (zh) 2018-11-07 2019-10-11 阿里巴巴集团控股有限公司 在账户模型下支持公开交易和私有交易的区块链系统
CA3040791C (en) 2018-11-27 2020-12-15 Alibaba Group Holding Limited System and method for information protection
CA3040601C (en) 2018-11-27 2021-03-30 Alibaba Group Holding Limited System and method for information protection
MX2019004357A (es) 2018-11-27 2019-08-05 Alibaba Group Holding Ltd Sistema y método para protección de la información.
TWM651861U (zh) 2023-07-25 2024-02-21 磊興有限公司 帶閉環控制的電動比例閥

Also Published As

Publication number Publication date
AU2018347196B2 (en) 2020-05-14
MY197480A (en) 2023-06-19
RU2721959C1 (ru) 2020-05-25
CN110419053A (zh) 2019-11-05
CA3040611C (en) 2021-06-29
KR102139897B1 (ko) 2020-07-31
ES2833550T3 (es) 2021-06-15
ZA201902472B (en) 2020-08-26
EP3745637B1 (en) 2021-06-09
EP3549082A2 (en) 2019-10-09
KR20200066259A (ko) 2020-06-09
PL3745637T3 (pl) 2021-11-02
JP2020502856A (ja) 2020-01-23
CA3040611A1 (en) 2019-04-18
US20200058022A1 (en) 2020-02-20
ES2881674T3 (es) 2021-11-30
PH12019500860A1 (en) 2019-12-02
US11080694B2 (en) 2021-08-03
US11127002B2 (en) 2021-09-21
WO2019072278A2 (en) 2019-04-18
EP3549082B1 (en) 2020-08-26
JP6908700B2 (ja) 2021-07-28
US20200111093A1 (en) 2020-04-09
EP3745637A1 (en) 2020-12-02
CN110419053B (zh) 2023-12-01
MX2019004360A (es) 2019-08-05
EP3549082A4 (en) 2020-02-26
WO2019072278A3 (en) 2019-09-19
SG11201903438TA (en) 2019-05-30

Similar Documents

Publication Publication Date Title
BR112019007907A2 (pt) sistema e método para proteção de informações
ES2879855T3 (es) Sistema y método para la protección de información
KR102170346B1 (ko) 정보 보호를 위한 시스템 및 방법
KR102150814B1 (ko) 정보 보호를 위한 시스템 및 방법
BR112019007232B1 (pt) Métodos implementados por computador para proteção da informação, sistemas para proteção da informação e meio de armazenamento legível por computador não transitório
AU2019101590A4 (en) System and method for information protection
AU2019101582A4 (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