BR112021011216A2 - Método implementado por computador para criar uma cadeia de blocos, meio de armazenamento, dispositivo de borda, e, produto de programa de computador - Google Patents

Método implementado por computador para criar uma cadeia de blocos, meio de armazenamento, dispositivo de borda, e, produto de programa de computador Download PDF

Info

Publication number
BR112021011216A2
BR112021011216A2 BR112021011216-2A BR112021011216A BR112021011216A2 BR 112021011216 A2 BR112021011216 A2 BR 112021011216A2 BR 112021011216 A BR112021011216 A BR 112021011216A BR 112021011216 A2 BR112021011216 A2 BR 112021011216A2
Authority
BR
Brazil
Prior art keywords
block
blocks
intermediate block
blockchain
transaction
Prior art date
Application number
BR112021011216-2A
Other languages
English (en)
Inventor
Oliver Thurau
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of BR112021011216A2 publication Critical patent/BR112021011216A2/pt

Links

Classifications

    • 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
    • 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/2379Updates performed during online database operations; commit processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity

Abstract

MÉTODO IMPLEMENTADO POR COMPUTADOR PARA CRIAR UMA CADEIA DE BLOCOS, MEIO DE ARMAZENAMENTO, DISPOSITIVO DE BORDA, E, PRODUTO DE PROGRAMA DE COMPUTADOR. A invenção se refere a um método implementado por computador para criar uma cadeia de blocos com blocos que compreende um número ajustável de blocos de transação e múltiplos blocos intermediários, e a um meio de armazenamento de um dispositivo que faz parte de um sistema de banco de dados distribuído que compreende essa cadeia de blocos. Um primeiro bloco intermediário é provido e pelo menos um segundo bloco intermediário é gerado, em que o segundo bloco intermediário faz referência a um bloco que o precede e pelo menos ao primeiro bloco intermediário.

Description

