BR112019003345A2 - método e aparelho de armazenamento de dados, verificação de dados e vinculação de dados - Google Patents

método e aparelho de armazenamento de dados, verificação de dados e vinculação de dados Download PDF

Info

Publication number
BR112019003345A2
BR112019003345A2 BR112019003345A BR112019003345A BR112019003345A2 BR 112019003345 A2 BR112019003345 A2 BR 112019003345A2 BR 112019003345 A BR112019003345 A BR 112019003345A BR 112019003345 A BR112019003345 A BR 112019003345A BR 112019003345 A2 BR112019003345 A2 BR 112019003345A2
Authority
BR
Brazil
Prior art keywords
data
version
block
identifier
verification value
Prior art date
Application number
BR112019003345A
Other languages
English (en)
Inventor
Li Yi
Zhao Zunkui
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 BR112019003345A2 publication Critical patent/BR112019003345A2/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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/24Querying
    • 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/13File access structures, e.g. distributed indices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • 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
    • 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
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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
    • 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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

o presente pedido proporciona um método e aparelho de armazenamento de dados, autenticação de dados e rastreamento de dados, compreendendo: determinar um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo (101), buscar por um segundo valor alvo de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados (102); criar um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação (103) e armazenar o bloco de dados em uma cadeia de blocos (104). por armazenar o primeiro valor de verificação da primeira versão de dados do objeto alvo na cadeia de bloco na forma de um bloco de dados, uma vez que a cadeia de blocos tem a característica de ser imutável, quando um solicitante de dados obtém o conteúdo de dados correspondendo a uma primeira versão de dados de um objeto alvo, ele pode verificar, com base no primeiro valor de verificação armazenado na cadeia de blocos, se o conteúdo de dados correspondendo à primeira versão de dados foi modificado, desse modo determinando a autenticidade do conteúdo de dados correspondendo à primeira versão de dados, efetivamente solucionando o problema da incapacidade de determinar a autenticidade do conteúdo de dados devido à facilidade de modificação do conteúdo de dados, e aumentando a eficiência de análise de dados do solicitante de dados.

Description

