BR112019015423A2 - Método implementado por computador para proteger dados sensíveis armazenados em um protocolo de confiança mantido por uma rede de protocolo de confiança, meio de armazenamento não transitório, legível por computador e sistema - Google Patents

Método implementado por computador para proteger dados sensíveis armazenados em um protocolo de confiança mantido por uma rede de protocolo de confiança, meio de armazenamento não transitório, legível por computador e sistema Download PDF

Info

Publication number
BR112019015423A2
BR112019015423A2 BR112019015423-0A BR112019015423A BR112019015423A2 BR 112019015423 A2 BR112019015423 A2 BR 112019015423A2 BR 112019015423 A BR112019015423 A BR 112019015423A BR 112019015423 A2 BR112019015423 A2 BR 112019015423A2
Authority
BR
Brazil
Prior art keywords
merkle tree
trust protocol
node
computer
transactions
Prior art date
Application number
BR112019015423-0A
Other languages
English (en)
Other versions
BR112019015423A8 (pt
Inventor
Zhang Wenbin
Shen Chao
Original Assignee
Alibaba Group Holding Limited
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 Limited filed Critical Alibaba Group Holding Limited
Publication of BR112019015423A2 publication Critical patent/BR112019015423A2/pt
Publication of BR112019015423A8 publication Critical patent/BR112019015423A8/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

as formas de realização da presente invenção incluem receber, por um nó de protocolo de confiança na rede de protocolo de confiança, uma solicitação para ler um bloco particular do protocolo de confiança, em que a solicitação é recebida de um nó de peso leve da rede de protocolo de confiança e inclui uma identidade do nó de peso leve, e em que o bloco particular inclui uma árvore merkle original associada ao bloco particular; identificar, pelo nó de protocolo de confiança, permissões associadas à identidade do nó de peso leve; gerar, pelo nó de protocolo de confiança, uma árvore merkle isolada baseada na árvore merkle original incluída no bloco, a árvore merkle isolada incluindo somente transações da árvore merkle original que são determinadas como sendo acessíveis pelo nó de peso leve com base nas permissões identificadas, em que a árvore merkle isolada é consistente com a árvore merkle original; e enviar pelo nó de protocolo de confiança, uma resposta ao nó de peso leve incluindo a árvore merkle isolada.

Description

“MÉTODO IMPLEMENTADO POR COMPUTADOR PARA PROTEGER DADOS SENSÍVEIS ARMAZENADOS EM UM PROTOCOLO DE CONFIANÇA MANTIDO POR UMA REDE DE PROTOCOLO DE CONFIANÇA, MEIO DE ARMAZENAMENTO NÃO TRANSITÓRIO, LEGÍVEL POR COMPUTADOR E SISTEMA”
Antecedentes da Invenção [001] Os sistemas de contabilidade distribuída (DLSs), que também podem ser chamados de redes de consenso e/ ou redes de protocolo de confiança, permitem que as entidades participantes obtenham dados de forma segura e imutável. Os DLSs são comumente referidos como redes de protocolo de confiança sem fazer referência a qualquer caso de uso particular (por exemplo, cripto-moedas). Exemplos de tipos de redes de protocolo de confiança podem incluir redes de protocolo de confiança públicas, redes de protocolo de confiança privadas e redes de protocolo de confiança de consórcio. Uma rede de protocolo de confiança pública é aberta para todas as entidades para usar do DLS e participar no processo de consenso. Uma rede de protocolo de confiança privada é fornecida para uma entidade específica, que controla centralmente as permissões de leitura e gravação. Uma rede consórcio protocolo de confiança é fornecida para um grupo selecionado a partir de entidades, as quais controlam o processo de consenso, e inclui uma camada de controle de acesso.
[002] Redes de protocolo de confiança podem incluir diferentes tipos de nós. Nós totalmente participantes (doravante referidos como “nós protocolo de confiança”) participam do processo de consenso para a rede de protocolo de confiança, tentando construir e validar novos blocos de transações para adicionar ao protocolo de confiança. Os nós de peso leve não participam do processo de consenso para a rede de protocolo de confiança e podem não sincronizar completamente sua própria representação interna do protocolo de
Petição 870190071603, de 26/07/2019, pág. 36/66
2/21 confiança. Por exemplo, um nó de peso leve pode sincronizar apenas as informações do cabeçalho do bloco em vez de todos os dados da transação em um bloco específico no protocolo de confiança.
[003] Em redes de protocolo de confiança privadas ou de consórcio, os nós (como os nós de peso leve) só podem ter permissão para ler determinadas transações do protocolo de confiança, como, por exemplo, transações nas quais uma identidade associada ao nó de peso leve participava. Nesse caso, o nó de peso leve pode consultar um nó de protocolo de confiança para um determinado bloco, e pode ser retornada uma representação do bloco (por exemplo, uma árvore Merkle) com as transações para as quais ele não tem acesso removido. Uma árvore Merkle construída desta maneira pode ser inconsistente com a árvore Merkle completa representando as transações no bloco, o que pode levar a erros no nó de peso leve devido ao nó não possuir uma representação precisa do bloco.
Descrição Resumida da Invenção [004] As formas de realização da presente descrição incluem métodos implementados por computador para impor o isolamento de dados em uma rede de protocolo de confiança, enquanto ainda proporcionam a todos os nós na rede de protocolo de confiança uma representação consistente de blocos no protocolo de confiança. Mais particularmente, as formas de realização da presente invenção destinam-se a produzir uma árvore Merkle que não inclui dados a partir dos quais o nó solicitante é isolado, mas que ainda consistente com uma árvore Merkle completa representando o bloco solicitado.
[005] Em algumas formas de realização, as ações incluem receber, por um nó de protocolo de confiança na rede de protocolo de confiança, uma solicitação para ler um bloco particular do protocolo de confiança, em que a solicitação é recebida de um nó de peso leve da rede de protocolo de confiança e inclui uma identidade do nó de peso leve, e em que o
Petição 870190071603, de 26/07/2019, pág. 37/66
3/21 bloco particular inclui uma árvore Merkle original contendo uma pluralidade de transações associadas ao bloco particular; identificar, pelo nó de protocolo de confiança, permissões associadas à identidade do nó de peso leve; gerar, pelo nó de protocolo de confiança, uma árvore Merkle isolada baseada na árvore Merkle original incluída no bloco, a árvore Merkle isolada incluindo somente transações da árvore Merkle original que são determinadas como acessíveis pelo nó de peso leve nas permissões identificadas, em que a árvore Merkle isolada é consistente com a árvore Merkle original; e enviando, pelo nó de protocolo de confiança, uma resposta ao nó de peso leve incluindo a árvore Merkle isolada. Outras formas de realização incluem sistemas, aparelhos e programas de computador correspondentes, configurados para executar as ações dos métodos, codificados em dispositivos de armazenamento de computador.
[006] Estas e outras formas de realização podem incluir, opcionalmente, uma ou mais das seguintes características.
[007] Em algumas formas de realização, gerar a árvore Merkle isolada com base na árvore Merkle original é incluída no bloco em particular pode incluir: modificar a árvore Merkle original para produzir a árvore Merkle isolada, incluindo a remoção de todas as transações que são determinadas a não ser acessível pelo nó de peso leve da árvore Merkle original; e remover ramos da árvore Merkle original da qual todas as transações foram removidas, deixando apenas o hash raiz de cada um dos ramos intactos.
[008] Em algumas formas de realização, uma transação é determinada a não ser acessível pelo nó de peso leve, se as permissões indicarem que o nó de peso leve não tem acesso de leitura à transação.
[009] Em alguns casos, cada pluralidade de transações inclui uma ou mais identidades associadas a um ou mais participantes na transação.
[0010] Em algumas formas de realização, a identidade é
Petição 870190071603, de 26/07/2019, pág. 38/66
4/21 associada a uma classe de identidade, as permissões são associadas à classe de identidade e o nó de protocolo de confiança é configurado para impor permissões associadas à classe de identidade nas identidades associadas à classe de identidade.
[0011] Em alguns casos, a classe de identidade é uma classe reguladora e as permissões associadas à classe do regulador indicam que todas as transações na rede de protocolo de confiança estão acessíveis a identidades associadas à classe do regulador.
[0012] Em algumas formas de realização, a classe de identidade é uma classe comum, e em que as permissões associadas à classe comum indicam que apenas as transações na rede de protocolo de confiança em que a identidade é um participante estão acessíveis à identidade.
[0013] Em alguns casos, a árvore Merkle isolada é consistente com a árvore Merkle original somente se for suficiente para permitir que o nó de peso leve verifique as transações na árvore Merkle isolada com base nos hashes na árvore Merkle isolada.
[0014] A presente invenção também fornece um ou mais meios de armazenamento legível por computador acoplado a um ou mais processadores e tendo instruções armazenadas no mesmo que, quando executados por um ou mais processadores, fazer com que os um ou mais processadores execute as operações de acordo com formas de realização dos métodos aqui fornecidos.
[0015] A presente invenção fornece ainda um sistema para implementar os métodos aqui fornecidos. O sistema inclui um ou mais processadores, e um meio de armazenamento legível por computador acoplado a um ou mais processadores tendo instruções armazenadas nele que, quando executados por um ou mais processadores, fazem com que um ou mais processadores executem operações de acordo com formas de
Petição 870190071603, de 26/07/2019, pág. 39/66
5/21 realização dos métodos aqui fornecidos.
[0016] É apreciado que os métodos de acordo com a presente invenção podem incluir qualquer combinação dos aspectos e características descritos aqui. Isto é, métodos de acordo com a presente invenção não estão limitados às combinações de aspectos e características especificamente descritos aqui, mas também incluem qualquer combinação dos aspectos e características fornecidos.
[0017] Os detalhes de uma ou mais formas de realização da presente invenção são apresentados nos desenhos em anexo e na descrição abaixo. Outras características e vantagens da presente invenção serão evidentes a partir da descrição e desenhos, e das reivindicações.
Descrição dos Desenhos [0018] A Figura 1 ilustra um exemplo de ambiente que pode ser usado para executar as formas de realização da presente invenção.
[0019] A Figura 2 descreve um exemplo de arquitetura conceptual de acordo com as formas de realização da presente invenção.
[0020] A Figura 3A representa um exemplo da árvore Merkle para um bloco em umo protocolo de confiança de acordo com formas de realização da presente invenção.
[0021] A Figura 3B representa o exemplo da árvore Merkle da Figura 3A com ramificações incluindo transações isoladas de acordo com as formas de realização da presente invenção.
[0022] A Figura 3C representa um exemplo de árvore Merkle produzida com base na árvore Merkle na Figura 3A de acordo com formas de realização da presente invenção.
[0023] A Figura 4 representa um exemplo de processo que pode ser executado de acordo com as formas de realização da presente invenção.
[0024] Os símbolos de referência semelhantes nos vários
Petição 870190071603, de 26/07/2019, pág. 40/66
6/21 desenhos indicam elementos semelhantes.
Descrição Detalhada da Invenção [0025] As formas de realização da presente invenção incluem métodos implementados por computador para impor o isolamento de dados em uma rede de protocolo de confiança, enquanto ainda proporcionam a todos os nós na rede de protocolo de confiança uma representação consistente de blocos no protocolo de confiança. Mais particuiarmente, as formas de realização da presente invenção destinam-se a produzir uma árvore Merkle que no inclui dados a partir dos quais o nó solicitante é isolado, mas que ainda consistente em uma árvore Merkle completa representando o bloco solicitado.
[0026] Em algumas formas de realização, as ações incluem receber, por um nó de protocolo de confiança na rede de protocolo de confiança, uma solicitação para ler um bloco particular do protocolo de confiança, em que a solicitação é recebida de um nó de peso leve da rede de protocolo de confiança e inclui uma identidade do nó de peso leve, e em que o bloco particular inclui uma árvore Merkle original contendo uma pluralidade de transações associadas ao bloco particular; identificando, pelo nó de protocolo de confiança, permissões associadas à identidade do nó de peso leve; gerar, pelo nó de protocolo de confiança, uma árvore Merkle isolada baseada na árvore Merkle original incluída no bloco, a árvore Merkle isolada incluindo somente transações da árvore Merkle original que são determinadas como acessíveis pelo nó de peso leve com base nas permissões identificadas, em que a árvore Merkle isolada é consistente com a árvore Merkle original; e enviar, pelo nó de protocolo de confiança, uma resposta ao nó de peso leve incluindo a árvore Merkle isolada.
[0027] Para fornecer um contexto adicional para formas de realização da presente invenção, e como introduzido acima, sistemas de contabilidade distribuída (DLSs), que também podem ser referidos como redes
Petição 870190071603, de 26/07/2019, pág. 41/66
7/21 de consenso (por exemplo, compostos de nós peer-to-peer), e redes de protocolo de confiança, permitem que as entidades participantes conduzam transações de forma segura e imutável e armazenem dados. Embora o termo protocolo de confiança seja geralmente associado à várias redes de criptomoeda, o protocolo de confiança é geralmente aqui usado para se referir a um DLS sem referência a qualquer caso de uso especial. Como introduzido acima, uma rede de protocolo de confiança pode ser fornecida como uma rede de protocolo de confiança pública, uma rede de protocolo de confiança privada ou uma rede de protocolo de confiança de consórcio.
[0028] Em uma rede de protocolo de confiança pública, o processo de consenso é controlado por nós da rede de consenso. Por exemplo, centenas, milhares, até mesmo milhões de entidades podem cooperar com uma rede de protocolo de confiança pública, cada uma das quais opera pelo menos um nó na rede de protocolo de confiança pública. Assim, a rede de protocolo de confiança pública pode ser considerada uma rede pública em relação às entidades participantes. Em alguns exemplos, a maioria das entidades (nós) deve assinar cada bloco, para que o bloco seja válid, e adicionado ao protocolo de confiança (contabilidade distribuída) da rede de protocolo de confiança. Exemplos de redes de protocolo de confiança pública incluem várias redes de criptomoedas, que são redes peer-to-peer de pagamentos. As redes de criptomoeda podem alavancar uma contabilidade distribuída, referida como um protocolo de confiança. Como observado acima, o termo protocolo de confiança, no entanto, é usado para referir-se geralmente a contabilidades distribuídas sem referência particular a qualquer rede particular de criptomoeda.
[0029] Em geral, uma rede de protocolo de confiança pública suporta transações públicas. Uma transação pública é compartilhada com todos os nós dentro da rede de protocolo de confiança pública e é armazenada
Petição 870190071603, de 26/07/2019, pág. 42/66
8/21 em um protocolo de confiança global. Um protocolo de confiança global é um protocolo de confiança que é replicado em todos os nós. Ou seja, todos os nós estão em perfeito estado de consenso em relação ao protocolo de confiança global. Para chegar a um consenso (por exemplo, concordar com a adição de um bloco a um protocolo de confiança), um protocolo de consenso é implementado dentro da rede de protocolo de confiança pública. Um exemplo de protocolo de consenso inclui, sem limitação, prova-de-obra (POW) implementado nas redes de criptomoeda.
[0030] Em geral, uma rede de protocolo de confiança privada é fornecida para uma entidade específica, que controla centralmente as permissões de leitura e gravação. A entidade controla quais nós são capazes de participar da rede de protocolo de confiança. Consequentemente, as redes de protocolo de confiança privadas são geralmente referidas como redes de permissão que colocam restrições sobre quem tem permissão para participar da rede, e sobre o seu nível de participação (por exemplo, apenas em certas transações). Vários tipos de mecanismos de controle de acesso podem ser usados (por exemplo, os participantes existentes votam na adição de novas entidades, uma autoridade reguladora pode controlar a admissão).
[0031] Em geral, uma rede de protocolo de confiança de consórcio é privada entre as entidades participantes. Em uma rede de protocolo de confiança de consórcio, o processo de consenso é controlado por um conjunto autorizado de nós, um ou mais nós sendo operados por uma respectiva entidade (por exemplo, uma instituição financeira, companhia de seguros). Por exemplo, um consórcio de dez (10) entidades (por exemplo, instituições financeiras, seguradoras) pode operar uma rede de protocolo de confiança de consórcio, cada uma operando pelo menos um nó na rede de protocolo de confiança de consórcio. Nesse sentido, a rede de protocolo de confiança de consórcio pode ser considerada uma rede privada em relação às
Petição 870190071603, de 26/07/2019, pág. 43/66
9/21 entidades participantes. Em alguns exemplos, cada entidade (nó) deve assinar todos os blocos para que o bloco seja válido e adicionado ao protocolo de confiança. Em alguns exemplos, pelo menos um subconjunto de entidades (nós) (por exemplo, pelo menos 7 entidades) deve assinar todos os blocos para que o bloco seja válido e adicionado ao protocolo de confiança.
[0032] As formas de realização da presente invenção são aqui descritas em maior detalhe com referência a uma rede de protocolo de confiança privada, na qual dados particulares podem ser isolados de determinadas entidades participantes com base em uma configuração da rede de protocolo de confiança. Está contemplado, no entanto, que as formas de realização da presente invenção podem ser realizadas em qualquer tipo apropriado de rede de protocolo de confiança.
[0033] As formas de realização da presente invenção são descritas em maior detalhe aqui em vista do contexto acima. Mais particularmente, e como apresentado acima, as formas de realização da presente invenção destinam-se a produzir uma árvore Merkle que não inclui dados a partir dos quais o nó solicitante é isolado, mas que ainda consistente em uma árvore Merkle completa representando o bloco solicitado.
[0034] Em algumas formas de realização, um nó de peso leve pode solicitar um bloco específico de um nó de protocolo de confiança participante da rede. O nó de protocolo de confiança pode determinar que o nó de peso leve não tenha permissão para ler determinadas transações no bloco. O nó de protocolo de confiança pode remover essas transações de uma cópia da árvore Merkle completa representando o bloco solicitado, mas pode deixar apenas os hashes de raiz para quaisquer ramos da árvore que contenham apenas as transações removidas. Ao fazer isso, é possível isolar efetivamente o nó de peso leve dos dados de transação que não estão autorizados a ler e também permitir que o nó de peso leve seja apresentado com uma
Petição 870190071603, de 26/07/2019, pág. 44/66
10/21 representação do bloco que é consistente com a árvore Merkle completa do bloco. Isso pode permitir que o nó de peso leve verifique a integridade do bloco (examinando os hashes na árvore Merkle) mesmo sem ter acesso aos dados da transação a partir dos quais ele é isolado.
[0035] A Figura 1 ilustra um exemplo de ambiente (100) que pode ser utilizado para executar as formas de realização da presente invenção. Em alguns exemplos, a exemplo de ambiente (100) permite que entidades participem de uma rede de protocolo de confiança privada (102). O exemplo de ambiente (100) inclui dispositivos de computação (106, 108) e uma rede (110). Em alguns exemplos, a rede (110) inclui uma rede de área local (LAN), rede de longa distância (WAN), a Internet ou combinação dos mesmos, e se conecta a web sites, dispositivos de usuário (por exemplo, dispositivos de computação) e sistemas back-end. Em alguns exemplos, a rede (110) pode ser acessada através de um link de comunicação com fio e/ ou sem fio.
[0036] No exemplo descrito, os sistemas de computação (106, 108) podem incluir qualquer sistema de computação apropriado que permite a participação como um nó na rede de protocolo de confiança privada (102). Exemplos de dispositivos de computação incluem, sem limitação, um servidor, um computador de mesa, um computador laptop, um dispositivo de computação de tablet e um smartphone. Em alguns exemplos, os sistemas de computação (106, 108) hospedam um ou mais serviços implementados por computador para interagir com a rede de protocolo de confiança privada (102). Por exemplo, o sistema de computação (106) pode hospedar serviços implementados por computador de uma primeira entidade (por exemplo, usuário A), como o sistema de gerenciamento de transações que a primeira entidade usa para gerenciar suas transações com uma ou mais entidades (por exemplo, outros usuários). O sistema de computação (108) pode hospedar serviços implementados por computador de uma segunda entidade (por
Petição 870190071603, de 26/07/2019, pág. 45/66
11/21 exemplo, usuário B), como o sistema de gerenciamento de transação que a segunda entidade usa para gerenciar suas transações com uma ou mais outras entidades (por exemplo, outros usuários). No exemplo da Figura 1, a rede de protocolo de confiança privada (102) é representada como uma rede peer-topeer de nós, e os sistemas de computação (106, 108) fornecem nós da primeira entidade e da segunda entidade respectivamente, que participam na rede de protocolo de confiança privado (102).
[0037] A Figura 2 ilustra um exemplo de arquitetura conceituai (200) de acordo com formas de realização da presente invenção. O exemplo de arquitetura conceituai (200) inclui uma camada de entidade (202), uma camada de serviços hospedados (204) e uma camada de rede de protocolo de confiança (206). No exemplo representado, a camada de entidade (202) inclui três entidades, Entidade_1 (E1), Entidade_2 (E2) e Entidade_3 (E3), cada entidade possuindo um respectivo sistema de gestão de transações (208).
[0038] No exemplo representado, a camada de serviços hospedados (204) inclui interfaces (210) para cada sistema de gerenciamento de transações (210). Em alguns exemplos, um respetivo sistema de gerenciamento de transações (208) comunica com uma respetiva interface (210) através de uma rede (por exemplo, a rede (110) da Figura 1) usando um protocolo (por exemplo, protocolo de transferência de hipertexto seguro (HTTPS)). Em alguns exemplos, cada interface (210) fornece uma conexão de comunicação entre um respetivo sistema de gerenciamento de transações (208) e a camada de rede de protocolo de confiança (206). Mais particularmente, a interface (210) comunica com uma rede de protocolo de confiança (212) da camada de rede de protocolo de confiança (206). Em alguns exemplos, a comunicação entre uma interface (210) e a camada de rede de protocolo de confiança (206) é conduzida utilizando chamadas de procedimento remoto (RPCs). Em alguns exemplos, as interfaces (210)
Petição 870190071603, de 26/07/2019, pág. 46/66
12/21 “hospedam” os nós da rede de protocolo de confiança para os respectivos sistemas de gerenciamento de transação (208). Por exemplo, as interfaces (210) fornecem a interface de programação de aplicativos (API) para acesso à rede de protocolo de confiança (212).
[0039] Como aqui descrito, a rede de protocolo de confiança (212) é fornecida como uma rede peer-to-peer incluindo uma pluralidade de nós (214) que gravam informações imutáveis em um protocolo de confiança (216). Embora um único protocolo de confiança (216) seja esquematicamente representado, são fornecidas múltiplas cópias do protocolo de confiança (216), e são mantidas através da rede de protocolo de confiança (212). Por exemplo, cada nó (214) armazena uma cópia do protocolo de confiança. Em algumas formas de realização, o protocolo de confiança (216) armazena informações associadas a transações que são realizadas entre duas ou mais entidades que participam da rede de protocolo de confiança privada.
[0040] A Figura 3A representa um exemplo de árvore Merkle (300) para um bloco (310) em umo protocolo de confiança de acordo com as formas de realização da presente invenção. Como mostrado, a árvore Merkle (300) inclui um cabeçalho de bloco que inclui um valor de hash para todos os dados no bloco, bem como um hash do bloco anterior no protocolo de confiança e um valor nonce. O cabeçalho do bloco também inclui um hash de raiz que é uma concatenação dos dois hashes diretamente abaixo dele na árvore Merkle (325a, b).
[0041] Os nóss de folhas da árvore Merkle (300) incluem transações (305 a-d) representando transações registadas neste bloco particular (310) do protocolo de confiança. A árvore Merkle (300) também inclui hashes (315 a-d). Cada um destes hashes (315 a-d) é um valor de hash gerado com base nos dados de transação para a transação (315 a-d), respectivamente. Por exemplo, o hash (315) a pode ser gerado fornecendo os
Petição 870190071603, de 26/07/2019, pág. 47/66
13/21 dados na transação (305a) como entrada para um algoritmo de hash SHA 256 para produzir o valor de hash (305a). Em algumas formas de realização, qualquer função hash com exclusividade garantida pode ser usada para produzir os hashes (315 a-d).
[0042] A árvore Merkle (300) também inclui os hashes (325a) (“Hash01”) e (325b) (“Hash23”). Os hashes (325 a-b) são produzidos pela concatenação dos dois hashes diretamente abaixo na árvore Merkle. Por exemplo, o hash (325a) (“Hash01”) é produzido pela concatenação de hashes (315a) (“HashO”) e (315b) (“Hashl”). Da mesma forma, como descrito acima, o hash da raiz no cabeçalho do bloco é construído pela concatenação do hash (325a) e do hash (325b).
[0043] Transações (305 a-c), mostradas sombreadas em cinza na Figura 3A, representam transações que uma entidade (por exemplo, um nó de peso leve) solicitando o bloco (310) não tem permissão para acessar. A Figura 3B representa um exemplo da árvore Merkle (350) na qual os ramos (335a, b) da árvore Merkle (300), que incluem apenas transações das quais a entidade solicitante deve ser isolada, são indicados pelas caixas de linhas tracejadas que rodeiam as ramificações.
[0044] A Figura 3C representa um exemplo de árvore Merkle (390) produzida com base na árvore Merkle da Figura 3A de acordo com formas de realização da presente invenção. Como mostrado, os ramos (335a e 335b) identificados na Figura 3B anterior foram removidos na árvore Merkle isolada (390).
[0045] Em algumas formas de realização, um exemplo de árvore Merkle isolada (390) pode ser produzida pela aplicação de um algoritmo de software a uma árvore Merkle completa, tal como a mostrada na Figura 3A. Em um exemplo de algoritmo, um nó de protocolo de confiança recebe uma solicitação de um nó de peso leve para ler um determinado bloco. O nó de
Petição 870190071603, de 26/07/2019, pág. 48/66
14/21 protocolo de confiança faz a varredura das transações no bloco solicitado e determina se o nó de peso leve tem permissão para ler cada transação com base em uma identidade, atributo incluído na solicitação e permissões associadas à identidade.
[0046] No exemplo de algoritmo, o nó de protocolo de confiança faz a varredura de forma sequencial através das transações no bloco, que por definição são armazenadas nos nós de folha da árvore Merkle. Para cada transação, se o nó de peso leve tiver permissão para ler a transação, o nó de protocolo de confiança se moverá para a próxima transação. Se o nó de protocolo de confiança encontrar uma transação Tx_i que o nó de peso leve não tem permissão para ler, o nó de protocolo de confiança continua a fazer a varredura as transações subsequentes até encontrar novamente uma transação TxJ que o nó de peso leve tenha permissão para ler. O nó de protocolo de confiança então remove o grupo de transações de Tx_i para Tx _(j-1), todos os quais o peso leve não tem permissão para ler. Além disso, o nó de protocolo de confiança remove qualquer ramificação da árvore Merkle que agora não inclui transações e deixa apenas o hash raiz daquele ramo em particular. Como mostrado nas Figuras 3B e 3C, este processo de remoção de ramos é aplicado às ramificações (335a e 335b).
[0047] Esta varredura e processamento de transações é contínua até a última transação na árvore Merkle ser processada, e é obtida uma árvore Merkle incluindo transações que o nó de peso leve tem permissão para ler. Esta árvore Merkle isolada é retornada ao nó de peso leve.
[0048] A Figura 4 descreve um exemplo de processo (400) que pode ser executado de acordo com formas de realização da presente invenção. Em algumas formas de realização, o exemplo de processo (400) pode ser executado usando um ou mais programas executáveis por computador executados usando um ou mais dispositivos de computação.
Petição 870190071603, de 26/07/2019, pág. 49/66
15/21 [0049] Em (402), um nó de protocolo de confiança recebe uma solicitação para ler um bloco específico do protocolo de confiança a partir de um nó de peso leve da rede de protocolo de confiança. A solicitação inclui uma identidade do nó de peso leve e o bloco particular que inclui uma árvore Merkle original contendo uma pluralidade de transações associadas ao bloco particular. Em alguns casos, cada pluralidade de transações inclui uma ou mais identidades associadas a um ou mais participantes na transação. A partir de (402), o método (400) continua para (404).
[0050] No (404), o nó de protocolo de confiança identifica as permissões associadas à identidade do nó de peso leve. Em alguns casos, a identidade é associada a uma classe de identidade, as permissões são associadas à classe de identidade e o nó de protocolo de confiança é configurado para impor permissões associadas à classe de identidade nas identidades associadas à classe de identidade. Em algumas formas de realização, a classe de identidade é uma classe reguladora, e em que as permissões associadas à classe reguladora indicam que todas as transações na rede de protocolo de confiança são acessíveis às identidades associadas à classe reguladora. Em alguns casos, a classe de identidade é uma classe comum e em que as permissões associadas à classe comum indicam que apenas as transações na rede de protocolo de confiança nas quais a identidade é um participante estão acessíveis à identidade. De (404), o método (400) continua para (406).
[0051] No (406), o nó de protocolo de confiança gera uma árvore Merkle isolada baseada na árvore Merkle original incluída no bloco em questão. A árvore Merkle isolada inclui apenas transações da árvore Merkle original que são determinadas como acessíveis pelo nó de peso leve com base nas permissões identificadas. Em algumas formas de realização, uma transação é determinada como não sendo acessível pelo nó de peso leve, se
Petição 870190071603, de 26/07/2019, pág. 50/66
16/21 as permissões indicarem que o nó de peso leve não tem acesso de leitura à transação. A árvore Merkle isolada é consistente com a árvore Merkle original. Em algumas formas de realização, a árvore Merkle isolada é consistente com a árvore Merkle original somente se for suficiente para permitir que o nó de peso leve verifique as transações na árvore Merkle isolada com base nos hashes na árvore Merkle isolada. Em alguns casos, gerar a árvore Merkle isolada inclui modificar a árvore Merkle original para produzir a árvore Merkle isolada, incluindo a remoção de todas as transações que são determinadas a não serem acessíveis pelo nó de peso leve a partir da árvore Merkle original, e a remoção de ramos da árvore Merkle original da qual todas as transações foram removidas, deixando o hash de raiz de cada um dos ramis intactos. De (406), o método (400) continua para (408).
[0052] Em (408), o nó de protocolo de confiança envia uma resposta ao nó de peso leve, incluindo a árvore Merkle isolada. De (408), o método (400) pára.
[0053] As formas de realização da matéria assunto e as ações e operações descritas nesta invenção podem ser implementadas em circuitos elétricos digitais, em software ou firmware de computador tangivelmente incorporado, em hardware de computador, incluindo as estruturas divulgadas nesta invenção e seus equivalentes estruturais, ou em combinações de um ou mais deles. As formas de realização da matéria objeto descritas nesta invenção podem ser implementadas como um ou mais programas de computador, por exemplo, um ou mais módulos de instruções de programas de computador, codificados em uma portadora de programa de computador, para execução ou controle da operação de aparelho de processamento de dados. O portador pode ser um meio de armazenamento de computador não transitório tangível. Alternativamente, ou em adição, o veículo pode ser um sinal propagado gerado artificialmente, por exemplo, um sinal elétrico, óptico, ou sinal eletromagnético
Petição 870190071603, de 26/07/2019, pág. 51/66
17/21 gerado por máquina que é gerado para codificar a informação para transmissão para o aparelho receptor adequado para ser executado por um aparelho de processamento de dados. O meio de armazenamento de computador pode ser ou ser parte de um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória de acesso aleatório ou serial, ou uma combinação de um ou mais deles. Um meio de armazenamento de computador não é um sinal propagado.
[0054] O termo “aparelho de processamento de dados” engloba todos os tipos de aparelhos, dispositivos e máquinas para processamento de dados, incluindo, por exemplo, um processador programável, um computador ou vários processadores ou computadores. O aparelho de processamento de dados pode incluir circuito lógico de propósito especial, por exemplo, um FPGA (matriz de portas lógicas programáveis), um ASIC (circuito integrado específico de aplicação), ou uma GPU (unidade de processamento gráfico). O aparelho também pode incluir, além do hardware, código que cria um ambiente de execução para programas de computador, por exemplo, código que constitui o firmware do processador, uma pilha de protocolos, um sistema de gerenciamento de banco de dados, um sistema operacional ou uma combinação de um ou mais eles.
[0055] Um programa de computador, que também pode ser referido ou descrito como um programa, software, aplicativo de software, aplicativo, módulo, módulo de software, mecanismo, script ou código, pode ser escrito em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, ou linguagens declarativas ou processuais; e pode ser implantado em qualquer forma, incluindo como um programa de suporte único ou como um módulo, componente, motor, sub-rotina, ou outra unidade apropriada para a execução em um ambiente de computação, em que
Petição 870190071603, de 26/07/2019, pág. 52/66
18/21 o ambiente pode incluir um ou mais computadores interconectados por uma rede de comunicação em um ou mais locais.
[0056] Um programa de computador pode, mas não precisa, corresponder a um arquivo em um sistema de arquivos. Um programa de computador pode ser armazenado em uma porção de um arquivo que contém outros programas ou dados, por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação, em um único arquivo dedicado ao programa em questão, ou em múltiplos arquivos coordenados, por exemplo, arquivos que armazenam um ou mais módulos, sub-programas, ou partes do código.
[0057] Os processos e os fluxos lógicos descritos nesta invenção podem ser realizados por um ou mais computadores executando um ou mais programas de computador para realizar operações operando em dados de entrada e gerar saída. Os processos e fluxos lógicos também podem ser executados por circuitos lógicos de propósito especial, por exemplo, um FPGA, um ASIC ou uma GPU, ou por uma combinação de circuitos lógicos de propósito especial e um ou mais computadores programados.
[0058] Computadores adequados para a execução de um programa de computador podem ser baseados em microprocessadores de propósito geral ou especial, ou em qualquer outro tipo de unidade de processamento central. Geralmente, uma unidade de processamento central receberá instruções e dados a partir de uma memória somente leitura ou de uma memória de acesso aleatório ou ambos. Os elementos de um computador podem incluir uma unidade central de processamento para executar instruções e um ou mais dispositivos de memória para armazenar instruções e dados. A unidade de processamento central e a memória podem ser complementadas por, ou incorporadas em circuitos lógicos de finalidade especial.
[0059] Geralmente, um computador será acoplado a pelo menos um
Petição 870190071603, de 26/07/2019, pág. 53/66
19/21 meio de armazenamento não transitório legível por computador (também chamado de memória legível por computador). O meio de armazenamento acoplado ao computador pode ser um componente interno do computador (por exemplo, um disco rígido integrado) ou um componente externo (por exemplo, disco rígido de barramento serial universal (USB) ou um sistema de armazenamento acessado por uma rede). Exemplos de mídia de armazenamento podem incluir, por exemplo, discos magnéticos, magneto-ópticos ou ópticos, unidades de estado sólido, recursos de armazenamento de rede, como sistemas de armazenamento em nuvem ou outros tipos de mídia de armazenamento. No entanto, um computador não precisa ter esses dispositivos. Além disso, um computador pode ser incorporado em outro dispositivo, por exemplo, um telefone celular, um assistente digital pessoal (PDA), um player de áudio ou vídeo, um console de jogos, um receptor GPS ou um dispositivo de armazenamento portátil, por exemplo, uma unidade flash de barramento serial universal (USB), para citar apenas alguns.
[0060] Para fornecer interação com um usuário, as formas de realização da matéria objeto descritas nesta invenção podem ser implementadas em, ou configuradas para se comunicarem com, um computador tendo um dispositivo de exibição, por exemplo, um monitor LCD (display de cristal líquido), para exibir informações ao usuário, e um dispositivo de entrada pelo qual o usuário pode fornecer entrada para o computador, por exemplo, um teclado e um dispositivo apontador, por exemplo, um mouse, um trackball ou um touchpad. Outros tipos de dispositivos também podem ser usados para fornecer interação com um usuário; por exemplo, a retroinformação fornecida ao usuário pode ser qualquer forma de retroinformação sensorial, por exemplo, retroinformação visual, retroinformação auditiva ou retroinformação tátil; e a entrada do usuário pode ser recebida de qualquer forma, incluindo entrada acústica, de fala ou tátil. Além disso, um computador pode interagir com um usuário enviando documentos e
Petição 870190071603, de 26/07/2019, pág. 54/66
20/21 recebendo documentos de um dispositivo usado pelo usuário; por exemplo, enviando páginas da Web para um navegador da Web no dispositivo de um usuário em resposta a solicitações recebidas do navegador da Web ou interagindo com um aplicativo executado em um dispositivo de usuário, por exemplo, um smartphone ou tablet eletrônico. Além disso, um computador pode interagir com um usuário enviando mensagens de texto ou outras formas de mensagem para um dispositivo pessoal, por exemplo, um smartphone que está executando um aplicativo de mensagens e recebendo mensagens responsivas do usuário em troca.
[0061] Esta invenção usa o termo “configurado para” em conexão com sistemas, aparelhos e componentes de programas de computador. Para que um sistema de um ou mais computadores seja configurado para executar transações ou ações particulares significa que o sistema instalou nele software, firmware, hardware ou uma combinação deles que, em operação, fazem com que o sistema execute as operações ou ações. Para um ou mais programas de computador a serem configurados para executar operações ou ações particulares significa que um ou mais programas incluem instruções que, quando executadas pelo aparelho de processamento de dados, fazem com que o aparelho execute as transações ou ações. Para circuitos lógicos de propósito especial a serem configurados para executar transações ou ações particulares significa que o circuito tem lógica eletrônica que realiza as operações ou ações.
[0062] Enquanto esta invenção contém muitos detalhes de implementações, estes não devem ser interpretados como limitações no escopo do que está sendo reivindicado, que é definido pelas próprias reivindicações, mas sim como descrições de recursos que podem ser específicos para determinadas formas de realização. Certas características que são descritas nesta invenção no contexto de formas de realização separadas também podem ser realizadas em combinação em uma única implementação. Por outro lado, várias características
Petição 870190071603, de 26/07/2019, pág. 55/66
21/21 que são descritas no contexto de uma única implementação também podem ser realizadas em várias formas de realização separadamente ou em qualquer subcombinação. Além disso, embora as características possam ser descritas acima como atuando em certas combinações e ainda inicialmente sendo reivindicadas como tal, uma ou mais características de uma combinação reivindicada pode em alguns casos ser excisado a partir da combinação, e a reivindicação pode ser dirigida para uma subcombinação ou variação de uma subcombinação.
[0063] Da mesma forma, enquanto as operações são representadas nos desenhos e recitadas nas reivindicações em uma ordem particular, isso não deve ser entendido como exigindo que tais operações sejam executadas na ordem particular mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam executadas, para alcançar resultados desejáveis. Em determinadas circunstâncias, o processamento multitarefa e em paralelo podem ser vantajosos. Além disso, a separação de vários módulos e componentes do sistema nas formas de realização descritas acima não deve ser entendida como exigindo tal separação em todas as formas de realização, e deve ser entendido que os componentes e sistemas do programa descritos geralmente podem ser integrados em um único produto de software ou empacotados em múltiplos produtos de software.
[0064] As formas de realização particulares da matéria objeto foram descritas. Outras formas de realização estão dentro do escopo das seguintes reivindicações. Por exemplo, as ações citadas nas reivindicações podem ser realizadas em uma ordem diferente e ainda alcançar resultados desejáveis. Como um exemplo, os processos representados nas figuras anexas não requerem necessariamente a ordem particular mostrada, ou ordem sequencial, para alcançar os resultados desejados. Em alguns casos, a multitarefa e o processamento paralelo podem ser vantajosos.

Claims (10)

  1. Reivindicações
    1. MÉTODO IMPLEMENTADO POR COMPUTADOR PARA PROTEGER DADOS SENSÍVEIS ARMAZENADOS EM UM PROTOCOLO DE CONFIANÇA MANTIDO POR UMA REDE DE PROTOCOLO DE CONFIANÇA, caracterizado pelo método compreender:
    receber, por um nó de protocolo de confiança na rede de protocolo de confiança, uma solicitação para ler um bloco particular do protocolo de confiança, em que a solicitação é recebida de um nó de peso leve da rede de protocolo de confiança e inclui uma identidade do nó de peso leve, e em que o bloco particular inclui uma árvore Merkle original contendo uma pluralidade de transações associadas ao bloco particular;
    identificar, pelo nó de protocolo de confiança, permissões associadas com a identidade do nó de peso leve;
    gerar, pelo nó de protocolo de confiança, uma árvore Merkle isolada com base na árvore Merkle original incluída no bloco em particular, a árvore Merkle isolada incluindo apenas as transações da árvore Merkle original que são determinadas como sendo acessíveis pelo nó de peso leve com base nas permissões identificadas, em que a árvore Merkle isolada é consistente com a árvore Merkle original; e enviar, pelo nó de protocolo de confiança, uma resposta ao nó de peso leve incluindo a árvore Merkle isolada.
  2. 2. MÉTODO IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 1, caracterizado por gerar a árvore Merkle isolada com base na árvore Merkle original incluída no bloco em particular inclui:
    modificar a árvore Merkle original para produzir a árvore Merkle isolada, incluindo:
    remover todas as transações que estão determinadas a não serem acessíveis pelo nó de peso leve da árvore Merkle original; e
    Petição 870190071603, de 26/07/2019, pág. 57/66
    2/3 remover ramos da árvore Merkle original da qual todas as transações tenham sido removidas, deixando apenas o hash de raiz de cada um dos ramos intactos.
  3. 3. MÉTODO IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 2, caracterizado por uma transação estar determinada a não ser acessível pelo nó de peso leve se as permissões indicam que o nó de peso leve não têm acesso de leitura à transação.
  4. 4. MÉTODO IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 1, caracterizado por cada uma da pluralidade de transações incluir uma ou mais identidades associadas a um ou mais participantes na transação.
  5. 5. MÉTODO IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 4, caracterizado pela identidade estar associada a uma classe de identidade, as permissões são associadas à classe de identidade e o nó de protocolo de confiança é configurado para impor permissões associadas à classe de identidade nas identidades associadas à classe de identidade.
  6. 6. MÉTODO IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 5, caracterizado pela classe de identidade ser uma classe reguladora, e em que as permissões associadas com a classe reguladora indicam que todas as transações na rede de protocolo de confiança são acessíveis a identidades associadas com a classe reguladora.
  7. 7. MÉTODO IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 5, caracterizado pela classe de identidade ser uma classe comum e em que as permissões associadas à classe comum indicam que apenas as transações na rede de protocolo de confiança na qual a identidade é um participante estão acessíveis à identidade.
  8. 8. MÉTODO IMPLEMENTADO POR COMPUTADOR, de
    Petição 870190071603, de 26/07/2019, pág. 58/66
    3/3 acordo com a reivindicação 1, caracterizado pela árvore Merkle isolada ser consistente com a árvore Merkle original apenas se for suficiente para permitir que o nó de peso leve verifique a integridade do bloco com base na árvore Merkle isolada.
  9. 9. MEIO DE ARMAZENAMENTO NÃO TRANSITÓRIO, LEGÍVEL POR COMPUTADOR, caracterizado por ser acoplado a um ou mais processadores e tendo instruções armazenadas nele, que, quando executados por um ou mais processadores, fazem com que um ou mais processadores executem transações de acordo com o método, conforme definido em qualquer uma das reivindicações 1 a 8.
  10. 10. SISTEMA, caracterizado por compreender:
    um dispositivo de computação; e um dispositivo de armazenamento legível por computador, acoplado ao dispositivo de computação e tendo instruções armazenadas no mesmo que, quando executadas pelo dispositivo de computação, fazem com que o dispositivo de computação realiza operações de acordo com o método, conforme definido em qualquer uma das reivindicações 1 a 8.
BR112019015423A 2018-12-13 2018-12-13 Método implementado por computador para proteger dados sensíveis armazenados em um protocolo de confiança mantido por uma rede de protocolo de confiança, meio de armazenamento não transitório, legível por computador e sistema BR112019015423A8 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/120805 WO2019072293A2 (en) 2018-12-13 2018-12-13 DATA INSULATION IN A BLOCK CHAIN NETWORK

Publications (2)

Publication Number Publication Date
BR112019015423A2 true BR112019015423A2 (pt) 2020-03-31
BR112019015423A8 BR112019015423A8 (pt) 2023-03-28

Family

ID=66100120

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019015423A BR112019015423A8 (pt) 2018-12-13 2018-12-13 Método implementado por computador para proteger dados sensíveis armazenados em um protocolo de confiança mantido por uma rede de protocolo de confiança, meio de armazenamento não transitório, legível por computador e sistema

Country Status (15)

Country Link
US (2) US11003646B2 (pt)
EP (1) EP3560143B1 (pt)
JP (1) JP6816297B2 (pt)
KR (1) KR102258440B1 (pt)
CN (1) CN109863521A (pt)
AU (1) AU2018348333A1 (pt)
BR (1) BR112019015423A8 (pt)
CA (1) CA3051762A1 (pt)
MX (1) MX2019008898A (pt)
PH (1) PH12019501735A1 (pt)
RU (1) RU2745518C9 (pt)
SG (1) SG11201906846YA (pt)
TW (1) TWI706352B (pt)
WO (1) WO2019072293A2 (pt)
ZA (1) ZA201904928B (pt)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109829822B (zh) * 2019-01-28 2020-10-23 杭州复杂美科技有限公司 交易替换方法、交易排队方法、设备和存储介质
JP6821053B2 (ja) * 2019-03-21 2021-01-27 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーンネットワークにおけるデータ隔離
CN110311782B (zh) * 2019-04-29 2020-04-14 山东工商学院 个人信息的零知识证明方法、系统及存储介质
CN111034151B (zh) * 2019-04-30 2022-01-28 创新先进技术有限公司 用于管理对区块链系统中的账户的访问的方法和设备
CN110365768B (zh) * 2019-07-15 2021-07-06 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
US11520904B2 (en) * 2019-08-27 2022-12-06 Accenture Global Solutions Limited AI-based blockchain hybrid consensus
CN111125593B (zh) * 2019-11-14 2024-01-26 深圳源中瑞科技有限公司 基于区块链的家谱信息处理方法、设备及存储介质
WO2020098820A2 (en) 2019-12-05 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Performing map iterations in a blockchain-based system
SG11202010541UA (en) 2019-12-05 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd Performing map iterations in a blockchain-based system
CN111242617B (zh) * 2020-01-02 2022-05-10 支付宝(杭州)信息技术有限公司 用于执行交易正确性验证的方法及装置
JP7381881B2 (ja) * 2020-02-21 2023-11-16 富士通株式会社 管理プログラム、管理装置および管理方法
CN111343177B (zh) * 2020-02-25 2022-11-29 百度在线网络技术(北京)有限公司 轻量级节点的监管方法、装置、设备和介质
US10887104B1 (en) 2020-04-01 2021-01-05 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
US11409907B2 (en) 2020-04-01 2022-08-09 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
CN112565435B (zh) * 2020-12-10 2021-08-17 广东投盟科技有限公司 基于事务链的业务处理方法、系统及计算机可读存储介质
CN112799839B (zh) * 2021-01-28 2024-03-15 百果园技术(新加坡)有限公司 请求处理方法、装置、计算机可读存储介质及电子设备
WO2023140828A1 (en) * 2022-01-18 2023-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling access to data stored on a blockchain

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809766B2 (ja) * 2003-08-15 2011-11-09 株式会社エヌ・ティ・ティ・ドコモ 損失を適応制御したデータストリームの認証方法及び装置
US9530010B2 (en) * 2013-11-07 2016-12-27 Fujitsu Limited Energy usage data management
CN104750784B (zh) * 2015-03-06 2018-03-02 西安交通大学 一种基于Merkle树结构的空间查询完整性验证方法
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
US20170132621A1 (en) * 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
EP3420514B1 (en) * 2016-02-23 2024-03-13 nChain Licensing AG A method and system for securing computer software using a distributed hash table and a blockchain
CN106559211B (zh) * 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
US20190238550A1 (en) * 2016-12-26 2019-08-01 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Permission control method, apparatus and system for block chain, and node device
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
CN107040585B (zh) * 2017-02-22 2020-06-19 创新先进技术有限公司 一种业务校验的方法及装置
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
US11030331B2 (en) * 2017-06-01 2021-06-08 Schvey, Inc. Distributed privately subspaced blockchain data structures with secure access restriction management
CN107733855B (zh) * 2017-08-31 2019-11-05 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
US10783272B2 (en) * 2017-12-08 2020-09-22 Nec Corporation Method and system of preserving privacy for usage of lightweight blockchain clients
CN108664803B (zh) * 2018-04-04 2022-03-22 中国电子科技集团公司第三十研究所 一种基于密码的文档内容细粒度访问控制系统
RU181439U1 (ru) * 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети
SG11202008861TA (en) * 2018-04-27 2020-11-27 Nchain Holdings Ltd Partitioning a blockchain network
CN108961052B (zh) 2018-06-25 2022-02-22 百度在线网络技术(北京)有限公司 区块链数据的验证方法、存储方法、装置、设备和介质

Also Published As

Publication number Publication date
ZA201904928B (en) 2021-06-30
EP3560143A4 (en) 2020-03-11
JP6816297B2 (ja) 2021-01-20
EP3560143A2 (en) 2019-10-30
WO2019072293A3 (en) 2019-10-10
PH12019501735A1 (en) 2020-03-09
RU2745518C9 (ru) 2021-05-26
CN109863521A (zh) 2019-06-07
RU2019123413A3 (pt) 2021-01-26
WO2019072293A2 (en) 2019-04-18
US11003646B2 (en) 2021-05-11
JP2020516103A (ja) 2020-05-28
KR102258440B1 (ko) 2021-06-02
EP3560143B1 (en) 2021-09-15
RU2745518C2 (ru) 2021-03-25
BR112019015423A8 (pt) 2023-03-28
TW202022744A (zh) 2020-06-16
RU2019123413A (ru) 2021-01-26
MX2019008898A (es) 2019-09-10
TWI706352B (zh) 2020-10-01
KR20200074909A (ko) 2020-06-25
US20190278758A1 (en) 2019-09-12
US20210232558A1 (en) 2021-07-29
CA3051762A1 (en) 2019-04-18
SG11201906846YA (en) 2019-08-27
AU2018348333A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
BR112019015423A2 (pt) Método implementado por computador para proteger dados sensíveis armazenados em um protocolo de confiança mantido por uma rede de protocolo de confiança, meio de armazenamento não transitório, legível por computador e sistema
US11782904B2 (en) Advanced smart contract with decentralized ledger in a multi-tenant environment
TWI705689B (zh) 區塊鏈網路中的資料隔離
BR112019016064A2 (pt) Método implementado por computador, meio de armazenamento legível e sistema
US11853291B2 (en) Privacy preserving architecture for permissioned blockchains
BR112019016290A2 (pt) método implementado por computador, meio de armazenamento não transitório legível por computador e sistema
JP2021525931A (ja) ブロックチェーンのための効率的な検証
TW202023224A (zh) 事件驅動的區塊鏈工作流程處理
US10209982B2 (en) Distributed storage framework information server platform architecture
BR112019007939A2 (pt) método implementado por computador, meio legível por computador e sistema para implementar um método
ES2870919T3 (es) Interfaz de software para contratos inteligentes
BR112019016188A2 (pt) método implementado por computador para o controle do acesso aos contratos inteligentes, meio de armazenamento legível por computador não transitório e sistema
CN111033489A (zh) 用于数据遍历的方法和设备
US11032081B1 (en) System and method for authorizing secondary users to access a primary user's account using blockchain
EP3472720B1 (en) Digital asset architecture
US20220069977A1 (en) Redactable blockchain
KR20210047763A (ko) 컨테이너 기반의 인공지능 모델 관리 방법 및 서버
US20240061828A1 (en) Recursive endorsements for database entries
CN114528592A (zh) 业务处理方法、装置、设备、介质和程序产品
WYDE POOLSIDE: A COMPUTATIONAL NOTEBOOK
SRIVASTAVA Microservices

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]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 9/32

Ipc: H04L 9/32 (2006.01), H04L 67/04 (2022.01), H04L 9/

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]