1 / 28
MÉTODO IMPLEMENTADO POR COMPUTADOR PARA CRIAR UMA CADEIA DE BLOCOS, MEIO DE ARMAZENAMENTO, DISPOSITIVO DE BORDA, E, PRODUTO DE PROGRAMA DE COMPUTADOR
[001] A criação de uma cadeia de blocos com blocos que compreende um número ajustável de blocos de transação e de múltiplos blocos intermediários.
[002] A invenção se refere a um método implementado por computador para criar uma cadeia de blocos com blocos que compreende um número adaptável de blocos de transação e uma pluralidade de blocos intermediários, e a um meio de armazenamento de um dispositivo que faz parte de um sistema de banco de dados distribuído que tem dita cadeia de blocos.
[003] Na esfera industrial, há cada vez mais interesse em gravar dados relativos ao próprio dispositivo ou a um sistema de automação em que o dispositivo está localizado, ou a dados de um processo que são submetidos s um sistema de automação do dispositivo de forma protegida no dispositivo. Em particular, os dados de qualidade a partir do controle de automação ou ações operacionais realizadas ou um histórico de dados de estado detectados são de interesse aqui. Uma cadeia de blocos que tem recurso a uma rede de cadeia de blocos é adequada para gravar esses dados em um dispositivo de uma maneira protegida contra manipulação.
[004] Na esfera industrial, utiliza-se aqui uma cadeia de blocos pública ou uma cadeia de blocos privada, por exemplo. No caso de uma cadeia de blocos pública, o método de consenso é público, ou seja, um grupo de usuários desconhecidos, por exemplo na Internet pública, pode confirmar ou validar uma cadeia de blocos ou, em outras palavras, validar blocos individuais por mineração. No caso da cadeia de blocos privada, o método de consenso ocorre dentro de um consórcio cujos membros, por exemplo, são conhecidos uns dos outros ou de uma entidade administrativa ou satisfazem
2 / 28 um nível de confiança específico.
[005] A tecnologia de cadeia de blocos realiza um banco de dados distribuído e descentralizado, no qual as transações geradas pelos nós participantes podem ser armazenadas de uma maneira protegida contra manipulação. Para esse propósito, as transações são gravadas em um bloco e um bloco é vinculado a um bloco seguinte por meio de um método de soma de verificação. Uma explicação da tecnologia de cadeia de blocos pode ser obtida, por exemplo, da Wikipédia em inglês, https://en.wikipedia.org/wiki/Blockchain. Em um bloco, um valor do hash do bloco predecessor é gravado, por exemplo, além de uma ou mais transações. O bloco é enviado para a rede de cadeia de blocos pelo nó que o gerou. A proteção surge como resultado de uma maioria de nós confiáveis em uma rede de cadeia de blocos que realizam a validação de blocos. Na rede de nós que participam de uma cadeia de bloco, um novo bloco é formado em períodos regulares e o valor do hash de um bloco existente é gravado concomitantemente no processo. Se nenhuma transação estiver presente em um intervalo, então a criação do bloco é dispensada em algumas cadeias de blocos.
[006] Uma cadeia de blocos, portanto, armazena as transações que foram introduzidas na cadeia de blocos ou foram providas à rede de cadeia de blocos para confirmação. Se os blocos forem confirmados no respectivo método de consenso, a cadeia de blocos válida cresce em relação ao seu comprimento e, portanto, o tamanho de cada bloco confirmado. O requisito de espaço de armazenamento de uma cadeia de blocos continuada ou confirmada, portanto, aumenta cada vez mais.
[007] Uma vez que a soma de verificação, em particular um valor do hash, do bloco predecessor é inserida em um novo bloco respectivo, uma cadeia se forma. A soma de verificação do bloco predecessor, junto com a transação do bloco atual, por sua vez, forma o conjunto de dados para a soma
3 / 28 de verificação do bloco seguinte. Diz-se que um bloco também faz referência ao bloco anterior. As transações ficam assim protegidas contra manipulações, uma vez que uma cadeia pode ser rastreada até um bloco inicial, também chamado de bloco de gênese, através da ligação dos blocos. Uma vez que as transações estejam disponíveis através da rede de cadeia de blocos, é possível rastrear a partir de qual bloco na cadeia, por exemplo, o conteúdo de uma transação não corresponde mais às versões anteriores. As transações são, portanto, gravadas de uma maneira protegida contra manipulação em cada cadeia de bloco verificada. A modificação de uma transação em um bloco que já tinha sido formado em um período anterior na rede poderia ser rastreada mediante recálculo ou verificação da formação da soma de verificação por meio dos blocos existentes. Por causa do número constantemente crescente de blocos dentro de uma cadeia de blocos, quando a tecnologia de cadeia de blocos é usada em dispositivos com recursos limitados, existe o risco de que não haja disponibilidade de espaço de armazenamento suficiente a longo prazo. A título de exemplo, os recursos de espaço de armazenamento são limitados no caso de dispositivos de automação, dispositivos HMI, dispositivos de borda ou dispositivos IoT em contraste com os sistemas baseados em nuvem.
[008] Nesse contexto, é um objetivo da presente invenção prover um uso de uma cadeia de blocos de tal forma que o requisito de espaço de armazenamento para uma cadeia de blocos em um nó possa ser reduzido.
[009] Esse objetivo é alcançado por meio da matéria das reivindicações independentes. Configurações vantajosas são especificadas nas reivindicações dependentes.
[0010] A invenção se refere a um método implementado por computador para criar uma cadeia de blocos com blocos que compreende um número adaptável de blocos de transação e uma pluralidade de blocos intermediários,
4 / 28 em que a cadeia de blocos faz parte de um sistema de banco de dados distribuído; em que os blocos são gerados dentro da cadeia de blocos e um respectivo bloco faz referência a um respectivo bloco anterior, em que um primeiro bloco intermediário é provido; em que pelo menos um segundo bloco intermediário é gerado, em que o segundo bloco intermediário faz referência a um bloco que o precede e também faz referência ao pelo menos primeiro bloco intermediário.
[0011] A cadeia de blocos faz parte de um sistema de banco de dados distribuído. Nesse caso, o sistema de banco de dados distribuído significa que as informações do banco de dados, em particular a cadeia na forma de uma cadeia de blocos, estão disponíveis ou podem ser armazenadas em uma pluralidade de locais ou para uma pluralidade de participantes. O princípio de uma cadeia de blocos em um sistema de banco de dados distribuído é baseado nas informações da cadeia de blocos presentes de forma descentralizada. Os participantes do sistema de banco de dados distribuído podem participar da criação de novas cadeias de blocos ou verificar ou conferir as cadeias de blocos. Além disso, um participante também pode acessar apenas uma ou mais cadeias de blocos ou usar um ou mais blocos individuais de uma cadeia de blocos.
[0012] De acordo com o presente pedido, os blocos de transação e os blocos intermediários são providos como blocos. Um bloco de transação que faz referência a um bloco de transação anterior é conhecido da técnica anterior. Em particular, uma cadeia de blocos é construída criando um bloco de transação com a transferência de uma transação para o sistema de banco de dados distribuído e vinculando com blocos de transação existentes. Dessa forma, uma cadeia de cadeia de blocos existente é, por assim dizer, continuada ou estendida.
5 / 28
[0013] O ponto em que ou a última transação ou o último bloco com base na qual a cadeia é continuada é definido pela escolha de um bloco referenciado em uma cadeia de cadeia de blocos. Em particular, a escolha do bloco que é referenciado durante a criação de uma cadeia de blocos é possível de qualquer maneira desejada. O bloco mais atualizado confirmado pelo sistema de banco de dados distribuído é vantajosamente escolhido para o referenciamento. As cadeias que são validadas ou confirmadas em termos de sua validade são estendidas de maneira eficaz dessa forma.
[0014] Propõe-se agora gerar pelo menos um bloco intermediário. Além da referência comum do bloco predecessor, um bloco intermediário tem uma segunda referência, especificamente uma referência a um bloco intermediário predecessor. O termo referenciamento deve ser entendido como, por exemplo, ligar-se a outro bloco ou incorporar outro bloco por meio da formação de uma soma de verificação através do bloco incorporado ou ligado. Essa dupla referência permite que a cadeia de blocos assim gerada e confirmada pela rede de cadeia de blocos descentralizada seja validada de uma maneira flexível: em primeiro lugar, pode ser realizado o rastreamento completo dos blocos gerados, em particular de todos os blocos gerados. Da mesma forma, a cadeia pode ser rastreada com base nos blocos intermediários e nas referências dos mesmos aos blocos intermediários anteriores. Os blocos situados entre dois blocos intermediários, em particular blocos de transação, podem ser omitidos na validação se a integridade da cadeia for rastreada através dos blocos intermediários.
[0015] Um segundo bloco intermediário é gerado, por exemplo, em uma cadeia de blocos de transação. O segundo bloco intermediário é criado de tal forma que faz referência a um bloco anterior como se fosse de maneira comum. Isso quer dizer que o segundo bloco intermediário é gerado como um bloco dentro da cadeia de blocos em virtude da sua extensão ou continuação de uma cadeia de cadeia de blocos existente.
6 / 28
[0016] Além disso, o segundo bloco intermediário faz referência ao pelo menos primeiro bloco intermediário. O segundo bloco intermediário, portanto, compreende pelo menos duas referências. Essas são, por exemplo, as somas de verificação de dois estados diferentes da cadeia de blocos. Em primeiro lugar, a cadeia de blocos é continuada de uma maneira habitual pela ligação do bloco anterior. O bloco anterior é, em particular, um bloco de transação comum.
[0017] Por meio do bloco precedente direto, o segundo bloco intermediário compreende uma soma de verificação da cadeia da cadeia de blocos até o segundo bloco intermediário em si. Além disso, o segundo bloco intermediário também compreende uma soma de verificação da cadeia de blocos em relação ao estado de um primeiro bloco intermediário gerado. A título de exemplo, esse é o estado da cadeia de blocos após a criação ou após a validação do primeiro bloco intermediário.
[0018] Uma referência a um estado anterior da cadeia de blocos é, portanto, criada através do segundo bloco intermediário fazendo referência ao primeiro bloco intermediário.
[0019] A cadeia de blocos pode ser vantajosamente continuada com base no segundo bloco intermediário. Uma integridade das transações gravadas na cadeia de blocos é possível através do segundo bloco intermediário e do primeiro bloco intermediário, mesmo se os blocos de transação gerados entre o primeiro bloco intermediário e o segundo bloco intermediário não estiverem mais disponíveis.
[0020] Vantajosamente, no método proposto, uma transação atual que é disponibilizada para a rede de cadeia de blocos e que se destina a ser interligada se torna disponível para todos os nós com a disponibilidade do bloco de transação na rede de cadeia de blocos. O método para criar uma cadeia de blocos com um número adaptável de blocos de transação, portanto, em particular, não diz respeito à disponibilidade dos blocos de transação
7 / 28 atuais.
[0021] Um bloco intermediário pode ser confirmado pela rede de cadeia de blocos analogamente a métodos conhecidos para gerar um bloco de transação, por exemplo, mineração. A título de exemplo, um bloco intermediário é gerado por meio de um mecanismo baseado em prova de trabalho ou prova de participação ou prova de autoridade.
[0022] Em particular, as referências de blocos intermediários de volta aos blocos intermediários anteriores durante a geração de blocos adicionais após um bloco intermediário não precisam ser levadas em consideração de uma maneira especial. Em particular, a validação e a interligação de um bloco intermediário também são efetuadas de maneira regular.
[0023] Nós adicionais, por exemplo, nós em uma nuvem em que a rede de cadeia de blocos é distribuída, podem assim lidar com a cadeia de blocos com ou mais blocos intermediários de uma maneira regular e levar em consideração, por exemplo, apenas a referência ao bloco de transação anterior do respectivo bloco intermediário.
[0024] A integridade de uma cadeia de blocos é possível sem blocos gerados entre o primeiro e o segundo blocos intermediários por causa da referência do primeiro bloco intermediário no segundo bloco intermediário.
[0025] De acordo com uma configuração, o primeiro bloco intermediário é um bloco de gênese. Nessa configuração, o primeiro bloco intermediário assume um papel especial e é ele próprio o bloco de gênese. O segundo bloco intermediário então faz referência ao bloco de gênese, além do bloco predecessor. Em uma variante em que o primeiro bloco intermediário é o bloco de gênese, os blocos podem assim ser validados a partir do segundo bloco intermediário com base na referência do bloco de gênese. As transações armazenadas em blocos entre o bloco de gênese e o segundo bloco intermediário não são necessárias para rastrear a integridade dos blocos a partir do segundo bloco intermediário.
8 / 28
[0026] De acordo com uma configuração, um bloco de gênese é provido e o primeiro bloco intermediário é, além disso, gerado, em que o primeiro bloco intermediário faz referência a um bloco que o precede e também faz referência pelo menos ao bloco de gênese. Vantajosamente, dependendo da constituição da cadeia ou da frequência dos blocos gerados, em particular dos blocos de transação gerados, independentemente do bloco de gênese, o primeiro bloco intermediário pode servir como referência e conjunto de dados para a soma de verificação ou formação de valor do hash do segundo bloco intermediário.
[0027] De acordo com uma configuração, pelo menos um bloco de transação é gerado entre o primeiro bloco intermediário e o segundo bloco intermediário. O segundo bloco intermediário é vantajosamente gerado de acordo com uma especificação que leva em consideração as condições de uma aplicação de cadeia de blocos ou a constituição de uma cadeia de blocos e que, consequentemente, gostaria de obter blocos intermediários após um certo número de blocos de transação. Nesse caso, a especificação pode prover uma ampla variedade de mecanismos para atingir esse objetivo. Quanto maior o número de blocos de transação providos entre os blocos intermediários, maior o número de blocos que podem ser desconsiderados durante a verificação da cadeia de blocos com base nos blocos intermediários e na referência dos mesmos aos blocos intermediários anteriores.
[0028] De acordo com uma configuração, para encurtar a cadeia de blocos, pelo menos o número de blocos de transação entre o segundo bloco intermediário e o primeiro bloco intermediário é reduzido. Em particular, todos os blocos de transação gerados entre o segundo bloco intermediário e o primeiro bloco intermediário são removidos.
[0029] Um ou mais blocos de transação situados entre o primeiro bloco intermediário e o segundo bloco intermediário são removidos e, assim, o tamanho e, portanto, a capacidade de armazenamento necessária da cadeia
9 / 28 de blocos em um nó são reduzidos.
[0030] O nó que executa o encurtamento pode ser qualquer nó desejado dentre os nós que participam da rede da cadeia de blocos. Vantajosamente, toda a cadeia de blocos, incluindo todos os blocos de transação, deve ser armazenada em pelo menos um dos nós participantes para poder, se necessário, recorrer aos blocos de transação que não estão mais presentes na cadeia de blocos encurtada.
[0031] A cadeia de blocos encurtada ainda pode ser verificada quanto à sua integridade ou autenticidade usando a referência do segundo bloco intermediário ao primeiro bloco intermediário. Dessa forma, é possível verificar a integridade dos blocos desde um bloco de gênese até o segundo bloco intermediário, uma vez que a cadeia, como resultado da referência ao primeiro bloco intermediário, não é interrompida mesmo pela ausência de blocos de transação entre o primeiro bloco intermediário e o segundo bloco intermediário. Vantajosamente, tanto a autenticidade das transações ainda disponíveis na cadeia de blocos encurtada antes do primeiro bloco intermediário, quanto a autenticidade das transações após o segundo bloco intermediário podem ser rastreadas, em particular, realizando a formação de soma de verificação por meio de todos os blocos, incluindo os blocos intermediários. Uma vez que o segundo bloco intermediário também tem somas de verificação do primeiro bloco intermediário, o rastreamento contínuo da cadeia de blocos por meio de somas de verificação é possível mesmo através da lacuna dos blocos de transação removidos. Consequentemente, as transações dos blocos de transação não removidos ainda são gravadas de uma maneira protegida contra manipulação na cadeia de blocos encurtada.
[0032] O fato de que o segundo bloco intermediário e todos os blocos adicionais podem ser confiáveis é garantido em virtude dos blocos intermediários também serem confirmados pelo mecanismo de consenso da
10 / 28 cadeia de blocos como em uma rede de cadeia de blocos comum.
[0033] O encurtamento da cadeia de blocos é conveniente, em particular para nós providos em dispositivos que tem capacidade de armazenamento limitada. Na esfera industrial eles são chamados de dispositivos de ponta, por exemplo, que servem como interface para uma nuvem e, ao mesmo tempo, localmente em uma instalação industrial, podem manter disponíveis ou processar dados relevantes para a instalação.
[0034] Em particular, todos os blocos de transação entre dois blocos intermediários são removidos. As transações entre dois blocos intermediários podem ser verificadas sem lacunas se todas estiverem presentes e, portanto, todas as somas de verificação podem ser recalculadas, como é o caso em uma cadeia de blocos convencional. O encurtamento da cadeia de blocos pode, portanto, ser otimizado vantajosamente em relação ao espaço de armazenamento necessário pelo fato da cadeia de blocos encurtada não conter nenhum bloco de transação entre o segundo bloco intermediário e o primeiro bloco intermediário. Em casos particulares em que nenhum bloco de transação foi gerado entre dois blocos intermediários, por exemplo, devido à política segundo a qual um bloco intermediário é gerado ou devido à ausência de blocos de transação gerados, o encurtamento pode ser efetuado de forma análoga. Nesse caso, um bloco intermediário contém a soma de verificação sobre o bloco intermediário anterior por duas vezes, por exemplo, uma vez por causa da referência do bloco predecessor direto e uma vez por causa da referência do bloco intermediário anterior. O encurtamento da cadeia de blocos não reduz o espaço de armazenamento neste caso em especial.
[0035] De acordo com uma configuração, uma cadeia de blocos encurtada é armazenada por um dispositivo que faz parte de um sistema de banco de dados distribuído, em particular um dispositivo em uma nuvem ou um dispositivo de borda ou um dispositivo IoT. Dessa forma, um dispositivo que tem capacidade de armazenamento limitada pode armazenar com
11 / 28 flexibilidade uma cadeia de bloco encurtada que ocupa menos espaço de armazenamento. A título de exemplo, um dispositivo primeiro armazena a cadeia de blocos não encurtada e, em seguida, encurta a última apagando os blocos de transação entre os blocos intermediários arbitrários.
[0036] De acordo com uma configuração, para estender a cadeia de blocos, os blocos de transação entre o primeiro bloco intermediário e o segundo bloco intermediário são interrogados a partir de uma cadeia de blocos não encurtada armazenada e são inseridos. Vantajosamente, uma cadeia de bloco encurtada pode assim ser estendida novamente para uma cadeia de blocos não encurtada. Essa extensão pode ser realizada para blocos de transação entre blocos intermediários selecionados ou para todos os blocos de transação removidos, ou seja, para blocos de transação entre todos os blocos intermediários entre os quais o encurtamento foi previamente efetuado.
[0037] De acordo com uma configuração, fazer referência a um bloco a ser referenciado compreende gravar ou armazenar uma soma de verificação do bloco a ser referenciado ou de uma parte do bloco a ser referenciado no bloco de referência. A soma de verificação é, em particular, um valor do hash ou um valor do hash criptográfico.
[0038] De acordo com uma configuração, cada bloco intermediário não inclui transação alguma. Um bloco intermediário é confirmado pela rede de cadeia de blocos analogamente ao método conhecido para gerar um bloco de transação, por exemplo, mineração. Somente o conteúdo do bloco intermediário gerado não inclui dados de carga útil nessa configuração. No caso de uma cadeia de blocos encurtada, particularmente poucos dados de transação permanecem na cadeia de blocos encurtada. De acordo com uma variante adicional, um bloco que inclui uma transação pode ser designado como bloco intermediário. Portanto, um bloco intermediário pode assumir uma função dupla e em primeiro lugar ser um bloco de transação dentro de uma cadeia de blocos e, ao mesmo tempo, por meio de uma referência
12 / 28 adicional a um bloco intermediário anterior, assumir a funcionalidade de um bloco intermediário. A transação de um bloco intermediário também é protegida contra manipulação, uma vez que os blocos de transação que seguem um bloco intermediário também fazem referência ao próprio bloco intermediário e, assim, interligam uma transação gravada no mesmo. As transações armazenadas em blocos intermediários não são removidas, no entanto, durante o encurtamento da cadeia de blocos.
[0039] Remover os blocos de transação entre todos os blocos intermediários presentes, por exemplo, entre o bloco de gênese e o primeiro bloco intermediário e entre o primeiro bloco intermediário e o segundo bloco intermediário e entre o segundo bloco intermediário e um bloco intermediário adicional, etc., tem o efeito de que apenas as transações que sucedem o último bloco intermediário gerado estão presentes em uma cadeia de blocos encurtada. Isso é particularmente vantajoso em aplicações nas quais o histórico de dados de transações que foram interligados antes do último bloco intermediário gerado não é mais de interesse. Em tal cenário, uma quantidade particularmente grande de espaço de armazenamento pode ser liberada ou a cadeia de blocos requer particularmente pouco espaço de armazenamento e todos os dados de transações do passado recente estão disponíveis. O período de tempo durante o qual um histórico de transações está disponível pode ser controlado de maneira vantajosa por meio da especificação para gerar os blocos intermediários ou, alternativamente, por meio da predefinição dos blocos de transações a serem apagados.
[0040] De acordo com uma configuração, blocos intermediários adicionais são gerados, em que um respectivo bloco intermediário adicional faz referência a um bloco respectivamente anterior e também a um bloco intermediário respectivamente anterior. O método pode ser estendido a tantos blocos intermediários quanto desejado, em que blocos intermediários sucessivos são configurados em cada caso analogamente ao primeiro e
13 / 28 segundo blocos intermediários. Um terceiro bloco intermediário pode assim seguir o segundo bloco intermediário, um quarto bloco intermediário pode seguir o terceiro bloco intermediário, etc.
[0041] De acordo com um desenvolvimento, a geração do segundo bloco intermediário ou de um respectivo bloco intermediário adicional é efetuada de uma forma baseada em regras, por exemplo em um ponto predefinível no tempo ou com um intervalo de tempo predefinível em relação a um bloco anterior ou um intervalo de tempo predefinível em relação a um bloco intermediário anterior ou após um número predefinível de blocos de transação gerados ou por meio de uma condição desencadeadora baseada no contexto, ou é efetuada manualmente. É vantajosamente possível definir a frequência ou a regularidade dos blocos intermediários gerados por meio de uma regra para a geração de blocos intermediários. Dependendo da aplicação, os blocos intermediários podem ser gerados de tal forma que os blocos de transação possam ser removidos de maneira flexível a partir de intervalos de tempo específicos.
[0042] A título de exemplo, os blocos gerados podem, portanto, ser removidos a partir de um período de tempo selecionável de uma maneira particularmente granular, por exemplo, se o histórico das transações para esse segmento de tempo for de pouco interesse. A título de exemplo, os blocos intermediários podem ser criados em intervalos maiores para aplicações para os quais a experiência mostra que apenas os dados de transação mais atualizados são de interesse posteriormente em um dispositivo dentro da instalação de automação. Ao remover os blocos de transação desse intervalo, uma grande quantidade de espaço de armazenamento pode ser economizada por uma ação de apagamento entre dois blocos intermediários.
[0043] Em outras aplicações, um bloco intermediário pode ser gerado em intervalos mais curtos, por exemplo, se a experiência mostrar que apenas partes específicas dos blocos de transação gerados são de interesse para uma
14 / 28 análise histórica e outras partes podem ser apagadas do histórico.
[0044] Vantajosamente, um bloco intermediário é gerado apenas se um certo número de blocos de transação tiver sido gerado. Isso tem o efeito de que um bloco intermediário é gerado apenas se a remoção dos blocos de transação, quanto o bloco intermediário anterior, exceder um certo espaço de armazenamento economizando como um valor limite. Isso evita uma situação, por exemplo, em que a remoção dos blocos de transação entre dois blocos intermediários tem apenas pouco efeito no tamanho ou comprimento de toda a cadeia de blocos.
[0045] Vantajosamente, no caso de uma condição baseada no contexto, um bloco intermediário é gerado dependendo de um contexto, por exemplo, um contexto de um projeto de automação. A título de exemplo, um sistema de tarefas controla a criação de um bloco intermediário. Vantajosamente, portanto, por exemplo, os blocos intermediários podem ser criados no início e após o final de um lote. Assim, é possível selecionar a remoção de blocos de transação entre blocos intermediários ou da mesma forma a manutenção desses blocos na cadeia de blocos para um lote específico ou uma tarefa específica.
[0046] Além disso, por exemplo, um bloco intermediário pode ser criado se uma nova configuração de parâmetros for usada em um processo automatizado, por exemplo, após uma troca de ferramenta em uma máquina ferramenta ou após uma adaptação de controladores em uma máquina de produção como uma reação às influências ambientais.
[0047] De acordo com uma configuração, pelo menos um dos blocos intermediários adicionais faz referência a pelo menos dois dos blocos intermediários anteriores em virtude de uma pluralidade de blocos intermediários anteriores sendo referenciados em um bloco intermediário, por exemplo, em virtude do valor do hash de uma pluralidade de blocos intermediários anteriores contendo a condição da cadeia de blocos no
15 / 28 respectivo ponto no tempo. Assim, torna-se possível encurtar a cadeia de blocos para uma pluralidade de comprimentos que procedem a partir do nó intermediário duplamente referenciado. Isso quer dizer que, por exemplo, a seção da cadeia entre o nó intermediário duplamente referenciado e o nó intermediário referenciado mais antigo ou entre o nó intermediário duplamente referenciado e o nó intermediário referenciado mais recente pode ser apagada da cadeia de blocos.
[0048] Em um desenvolvimento, um bloco intermediário pode fazer referência a todos os blocos intermediários anteriores, por exemplo. Embora por um lado a complexidade aumente por conta da inflação de referências no bloco intermediário, dessa forma em um processo um número muito grande de blocos, ou seja, de blocos de transação e blocos intermediários anteriores, podem ser removidos da cadeia de blocos e esta pode, portanto, ser reduzida de forma eficaz.
[0049] De acordo com uma configuração, um respectivo bloco intermediário faz referência ao bloco intermediário respectivamente anterior, e os blocos intermediários selecionados adicionalmente fazem referência a blocos intermediários anteriores adicionais. Um compromisso pode ser feito dessa forma, de modo que, por um lado, a quantidade de referências não aumente de maneira inflacionária com blocos intermediários recém gerados e blocos intermediários selecionados, no entanto, façam referência a dois ou mais blocos intermediários anteriores.
[0050] De acordo com uma configuração, o bloco intermediário selecionado é gerado em um ponto predefinível no tempo ou com um intervalo de tempo predefinível em relação a um bloco intermediário anterior ou previamente selecionado ou após um número predefinível de blocos de transação ou blocos intermediários ou por meio de uma condição desencadeadora baseada no contexto ou manualmente. Os mecanismos que desencadeiam a geração de um bloco intermediário selecionado com
16 / 28 referência dupla ou múltipla podem ser escolhidos de maneira análoga à criação de um bloco intermediário.
[0051] Além disso, a invenção se refere a um meio de armazenamento de um dispositivo faz parte de um sistema de banco de dados distribuído, em particular de um dispositivo em uma nuvem ou de um dispositivo de borda ou dispositivo IoT, que tem uma cadeia de blocos com blocos que compreendem um número adaptável de blocos de transação e uma pluralidade de blocos intermediários, em que a cadeia de blocos faz parte do sistema de banco de dados distribuído; em que um respectivo bloco faz referência a um respectivo bloco anterior, que tem um primeiro bloco intermediário e pelo menos um segundo bloco intermediário, em que o segundo bloco intermediário faz referência a um bloco que o precede e também faz referência ao pelo menos primeiro bloco intermediário.
[0052] De acordo com uma configuração, o meio de armazenamento é implementado em um dispositivo de borda ou um dispositivo IoT e tem armazenado uma cadeia de blocos encurtada de acordo com o método descrito acima.
[0053] Vantajosamente, uma cadeia de blocos com os blocos intermediários descritos é gerada, distribuída, confirmada, gerenciada de maneira descentralizada ou armazenada na rede de cadeia de blocos. Um nó da rede de cadeia de blocos pode, portanto, decidir conforme desejado se armazena uma cadeia de blocos completa, incluindo os blocos de transação gerados e blocos intermediários, ou se encurta a cadeia de blocos de acordo com o método descrito e armazena a cadeia de blocos encurtada. Particularmente, nós da rede que tem capacidade de armazenamento limitada
17 / 28 disponível, como por exemplo, dispositivos de borda ou dispositivos IoT dentro de instalações de automação, podem armazenar a cadeia de blocos encurtada de uma maneira vantajosa.
[0054] De acordo com uma configuração, o meio de armazenamento é implementado em um dispositivo de borda ou um dispositivo IoT e tem armazenado uma cadeia de blocos estendida de acordo com o método descrito acima. Vantajosamente, pelo menos um nó que armazena de maneira confiável toda a cadeia de blocos é provido na rede da cadeia de blocos. Em uma instalação de automação conectada a uma nuvem, isso pode ser um nó da cadeia de blocos do operador da instalação ou um nó da cadeia de blocos do serviço em nuvem para o qual um operador de instalação define regras e que armazena toda a cadeia de blocos, incluindo todos os blocos de transação. A partir disso, por exemplo, um dispositivo da instalação de automação que tem armazenada apenas uma cadeia de blocos encurtada pode então solicitar os blocos de transação não contidos na cadeia de blocos encurtada e incorporá- los à cadeia de blocos novamente. Em particular, esse processo pode envolver a verificação se todos os blocos de transação solicitados e providos estão presentes de uma forma intacta e não manipulada, rastreando as somas de verificação dos blocos. Dessa forma, o dispositivo que tem armazenada a cadeia de blocos encurtada adquire a cadeia de blocos estendida novamente após a incorporação dos blocos a partir da cadeia de blocos completa. Nesse caso, todos os blocos removidos podem ser solicitados, ou apena partes, de modo que a cadeia de blocos esteja presente no dispositivo de borda ou no dispositivo IoT de maneira estendida, embora ainda em uma forma reduzida em relação à cadeia de blocos completa.
[0055] A invenção se refere, além disso, a um dispositivo de borda que tem um meio de armazenamento de acordo com uma das configurações descritas acima do meio de armazenamento.
[0056] A invenção se refere, além disso, a um produto de programa de
18 / 28 computador com um programa de computador que possui meios para realizar o método de acordo com qualquer uma das configurações descritas acima quando o programa de computador é executado em um dispositivo controlado por programa.
[0057] A invenção é explicada em mais detalhes abaixo usando exemplos com o auxílio das figuras, nos quais: a figura 1 mostra uma ilustração esquemática de duas cadeias de blocos de acordo com uma primeira modalidade exemplificativa; a figura 2 mostra uma ilustração esquemática de duas cadeias de blocos de acordo com uma segunda modalidade exemplificativa da invenção; a figura 3 mostra uma ilustração esquemática de duas cadeias de blocos de acordo com uma terceira modalidade exemplificativa da invenção; a figura 4 mostra uma ilustração esquemática de duas cadeias de blocos de acordo com uma quarta modalidade exemplificativa da invenção; a figura 5 mostra uma ilustração esquemática de nós de rede de cadeia de blocos em um ambiente em nuvem e nós de rede de cadeia de blocos em uma instalação de automação.
[0058] De acordo com uma primeira modalidade exemplificativa da invenção, uma cadeia de blocos é gerada de tal forma que, além dos blocos de transação comuns, blocos intermediários são gerados em intervalos regulares. Nesse caso, a cadeia de blocos é baseada em um bloco de gênese G. Os blocos de transação são criados com base no bloco de gênese G e interligados na cadeia de blocos. Um bloco de transação T desse tipo é identificado a título de exemplo na figura 1. Por uma questão de simplicidade, apenas um bloco de transação foi provido com um sinal de referência para fins de elucidação. Seguindo um intervalo de tempo predefinível e selecionável de maneira flexível em relação ao bloco de gênese G, um primeiro bloco intermediário
19 / 28 A1 é criado. Esse último em si não inclui nenhuma transação, mas é criado de maneira semelhante a um bloco de transação, enviado como uma transmissão para a rede de cadeia de blocos, confirmado por um mecanismo de consenso usado na cadeia de blocos e interligado à cadeia de blocos. Nesse caso, o dito primeiro bloco intermediário faz referência, como de costume, diretamente ao bloco de transação anterior e adicionalmente ao bloco de gênese G.
[0059] Se o primeiro bloco intermediário A1 for confirmado com sucesso pelos nós participantes do sistema de banco de dados distribuído que usa a cadeia de blocos, em particular pela assim denominada mineração, então o primeiro bloco intermediário A1 continua a cadeia de blocos como um bloco comum.
[0060] Blocos intermediários adicionais são gerados com um certo intervalo de tempo em relação ao primeiro bloco intermediário A1. O (n-1)- ésimo bloco intermediário An-1 também é gerado nessa sequência. O enésimo bloco intermediário AN é gerado por sua vez com um intervalo de tempo em relação ao mesmo. De acordo com a primeira modalidade exemplificativa da invenção, a cadeia de blocos 10 assim gerada é distribuída dentro de uma rede de cadeia de blocos, por exemplo, dentro de uma rede de cadeia de blocos privada. A título de exemplo, uma rede de cadeia de blocos é provida dentro de um grupo de empresas que estão colaborando para a produção de um produto em vários estágios operacionais. Nesse caso, a cadeia de blocos completa 10 é armazenada, por exemplo, em um respectivo nó das empresas envolvidas.
[0061] Nós de empresas individuais situadas em uma rede de automação também fazem parte da rede de cadeia de blocos. A dita rede de automação está conectada à rede de cadeia de blocos NW. A título de exemplo, um dos nós da rede de cadeia de blocos é provido em um dispositivo IoT. O espaço de armazenamento disponível no dito dispositivo IoT é limitado. A título de exemplo, o dispositivo IoT executa tarefas de
20 / 28 controle dentro da instalação e é conectado simultaneamente a um escritório ou rede de TI. O dispositivo IoT é endereçável via internet, em particular. O dispositivo IoT acessa a cadeia de blocos a fim de ter disponíveis, por exemplo, as transações para um projeto de automação atual ou para um lote atual de uma maneira protegida contra manipulação. Esses dados de transação podem consistir em conjuntos de parâmetros ou parâmetros de configurações, por exemplo.
[0062] Os dados de transação também podem compreender dados do pedido de uma tarefa. A título de exemplo, uma região da cadeia de blocos que contém os dados de transação que foram criados após o (n-1)-ésimo bloco intermediário An-1 é de interesse para o dispositivo IoT.
[0063] O dispositivo IoT pode armazenar vantajosamente uma cadeia de blocos encurtada 11. Para esse propósito, os blocos de transação que foram criados temporariamente antes do (n-1)-ésimo bloco intermediário são removidos da cadeia de blocos. Os blocos intermediários são mantidos na cadeia de blocos no processo. Isso dá origem a uma cadeia que compreende o bloco de gênese G, o primeiro bloco intermediário A1, opcionalmente blocos intermediários adicionais, o (n-1)-ésimo bloco intermediário An-1 e blocos de transação após esse último. Uma cadeia de blocos 11 encurtada dessa forma e os blocos de transação atuais contidos na mesma podem ser validados a partir do bloco de gênese G em virtude da possibilidade de rastrear a formação da soma de verificação por meio dos blocos individuais. Por causa da inclusão das somas de verificação a partir de um respectivo bloco intermediário anterior em um bloco intermediário, a cadeia de blocos, tal como está contida na cadeia de blocos encurtada 11, pode ser validada.
[0064] O espaço de armazenamento necessário para a cadeia de blocos encurtada 11 foi reduzido pelo tamanho de todos os blocos de transação removidos. Tanto a geração do (n-1)-ésimo bloco intermediário An-1 quanto a seleção do mesmo como bloco intermediário para apagar os blocos
21 / 28 de transação anteriores podem ser efetuadas de uma maneira adaptada ao projeto de automação. Se a geração dos blocos intermediários depende de um intervalo de tempo selecionável em relação aos blocos intermediários anteriores, então um bloco intermediário que foi gerado antes da seção de interesse na cadeia de blocos pode consequentemente ser selecionado durante o encurtamento da cadeia de blocos.
[0065] A figura 2 ilustra uma segunda modalidade exemplificativa da invenção, na qual uma cadeia de blocos 20 é criada de uma maneira semelhante à cadeia de blocos 10 descrita no contexto da figura 1. Em contraste com a primeira modalidade exemplificativa, para encurtar a cadeia de blocos 20 removendo blocos de transação antes do bloco intermediário An, uma seção da cadeia de blocos é excluída da remoção dos blocos intermediários. Os blocos de transação situados entre o (b-1)-ésimo bloco intermediário Ab-1 e o b-ésimo bloco intermediário Ab não são removidos de acordo com a segunda modalidade exemplificativa da invenção. Uma cadeia de blocos encurtada 21 é, portanto, criada que remove os blocos de transação mais antigos que foram gerados antes do bloco intermediário An, além daqueles entre o (b-1)-ésimo bloco intermediário Ab-1 e o b-ésimo bloco intermediário Ab.
[0066] Consequentemente, a cadeia de blocos 20 é eficazmente reduzida a uma cadeia de blocos encurtada 21 e o espaço de armazenamento que se torna livre como resultado dos blocos de transação removidos é salvo no processo. No entanto, um intervalo de tempo é deliberadamente excluído, de modo que os blocos de transação desse intervalo de tempo também estejam disponíveis na cadeia de blocos encurtada 21. A título de exemplo, na cadeia de blocos encurtada 21, os assim denominados lotes de ouro, que são conhecidos da engenharia de processos e representam um parâmetro para os lotes de produção atuais, são mantidos como dados de transação recuperáveis na cadeia de blocos, a fim de poderem realizar uma comparação
22 / 28 correspondente dos dados de lote na cadeia de blocos encurtada também. Além disso, por exemplo, os dados de transação mais recentes que foram gerados após o bloco intermediário An são mantidos como histórico.
[0067] De acordo com uma terceira modalidade exemplificativa da invenção, uma cadeia de blocos 30 é criada de tal forma que, por exemplo, o enésimo bloco intermediário An faz referência adicionalmente ao primeiro bloco intermediário A1, por exemplo, além do bloco de transação diretamente anterior e do (n-1)-ésimo bloco intermediário An-1gerado por último. Em uma variante, o enésimo bloco intermediário An faz referência até a blocos intermediários adicionais (não mostrados). Durante o encurtamento da cadeia de blocos 30 para uma cadeia de blocos encurtada 31, é assim possível remover, entre um intervalo de tempo selecionado, por exemplo, entre o primeiro bloco intermediário A1 e o n-ésimo bloco intermediário An, além dos blocos de transação desse período de tempo também os blocos intermediários gerados nesse período de tempo, em particular o (n-1)-ésimo bloco intermediário An-1.
[0068] A capacidade de verificação completa da cadeia de cadeia de blocos é, no entanto, assegurada na cadeia de blocos encurtada 31 pela referência do n-ésimo bloco intermediário An ao primeiro bloco intermediário A1. É vantajosamente provido que nem todos os blocos intermediários fazem referência a uma pluralidade de blocos intermediários anteriores a fim de evitar a inflação das referências e a complexidade associada às mesmas. Em intervalos de tempo mais longos, no entanto, é possível prover um bloco intermediário que contém, em particular, um bloco intermediário adicional como uma soma de verificação.
[0069] A figura 4 mostra outra alternativa possível para a criação de uma cadeia de blocos 40 com blocos intermediários. Nesse caso, uma pluralidade ou em particular todos os blocos intermediários gerados também fazem referência ao bloco de gênese G. Uma cadeia de blocos encurtada 41
23 / 28 pode então ser gerada de tal forma que os dados de transação antes de um (n- 1)-ésimo bloco intermediário An-1 sejam removidos. A cadeia de blocos é, portanto, automaticamente encurtada para o menor comprimento possível. Essa configuração pode ser de interesse para aplicações em que os dados de transação em uma fase inicial da cadeia de blocos são irrelevantes, por exemplo, porque são dados de teste ou conjunto de dados de configuração de teste para os quais o recurso não se destina no resto do procedimento, por exemplo, porque levam a condições de instalação ruins ou não otimizadas.
[0070] As possibilidades para a referência de blocos intermediários e as possibilidades correspondentes para encurtar a cadeia de blocos, conforme descritos nas modalidades exemplificativas 1 a 4, também podem ser usadas em combinação. A título de exemplo, é possível usar mecanismos diferentes para gerar os blocos intermediários em diferentes segmentos de tempo da cadeia de blocos. Da mesma forma, o mecanismo desencadeador para criar um bloco intermediário pode variar dentro de uma cadeia de blocos. A título de exemplo, no início de uma cadeia de blocos que é restabelecida quando uma instalação de automação é iniciada, um intervalo de tempo fixo pode ser predefinido, enquanto em contraste os blocos intermediários são desencadeados de uma maneira baseada no contexto no curso adicional de eventos.
[0071] É feita referência à figura 5 para elucidar como as cadeias de blocos encurtadas 11, 21, 31 são usadas em um cenário de aplicação de uma instalação de automação. A figura 5 mostra uma rede de cadeia de blocos NW que consiste em nós de cadeia de blocos 151, 152, 101, 201, 301. Apenas cinco nós que fazem parte da rede de cadeia de blocos NW foram descritos, por motivos de ilustração. Uma multiplicidade de nós faz parte particularmente em uma nuvem 150 ilustrada na metade superior da descrição da figura 5. Os nós 151, 152 na nuvem 150 são conectados aos nós dentro de uma instalação de automação 101, 201, 301 através da rede de cadeia de
24 / 28 blocos NW.
[0072] Os nós das instalações de automação são descritos na metade inferior da figura 5. Isso pode envolver uma instalação industrial, por exemplo, em que os nós 101, 201, 301 estão localizados espacialmente próximos uns dos outros e são incorporados em diferentes dispositivos 100, 200, 300 da instalação de automação. Os nós também podem ser providos em uma pluralidade de instalações separadas espacialmente que pertencem a uma empresa, por exemplo. Além disso, os nós ilustrados na figura 5 podem ser providos em redes de empresas diferentes.
[0073] Com referência à figura 5, a intenção é elucidar o fato de que, em geral, o espaço de armazenamento suficiente está disponível para nós na nuvem 150. Por outro lado, o armazenamento disponível é muitas vezes um fator limitador em nós de dispositivos 100, 200, 300 dentro de instalações de automação.
[0074] A título de exemplo, em uma primeira instalação de automação, um dispositivo de borda 100 é provido, que serve como uma porta de ligação entre uma rede de automação, que regula o controle de dispositivos de automação, e uma rede de comunicação na nuvem 150. Nesse caso, o dispositivo de borda 100 coleta os dados do sistema de automação que podem ser usados para um serviço na nuvem 150. A título de exemplo, os dados de monitoramento que se destinam a ser disponibilizados para uma grande análise de dados na nuvem 150 são coletados dessa forma. A título de exemplo, o dispositivo de borda 100 preprocessa os dados coletados antes de enviá-los para a nuvem. Nesse caso, a título de exemplo, os dados gravados são ocultados ou os dados são coletados a partir de segmentos de tempo específicos ou disponibilizados de uma maneira classificada de acordo com os segmentos de tempo.
[0075] Em outra instalação de automação, um dispositivo de borda 200 é provido, por exemplo, que é adicionalmente responsável pela troca
25 / 28 criptografada com o serviço de nuvem.
[0076] Em uma instalação de automação adicional, um dispositivo IoT 300 é provido, por exemplo, que por exemplo controla um processo de embalagem e, simultaneamente, tem uma conexão de comunicação com um provedor de logística através de uma conexão de internet.
[0077] O que o dispositivo de borda 100, o dispositivo de borda 200 e o dispositivo IoT 300 tem em comum aqui é o espaço de armazenamento disponível que é limitado. Os dispositivos, portanto, tem interesse em economizar espaço de armazenamento. Além disso, de acordo com a quinta modalidade exemplificativa da invenção, uma aplicação de cadeia de blocos é implementada nos dispositivos. Aqui, em cada caso, os dados relativos às ações operacionais ou especialistas em qualidade devem ser protegidos por meio de uma cadeia de blocos. Esses dados devem estar presentes de forma comprovadamente não manipulada na cadeia de blocos.
[0078] Ao mesmo tempo, os dispositivos descritos, o dispositivo de borda 100, o dispositivo de borda 200 e o dispositivo IoT 300 são usados em um grau próximo à automação durante a produção e o processamento de um produto. Isso quer dizer que geralmente um histórico um tanto mais recente de dados adquiridos é relevante localmente. Os dados desse arquivo de curto prazo devem, portanto, estar vantajosamente disponíveis no respectivo dispositivo. Ao mesmo tempo, no entanto, a cadeia de blocos também se destina a ocupar o mínimo de espaço de armazenamento possível no respectivo dispositivo. Esse desafio é resolvido pelo respectivo nó 101, 201, 301 no respectivo dispositivo 100, 200, 300, respectivamente, armazenando um cadeia de blocos encurtada 11, 21, 31. As cadeias de blocos descritas acima são adequadas como cadeia de blocos encurtada 11, 21, 31.
[0079] Há uma série de possibilidades de como um respectivo nó 101, 201, 301 alcança uma cadeia de blocos encurtada. A título de exemplo, desde que haja armazenamento suficiente disponível, a cadeia de blocos pode ser
26 / 28 mantida normalmente e sem ser encurtada. Assim que uma certa proporção do espaço de armazenamento é ocupada pela cadeia de blocos, um mecanismo é disparado para encurtar a cadeia de blocos. Nesse método, um respectivo nó no respectivo dispositivo de automação tem disponível o número máximo de blocos de transação e, portanto, também de transações realizadas, tais como dados de qualidade gravados, por exemplo, até que o espaço de armazenamento disponível não seja mais suficiente. A partir desse ponto no tempo, uma parte da cadeia de blocos pode ser apagada normalmente, por exemplo, ou uma seção maior da cadeia de blocos pode ser apagada uma vez, por exemplo, até que o valor limite para ocupação do espaço de armazenamento seja excedido novamente.
[0080] Em outra variante, um nó 101 de uma instalação de automação normalmente interroga uma condição de uma cadeia de blocos da rede, por exemplo, pelo dito nó se comunicando cm um nó 152 na nuvem, e ao mesmo tempo remove os blocos de transação irrelevantes no processo. Dessa forma, uma cadeia de blocos encurtada é armazenada no dispositivo de borda 100, por assim dizer, desde o início.
[0081] Isso impede vantajosamente uma cadeia de blocos em um nó que executa o encurtamento da cadeia de blocos de aumentar continuamente e, assim, causar um estouro do armazenamento.
[0082] Particularmente no caso de blocos intermediários que não incluem transações, mas apenas a referência ao último bloco e também ao bloco intermediário predecessor, o volume de um bloco intermediário é constantemente pequeno. O aumento de blocos intermediários concatenados não representa mais um risco, mesmo para dispositivos com recursos limitados.
[0083] Os blocos são vantajosamente apagados localmente em um nó de cadeia de blocos. Em particular, portanto, tantos dispositivos quanto desejados que estão localizados na rede de cadeia de blocos NW e tem suas
27 / 28 limitações específicas em relação aos recursos disponíveis podem remover de maneira flexível diferentes intervalos de tempo a partir da cadeia de blocos armazenada localmente. A cadeia de blocos encurtada também pode ser referida como uma cadeia de blocos descartada, e o nó que tem a cadeia de blocos encurtada como um nó descartado.
[0084] A invenção proposta torna possível o apagamento direcionado e, ao mesmo tempo, a manutenção deliberada de dados de carga útil relevantes armazenados em uma cadeia de blocos em um período de tempo escolhido que pode ser determinado por meio de blocos intermediários.
[0085] Uma cadeia de blocos encurtada ou um nó descartado é capaz de solicitar novamente blocos já apagados a partir de uma cadeia de blocos completa ou um nó completo e interligá-lo às regiões correspondentes entre os blocos intermediários selecionados para exclusão. Isso é particularmente vantajoso se os dados da região removida da cadeia de blocos se tornam relevantes para uma análise posterior, por exemplo, porque um cliente de um procuro que se origina a partir de um lote gostaria de adquirir informações sobre a cadeia de fornecimento. Além disso, os dados da região removida também podem ser necessários como dados de referência para uma configuração de uma instalação de controle.
[0086] Ao mesmo tempo, nas cadeias de blocos encurtadas, também é garantido que as transações atuais estejam disponíveis localmente. Além do fato de que os blocos intermediários são selecionáveis de maneira flexível para a remoção e, portanto, blocos intermediários mais atualizados não precisam ser selecionados, o intervalo de tempo gerado após o último bloco intermediário gerado é excluído do apagamento dos dados.
[0087] As transações atuais estão, portanto, imediatamente disponíveis de maneira ubíqua com a disponibilidade de seu bloco na rede de cadeia de blocos, ou seja, uma interrogação dos dados de produção mais atualizados é possível através da nuvem, assim como a interrogação dos dados
28 / 28 históricos.
[0088] As informações históricas em uma rede de cadeia de blocos, portanto, só precisam estar presentes nos nós da cadeia de blocos nos quais são realmente relevantes, por exemplo, em servidores de arquivamento a longo prazo ou em uma nuvem. Ao mesmo tempo, por exemplo, um dispositivo IoT que opera um nó de cadeia de blocos reduzido ou descartado é iniciado significativamente mais rapidamente porque as regiões da cadeia de blocos apagadas não precisam ser carregadas.

