Blockchain Parte1

Blockchain pode ser interpretado como uma caderneta bancária, nela é registrado o histórico de todas as transações realizadas na nossa conta bancária.

Categoria de Tecnologia

Postado em 07 abril 2022

Atualizado em 21 julho 2022

Palavras-chave: cryptocurrency,criptomoeda,dinheiro,virtual,digital,blockchain,hash,sha256,criptografia,assimétrica,fintech

Visualizações: 1396

Antigamente, correspondências eram trocadas pelo correio. Cartas eram escritas em papel e transportadas manualmente. Dependendo da distância, poderiam demorar até semanas para a carta chegar até o seu destino.

Com a chegada da internet, tecnologias inovadoras foram criadas. Uma delas é o email. Com um email eletrônico, tornou-se possível mandar cartas de modo digital com extrema facilidade.

A criptomoeda também foi uma inovação no mundo digital. A criptomoeda pode ser utilizada como dinheiro para compras e vendas, de modo totalmente digital.

O que torna a criptomoeda tão eficiente e segura é o blockchain.

O que é blockchain?

Blockchain é base para muitas criptomoedas, como bitcoin. Graças à essa técnica é possível criar um sistema financeiro descentralizado extremamente seguro.

blockchain

Blockchain pode ser traduzida para “corrente de blocos”, podendo ser interpretado como uma caderneta bancária. Na caderneta bancária é registrado o histórico de todas as transações realizadas na nossa conta bancária. No blockchain isso funciona da mesma forma, porém a grande diferença é que todos os usuários usam a mesma caderneta.

Uma caderneta bancária compartilhada por muitos usuários não parece ser muito segura, pois usuários podem sacar mais dinheiro do que depositaram e isso seria um grande problema se de fato fosse possível.

Cada transação feita no blockchain corresponde à um bloco adicionado ao chain (corrente). Cada bloco possui uma assinatura digital. É essa assinatura digital que vai permitir você sacar apenas o dinheiro que você depositou. Essa quantia pode variar dependendo da oscilação da criptomoeda.

Imagine a seguinte situação:

PedroBlockchainLucasComprou R$10Comprou R$10PedroBlockchainLucas

Lucas e Pedro compraram 10 reais de criptomoeda cada um, gerando dois blocos que serão conectados ao final do blockchain.

...
Bloco1
Bloco2
- Bloco 1 Bloco 2
prevHash cf73e7…
hash cf73e7… 881b29…
dados 75aacb… 864fa8…
timestamp 1649404053 1649490453

prevHash = Hash do bloco anterior
hash = Hash do bloco atual
data = Todos os dados da transação
timestamp = Data da transação

Podemos observar que todos os dados são criptografados, por isso não conseguimos saber os dados da transação.

Para criptografar esses dados usamos um algoritmo matemático chamado hash. O hash é unidirecional, portanto não é possível descriptografar dados que já foram criptografados.

Existem vários tipos de hash, o hash utilizado no bitcoin é o SHA256. O SHA256 transforma qualquer mensagem em uma mensagem criptografada de 64 letras e números.
O número de mensagens criptografadas que podem ser geradas por esse algoritmo é astromicamente grande.

SHA256=2256 SHA256 = 2^{256}

Porém isso não é o bastante. Apesar da demora, uma mensagem criptografada por SHA256 pode ser adivinhada usando um computador que pode fazer mais de 1000 tentativas por segundo. O agressor usa mensagens aleatórias que são criptografadas até encontrar o mesmo hash do bloco anterior. Isso é possível porque se duas mensagens completamente iguais serem criptografadas, o resultado vai ser o mesmo.

Antes Depois
dicionariotec c951a…563
dicionariotec c951a…563

É possível observar que o resultado é exatamente igual. Se mudarmos uma letra, o resultado é totalmente diferente.

Antes Depois
dicionariotec c951a…563
dicionariotec1 098b6…983

Apesar de ser um algoritmo poderoso, o hash pode ser adivinhado.

Felizmente, há medidas para evitar esse tipo de ataque, usando criptografia assimétrica. Ou seja, adicionando mais uma camada de criptografia.

Antes dos dados serem criptografados, a chave privada do usuário que fez a transação irá ser adicionada aos dados. Assim, quando esse usuário quiser acessar essa transação no futuro ele terá que usar a chave pública que ele possui. A chave pública se tornará a assinatura digital. Se essa chave for perdida o acesso à transação também irá ser perdida.

Conclusão

Blockchain é um sistema simples com um mecanismo seguro e transparente.

Todas as transações são criptografadas e gravadas em forma de bloco. Esse bloco será adicionado a corrente, formando uma corrente longa contendo todas as informações de transações.

Projetos práticos

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Veja também

A internet é uma terra sem lei. O que vai proteger a nossa rede interna da internet é o firewall

Uma rede interna sem um firewall é como se fosse uma casa com a porta destrancada. Um indivíduo com más intenções pode se aproveitar para a invadir quando menos esperamos.

Já pensou ser redirecionado para um site de banco falso?

O envenenamento de cache DNS redireciona o usuário para um site falso, mesmo digitando um URL legítimo. Como isso é possível??!!

Armazenamento de áudio

A digitalização de um som é feito através de um conversor analógico-digital, que transforma uma grandeza contínua em uma grandeza discreta.

Assinatura Digital

A assinatura digital é utilizada para provar a legitimidade dos dados enviados, usando técnicas de hash e algoritmo de chave assimétrica.

Computação forense

Ciência que restaura, coleta, analisa e apresenta informações digitais que podem servir como prova de um crime que utiliza um dispositivo digital.

Algoritmo de chave simétrica

O algoritmo de criptografia simétrica utiliza a mesma chave para encriptar e desincriptar dados enviados através da internet.