DETERMINA UM PRIMEIRO VALOR: DE VEPJF1CACÃO DE UMA PRIMEIRA VERSÂODEDADOGDE. UM OBJETO ALVO
BU3CA FOR UM SEGUNDO VALOR DE VERIFICAÇÃO DE UMA SEGUNDA VERSÃO DE DADOS DO OBJETO ALVO QUE É: ADJACENTE À PRIMEIRA VERSÃO DÈ DADOS
CRIAR UM.BLOCO DE DADOS COM BASE NO PRIMEIRO VALOR DE VEPJFICAÇÂO E NO SEGUNDO VALOR DE VERiFiOAÇÃO:
ARMAZENANDO O BLOCO DE DADOS EM UMA CADEIA DE BLOCOS
1/34 “MÉTODO E APARELHO DE ARMAZENAMENTO DE DADOS, VERIFICAÇÃO DE DADOS E VINCULAÇÃO DE DADOS” [001] O presente pedido reivindica prioridade do pedido de patente Chinês de número de pedido 201610694496.6 e título de invenção “Data Storage, Data Check, and Data Linkage Method and Apparatus”, depositado em 19 de agosto 2016, cuja totalidade é por meio deste incorporada a título de referência no presente pedido.
Campo Técnico [002] O presente pedido relaciona-se ao campo técnico de processamento de informações da Internet, particularmente a um método e aparelho de armazenamento de dados, autenticação de dados e rastreamento de dados.
Antecedentes da Invenção [003] Na era de informações digitalizadas, os dados não são mais registros de textos frios, mas sim recursos de informação contendo valores de produção. De modo a analisar com precisão os recursos de informação contidos nos dados, a autenticidade do armazenamento de dados precisa ser garantida, isto é, garantindo que os dados armazenados no banco de dados sejam dados originais.
[004] O assim chamado “rastreamento de dados” pode ser entendido como o registro das informações de evolução e do conteúdo de processamento de evolução dos dados originais ao longo de todo o seu ciclo de vida (da criação à disseminação e extinção). O estudo dos dados originais pode acompanhar a evolução dos dados originais ao longo de todo o seu ciclo de vida e determinar a procedência de dados dos dados originais. É uma questão de significância para os provedores de dados e solicitantes de dados.
[005] Atualmente, um provedor de dados armazena dados em um banco de dados, e armazena, no banco de dados, o conteúdo de dados a ser armazenado, bem como outras informações relacionadas aos dados a serem armazenados (por
Petição 870190016696, de 19/02/2019, pág. 11/58
2/34 exemplo, criador dos dados, se os dados tiveram alterações de versão, e horário da criação de dados). Quando um solicitante de dados precisa obter dados a partir do banco de dados, o provedor de dados irá fornecer, ao solicitante de dados, uma assinatura digital para acessar os dados a serem obtidos. O solicitante de dados obtém os dados a serem obtidos a partir do banco de dados com base nesta assinatura digital, e verifica a autenticidade dos dados a serem obtidos.
[006] No entanto, os provedores de dados armazenam dados em um banco de dados, e um grande número de bancos de dados que são usados atualmente possuem uma função de modificação. Suponha-se que um provedor de dados promete que irá fornecer, a um solicitante de dados, dados na versão A (a assinatura digital correspondendo aos dados na versão A é A1), mas por outras razões, o provedor de dados fornece, ao solicitante de dados, dados na versão B (mas o solicitante de dados não sabe se os dados obtidos são dados na versão A ou dados na versão B), e a assinatura digital obtida com base na versão B é B1. Para fazer o solicitante de dados acreditar que os dados obtidos são dados na versão A, o provedor de dados pode modificar a assinatura digital correspondendo aos dados na versão A armazenados no banco de dados, ou seja, modificar a assinatura de dados dos dados na versão A para B1. Desta maneira, quando o solicitante de dados verifica pelo uso de B1, o resultado da verificação é OK. Ele faz o solicitante de dados acreditar que os dados obtidos na versão B são os dados na versão A que ele deseja obter, mas, na realidade, os dados obtidos pelo solicitante de dados não são os dados na versão A que ele deseja obter. Como consequência, o resultado da análise de dados que o solicitante de dados obtém com base nos dados da versão B obtidos possui um grande desvio em relação ao resultado esperado, causando perda para o solicitante de dados.
[007] Em suma, necessita-se urgentemente de um método de armazenamento de dados para resolver o problema de incapacidade em determinar
Petição 870190016696, de 19/02/2019, pág. 12/58
3/34 a autenticidade de dados devido à facilidade de adulteração dos dados nas atuais tecnologias.
Sumário [008] À luz do exposto acima, as modalidades do presente pedido oferecem um método e aparelho de armazenamento de dados, autenticação de dados e rastreamento de dados para resolver o problema da incapacidade de determinar a autenticidade dos dados devido à facilidade de adulteração dos dados nas atais tecnologias.
[009] As modalidades do presente pedido proporcionam um método de armazenamento de dados, compreendendo:
[010] determinar um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo;
[011] buscar por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados;
[012] criar um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação, e armazenar o bloco de dados em uma cadeia de blocos, em que o bloco de dados armazenado na cadeia de blocos é imutável.
[013] As modalidades do presente pedido proporcionam um aparelho de armazenamento de dados, compreendendo:
[014] um módulo de determinação determinando um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo;
[015] uma unidade de busca buscando por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados;
[016] um módulo de armazenamento criando um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação, e armazenar o bloco de dados em uma cadeia de blocos, em que o bloco de dados armazenado na
Petição 870190016696, de 19/02/2019, pág. 13/58
4/34 cadeia de blocos é imutável.
[017] Pelo menos uma das soluções técnicas anteriores adotadas pelas modalidades do presente pedido pode alcançar o seguinte efeito benéfico:
[018] através da determinação de um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo; buscar por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados; criar um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação e armazenar o bloco de dados em uma cadeia de blocos. Um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo é armazenado em uma cadeia de blocos na forma de um bloco de dados. Como a cadeia de blocos tem a característica de ser imutável, quando um solicitante de dados obtém o conteúdo de dados correspondendo a uma primeira versão de dados de um objeto alvo, ele pode verificar, com base no primeiro valor de verificação armazenado na cadeia de blocos, se o conteúdo de dados correspondendo à primeira versão de dados foi modificado, desse modo determinando a autenticidade do conteúdo de dados correspondendo à primeira versão de dados, efetivamente resolvendo o problema da incapacidade de determinar a autenticidade do conteúdo de dados devido à facilidade de modificação do conteúdo de dados, e aumentando a eficiência da análise de dados do solicitante de dados.
[019] As modalidades do presente pedido adicionalmente proporcionam um método de autenticação de dados, compreendendo:
[020] receber uma solicitação de autenticação de dados, a solicitação de autenticação de dados compreendendo um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados;
[021] com base no identificador de versão da versão de dados contido na
Petição 870190016696, de 19/02/2019, pág. 14/58
5/34 solicitação de autenticação de dados, buscar, em uma cadeia de blocos, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados;
[022] com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca, autenticar o conteúdo de dados dos dados a serem autenticados.
[023] As modalidades do presente pedido adicionalmente proporcionam um aparelho de autenticação de dados, compreendendo:
[024] um módulo de recebimento recebendo uma solicitação de autenticação de dados, a solicitação de autenticação de dados compreendendo um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados;
[025] um módulo de busca buscando, em uma cadeia de blocos, com base no identificador de versão da versão de dados contido na solicitação de autenticação de dados, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados;
[026] um módulo de autenticação autenticando o conteúdo de dados dos dados a serem autenticados com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca.
[027] Pelo menos uma das soluções técnicas anteriores adotadas pelas modalidades do presente pedido pode alcançar o seguinte efeito benéfico:
[028] através do recebimento de uma solicitação de autenticação de dados, que contém um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados; com base no identificador de versão da versão de dados contido na solicitação de autenticação de dados, buscar, em uma cadeia de
Petição 870190016696, de 19/02/2019, pág. 15/58
6/34 blocos, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados; com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca, autenticar o conteúdo de dados dos dados a serem autenticados. Como a cadeia de blocos tem a característica de ser imutável, o valor de verificação préarmazenado obtido a partir da cadeia de blocos que corresponde ao identificador de versão da versão de dados é autêntico. O valor de verificação autêntico é usado para verificar se os dados a serem autenticados em uma solicitação de autenticação de dados foram adulterados, desse modo assegurando a autenticidade dos dados a serem autenticados.
[029] As modalidades do presente pedido adicionalmente proporcionam um método de rastreamento de dados, compreendendo:
[030] receber uma solicitação de retrocesso de dados (“backtracking”), a solicitação de retrocesso de dados compreendendo um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso;
[031] com base no identificador de versão da primeira versão de dados, buscar, em uma cadeia de blocos, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados;
[032] com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial e obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso;
[033] com base no bloco de dados, determinar o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso.
[034] As modalidades do presente pedido adicionalmente proporcionam um
Petição 870190016696, de 19/02/2019, pág. 16/58
7/34 aparelho de rastreamento de dados, compreendendo:
[035] um módulo de recebimento recebendo uma solicitação de retrocesso de dados, a solicitação de retrocesso de dados compreendendo um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso;
[036] um módulo de retrocesso buscando, em uma cadeia de blocos, com base no identificador de versão da primeira versão de dados, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados; com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso;
[037] um módulo de determinação determinando o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso com base no bloco de dados.
[038] Pelo menos uma das soluções técnicas anteriores adotadas pelas modalidades do presente pedido pode alcançar o seguinte efeito benéfico:
[039] através do recebimento de uma solicitação de retrocesso, a solicitação de retrocesso de dados compreendendo um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso; com base no identificador de versão da primeira versão de dados, buscar, em uma cadeia de blocos, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados; com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial para obter um bloco de dados contendo o identificador de versão
Petição 870190016696, de 19/02/2019, pág. 17/58
8/34 da versão inicial dos dados a serem analisados por retrocesso; com base no bloco de dados, determinar o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso. Uma vez que tanto um identificador de versão de uma primeira versão de dados de um objeto alvo quanto um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados são armazenados na forma de um bloco de dados na cadeia de blocos, e uma vez que a cadeia de blocos tem a característica de ser imutável e adota uma estrutura de dados vinculados, é possível realizar o retrocesso e encontrar versões evoluídas dos dados a serem analisados por retrocesso, bem como o conteúdo de dados correspondendo a cada versão evoluída, e assegurar a autenticidade da evolução de dados.
BREVE DESCRIÇÃO DOS DESENHOS [040] Os desenhos aqui descritos foram concebidos para propiciar uma compreensão adicional do presente pedido e constituem parte deste pedido, e as modalidades ilustrativas do presente pedido e suas descrições pretendem explicar o presente pedido e não limitar o presente pedido. Nos desenhos:
[041] A FIG. 1 é um fluxograma de um método de armazenamento de dados de acordo com algumas modalidades do presente pedido.
[042] A FIG. 2 é um diagrama estrutural dos blocos de dados criados nos vários blocos em uma cadeia de blocos.
[043] A FIG. 3 é um fluxograma de um método de autenticação de dados de acordo com algumas modalidades do presente pedido.
[044] A FIG. 4 é um diagrama esquemático de um cenário de um método de autenticação de dados de acordo com algumas modalidades do presente pedido.
[045] A FIG. 5 é um fluxograma de um método de rastreamento de dados de acordo com algumas modalidades do presente pedido.
[046] A FIG. 6 é um diagrama esquemático de um cenário de um método de
Petição 870190016696, de 19/02/2019, pág. 18/58
9/34 rastreamento de dados de acordo com algumas modalidades do presente pedido.
[047] A FIG. 7 é um diagrama estrutural de um aparelho de armazenamento de dados de acordo com algumas modalidades do presente pedido.
[048] A FIG. 8 é um diagrama estrutural de um aparelho de autenticação de dados de acordo com algumas modalidades do presente pedido.
[049] A FIG. 9 é um diagrama estrutural de um aparelho de rastreamento de dados de acordo com algumas modalidades do presente pedido.
Descrição Detalhada [050] De modo a alcançar os objetivos do presente pedido, as modalidades do presente pedido proporcionam um método e aparelho de armazenamento de dados, autenticação de dados e rastreamento de dados, armazenando um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo em uma cadeia de blocos na forma de um bloco de dados. Como a cadeia de blocos tem a característica de ser imutável, quando um solicitante de dados obtém o conteúdo de dados correspondendo à primeira versão de dados de um objeto alvo, ele pode verificar, com base no primeiro valor de verificação armazenado na cadeia de blocos, se o conteúdo de dados correspondendo à primeira versão de dados foi modificado, desse modo determinando a autenticidade do conteúdo de dados correspondendo à primeira versão de dados, efetivamente resolvendo o problema da incapacidade de determinar a autenticidade do conteúdo de dados devido à facilidade de modificação do conteúdo de dados, e aumentando a eficiência da análise de dados de um solicitante de dados.
[051] Deve-se observar que a cadeia de blocos gravada nas modalidades do presente pedido pode ser entendida como um banco de dados confiável, e o banco de dados confiável é um banco de dados similar a um banco de dado não-relacional. Comparado com um banco de dados convencional, o banco do dados confiável possui a seguinte diferença: o banco de dados confiável é caracterizado por ser
Petição 870190016696, de 19/02/2019, pág. 19/58
10/34 descentralizado e independente de confiança. O termo “descentralizado” significa que, em um sistema baseado em uma cadeia de blocos, não há hardware centralizado ou corpo gerencial, os direitos e obrigações entre quaisquer nós dos sistemas são iguais, e o dano ou perda de qualquer nó não irá afetar a operação de todo o sistema.
[052] O termo “independente de confiança” (trustless) significa que a participação na troca de dados entre quaisquer nós de todo o sistema não necessita de confiança mútua, as regras de operação de todo o sistema são abertas e transparentes, e o conteúdo de dados de todo o sistema também é aberto, portanto, dentro de uma gama de regras e horários definidos pelo sistema, nenhum nó pode ou consegue alguma forma de burlar outros nós.
[053] As soluções técnicas registradas nas modalidades do presente pedido propõem uma estrutura de dados (subsequentemente, ela pode ser chamada de “bloco de dados”). Esta estrutura de dados contém um cabeçalho de dados e um corpo de dados. O cabeçalho de dados armazena um valor de verificação de uma versão de dados atual de um objeto alvo e um valor de verificação de uma versão de dados anterior adjacente à versão de dados atual para facilitar o rastreamento de dados subsequente do objeto alvo. O corpo de dados pode armazenar conteúdo de dados do objeto alvo correspondendo à versão de dados atual ou pode armazenar outro conteúdo. Nenhuma limitação é definida aqui. Desta maneira, através desta estrutura de dados e de uma cadeia de blocos, a integridade e autenticidade do objeto alvo e suas evoluções são asseguradas.
[054] As soluções técnicas do presente pedido serão descritas agora de forma clara e completa por referência às modalidades e desenhos acompanhantes do presente pedido. Obviamente, as modalidades descritas são apenas algumas e não todas as modalidades do presente pedido. Baseado nas modalidades no presente pedido, todas as outras modalidades obtidas pelos versados na técnica
Petição 870190016696, de 19/02/2019, pág. 20/58
11/34 sem esforço criativo deverão se enquadrar no escopo do presente pedido.
[055] A seguir, descrevem-se as soluções técnicas de acordo com as modalidades do presente pedido em detalhes por referência aos desenhos acompanhantes.
Modalidade 1 [056] A FIG. 1 é um fluxograma de um método de armazenamento de dados de acordo com algumas modalidades do presente pedido. O método pode ser como apresentado abaixo.
[057] Etapa 101: determinar um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo.
[058] Nas modalidades do presente pedido, o objeto alvo, aqui pode ser dados em qualquer forma. Eles podem ser na forma comercial, um manuscrito de um livro, ou um código-fonte de software; ou podem ser um conjunto de imagens, uma música, ou um vídeo. Nenhuma limitação é definida aqui.
[059] As versões de dados do objeto alvo, aqui, podem se referir a diferentes conteúdos de dados evoluídos e gerados ao longo de todo o ciclo de vida do objeto alvo. Um identificador pode ser definido para cada unidade de conteúdo de dados. Este identificador pode ser chamado de identificador de versão de uma versão de dados.
[060] Por exemplo: Para um vídeo, cada parte do vídeo (ou cada período) pode ser chamada de versão de dados. Supondo que a primeira parte do vídeo A corresponde à versão de dados 1.0, então, no processo de evolução, a segunda parte do vídeo A corresponde à versão de dados 2.0, a terceira parte do vídeo A corresponde à versão de dados 3.0, ..., e a enésima parte do vídeo A corresponde à versão de dados n. 0.
[061] Como outro exemplo: Para software aplicativo, uma pluralidade de versões do software aplicativo podem aparecer de acordo com as necessidades de
Petição 870190016696, de 19/02/2019, pág. 21/58
12/34 desenvolvimento. Vamos supor que as versões do software aplicativo no processo de evolução do software aplicativo incluem a versão 1.0, a versão 1.0.1, a versão 1.0.1.1, aversão 2.0, aversão 2.0.1, ...
[062] A primeira versão de dados do objeto alvo nas modalidades do presente pedido pode se referir a uma versão de dados atual do objeto alvo. Tomando o software aplicativo anterior como exemplo, o número de versão correspondendo à primeira versão de dados é 2.0.1.
[063] Por exemplo, nas modalidades do presente pedido, os métodos para determinar um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo incluem, sem limitação, o seguinte método:
[064] Primeiramente, determinar um resumo de conteúdo de dados do objeto alvo na primeira versão de dados; em segundo lugar, calcular um primeiro valor de verificação de uma primeira versão de dados do objeto alvo de acordo com um algoritmo predefinido e o resumo de conteúdo de dados.
[065] Por exemplo: Uma descrição é realizada usando o exemplo de um código-fonte de software como o objeto alvo. O resumo de conteúdo de dados da versão atual do código-fonte de software é determinado. Um algoritmo de hash é então usado para processar o resumo de conteúdo de dados para obter um valor codificado por hash da versão atual do código-fonte de software (aqui, este também pode ser chamado de primeiro valor de verificação).
[066] Deve-se observar que o algoritmo predefinido pode ser um algoritmo de hash, ou pode ser qualquer outro algoritmo (por exemplo, SHA-1). Nenhuma limitação é definida aqui.
[067] Etapa 102: buscar por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados.
[068] Uma segunda versão de dados do objeto alvo nas modalidades do
Petição 870190016696, de 19/02/2019, pág. 22/58
13/34 presente pedido pode se referir a uma versão de dados anterior adjacente à versão de dados atual do objeto alvo. Tomando o software aplicativo anterior como exemplo, o número de versão correspondendo a uma segunda versão de dados é 2.0.
[069] Por exemplo, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados do objeto alvo é determinado;
[070] um bloco de dados gravando um identificador de versão da segunda versão de dados é buscado na cadeia de blocos, e um segundo valor de verificação de uma segunda versão de dados do objeto alvo é lido a partir do bloco de dados.
[071] Deve-se observar que, se a versão de dados atual de um objeto alvo for a versão de dados original (exemplo: versão 1.0 do software aplicativo), uma vez que não há uma versão de dados anterior adjacente à primeira versão de dados, não há a necessidade de buscar o segundo valor de verificação gravado na Etapa 102.
[072] Adicionalmente, após determinar um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados do objeto alvo, o método para determinar um primeiro valor de verificação conforme gravado na Etapa S101 pode ser referenciado para obter um segundo valor de verificação. Aqui, deve ser observado que, se um segundo valor de verificação for obtido de acordo com o método para determinar um primeiro valor de verificação conforme gravado na Etapa S101, é necessário assegurar que o conteúdo de dados da segunda versão de dados adjacente à primeira versão de dados do objeto alvo não tenha sido adulterado.
[073] Ou um bloco de dados gravado um identificador de versão da segunda versão de dados é buscado na cadeia de blocos, em seguida o resumo de conteúdo de dados da segunda versão de dados do objeto alvo é lido a partir do bloco de dados, e então um segundo valor de verificação é obtido por referência ao método para determinar um primeiro valor de verificação conforme gravado na Etapa S101.
Petição 870190016696, de 19/02/2019, pág. 23/58
14/34 [074] Etapa 103: criar um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação.
[075] Na Etapa 103, após obter um primeiro valor de verificação e um segundo valor de verificação do objeto alvo, um bloco de dados é criado com base no primeiro valor de verificação e o segundo valor de verificação.
[076] Por exemplo, o bloco de dados criado contém um cabeçalho de dados e um corpo de dados.
[077] O primeiro valor de verificação e o segundo valor de verificação são escritos no cabeçalho de dados do bloco de dados de acordo com um formato predefinido.
[078] A Tabela 1 é uma tabela esquemática dos valores de verificação escritos em um cabeçalho de dados de um bloco de dados.
Tabela 1_________________________________________________________ _________________Cabeçalho de Dados________________ _____Primeiro valor de verificação: 1234567890ZXCV_____ ____________Segundo valor de verificação: nulo____________ Rótulo de tempo: XXXX ano YYYY mês ZZZZ dia 10:00:00 [079] A partir da Tabela 1, pode-se ver que o rótulo de tempo de geração do bloco de dados é: XXXX ano YYYY mês ZZZZ dia 10:00:00, o primeiro valor de verificação escrito no bloco de dados é 1234567890ZXCV, e o segundo valor de verificação é nulo. Assim, pode-se observar que o bloco de dados são os dados iniciais de um objeto alvo (por exemplo, dados), ou seja, ele é a origem de dados de um objeto alvo.
[080] Opcionalmente, uma vez que um primeiro valor de verificação / segundo valor de verificação de um objeto alvo é obtido através de um algoritmo irreversível, diferentes versões de dados de um objeto alvo obtêm diferentes valores de verificação através de cálculo, isto é, o primeiro valor de verificação / segundo valor de verificação de um objeto alvo é único.
[081] A Tabela 2 é uma tabela esquemática dos valores de verificação
Petição 870190016696, de 19/02/2019, pág. 24/58
15/34 escritos em um cabeçalho de dados de um bloco de dados.
Tabela 2_____________________________________________________ ______________Parte de cabeçalho de dados______________ Primeiro valor de verificação: ! @#¥%......&* () ASDF ______Segundo valor de verificação: 1234567890ZXCV______ Rótulo de tempo: MM MM ano NNNN mês ZZZZ dia 14:00:00 [082] A partir da Tabela 2, pode-se ver que o rótulo de tempo de geração do bloco de dados é: MMMM ano NNNN mês ZZZZ dia 14:00:00, o primeiro valor de verificação escrito no bloco de dados é ! @#¥%......&* () ASDF, e o segundo valor de verificação é 1234567890ZXCV. Assim, pode-se observar que, uma vez que o segundo valor de verificação na Tabela 2 é igual ao primeiro valor de verificação na Tabela 2, a versão de dados correspondendo ao bloco de dados ilustrado na Tabela 1 é uma versão de dados anterior adjacente à versão de dados correspondendo ao bloco de dados como ilustrado na Tabela 2.
[083] Deve-se observar que o cabeçalho de dados de um bloco de dados também pode armazenar os identificadores de versão de duas versões de dados adjacentes, isto é, um identificador de versão de uma primeira versão de dados e um identificador de versão de uma segunda versão de dados.
[084] Opcionalmente, além de um cabeçalho de dados, o bloco de dados criado também compreende um corpo de dados. O resumo de conteúdo de dados do objeto alvo na primeira versão de dados, ou o segundo valor de verificação, ou o conteúdo de dados da primeira versão de dados do objeto alvo pode ser escrito no corpo de dados do bloco de dados.
[085] A FIG. 2 é um diagrama estrutural dos blocos de dados criados nos vários blocos em uma cadeia de blocos.
[086] A partir da FIG. 2, pode-se ver que o bloco de dados 1, o bloco de dados 2 e o bloco de dados 3 correspondem ao mesmo objeto alvo. No corpo de dados do bloco de dados 1, um resumo de conteúdo de dados de uma versão de dados atual / ou de uma versão de dados anterior adjacente é armazenado. No
Petição 870190016696, de 19/02/2019, pág. 25/58
16/34 corpo de dados do bloco de dados 2, um valor de verificação de uma versão de dados atual / de uma versão de dados anterior adjacente é armazenado. No corpo de dados do bloco de dados 3, o conteúdo de dados de uma versão de dados atual / ou de uma versão de dados anterior adjacente é armazenado.
[087] Em outra modalidade do presente pedido, o conteúdo de dados de um objeto alvo pode ser armazenado em um bloco de dados, e também pode ser armazenado em um gateway de dados em nuvem ou banco de dados.
[088] Deve-se observar que, quando o volume de dados do conteúdo de dados é pequeno, a abordagem do bloco de dados 3 pode ser selecionada com prioridade como uma forma de armazenar o conteúdo de dados.
[089] Por exemplo, o conteúdo de dados da primeira versão de dados do objeto alvo é armazenado em um gateway de dados em nuvem ou em um banco de dados.
[090] Deve-se observar ainda que o corpo de dados de um bloco de dados não apenas pode armazenar o conteúdo descrito acima, mas também pode registrar uma assinatura digital de um objeto alvo que é fornecida pelo provedor de dados de modo a facilitar um solicitante de dados ao autenticar a identidade do provedor de dados. O corpo de dados também pode registrar o tempo de criação de bloco de dados e outras informações relevantes, um identificador de versão de uma versão de dados, etc. Nenhuma limitação é imposta aqui.
[091] Etapa 104: armazenar o bloco de dados em uma cadeia de blocos.
[092] Aqui, o bloco de dados armazenado na cadeia de blocos é imutável.
[093] Na Etapa 104, o bloco de dados é adicionado à cadeia de blocos de acordo com uma estrutura de dados vinculados.
[094] Por exemplo, um bloco de dados recém-criado é adicionado ao fim de um bloco de dados que esteve conectado à cadeia de blocos.
[095] Em outra modalidade do presente pedido, após armazenar o bloco de
Petição 870190016696, de 19/02/2019, pág. 26/58
17/34 dados na cadeia de blocos, o método adicionalmente compreende:
[096] armazenar uma relação de mapeamento entre um identificador de versão de uma primeira versão de dados do objeto alvo e um identificador de bloco do bloco de dados.
[097] como alternativa, armazenar uma relação de mapeamento entre um identificador de versão de uma primeira versão de dados do objeto alvo e um identificador de bloco do bloco de dados.
[098] Deve-se notar ainda que, nas modalidades do presente pedido, o armazenamento de um bloco de dados na cadeia de blocos também pode ser designado como a execução da operação de adicionar um bloco de dados à cadeia de blocos de modo a armazená-lo na cadeia de blocos.
[099] Através das soluções técnicas registradas nas modalidades do presente pedido, um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo é determinado, e um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente ao primeiro valor de verificação é buscado; com base no primeiro valor de verificação e no segundo valor de verificação, um bloco de dados é criado, e o bloco de dados é armazenado em uma cadeia de blocos. Um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo é armazenado em uma cadeia de blocos na forma de um bloco de dados. Como a cadeia de blocos tem a característica de ser imutável, quando um solicitante de dados obtém o conteúdo de dados correspondendo a uma primeira versão de dados de um objeto alvo, ele pode verificar, com base no primeiro valor de verificação armazenado na cadeia de blocos, se o conteúdo de dados correspondendo à primeira versão de dados foi modificado, desse modo determinando a autenticidade do conteúdo de dados correspondendo à primeira versão de dados, efetivamente resolvendo o problema da incapacidade de determinar a autenticidade do conteúdo de dados devido à facilidade de modificação
Petição 870190016696, de 19/02/2019, pág. 27/58
18/34 do conteúdo de dados, e aumentando a eficiência da análise de dados do solicitante de dados.
Modalidade 2 [0100]Com base no mesmo conceito inventivo, a FIG. 3 é um fluxograma de um método de autenticação de dados de acordo com algumas modalidades do presente pedido. O método pode ser como apresentado abaixo.
[0101 ] Etapa 301: receber uma solicitação de autenticação de dados.
[0102]A solicitação de autenticação de dados contém um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados.
[0103] Na Etapa 301, o agente executivo das modalidades do presente pedido pode ser uma cadeia de blocos, ou pode ser outro dispositivo. Nenhuma limitação é imposta aqui.
[0104] Por exemplo, quando um solicitante de dados recebe dados fornecidos por um provedor de dados, ele pode considerar os dados fornecidos como dados a serem autenticados, determinar um identificador de versão da versão de dados dos dados a serem autenticados, e obter, através de cálculo, um valor de verificação dos dados a serem autenticados com base no conteúdo de dados obtido do dados a serem autenticados.
[0105] Neste caso, de modo a assegurar que os dados recebidos a serem autenticados são autênticos, o solicitante de dados envia uma solicitação de autenticação de dados à cadeia de blocos para verificar se os dados fornecidos pelo provedor de dados foram adulterados.
[0106]Etapa 302: com base em um identificador de versão de uma versão de dados contido na solicitação de autenticação de dados, buscar, em uma cadeia de blocos, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados.
Petição 870190016696, de 19/02/2019, pág. 28/58
19/34 [0107] Na Etapa 302, uma vez que um bloco de dados é gerado durante o armazenamento de um objeto alvo, e o bloco de dados é armazenado em uma cadeia de blocos, uma relação de mapeamento entre um identificador de versão de uma primeira versão de dados do objeto alvo e um identificador de bloco do bloco de dados é armazenada quando o bloco de dados é armazenado na cadeia de blocos.
[0108]Quando uma solicitação de autenticação de dados é recebida, o identificador de blocos do bloco de dados correspondendo ao identificador de versão da versão de dados contida na solicitação de autenticação de dados é determinado com base nas relações de mapeamento pré-armazenadas entre os identificadores de versão das versões de dados, os identificadores de unidade dos blocos de dados e os identificadores de bloco dos blocos.
[0109]Q valor de verificação correspondendo ao identificador de versão da versão de dados é lido a partir do bloco de dados correspondendo ao identificador de bloco.
[0110] Deve-se observar que o valor de verificação correspondendo ao identificador de versão da versão de dados obtido na Etapa 302 é gerado durante o armazenamento do objeto alvo e é armazenado em uma cadeia de blocos, de modo que o valor de verificação obtido por meio da busca seja autêntico.
[0111]Etapa 303: com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca, autenticar o conteúdo de dados dos dados a serem autenticados.
[0112] Na Etapa 303, o valor de verificação recebido contido na solicitação de autenticação de dados é comparado com o valor de verificação obtido por meio da busca.
[0113]Quando o valor de verificação recebido contido na solicitação de autenticação de dados é o mesmo que o valor de verificação obtido por meio da busca, é determinado que o conteúdo de dados dos dados a serem autenticados é
Petição 870190016696, de 19/02/2019, pág. 29/58
20/34 autêntico.
[0114]Quando o valor de verificação recebido contido na solicitação de autenticação de dados é diferente do valor de verificação obtido por meio da busca, é determinado que o conteúdo de dados dos dados a serem autenticados foi modificado.
[0115]Através das soluções técnicas oferecidas pelas modalidades do presente pedido, uma solicitação de autenticação de dados é recebida, a qual contém um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados; com base no identificador de versão da versão de dados contido na solicitação de autenticação de dados, um valor de verificação préarmazenado correspondendo ao identificador de versão da versão de dados é buscado na cadeia de blocos; com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca, o conteúdo de dados dos dados a serem autenticados é autenticado. Como a cadeia de blocos tem a característica de ser imutável, o valor de verificação préarmazenado na cadeia de blocos que é obtido por meio da busca e correspondendo ao identificador de versão da versão de dados é autêntico. O valor de verificação autêntico é usado para verificar se os dados a serem autenticados em uma solicitação de autenticação de dados foram adulterados, desse modo assegurando a autenticidade dos dados a serem autenticados.
[0116]A FIG. 4 é um diagrama esquemático de um cenário de um método de autenticação de dados de acordo com algumas modalidades do presente pedido.
[0117]A partir da FIG. 4, pode-se ver que a cadeia de blocos contém uma pluralidade de nós de dados. Esses nós de dados podem receber solicitações de autenticação de dados enviadas por diferentes usuários. Informações de dados correspondentes são buscadas na cadeia de blocos com base nas informações de
Petição 870190016696, de 19/02/2019, pág. 30/58
21/34 dados transmitidas na solicitação de autenticação de dados (aqui, elas podem se referir a um valor de verificação). Com base nas informações de dados recebidas e nas informações de dados obtidas por meio da busca, os dados a serem autenticados na solicitação de autenticação de dados são autenticados para assegurar que o solicitante de dados possa obter dados autênticos e válidos.
Modalidade 3 [0118]A FIG. 5 é um fluxograma de um método de rastreamento de dados de acordo com algumas modalidades do presente pedido. O método pode ser como apresentado abaixo.
[0119] Etapa 501: receber uma solicitação de retrocesso de dados.
[0120]A solicitação de retrocesso de dados contém um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso.
[0121] Na Etapa 501, quando o processo de evolução ou o histórico de evolução de um objeto alvo precisa ser buscado, as operações das modalidades do presente pedido podem ser iniciadas, ou seja, enviando uma solicitação de retrocesso de dados. A solicitação de retrocesso de dados contém um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso.
[0122] Aqui, o identificador de versão de uma primeira versão de dados pode ser o identificador de versão de uma versão de dados atual, ou pode ser o identificador de versão de qualquer versão de dados. Nenhuma limitação é imposta aqui.
[0123] Aqui, o identificador de versão de uma primeira versão de dados é usado para determinar um ponto inicial para realizar o retrocesso nos dados a serem analisados por retrocesso. Por exemplo: software aplicativo, com uma versão de dados atual de 3.0. Uma vez que uma solicitação de retrocesso seja iniciada, o
Petição 870190016696, de 19/02/2019, pág. 31/58
22/34 identificador de versão da versão de dados transmitida na solicitação de retrocesso pode ser 3.0, ou pode ser 3.0, etc. Nenhuma limitação é imposta aqui.
[0124] Etapa 502: com base em um identificador de uma primeira versão de dados, buscar, em uma cadeia de blocos, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados.
[0125] Na Etapa 502, uma vez que o bloco de dados não somente armazena um identificador de versão de uma primeira versão de dados, mas também armazena um identificador de versão de uma segunda versão de dados anterior adjacente ao identificador de versão da primeira versão de dados, um bloco de dados contendo o identificador de versão da primeira versão de dados pode ser obtido com base no identificador de versão da primeira versão de dados, e o identificador de versão de uma segunda versão de dados anterior adjacente ao identificador de versão da primeira versão de dados é obtido a partir do bloco de dados.
[0126]Etapa 503: com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso.
[0127] Na Etapa 503, o identificador de versão obtido da segunda versão de dados é escolhido como um ponto inicial e analisado por retrocesso por sua vez pelo método descrito na Etapa 502 para encontrar um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso.
[0128] Por exemplo, com base no identificador de versão obtido de uma versão de dados, as operações seguintes são executadas até que um bloco de
Petição 870190016696, de 19/02/2019, pág. 32/58
23/34 dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido:
[0129] buscar, na cadeia de blocos, por um bloco de dados contendo um identificador de versão da versão de dados obtida, e obter, a partir do bloco de dados, um identificador de versão de uma versão de dados anterior adjacente à versão de dados obtida;
[0130]disparar a execução cíclica da operação anterior até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido.
[0131] Deve-se notar que, aqui, o identificador de versão obtido de uma versão de dados pode ser um identificador de versão de qualquer versão de dados, exceto a primeira versão de dados.
[0132] Etapa 504: com base no bloco de dados, determinar o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso.
[0133] Deve-se notar que, nas modalidades do presente pedido, sempre que um identificador de versão de uma versão de dados é obtido, o conteúdo de dados correspondendo à versão de dados pode ser determinado. Desta maneira, o processo de evolução dos dados a serem analisados por retrocesso pode ser analisado com base no conteúdo de dados obtido, para analisar de forma autêntica e eficaz o valor de produção contido nos dados a serem analisados por retrocesso.
[0134]Através das soluções técnicas das modalidades do presente pedido, uma solicitação de retrocesso de dados é recebida, a qual contém um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso; com base no identificador de versão da primeira versão de dados, um bloco de dados contendo o identificador de versão da primeira versão de dados é buscado na cadeia de blocos, e um identificador de versão de uma segunda versão
Petição 870190016696, de 19/02/2019, pág. 33/58
24/34 de dados adjacente à primeira versão de dados é obtido a partir do bloco de dados; com base no identificador de versão obtido da segunda versão de dados, o retrocesso sequencial é realizado e um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso é obtido; com base no bloco de dados, o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso é determinado. Uma vez que tanto um identificador de versão de uma primeira versão de dados de um objeto alvo quanto um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados são armazenados na forma de um bloco de dados na cadeia de blocos, e uma vez que a cadeia de blocos tem a característica de ser imutável e adota uma estrutura de dados vinculados, é possível analisar por retrocesso e encontrar versões evoluídas dos dados a serem analisados por retrocesso, bem como o conteúdo de dados correspondendo a cada versão evoluída, e assegurar a autenticidade da evolução de dados.
[0135]A FIG. 6 é um diagrama esquemático de um cenário de um método de rastreamento de dados de acordo com algumas modalidades do presente pedido.
[0136]A partir da FIG. 6, pode-se ver que a cadeia de blocos adota uma estrutura de dados vinculada. Quando um dos blocos de dados é determinado, outros blocos de dados associados ao bloco de dados podem ser obtido de acordo com os aspectos da estrutura de dados vinculados, alcançando assim o objetivo de rastrear a origem dos dados, e ao mesmo tempo assegurando que as informações obtidas são autênticas.
[0137] Vamos supor que há cinco blocos de dados correspondendo ao objeto alvo. Eles são o bloco de dados 1, o bloco de dados 2, o bloco de dados 3, o bloco de dados 4 e o bloco de dados 5. Aqui, os blocos de dados armazenando identificadores de versão das versões de dados são tomados como um exemplo.
[0138] Os identificadores de versão das versões de dados armazenadas no
Petição 870190016696, de 19/02/2019, pág. 34/58
25/34 bloco de dados 5 são 5.0 e 4.0. Os identificadores de versão das versões de dados armazenadas no bloco de dados 4 são 4,0 e 3,0. Os identificadores de versão das versões de dados armazenadas no bloco de dados 3 são 3,0 e 2,0. Os identificadores de versão das versões de dados armazenadas no bloco de dados 2 são 2,0 e 1,0. O identificador de versão da versão de dados armazenada no blocos de dados 1 é 1.0. Durante o rastreamento de dados, o bloco de dados 51 é primeiramente seguido pelo bloco de dados 4, pelo bloco de dados 3 e pelo bloco de dados 2, e por último, pelo bloco de dados 1. Desta maneira, o objetivo do rastreamento de dados pode ser alcançado completamente.
Modalidade 4 [0139]Com base no mesmo conceito inventivo, a FIG. 7 é um diagrama estrutural de um aparelho de armazenamento de dados de acordo com algumas modalidades do presente pedido. O aparelho de armazenamento de dados compreende: um módulo de determinação 71, um módulo de busca 72 e um módulo de armazenamento 73. Aqui:
[0140]o módulo de determinação 71 determina um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo;
[0141]o módulo de busca 72 busca por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados;
[0142]o módulo de armazenamento 73 cria, com base no primeiro valor de verificação e no segundo valor de verificação, um bloco de dados e armazena o bloco de dados em uma cadeia de blocos, em que o bloco de dados armazenado na cadeia de blocos é imutável.
[0143] Em outra modalidade do presente pedido, o módulo de determinação 71 determinando um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo compreende:
Petição 870190016696, de 19/02/2019, pág. 35/58
26/34 [0144]determinar um resumo de conteúdo de dados do objeto alvo na primeira versão de dados;
[0145]de acordo com um algoritmo predefinido e com o resumo de conteúdo de dados, calcular para obter o primeiro valor de verificação da primeira versão de dados do objeto alvo.
[0146] Em outra modalidade do presente pedido, o módulo de armazenamento 72 criando um bloco de dados baseado no primeiro valor de verificação e no segundo valor de verificação compreende:
[0147]criar um bloco de dados, e escrever o primeiro valor de verificação e o segundo valor de verificação no cabeçalho de dados do bloco de dados de acordo com um formato predefinido.
[0148] Em outra modalidade do presente pedido, o aparelho de armazenamento de dados adicionalmente compreende: um módulo de escrita 74. Aqui:
[0149]O módulo de escrita 74 escreve o resumo de conteúdo de dados do objeto alvo na primeira versão de dados, ou o segundo valor de verificação, ou o conteúdo de dados da primeira versão de dados do objeto alvo em um corpo de dados do bloco de dados.
[0150] Em outra modalidade do presente pedido, o módulo de armazenamento 72 armazena o conteúdo de dados da primeira versão de dados do objeto alvo em um gateway de dados em nuvem ou em um banco de dados.
[0151] Em outra modalidade do presente pedido, o módulo de armazenamento 72 armazena uma relação de mapeamento entre o identificador de versão da primeira versão de dados do objeto alvo e um identificador de bloco do bloco de dados após armazenar o bloco de dados em um bloco da cadeia de blocos.
[0152] Em outra modalidade do presente pedido, o módulo de armazenamento 72 armazenando o bloco de dados na cadeia de blocos
Petição 870190016696, de 19/02/2019, pág. 36/58
27/34 compreende:
[0153]de acordo com uma estrutura de dados vinculados, adicionar o bloco de dados à cadeia de blocos.
[0154] Deve-se notar que o aparelho de armazenamento de dados de acordo com as modalidades do presente pedido pode ser alcançado por hardware ou software. Nenhuma limitação é imposta aqui. O aparelho de armazenamento de dados armazena um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo na forma de um bloco de dados em uma cadeia de blocos. Como a cadeia de blocos tem a característica de ser imutável, quando um solicitante de dados obtém o conteúdo de dados correspondendo à primeira versão de dados do objeto alvo, ele pode verificar, com base no primeiro valor de verificação armazenado na cadeia de blocos, se o conteúdo de dados correspondendo à primeira versão de dados foi modificado, desse modo determinando a autenticidade do conteúdo de dados correspondendo à primeira versão de dados, efetivamente resolvendo o problema da incapacidade de determinar a autenticidade do conteúdo de dados devido à facilidade de modificação do conteúdo de dados, e aumentando a eficiência da análise de dados de um solicitante de dados.
Modalidade 5 [0155]A FIG. 8 é um diagrama estrutural de um aparelho de autenticação de dados de acordo com algumas modalidades do presente pedido. O aparelho de autenticação de dados compreende: um módulo de recebimento 81, um módulo de busca 82 e um módulo de autenticação 83. Aqui:
[0156]o módulo de recebimento 81 uma solicitação de autenticação de dados, que contém um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados;
[0157]o módulo de busca 82 busca, em uma cadeia de blocos, com base no
Petição 870190016696, de 19/02/2019, pág. 37/58
28/34 identificador de versão da versão de dados contido na solicitação de autenticação de dados, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados;
[0158] um módulo de autenticação 83 autentica o conteúdo de dados dos dados a serem autenticados com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca.
[0159] Em outra modalidade do presente pedido, o módulo de autenticação 83 autenticando o conteúdo de dados dos dados a serem autenticados com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca compreende:
[0160]quando o valor de verificação recebido contido na solicitação de autenticação de dados for o mesmo que o valor de verificação obtido por meio da busca, determinar que o conteúdo de dados dos dados a serem autenticados é autêntico;
[0161]quando o valor de verificação recebido contido na solicitação de autenticação de dados é diferente do valor de verificação obtido por meio da busca, determinar que o conteúdo de dados dos dados a serem autenticados foi modificado.
[0162] Em outra modalidade do presente pedido, a unidade de busca 82 buscando, na cadeia de blocos, com base no identificador de versão da versão de dados contido na solicitação de autenticação de dados, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados compreende:
[0163]com base na relação de mapeamento pré-armazenada entre os identificadores de versão das versões de dados e os identificadores de bloco dos blocos de dados, determinar o identificador de bloco do bloco de dados
Petição 870190016696, de 19/02/2019, pág. 38/58
29/34 correspondendo ao identificador de versão da versão de dados na solicitação de autenticação de dados;
[0164] ler um valor de verificação correspondendo ao identificador de versão da versão de dados a partir do bloco de dados determinado correspondendo ao identificador de bloco.
[0165] Deve-se notar que o aparelho de autenticação de dados de acordo com as modalidades do presente pedido pode ser alcançado por hardware ou software. Nenhuma limitação é imposta aqui. Como a cadeia de blocos tem a característica de ser imutável, o valor de verificação pré-armazenado buscado na cadeia de blocos que corresponde ao identificador de versão da versão de dados é autêntico. O valor de verificação autêntico é usado para verificar se os dados a serem autenticados em uma solicitação de autenticação de dados foram adulterados, desse modo assegurando a autenticidade dos dados a serem autenticados.
Modalidade 6 [0166]A FIG. 9 é um diagrama estrutural de um aparelho de rastreamento de dados de acordo com algumas modalidades do presente pedido. O aparelho de rastreamento de dados compreende: um módulo de recebimento 91, um módulo de retrocesso 92 e um módulo de determinação 93. Aqui:
[0167]o módulo de recebimento 91 recebe uma solicitação de retrocesso de dados, a solicitação de retrocesso de dados compreendendo um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso;
[0168]o módulo de retrocesso 92 buscando, na cadeia de blocos, com base no identificador de versão da primeira versão de dados, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obtém, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados
Petição 870190016696, de 19/02/2019, pág. 39/58
30/34 adjacente à primeira versão de dados; com base no identificador de versão obtido da segunda versão de dados, ele realiza o retrocesso sequencial e obtém um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso;
[0169] um módulo de determinação 93 determina o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso com base no bloco de dados.
[0170] Em outra modalidade do presente pedido, o módulo de retrocesso 92, com base no identificador de versão obtido da segunda versão de dados, realizando o retrocesso sequencial para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso compreende:
[0171] com base no identificador de versão obtido de uma versão de dados, executar a seguinte operação até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido:
[0172] buscar, na cadeia de blocos, por um bloco de dados contendo um identificador de versão da versão de dados obtida, e obter, a partir do bloco de dados, um identificador de versão de uma versão de dados anterior adjacente à versão de dados obtida;
[0173]disparar a execução cíclica da operação anterior até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido.
[0174] Deve-se notar que o aparelho de rastreamento de dados de acordo com as modalidades do presente pedido pode ser alcançado por hardware ou software. Nenhuma limitação é imposta aqui. Uma vez que tanto um identificador de versão de uma primeira versão de dados de um objeto alvo quanto um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados são armazenados na forma de um bloco de dados na cadeia de blocos, e uma vez
Petição 870190016696, de 19/02/2019, pág. 40/58
31/34 que a cadeia de blocos tem a característica de ser imutável e adota uma estrutura de dados vinculados, é possível analisar por retrocesso e encontrar versões evoluídas dos dados a serem analisados por retrocesso, bem como o conteúdo de dados correspondendo a cada versão evoluída, e assegurar a autenticidade da evolução de dados.
[0175]Os versados na técnica deverão compreender que as modalidades do presente pedido podem ser proporcionadas na forma de métodos, sistemas ou produtos de programa de computador, portanto, o presente pedido pode adotar modalidades na forma de software puro, hardware puro, ou uma combinação de software e hardware. Adicionalmente, o presente pedido pode adotar a forma de um produto de programa de computador implementado em um ou em uma pluralidade de meios de armazenamento utilizáveis por computador (incluindo, mas não restringindo-se a memória de disco, CD-ROM e memória óptica), que contém códigos de programa utilizáveis por computador.
[0176]O presente pedido é descrito por referência aos fluxogramas e / ou diagramas de blocos dos métodos, dispositivos (sistemas) e produtos de programa de computador de acordo com as modalidades da presente invenção. Deve-se compreender que cada fluxo e/ou bloco nos fluxogramas e / ou diagramas de bloco e combinações dos fluxos e / ou blocos nos fluxogramas e / ou diagramas de blocos pode ser obtido através de instruções de programa de computador. Essas instruções de programa de computador podem ser fornecidas ao processador de um computador de uso geral, a um computador de uso especial, processador incorporado ou outro equipamento de processamento de dados programável para gerar uma máquina de modo que, através das instruções executadas pelo processador do computador ou outro equipamento de processamento de dados programável, um aparelho para alcançar as funções designadas em uma ou em uma pluralidade de fluxos nos fluxogramas e / ou uma pluralidade de blocos nos
Petição 870190016696, de 19/02/2019, pág. 41/58
32/34 diagramas de fluxo seja gerado.
[0177] Estas instruções de programa de computador também podem ser geradas em uma memória legível por computador que pode guiar um computador ou outro equipamento de processamento de dados programável para funcionar de uma maneira específica de modo que as instruções armazenadas na memória legível por computador gerem um produto compreendendo o aparelho de instrução. O aparelho de instrução alcança as funções designadas em um ou em uma pluralidade de fluxos nos fluxogramas e / ou um ou uma pluralidade de blocos nos diagramas de blocos.
[0178] Estas instruções de programa de computador também podem ser carregadas para um computador ou outro equipamento de processamento de dados programável de modo que uma série de etapas operacionais seja executada no computador ou outro equipamento de processamento de dados programável para gerar o processamento alcançado por computador. Assim, as instruções executadas no computador ou outro equipamento de processamento de dados programável por computador oferecem etapas para alcançar as funções designadas em um ou em uma pluralidade de fluxos nos fluxogramas e / ou em um ou em uma pluralidade de blocos nos diagramas de blocos.
[0179] Em uma configuração típica, o equipamento de computação compreende um ou uma pluralidade de processadores (CPU), interfaces de E/S, interfaces de rede e memórias internas.
[0180]A memória interna pode ser na forma de memória volátil, memória de acesso aleatório (RAM) e / ou memória não-volátil, tal como memória somente para leitura (ROM) ou memória flash (RAM flash) em meios legíveis por computador. A memória interna é um exemplo de meios legíveis por computador.
[0181]Os meios legíveis por computador incluem meios não-voláteis, voláteis, móveis e não-móveis, e podem alcançar o armazenamento de informações por qualquer método ou tecnologia. As informações podem ser instruções legíveis
Petição 870190016696, de 19/02/2019, pág. 42/58
33/34 por computador, estruturas de dados, módulos de programa ou outros dados. Exemplos de meios de armazenamento para computador incluem, sem limitação, memória de acesso aleatório com mudança de fase (PRAM), memória de acesso aleatório estática (SRAM), memória de acesso aleatório dinâmica (DRAM) e outros tipos de memória de acesso aleatório (RAM), memória somente para leitura (ROM), memória somente para leitura eletricamente programável apagável (EEPROM), memória flash ou outras tecnologias de memória, memória somente leitura - disco compacto (CD-ROM), disco de vídeo digital (DVD) ou outra memória óptica, fita magnética do tipo cassete, memória de disco de fita ou outros dispositivos de armazenamento magnético, ou quaisquer outros meios que não sejam de transferência. Eles podem ser usados para armazenar informação que é acessível aos dispositivos de computador. De acordo com a definição neste documento, os meios legíveis por computador não incluem meios temporários, tais como sinais de dados modulados e portadoras.
[0182] Deve-se adicionalmente observar que os termos “inclui”, “contém”, “compreende”, ou suas variantes, pretendem abranger uma inclusão não-exclusiva, de modo que um processo, método, bem ou equipamento incluindo uma série de elementos não somente inclua esses elementos, mas também inclua outros elementos não listados claramente, ou também inclua os elementos intrínsecos a tal processo, método, bem ou equipamento. Salvo indicação em contrário, os elementos definidos pela expressão “incluindo um...” não excluem a presença de outros elementos similares no processo, método, bem ou equipamento incluindo os elementos.
[0183]Os versados na técnica deverão compreender que as modalidades do presente pedido podem ser proporcionadas na forma de métodos, sistemas ou produtos de programa de computador, portanto, o presente pedido pode adotar modalidades na forma de software puro, hardware puro, ou uma combinação de
Petição 870190016696, de 19/02/2019, pág. 43/58
34/34 software e hardware. Adicionalmente, o presente pedido pode adotar a forma de urn produto de programa de computador implementado em um ou em uma pluralidade de meios de armazenamento utilizáveis por computador (incluindo, mas não restringindo-se a memória de disco, CD-ROM e memória óptica), que contém códigos de programa utilizáveis por computador.
[0184]As descrições anteriores são modalidades do presente pedido e não pretendem limitar o presente pedido. Para os versados na técnica, o presente pedido pode sofrer várias alterações e modificações. Todas as modificações, substituições equivalentes e aprimoramentos realizados sem se afastar do espírito e dos princípios do presente pedido deverão se enquadrar no escopo das reivindicações do presente pedido.