Claims (19)

REIVINDICAÇÕES
1. Método implementado por computador para criar uma cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41) com blocos, caracterizado pelo fato de que compreende um número adaptável de blocos de transação (T) e uma pluralidade de blocos intermediários (A1, A(b-1), Ab, A(n-1), An), em que a cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41) faz parte de um sistema de banco de dados distribuído (NW); em que os blocos são gerados dentro da cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41) e um respectivo bloco faz referência a um respectivo bloco anterior, em que um primeiro bloco intermediário (A1, G) é provido; em que pelo menos um segundo bloco intermediário (A2) é gerado, em que o segundo bloco intermediário (A2) faz referência a um bloco que o precede e também faz referência ao pelo menos primeiro bloco intermediário (A1, G), em que o primeiro bloco intermediário (A1, G) é um bloco intermediário predecessor.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro bloco intermediário é um bloco de gênese (G).
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que um bloco de gênese (G) é provido e o primeiro bloco intermediário (A1) é, além disso, gerado, em que o primeiro bloco intermediário (A1) faz referência a um bloco que o precede e também faz referência ao pelo menos o bloco de gênese (G).
4. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que pelo menos um bloco de transação é gerado entre o primeiro bloco intermediário (A1) e o segundo bloco intermediário (A2).
5. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que para encurtar a cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41), pelo menos o número de blocos de transação entre o segundo bloco intermediário (A2) e o primeiro bloco intermediário (G, A1) é reduzido, em particular todos os blocos de transação gerados entre o segundo bloco intermediário (A2) e o primeiro bloco intermediário (G, A1) são removidos.
6. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que uma cadeia de blocos encurtada é armazenada por um dispositivo (100, 200, 300) que faz parte de um sistema de banco de dados distribuído (NW), em particular um dispositivo em uma nuvem ou um dispositivo de borda ou um dispositivo IoT.
7. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que para estender a cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41), os blocos de transação entre o primeiro bloco intermediário (G, A1) e o segundo bloco intermediário (A2) são interrogados a partir de uma cadeia de blocos não encurtada armazenada e são inseridos.
8. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que fazer referência a um bloco a ser referenciado compreende gravar ou armazenar uma soma de verificação do bloco a ser referenciado ou de uma parte do bloco a ser referenciado no bloco de referência.
9. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o primeiro bloco intermediário (G, A1) e o segundo bloco intermediário (A2), cada um não inclui transação alguma.
10. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que blocos intermediários adicionais (A(b-1), Ab, A(n-1), An) são gerados, em que um respectivo bloco intermediário adicional (A(b-1), Ab, A(n-1), An) faz referência a um bloco respectivamente anterior e também a um bloco intermediário respectivamente anterior.
11. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que a geração do segundo bloco intermediário (A2) ou de um respectivo bloco intermediário adicional (A(b- 1), Ab, A(n-1), An) é efetuada de uma forma baseada em regras, em particular em um ponto predefinível no tempo ou com um intervalo de tempo predefinível em relação a um bloco anterior ou um intervalo de tempo predefinível em relação a um bloco intermediário anterior ou após um número predefinível de blocos de transação gerados ou por meio de uma condição desencadeadora baseada no contexto, ou é efetuada manualmente.
12. Método de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de que pelo menos um dos blocos intermediários adicionais (A(b-1), Ab, A(n-1), An) faz referência a pelo menos dois dos blocos intermediários anteriores.
13. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que um respectivo bloco intermediário faz referência ao bloco intermediário respectivamente anterior, e em que os blocos intermediários selecionados adicionalmente fazem referência a blocos intermediários anteriores adicionais.
14. Método de acordo com a reivindicação 13, caracterizado pelo fato de que, como bloco intermediário selecionado, um bloco intermediário é gerado em um ponto predefinível no tempo ou com um intervalo de tempo predefinível em relação a um bloco intermediário anterior ou previamente selecionado ou após um número predefinível de blocos de transação ou blocos intermediários gerados ou por meio de uma condição desencadeadora baseada no contexto ou manualmente.
15. Meio de armazenamento de um dispositivo (100, 200,
300), caracterizado pelo fato de que faz parte de um sistema de banco de dados distribuído (NW), em particular de um dispositivo em uma nuvem ou de um dispositivo de borda ou dispositivo IoT, que tem uma cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41) com blocos que compreendem um número adaptável de blocos de transação e uma pluralidade de blocos intermediários, em que a cadeia de blocos (10, 11, 20, 21, 30, 31, 40, 41) faz parte do sistema de banco de dados distribuído (NW); em que um respectivo bloco faz referência a um respectivo bloco anterior, que tem um primeiro bloco intermediário (A1, G) e pelo menos um segundo bloco intermediário (A2), em que o segundo bloco intermediário (A2) faz referência a um bloco que o precede e também faz referência ao pelo menos primeiro bloco intermediário (A1, G), em que o primeiro bloco intermediário (A1, G) é um bloco intermediário predecessor.
16. Meio de armazenamento de acordo com a reivindicação 15, caracterizado pelo fato de que o meio de armazenamento é implementado em um dispositivo de borda ou um dispositivo IoT e tem uma cadeia de blocos encurtada armazenada de uma maneira como definida na reivindicação
5.
17. Meio de armazenamento de acordo com a reivindicação 15, caracterizado pelo fato de que o meio de armazenamento é implementado em um dispositivo de borda ou um dispositivo IoT e tem uma cadeia de blocos estendida armazenada de uma maneira como definida na reivindicação
7.
18. Dispositivo de borda, caracterizado pelo fato de que tem um meio de armazenamento como definido em qualquer uma das reivindicações 15 a 17.
19. Produto de programa de computador com um programa de computador, caracterizado pelo fato de que possui meios para realizar o método como definido em qualquer uma das reivindicações 1 a 14, quando o programa de computador for executado em um dispositivo controlado por programa.
BR112021011216-2A 2018-12-14 2019-11-13 Método implementado por computador para criar uma cadeia de blocos, meio de armazenamento, dispositivo de borda, e, produto de programa de computador BR112021011216A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18212701.9A EP3668036A1 (de) 2018-12-14 2018-12-14 Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
EP18212701.9 2018-12-14
PCT/EP2019/081111 WO2020120054A1 (de) 2018-12-14 2019-11-13 Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke

