Principal Tecnologia da Informação (TI) Auditoria Criptograficamente Validável com Blockchain.

Auditoria Criptograficamente Validável com Blockchain.

Blog MedDeck
Por MedDeck • Última atualização em Dec 05, 2024

Com o aumento das tarefas realizadas digitalmente, como trabalho, transações financeiras, assinatura digital, acesso à sistemas e troca de informações confidenciais, é fundamental ter certeza de que alguém é quem diz ser.

‎‎‎

Embora já existam muitas soluções com foco em auditoria, trabalhamos com um conceito de auditoria perfeita, onde cada ação é registrada em uma cadeia blockchain (mesma tecnologia usada para o moedas digitais como o Bitcoin). Como nessa cadeia cada bloco é assinado e ligado ao bloco anterior, qualquer manipulação nos dados é facilmente detectada, garantindo a integridade e autenticidade aos registros.

Por ser matematicamente verificável, esta tecnologia pode ser aplicada em uma série de casos em que a integridade dos dados é fundamental, como identificação, certificação, rastreamento em cadeias de suprimento, compliance e transparência pública, entre outros.

Por que blockchain?

Nos últimos tempos, a tecnologia blockchain vem ganhando espaço, não só com a popularização das criptomoedas, mas também em áreas como a RNDS, que sustenta o ConectaSUS.

Além dos ganhos em segurança, auditabilidade e transparência que o blockchain pode oferecer, ele também pode servir como diferencial estratégico para o time comercial, ao demonstrar tecnologia de ponta aos clientes.

O que é blockchain?

“Blockchain” refere-se a uma cadeia de blocos criptograficamente conectados, contendo dados que se apoiam mutuamente. Embora amplamente associado ao Bitcoin, o conceito remonta à década de 1990, inicialmente como uma proposta para validação de documentos com carimbos de data e hora.

A popularidade veio com a aplicação dessa ideia em redes distribuídas, como no Bitcoin, para aumentar a confiabilidade dos dados.

**Se precisar se aprofundar, recomendo o artigo da equipe do Ethereum:
** Introdução ao Ethereum

Embasamento teórico

Cada elemento de uma lista encadeada contém dados e um ponteiro para o próximo elemento, conceito base para o blockchain. Combinando isso a teorias de criptografia, o blockchain evolui para uma estrutura em que cada bloco é assinado por uma função hash (por exemplo, SHA256).

Essa assinatura inclui os dados do bloco atual e o hash do bloco anterior, criando uma cadeia em que cada bloco depende de seu antecessor. Uma implementação derivada desse conceito é a Merkle Tree, que organiza os blocos em formato de árvore binária.

Por sua simplicidade e flexibilidade, a lógica blockchain pode ser aplicada a diversas estruturas de dados, o que amplia sua utilidade.

Casos de uso

Auditoria de sistemas

O blockchain pode registrar atividades dos usuários como blocos na cadeia, criando um histórico transparente e imutável, essencial para sistemas que exigem alta confiabilidade.

Banco de dados

Blockchain pode ser aplicado para registrar alterações no banco de dados, gerando histórico sequencial e imutável. Essa abordagem protege a integridade dos dados até mesmo de administradores com altos níveis de acesso.

Contratos inteligentes

Os smart contracts automatizam processos com base em condições predefinidas. Cada etapa validada é registrada como um bloco no blockchain, garantindo transparência e execução segura.

Banco de dados

A aplicação de blockchain em bancos de dados garante que toda operação gere registros auditáveis. Existem duas abordagens principais:

Aplicações externas

A Microsoft lançou o Azure confidential ledger, um sistema que registra alterações em bancos Azure SQL e SQL Server em uma cadeia blockchain.

Não encontrei uma alternativa semelhante para bancos SQL de código aberto, mas o ChainifyDB apresenta uma implementação teórica interessante.

Aplicações internas

Soluções nativas que integram blockchain diretamente à estrutura dos bancos de dados estão se tornando cada vez mais populares. Alguns exemplos incluem:

Amazon Quantum Ledger Database (QLDB)

  • Tipo de banco: NoSQL

  • Linguagem de consulta: PartiQL, SQL

  • Modelo de negócio: Privado

  • Link: Amazon QLDB

Immudb

  • Tipo de banco: NoSQL

  • Linguagem de consulta: Key-value, SQL

  • Modelo de negócio: Open Source

  • Link: Immudb

Dolthub

  • Tipo de banco: SQL

  • Linguagem de consulta: Git, SQL

  • Modelo de negócio: Open Source

  • Link: Dolthub

Material complementar