Claims (24)

  1. REIVINDICAÇÕES
    1. Método de armazenamento de dados, CARACTERIZADO pelo fato de que o método compreende:
    determinar um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo;
    buscar por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados;
    criar um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação, e armazenar o bloco de dados em uma cadeia de blocos, em que o bloco de dados armazenado na cadeia de blocos é imutável.
  2. 2. Método de armazenamento de dados, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que determinar um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo compreende:
    determinar um resumo de conteúdo de dados do objeto alvo na primeira versão de dados;
    calcular para obter o primeiro valor de verificação da primeira versão de dados do objeto alvo de acordo com um algoritmo predefinido e com o resumo de conteúdo de dados.
  3. 3. Método de armazenamento de dados, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que criar um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação compreende:
    criar o bloco de dados, e escrever o primeiro valor de verificação e o segundo valor de verificação em um cabeçalho de dados do bloco de dados de acordo com um formato predefinido.
  4. 4. Método de armazenamento de dados, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que o método adicionalmente compreende:
    escrever um resumo de conteúdo de dados do objeto alvo na primeira
    Petição 870190016696, de 19/02/2019, pág. 45/58
    2/9 versão de dados, ou o segundo valor de verificação, ou o conteúdo de dados da primeira versão de dados do objeto alvo em um corpo de dados do bloco de dados.
  5. 5. Método de armazenamento de dados, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que o método adicionalmente compreende:
    armazenar o conteúdo de dados da primeira versão de dados do objeto alvo em um gateway de dados em nuvem ou em um banco de dados.
  6. 6. Método de armazenamento de dados, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que, após armazenar o bloco de dados na cadeia de blocos, o método adicionalmente compreende:
    armazenar uma relação de mapeamento entre um identificador de versão da primeira versão de dados do objeto alvo e um identificador de bloco do bloco de dados.
  7. 7. Método de armazenamento de dados, de acordo com qualquer uma das reivindicações de 1 a 6, CARACTERIZADO pelo fato de que o ato de armazenar os blocos de dados em uma cadeia de blocos compreende:
    de acordo com uma estrutura de dados vinculados, adicionar o bloco de dados à cadeia de blocos.
  8. 8. Método de autenticação de dados, CARACTERIZADO pelo fato de que o método compreende:
    receber uma solicitação de autenticação de dados, a solicitação de autenticação de dados compreendendo um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados;
    com base no identificador de versão da versão de dados contido na solicitação de autenticação de dados, buscar, em uma cadeia de blocos, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados;
    Petição 870190016696, de 19/02/2019, pág. 46/58
    3/9 com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca, autenticar o conteúdo de dados dos dados a serem autenticados.
  9. 9. Método de autenticação de dados, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que, com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca, o ato de autenticar o conteúdo de dados dos dados a serem autenticados compreende:
    quando o valor de verificação recebido contido na solicitação de autenticação de dados for o mesmo que o valor de verificação obtido por meio da busca, determinar que o conteúdo de dados dos dados a serem autenticados é autêntico;
    quando o valor de verificação recebido contido na solicitação de autenticação de dados é diferente do valor de verificação obtido por meio da busca, determinar que o conteúdo de dados dos dados a serem autenticados foi modificado.
  10. 10. Método de autenticação de dados, de acordo com a reivindicação 8 ou 9, CARACTERIZADO pelo fato de que, com base no identificador de versão da versão de dados contida na solicitação de autenticação de dados, buscar, na cadeia de blocos, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados compreende:
    com base nas relações de mapeamento pré-armazenadas entre os identificadores de versão das versões de dados e os identificadores de bloco dos blocos de dados, determinar um identificador de bloco de um bloco de dados correspondendo ao identificador de versão da versão de dados na solicitação de autenticação de dados;
    ler o valor de verificação correspondendo ao identificador de versão da
    Petição 870190016696, de 19/02/2019, pág. 47/58
    4/9 versão de dados a partir do bloco de dados determinado correspondendo ao identificador de bloco.
  11. 11. Método de rastreamento de dados, CARACTERIZADO pelo fato de que o método compreende:
    receber uma solicitação de retrocesso de dados (backtracking), a solicitação de retrocesso de dados compreendendo um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso;
    com base no identificador de versão da primeira versão de dados, buscar, em uma cadeia de blocos, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados;
    com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso;
    com base no bloco de dados, determinar o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso.
  12. 12. Método de rastreamento de dados, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que, com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso compreende:
    com base em um identificador de versão obtido de uma versão de dados, executar a seguinte operação até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido:
    buscar, na cadeia de blocos, por um bloco de dados contendo o identificador de versão obtido da versão de dados, e obter, a partir do bloco de dados, um
    Petição 870190016696, de 19/02/2019, pág. 48/58
    5/9 identificador de versão de uma versão de dados anterior adjacente à versão de dados obtida;
    disparar a execução cíclica das operações anteriores até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido.
  13. 13. Aparelho de armazenamento de dados, CARACTERIZADO pelo fato de que o aparelho compreende:
    um módulo de determinação determinando um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo;
    uma unidade de busca buscando por um segundo valor de verificação de uma segunda versão de dados do objeto alvo que é adjacente à primeira versão de dados;
    um módulo de armazenamento criando um bloco de dados com base no primeiro valor de verificação e no segundo valor de verificação, e armazenar o bloco de dados em uma cadeia de blocos, em que o bloco de dados armazenado na cadeia de blocos é imutável.
  14. 14. Aparelho de armazenamento de dados, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o módulo de determinação determinando um primeiro valor de verificação de uma primeira versão de dados de um objeto alvo compreende:
    determinar um resumo de conteúdo de dados do objeto alvo na primeira versão de dados;
    calcular para obter o primeiro valor de verificação da primeira versão de dados do objeto alvo de acordo com um algoritmo predefinido e com o resumo de conteúdo de dados.
  15. 15. Aparelho de armazenamento de dados, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de o módulo de armazenamento criando um bloco
    Petição 870190016696, de 19/02/2019, pág. 49/58
    6/9 de dados com base no primeiro valor de verificação e no segundo valor de verificação compreende:
    criar o bloco de dados, e escrever o primeiro valor de verificação e o segundo valor de verificação em um cabeçalho de dados do bloco de dados de acordo com urn formate predefinido.
  16. 16. Aparelho de armazenamento de dados, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que o aparelho de armazenamento de dados adicionalmente compreende: um módulo de escrita, em que:
    o módulo de escrita escreve um resumo de conteúdo de dados do objeto alvo na primeira versão de dados, ou o segundo valor de verificação, ou o conteúdo de dados da primeira versão de dados do objeto alvo em um corpo de dados do bloco de dados.
  17. 17. Aparelho de armazenamento de dados, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que o módulo de armazenamento armazena o conteúdo de dados da primeira versão de dados do objeto alvo em um gateway de dados em nuvem ou em um banco de dados.
  18. 18. Aparelho de armazenamento de dados, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que o módulo de armazenamento, após armazenar o bloco de dados na cadeia de blocos, armazena uma relação de mapeamento entre um identificador de versão da primeira versão de dados do objeto alvo e um identificador de bloco do bloco de dados.
  19. 19. Aparelho de armazenamento de dados, de acordo com as reivindicações 13 a 18, CARACTERIZADO pelo fato de que o módulo de armazenamento armazenando os blocos de dados em uma cadeia de blocos compreende:
    de acordo com uma estrutura de dados vinculados, adicionar o bloco de
    Petição 870190016696, de 19/02/2019, pág. 50/58
    7/9 dados à cadeia de blocos.
  20. 20. Aparelho de autenticação de dados, CARACTERIZADO pelo fato de que o aparelho compreende:
    um módulo de recebimento recebendo uma solicitação de autenticação de dados, a solicitação de autenticação de dados compreendendo um identificador de versão de uma versão de dados dos dados a serem autenticados e um valor de verificação obtido com base no conteúdo de dados dos dados a serem autenticados;
    um módulo de busca buscando, na cadeia de blocos, com base no identificador de versão da versão de dados contido na solicitação de autenticação de dados, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados;
    um módulo de autenticação autenticando o conteúdo de dados dos dados a serem autenticados com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca.
  21. 21. Aparelho de autenticação de dados, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que o módulo de autenticação autenticando o conteúdo de dados dos dados a serem autenticados com base no valor de verificação recebido contido na solicitação de autenticação de dados e no valor de verificação obtido por meio da busca compreende:
    quando o valor de verificação recebido contido na solicitação de autenticação de dados for o mesmo que o valor de verificação obtido por meio da busca, determinar que o conteúdo de dados dos dados a serem autenticados é autêntico;
    quando o valor de verificação recebido contido na solicitação de autenticação de dados é diferente do valor de verificação obtido por meio da busca, determinar que o conteúdo de dados dos dados a serem autenticados foi modificado.
    Petição 870190016696, de 19/02/2019, pág. 51/58
    8/9
  22. 22. Aparelho de autenticação de dados, de acordo com a reivindicação 20 ou 21, CARACTERIZADO pelo fato de que o módulo de busca buscando, na cadeia de blocos com base no identificador de versão da versão de dados contida na solicitação de autenticação de dados, por um valor de verificação pré-armazenado correspondendo ao identificador de versão da versão de dados compreende:
    com base nas relações de mapeamento pré-armazenadas entre os identificadores de versão das versões de dados e os identificadores de bloco dos blocos de dados, determinar um identificador de bloco de um bloco de dados correspondendo ao identificador de versão da versão de dados na solicitação de autenticação de dados, ler o valor de verificação correspondendo ao identificador de versão da versão de dados a partir do bloco de dados determinado correspondendo ao identificador de bloco.
  23. 23. Aparelho de rastreamento de dados, CARACTERIZADO pelo fato de que o aparelho compreende:
    um módulo de recebimento recebendo uma solicitação de retrocesso de dados, a solicitação de retrocesso de dados compreendendo um identificador de versão de uma primeira versão de dados dos dados a serem analisados por retrocesso;
    um módulo de retrocesso buscando, em uma cadeia de blocos, com base no identificador de versão da primeira versão de dados, por um bloco de dados contendo o identificador de versão da primeira versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma segunda versão de dados adjacente à primeira versão de dados; com base no identificador de versão obtido da segunda versão de dados, realizar o retrocesso de forma sequencial para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso;
    Petição 870190016696, de 19/02/2019, pág. 52/58
    9/9 um módulo de determinação determinando o conteúdo de dados correspondendo à versão inicial dos dados a serem analisados por retrocesso com base no bloco de dados.
  24. 24. Aparelho de rastreamento de dados, de acordo com a reivindicação 23, CARACTERIZADO pelo fato de que o módulo de retrocesso, com base no identificador de versão obtido da segunda versão de dados, realizando sequencialmente o retrocesso para obter um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso compreende:
    com base em um identificador de versão obtido de uma versão de dados, executar a seguinte operação até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido:
    buscar, na cadeia de blocos, por um bloco de dados contendo o identificador de versão obtido da versão de dados, e obter, a partir do bloco de dados, um identificador de versão de uma versão de dados anterior adjacente à versão de dados obtida;
    disparar a execução cíclica das operações anteriores até que um bloco de dados contendo o identificador de versão da versão inicial dos dados a serem analisados por retrocesso seja obtido.