Publications (1)

Publication Number Publication Date
BR112021011216A2 true BR112021011216A2 (pt) 2021-08-24

Family

ID=64949041

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021011216-2A BR112021011216A2 (pt) 2018-12-14 2019-11-13 Método implementado por computador para criar uma cadeia de blocos, meio de armazenamento, dispositivo de borda, e, produto de programa de computador

Country Status (7)

Country Link
US (1) US20220012233A1 (pt)
EP (2) EP3668036A1 (pt)
JP (1) JP7371099B2 (pt)
KR (1) KR102584292B1 (pt)
CN (1) CN113439424B (pt)
BR (1) BR112021011216A2 (pt)
WO (1) WO2020120054A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107195A1 (ko) * 2019-11-28 2021-06-03 서울외국어대학원대학교 산학협력단 가상 자산 서비스를 위한 분산원장기술 보안 플랫폼을 활용한 이용자 신원 공유 시스템
EP4246359A1 (de) 2022-03-18 2023-09-20 Siemens Aktiengesellschaft Verfahren und system zur sicherung von innerhalb eines industriellen automatisierungssystems erfassten daten gegen verfälschung

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608829B2 (en) * 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US9967088B2 (en) * 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
JP2018005818A (ja) * 2016-07-08 2018-01-11 日本電信電話株式会社 異常検知システム及び異常検知方法
CN106503992A (zh) * 2016-10-18 2017-03-15 北京天德科技有限公司 一种将交易信息和账户信息分别存储的区块链
CN107995120B (zh) * 2016-11-22 2019-08-09 南京银链信息科技有限公司 构造多区块链的方法及多区块链系统
CN108270821A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链网络中的区块生成方法和网络节点
US20180218003A1 (en) * 2017-01-30 2018-08-02 General Electric Company Ephemeral blockchain data structure
DE102017205163A1 (de) * 2017-03-27 2018-09-27 Bundesdruckerei Gmbh Hashwerte für die bidirektionale verkettete Blockchain
US11240035B2 (en) * 2017-05-05 2022-02-01 Jeff STOLLMAN Systems and methods for extending the utility of blockchains through use of related child blockchains
WO2018222412A1 (en) * 2017-05-31 2018-12-06 Walmart Apollo, Llc Systems and methods to enable robotic node participation in peer-to-peer commercial transactions
CN108510268B (zh) * 2018-02-09 2021-05-11 北京欧链科技有限公司 环形区块链结构、数据处理方法和装置
CN108519985B (zh) * 2018-02-09 2020-09-11 北京欧链科技有限公司 双向区块链、数据处理方法和装置
WO2019226986A1 (en) * 2018-05-24 2019-11-28 Walmart Apollo, Llc Nested blockchain system
CN111899004A (zh) * 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN108804706B (zh) * 2018-06-20 2020-09-18 南方科技大学 一种区块链数据处理方法、装置、设备及存储介质
CN111475572B (zh) * 2020-04-02 2023-08-29 百度国际科技(深圳)有限公司 区块生成方法、装置、设备和介质

