BLOCKCHAIN: Conceitos Básicos

Blockchain

BLOCKCHAIN: Conceitos Básicos

Para entender completamente os documentos ou artigos sobre Blockchain, às vezes pode ser difícil se você não entender primeiro certos conceitos que aparecem constantemente neles.

Através desse artigo, tentaremos explicar brevemente os conceitos que consideramos mais importantes para entender Blockchain de uma forma direta.

 

Criptografia

A criptografia é uma técnica utilizada há séculos para esconder e assegurar informações. O Blockchain usa principalmente estes métodos:


  • Funções de hash: são funções que permitem codificar facilmente quaisquer dados de entrada, gerando um hash, que é um texto cifrado de um comprimento fixo. As funções do hash têm 3 propriedades importantes:

- A obtenção dos dados originais a partir do hash gerado é praticamente impossível.

- O mesmo hash de saída é sempre gerado para uma entrada específica, não importa quantas vezes a função seja executada.

- Qualquer modificação na entrada original gera um hash completamente diferente.

Estas características permitem sua aplicação na verificação da integridade de uma mensagem (verificar se não foi modificada) ou seu uso em assinatura digital.


  • Criptografia assimétrica: também conhecida como criptografia de chave pública, permite a comunicação segura entre duas partes através do uso de uma chave privada e pública. A chave privada é aquela que mantemos em segredo e a chave pública é aquela que compartilhamos com o mundo. Uma mensagem criptografada com a chave privada só pode ser descriptografada com a chave pública e vice-versa.
  • Assinatura digital: combinando os dois métodos anteriores, podemos obter o que é chamado de "assinatura digital". Consiste basicamente em aplicar uma função de hash sobre os dados que queremos trocar e criptografar o hash resultante com uma chave privada. Desta forma, obtemos uma assinatura que podemos anexar ao enviar esses dados. Esta assinatura nos permite assegurar a autenticidade e a integridade dos dados enviados ao destinatário e que estes não possam ser repudiados pela origem, uma vez que são assinados.

Moedas criptográficas, tonkens e assets

Estes conceitos estão ligados entre si e às vezes é difícil definir em que consiste cada um deles.


  • Quando falamos de assets em Blockchain, nos referimos à representação digital de um objeto ou entidade no mundo real: uma casa, uma certidão de nascimento, uma imagem ou um barril de petróleo.
  • Uma criptomoeda é um ativo que representa o dinheiro digital. Pode ser comprado, transferido ou vendido com segurança. Ao contrário das moedas tradicionais, ela não é controlada por um banco central. Cada criptomoeda opera em um Blockchain separada do resto.
  • Um token é um meio alternativo aos tradicionais, através do qual podemos fazer pagamentos ou provar a propriedade/direito sobre algo. Como por exemplo, os pontos de fidelidade.
  • A Tokenização é um método que converte os direitos sobre um ativo em fichas digitais. Por exemplo, se tivéssemos um quadro no valor de 10.000 reais, poderíamos gerar 10 fichas representando 10% do seu valor total e vendê-las. Seus titulares teriam essa porcentagem de propriedade sobre a pintura. Outro exemplo poderia ser uma ficha representando uma certidão de nascimento ou uma licença de software. Como podemos ver, as fichas incluem tanto bens dispensáveis como não dispensáveis.

Os tokens dependem da criptomoeda para operar, e diferentes tipos de fichas podem viver juntas no mesmo Blockchain.

 

Algoritmos de consenso

Eles fazem parte do núcleo principal de qualquer rede Blockchain. Permitem que os diferentes participantes concordem em validar as transações que são solicitadas na rede e que geram os blocos que a compõem. Há muitos tipos de algoritmos de consenso e seu uso varia dependendo do tipo de rede e da confiança que existe entre seus participantes. Por exemplo, em uma rede pública é necessário um algoritmo mais robusto e seguro, uma vez que sua natureza pública a torna mais vulnerável a ataques. Prova de Trabalho ou Prova de Estaca são exemplos deste tipo, usados em Bitcoin e Ethereum, respectivamente.

O problema é que estes algoritmos mais seguros geralmente envolvem um maior consumo de recursos e o número de transações ou blocos que podem ser processados é menor. Em uma rede privada pode ser mais frouxa nestes aspectos porque há mais confiança entre os participantes da rede, por isso estes vêem uma melhor transacionalidade sobre o público usando algoritmos que são menos seguros, mas adequados para as redes onde operam.

 

Contratos inteligentes

Contratos inteligentes são peças de código (programas) que são implantados dentro da rede Blockchain para que seu conteúdo não possa ser modificado; portanto, também não podem ser controlados por um único ator. Nelas são codificadas as regras que se deseja estabelecer entre as diferentes partes que farão uso delas. Quando se cumprem as condições estabelecidas, são executadas as ações que foram definidas dentro de seu código.

 

Carteiras

As carteiras nos permitem armazenar as chaves com as quais um usuário pode realizar transações em uma rede Blockchain. Desta forma, podemos provar a posse de fichas, moedas criptográficas ou identidades digitais.

Eles podem ser de muitos tipos: programas instalados em um PC ou no celular, estar na nuvem, podem ser impressos (imprimimos nossa chave em papel ou outro elemento) ou de tipo de hardware semelhante a um USB.

Cada um tem características diferentes que nos trazem alguns benefícios ou outros. Por exemplo, uma carteira na nuvem nos permite evitar o problema que teoricamente teríamos com as chaves armazenadas em nosso PC, que caso estragasse, se tornariam inacessíveis. Entretanto, uma carteira na nuvem significa que não temos controle sobre estas chaves e este tipo de serviço tem sido sujeito a vários ataques e roubos. Devemos avaliar os riscos e benefícios ao escolher um tipo específico de carteira ou também  optar por combinar várias. 

 

DApp (Aplicações Descentralizadas)

As aplicações descentralizadas são um conceito que vem da Blockchain. Uma aplicação descentralizada é aquela que não é controlada por uma entidade central, seu código é aberto, é autônomo, funciona de forma distribuída e qualquer mudança nele deve ser feita de forma consensual com a comunidade que o utiliza. Bitcoin ou Ethereum podem ser consideradas aplicações descentralizadas, que também se tornaram frameworks que permitem o desenvolvimento dessas aplicações nelas, através dos Contratos Inteligentes.

Até agora vimos alguns dos conceitos mais básicos que devemos conhecer sobre Blockchain, nos próximos artigos seguintes veremos como eles são aplicados no funcionamento das diversas redes Blockchain existentes.

New call-to-action

Inscreva-se!