BR112019003345A 2016-08-19 2017-08-08 método e aparelho de armazenamento de dados, verificação de dados e vinculação de dados BR112019003345A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610694496.6A CN106897348B (zh) 2016-08-19 2016-08-19 一种数据存储、数据校验、数据溯源方法和设备
PCT/CN2017/096322 WO2018032995A1 (zh) 2016-08-19 2017-08-08 一种数据存储、数据校验、数据溯源方法和设备

Publications (1)

Publication Number Publication Date
BR112019003345A2 true BR112019003345A2 (pt) 2019-06-11

Family

ID=59191622

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019003345A BR112019003345A2 (pt) 2016-08-19 2017-08-08 método e aparelho de armazenamento de dados, verificação de dados e vinculação de dados

Country Status (16)

Country Link
US (4) US10931441B2 (pt)
EP (1) EP3502926A4 (pt)
JP (1) JP6963006B2 (pt)
KR (2) KR102188744B1 (pt)
CN (1) CN106897348B (pt)
AU (2) AU2017312177B2 (pt)
BR (1) BR112019003345A2 (pt)
CA (1) CA3034034C (pt)
MX (1) MX2019002021A (pt)
MY (1) MY184117A (pt)
PH (1) PH12019500334A1 (pt)
RU (1) RU2744054C2 (pt)
SG (1) SG11201901181PA (pt)
TW (1) TWI679546B (pt)
WO (1) WO2018032995A1 (pt)
ZA (1) ZA201901031B (pt)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897348B (zh) 2016-08-19 2020-10-27 创新先进技术有限公司 一种数据存储、数据校验、数据溯源方法和设备
CN107316239A (zh) * 2017-07-14 2017-11-03 众安信息技术服务有限公司 一种基于区块链的信息认证和溯源方法及系统
CN109428892B (zh) * 2017-09-01 2021-12-28 埃森哲环球解决方案有限公司 多阶段可重写区块链
CN107945312A (zh) * 2017-10-31 2018-04-20 深圳市轱辘车联数据技术有限公司 一种车辆检测方法及其设备
US11868509B2 (en) 2017-11-17 2024-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
CN108458724B (zh) * 2017-12-29 2021-06-04 歌尔科技有限公司 一种计步方法和装置
CN108123960B (zh) * 2018-01-02 2020-10-16 武汉斗鱼网络科技有限公司 直播房间人气验证方法、装置及电子设备
TWI682334B (zh) * 2018-02-08 2020-01-11 亞智科技股份有限公司 製程配方監控方法及製程配方監控系統
CN108734028B (zh) * 2018-05-24 2020-10-09 中国联合网络通信集团有限公司 基于区块链的数据管理方法、区块链节点及存储介质
US11038676B2 (en) * 2018-05-25 2021-06-15 Incertrust Technologies Corporation Cryptographic systems and methods using distributed ledgers
JP7316812B2 (ja) * 2018-06-18 2023-07-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 管理方法、管理装置、及び、プログラム
EP3584759B1 (en) 2018-06-18 2024-05-01 Panasonic Intellectual Property Corporation of America Management method, management apparatus, and program
CN108847926A (zh) * 2018-06-22 2018-11-20 武汉斗鱼网络科技有限公司 一种客户端安全检测方法、装置及客户端设备
CN109257334B (zh) * 2018-08-21 2021-04-09 广州杰赛科技股份有限公司 一种基于区块链的数据上链系统、方法及存储介质
CN109308188B (zh) * 2018-09-25 2021-06-22 四川长虹电器股份有限公司 一种基于区块链的版本控制方法及系统
CN109522683B (zh) * 2018-09-26 2022-11-01 百度在线网络技术(北京)有限公司 软件溯源方法、系统、计算机设备及存储介质
US10268817B1 (en) * 2018-10-05 2019-04-23 Capital One Services, Llc Methods, mediums, and systems for establishing and using security questions
CN111275434B (zh) * 2018-12-05 2023-05-26 阿里巴巴集团控股有限公司 基于区块链的信息追踪方法及装置
CN109617964B (zh) * 2018-12-12 2021-11-09 成都四方伟业软件股份有限公司 基于区块链的大数据存储方法及装置
CN109800248A (zh) * 2018-12-17 2019-05-24 上海点融信息科技有限责任公司 用于区块链网络的数字内容溯源和记录方法、存储介质、计算设备
CN110046901B (zh) * 2018-12-28 2020-06-30 阿里巴巴集团控股有限公司 联盟链的可信度验证方法、系统、装置及设备
US10880619B2 (en) * 2019-02-21 2020-12-29 Raytheon Bbn Technologies Corp. Verifying provenance of digital content
CN111694502B (zh) * 2019-03-14 2023-05-30 北京沃东天骏信息技术有限公司 区块链数据存储方法、装置、设备及存储介质
CN110096505B (zh) * 2019-03-31 2021-05-11 杭州复杂美科技有限公司 一种数据存储方法和系统、设备及存储介质
CN109992999B (zh) * 2019-04-01 2021-05-28 北京柏链基石科技有限公司 一种基于区块链的隐私数据的修改方法、装置及电子设备
US11126425B2 (en) * 2019-04-19 2021-09-21 Sarcos Corp. Version history management using a blockchain
US10908924B2 (en) * 2019-05-01 2021-02-02 Intuit Inc. System and methods for loading objects from hash chains
US11088828B2 (en) 2019-07-18 2021-08-10 Advanced New Technologies Co., Ltd. Blockchain-based data evidence storage method and apparatus
CN110427774B (zh) * 2019-07-18 2021-01-12 创新先进技术有限公司 基于区块链的数据存证方法、数据校验方法及相关装置
CN110753105B (zh) * 2019-10-17 2022-09-06 中国建设银行股份有限公司 数据传输方法、装置、系统、电子设备及存储介质
CN110659519A (zh) * 2019-11-18 2020-01-07 陕西品漠农牧科技发展有限公司 一种基于区块链、时间戳、地理位置的凭证制作方法
CN112818380A (zh) * 2020-07-10 2021-05-18 支付宝(杭州)信息技术有限公司 业务行为的回溯处理方法、装置、设备及系统
CN112486561B (zh) * 2020-11-25 2024-03-22 北京电力交易中心有限公司 基于区块链的版本回溯方法、装置及相关设备
CN112749181B (zh) * 2021-01-20 2021-08-17 方正国际软件(广州)有限公司 针对真实性验证和可信溯源的大数据处理方法及云服务器
CN113094365A (zh) * 2021-04-02 2021-07-09 北京大学 一种食品安全追溯系统、方法、设备及可读存储介质
CN114036229B (zh) * 2021-11-08 2022-07-01 中国人民解放军92493部队信息技术中心 一种基于区块链的数据流转溯源方法
CN115022096B (zh) * 2022-08-09 2022-11-22 北京航天奥祥通风科技股份有限公司 下载软件方法和装置
CN116843353B (zh) * 2023-02-15 2024-02-02 厦门智康力奇数字科技有限公司 一种基于区块链和物联网的农产品溯源系统及方法
CN116629718B (zh) * 2023-07-24 2023-09-29 清华四川能源互联网研究院 一种工业数据回溯方法、装置、电子设备及存储介质

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1024221A (en) 1911-01-03 1912-04-23 Daniel A Osgood Grouting-machine.
US1007529A (en) 1911-03-14 1911-10-31 Luther L Carr Folding hay-knife.
US1012101A (en) 1911-03-22 1911-12-19 Richard A Roach Spring-belt.
US6343295B1 (en) * 1998-12-16 2002-01-29 Microsoft Corporation Data lineage
KR100653801B1 (ko) * 2000-01-21 2006-12-05 소니 가부시끼 가이샤 데이터 처리 장치 및 데이터 처리 방법
US6938039B1 (en) * 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US7054891B2 (en) * 2002-03-18 2006-05-30 Bmc Software, Inc. System and method for comparing database data
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US8627086B2 (en) * 2004-10-11 2014-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Secure loading and storing of data in a data processing device
KR100654446B1 (ko) * 2004-12-09 2006-12-06 삼성전자주식회사 보안 부팅 장치 및 방법
US9626667B2 (en) * 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US7587564B2 (en) * 2006-09-26 2009-09-08 International Business Machines Corporation System, method and computer program product for managing data versions
US8499044B2 (en) * 2006-12-07 2013-07-30 Microsoft Corporation Formatted message processing utilizing a message map
CN101236525A (zh) * 2008-01-24 2008-08-06 创新科存储技术(深圳)有限公司 文件存储、读取、删除及复制方法及其相关系统
US7676501B2 (en) * 2008-03-22 2010-03-09 Wilson Kelce S Document integrity verification
US7904450B2 (en) * 2008-04-25 2011-03-08 Wilson Kelce S Public electronic document dating list
US9098495B2 (en) * 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US9098632B2 (en) * 2010-12-03 2015-08-04 Dcs Consultancy Services Limited Computer program testing
US9569771B2 (en) * 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US20120310875A1 (en) * 2011-06-03 2012-12-06 Prashanth Prahlad Method and system of generating a data lineage repository with lineage visibility, snapshot comparison and version control in a cloud-computing platform
US8751736B2 (en) * 2011-08-02 2014-06-10 Oracle International Corporation Instructions to set and read memory version information
CN103678337B (zh) * 2012-09-06 2017-12-12 华为技术有限公司 数据清除方法、装置及系统
KR101518488B1 (ko) * 2013-05-20 2015-05-07 주식회사 애드오피 온라인 콘텐츠 가치 향상 방법 및 시스템
US9135285B1 (en) * 2013-05-30 2015-09-15 Ca, Inc. Loading XML records into a database
JP6432127B2 (ja) * 2013-11-12 2018-12-05 株式会社リコー 通信装置、通信システム、通信方法及び通信プログラム
WO2015175722A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US9836908B2 (en) * 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US10409827B2 (en) * 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
US10230526B2 (en) * 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
CA2981511C (en) * 2015-03-31 2018-08-28 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160342989A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
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
US10963881B2 (en) * 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
US10075298B2 (en) * 2015-06-02 2018-09-11 ALTR Solutions, Inc. Generation of hash values within a blockchain
US10121019B2 (en) * 2015-06-02 2018-11-06 ALTR Solutions, Inc. Storing differentials of files in a distributed blockchain
US9881176B2 (en) * 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
CN104935657A (zh) * 2015-06-15 2015-09-23 清华大学深圳研究生院 主动推送信息的方法和嵌入式节点操作系统
CN105045536B (zh) * 2015-07-29 2019-09-20 百度在线网络技术(北京)有限公司 一种数据存储的方法、装置与系统
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US10425428B2 (en) * 2015-08-20 2019-09-24 Guardtime Sa Verification lineage tracking and transfer control of data sets
CN105117489B (zh) * 2015-09-21 2018-10-19 北京金山安全软件有限公司 一种数据库管理方法、装置及电子设备
CN105608588A (zh) * 2016-01-04 2016-05-25 布比(北京)网络技术有限公司 一种溯源记录处理的方法及装置
CN105610578B (zh) * 2016-01-25 2019-05-03 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
US9785369B1 (en) * 2016-05-23 2017-10-10 Accenture Global Solutions Limited Multiple-link blockchain
US10705221B2 (en) * 2016-06-08 2020-07-07 The Boeing Company On-board backup and anti-spoofing GPS system
CN106897348B (zh) * 2016-08-19 2020-10-27 创新先进技术有限公司 一种数据存储、数据校验、数据溯源方法和设备