Also Published As

Publication number Publication date
KR20210102404A (ko) 2021-08-19
WO2020120054A1 (de) 2020-06-18
EP3668036A1 (de) 2020-06-17
KR102584292B1 (ko) 2023-10-04
EP3871394A1 (de) 2021-09-01
US20220012233A1 (en) 2022-01-13
CN113439424B (zh) 2023-11-24
JP7371099B2 (ja) 2023-10-30
CN113439424A (zh) 2021-09-24
JP2022512464A (ja) 2022-02-04

Similar Documents

Publication Publication Date Title
CN110300984B (zh) 改变在区块链中记录的智能合约
JP6638024B2 (ja) システム、スマートコントラクトのライフサイクルの管理方法、及び非一時的コンピュータ可読媒体
US11023204B2 (en) Hardware implementation of a tournament tree sort algorithm using an external memory
US10733061B2 (en) Hybrid data storage system with private storage cloud and public storage cloud
US10509570B2 (en) Method, device, and program for managing a flash memory for mass storage
JP2016071893A (ja) 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
JP2016071894A (ja) 持続性記憶装置からデータを読み取る方法およびシステム、ならびに非一時的記憶媒体
US10289310B2 (en) Hybrid data storage system with private storage cloud and public storage cloud
BR112021011216A2 (pt) Método implementado por computador para criar uma cadeia de blocos, meio de armazenamento, dispositivo de borda, e, produto de programa de computador
JP6330528B2 (ja) データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置
US20160239361A1 (en) Data storage system durability using hardware failure risk indicators
CN111488987B (zh) 一种深度学习大模型训练的方法、系统、设备及介质
CN106802811B (zh) 程序写入方法和装置
CN110298031B (zh) 一种词典服务系统及模型版本一致性配送方法
WO2020062931A1 (zh) 一种配置数据的方法以及计算设备
WO2020133962A1 (zh) 基于区块链的数据存储方法、相关设备及存储介质
US11402999B2 (en) Adaptive wear leveling using multiple partitions
US10951403B2 (en) Updating cryptographic keys stored in non-volatile memory
US20230315424A1 (en) Method and data structure for updating firmware
CN107332888B (zh) 在分布式存储系统中写入数据副本的方法、装置及其系统
RU2792734C2 (ru) Создание блокчейна с блоками, включающими в себя настраиваемое количество блоков транзакций и несколько промежуточных блоков
CN116192725B (zh) 基于fps算法的分布式sdn控制器部署方法、系统及设备
CN109643295A (zh) 从发起者节点访问耦合到目标节点的存储器
CN110851072B (zh) 使用状态预测方法的固态储存装置
US10353623B2 (en) Storage device, storage control method, computer program product, and storage system