Also Published As

Publication number Publication date
EP3502926A4 (en) 2020-05-06
CN106897348A (zh) 2017-06-27
WO2018032995A1 (zh) 2018-02-22
SG11201901181PA (en) 2019-03-28
US11082208B2 (en) 2021-08-03
AU2019101570A4 (en) 2020-01-23
CA3034034C (en) 2021-06-15
US11356245B2 (en) 2022-06-07
AU2017312177B2 (en) 2020-12-10
US20200136811A1 (en) 2020-04-30
KR20190039787A (ko) 2019-04-15
US10931441B2 (en) 2021-02-23
TWI679546B (zh) 2019-12-11
AU2017312177A1 (en) 2019-03-14
US20190182033A1 (en) 2019-06-13
KR20200139845A (ko) 2020-12-14
RU2019107593A3 (pt) 2020-09-21
TW201807601A (zh) 2018-03-01
KR102188744B1 (ko) 2020-12-09
MX2019002021A (es) 2019-07-08
JP6963006B2 (ja) 2021-11-05
ZA201901031B (en) 2021-07-28
US20210099285A1 (en) 2021-04-01
PH12019500334A1 (en) 2019-11-11
CA3034034A1 (en) 2018-02-22
US10880078B2 (en) 2020-12-29
RU2744054C2 (ru) 2021-03-02
KR102289995B1 (ko) 2021-08-17
MY184117A (en) 2021-03-18
CN106897348B (zh) 2020-10-27
RU2019107593A (ru) 2020-09-21
US20210359841A1 (en) 2021-11-18
EP3502926A1 (en) 2019-06-26
JP2019532550A (ja) 2019-11-07

Similar Documents

Publication Publication Date Title
BR112019003345A2 (pt) método e aparelho de armazenamento de dados, verificação de dados e vinculação de dados
US20200412526A1 (en) Method and apparatus for verifying smart contracts in blockchain, and storage medium
US11379834B2 (en) Secure management of data files using a blockchain
US10432411B2 (en) System and method for file time-stamping using a blockchain network
JP6804668B2 (ja) ブロックデータ検証方法および装置
US20190327094A1 (en) Information authentication method and system
KR20190061075A (ko) 소프트웨어 재패키징 방지 방법 및 장치
WO2020093809A1 (zh) 一种区块链数据读取方法及装置
WO2015070674A1 (zh) 一种操作数据的方法和系统
WO2020093807A1 (zh) 一种对写入区块链的交易进行隐匿的方法及装置
TW202125296A (zh) 基於區塊鏈的侵權取證方法及裝置、電子設備、儲存媒體
US11775507B2 (en) Methods and apparatuses for reading and updating data structures, and electronic devices
CN110119947B (zh) 共享工作量证明算力生成共生区块链的方法和设备
CN109829076B (zh) 一种生成区块链的方法及设备
CN109542860B (zh) 基于hdfs的业务数据管理方法、终端设备
US20210382865A1 (en) Secure model item tracking system
WO2017028721A1 (zh) 分布式文件系统的数据更新方法和装置
CN111353152A (zh) 基于区块链的文档管理方法、装置、系统及存储介质
KR102416337B1 (ko) 블록체인을 관리하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
Li et al. An enterprise composite blockchain construction method for business environment
Lee Implementing Your Own Blockchain Using Python
KR20220074483A (ko) 멀티미디어 콘텐츠 버전 관리 방법 및 장치
Yu123 et al. EthDrive: A Peer-to-Peer Data Storage with Provenance
BR112014023106B1 (pt) Método implementado por máquina, meio tangível legível por máquina e dispositivo cliente

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]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 6A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2734 DE 30-05-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.