Blockchain para tótós: afinal, que tecnologia é esta?

Um pequeno guia para perceberes melhor este "admirável mundo novo" do Blockchain e das criptomoedas.

Moedas fictícias de Ether e Bitcoin (foto via Unsplash)

Nunca se falou tanto de Blockchain e de criptomoedas (Bitcoin, Litecoin…) como agora. Tem sido um tema que nós, aqui no Shifter, temos seguido com atenção – a nossa curiosidade tem sido tal que até já visitámos uma pequena “mina” em Massamá. Também já te apresentámos outras aplicações da tecnologia de Blockchain além das transacções monetárias, como em sistemas de votação como vai fazer o Governo português. Em todos os artigos, explicámos-te o Blockchain de forma muito pragmática, mas chegou o momento de um olhar mais técnico perante esta tecnologia.

Afinal, como é que tudo isto do Blockchain funciona ao certo?

O que é o Blockchain?

De forma bastante simplificada, o Blockchain é uma base de dados transparente e descentralizada, onde tudo fica registado e pode ser consultado por qualquer pessoa. O Blockchain enquanto base de dados regista as transacções de tokens, sejam estes tokens de criptomoedas ou representem eles um determinado sistema de votação. Um registo em Blockchain é imutável, o que significa que, uma vez criado, não pode ser apagado ou alterado.

Blockchain não é mais do que uma “cadeia de blocos” (foto de Mike Alonzo via Unsplash)

Blockchain não é mais do que uma “corrente de blocos”, numa tradução literal e numa tradução prática, que cresce à medida que são criados novos blocos. Por outras palavras, sempre que há uma nova transacção é criado um novo bloco, que, depois de passar pelo processo de validação, é adicionado à corrente. Os blocos são adicionados por ordem cronológica. Sendo o Blockchain algo descentralizado, todos os nodes (isto é, todos os computadores que partilham essa “cadeia de blocos”) recebem uma cópia da base de dados automaticamente.

O Blockchain da Bitcoin… e o do Ethereum

A Bitcoin, juntamente com tantas outras moedas, usa a tecnologia de Blockchain como suporte de funcionamento. Ou seja, é por existir Blockchain que é possível existirem criptomoedas. Enquanto que a Bitcoin é um sistema monetário mais fechado, há o Ether(eum) que, mais que uma moeda, pode ser considerada uma plataforma de Blockchain aberta.

O Ethereum Blockchain é por muitos considerada a segunda geração da tecnologia de Blockchain. Esta “cadeia de blocos” foi concebida por Vitalik Buterin e tem como objectivo permitir que qualquer pessoa com conhecimentos relativos em computação consiga criar DAPP (Decentralized Applications On The Blockchain).

Vitalik Buterin no TechCrunch Disrupt (foto via TechCrunch)

Tal como a Bitcoin, o Ethereum é descentralizada e “ninguém” a regula ou detém. Esta rede tem a sua própria criptomoeda – ou como muitos preferem chamar, o seu próprio “combustível” – chamado Ether. O Blockchain da Bitcoin e o da Ethereum são bastante idênticos. A grande diferença é que no Ethereum Blockchain existe algo chamado Smart Contracts (SC). Estes SC são o “alimento” da  Ethereum Virtual Machine (EVM). E, como se fossem poucas inovações, para a escrita dos SC é usada uma linguagem de programação específica chamada Solidity.

Há ainda outros conceitos que te vamos explicar mais adiante: Consensus Mechanisms, Proof of Work e Proof of Stake. Mas vamos por partes.

Ethereum Blockchain

1 – Smart Contracts

Deves estar a perguntar-te o que é isto ao certo e para que serve. De forma simplificada: os Smart Contracts (ou SC) são sistemas de computador autónomos, escritos em código, que têm a função de gerir execuções entre indivíduos na Blockchain. Podemos dizer que são apps de Blockchain.

Estes contratos inteligentes rodam na Ethereum Virtual Machine (EVM). Este “amigo” permite manter todos so SC a correr ao mesmo tempo e coordená-los ao longo de toda a rede, sendo assim possível eliminar intermediários.

Roçando a simplicidade extrema, escrevem-se as regras que se quer ver cumpridas no SC utilizando a linguagem de programação Solidity e esse SC é junto a todos os outros existentes na EVM. Este sistema é a grande inovação desta Blockchain.

2 – Consensus Mechanisms

A partir do momento que algo é descentralizado não pode haver terceiros a supervisionar as transacções. Contudo, a necessidade de todas as partes envolvidas terem os seus direitos salvaguardados permanece.

Sabendo nós que as regras estão escritas nos SC e que não há ninguém que as possa supervisionar, surgem os Consensus Mechanisms ou, em português, Mecanismos de Consenso. Os mecanismos mais usados/conhecidos são o Proof of Work e Proof of Stake.

Ilustração via Flickr

2.1 – Proof of Work

Este método de comprovação é o mais popular no meio. O próprio Bitcoin utiliza este sistema. Para explicar o que é ao certo o Proof Of Work (PoW) é pertinente falar do processo de mining.

O PoW é um requisito para definir um cálculo computacional, também chamado de mining. Este processo é preciso porque permite criar novos grupos de informação de confiança, os chamados blocos, que se encontram na rede descentralizada que é o Blockchain.

Sabendo nós o que significa minerar/mineração ou mining, conseguimos compreender na íntegra os dois propósitos deste processo:

  1. Verificação da legitimidade da transacção, impedindo que aconteça o tão temido double-spending (já te explicamos o que é mais adiante);
  2. Entrega/distribuição da respectiva criptomoeda aos miners (mineiros) como recompensa pela tarefa anterior.

Esta verificação é realizada através da resolução de um puzzle matemático. Para que essa resolução ocorra, os miners disponibilizam o seu poder computacional à rede. Neste entretanto, há uma corrida contra o tempo entre os computadores da rede para resolver o dito problema. O primeiro a encontrar resposta recebe, então, o referido prémio. Em síntese, ao fazer este processo de mining, ganham-se tokens/moedas.

O sistema PoW, como provavelmente compreendeste, é pouco eficiente. Isto porque todos os computadores da rede (ou grande parte deles) estão todos a competir entre eles e a tentar resolver o mesmo problema. O resultado negativo mais imediato é um consumo absurdamente gigante de energia eléctrica.

2.2 – Proof of Stake

Este é um método um pouco mais “civilizado” quando comparado com o PoW. Em poucas palavras, este sistema tem como intuito incentivar as pessoas com maior investimento na rede a liderar a resolução dos tais puzzles matemáticos.

O Proof Of Stake (PoS) permite a quem tem mais dinheiro dentro da rede possuir uma maior probabilidade de resolver os problemas matemáticos. Alguns dizem que este sistema é um tanto injusto, porque quem está a começar ou tem um poder económico inferior está “condenado” à mediocridade.

Double-spending

Caso te estejas a perguntar o que é o double-spending, eis uma explicação rápida. Imagina que tens 10 euros. Se enviares 5 euros a um amigo teu, é de extrema importância que fiques apenas com a diferença, ou seja, 5 euros. Por esta subtracção acontecer é que nós confiamos que determinada coisa tem um valor X.

O efeito double-spending acontece quando nós temos 10 euros, enviamos 5 euros ao nosso amigo e ficamos à mesma com 10 euros, apesar de o nosso amigo ter recebido os 5 euros. Quando isto acontece, o dinheiro perde o seu valor.

Se estiveres com dificuldade em compreender este efeito, lembra-te dos tempos em que jogavas GTA ou Sims e usavas o código para ganhares dinheiro. Chegava sempre uma altura em que o dinheiro em si já não tinha valor para ti. Até ao surgimento da blockchain, tudo o que “caía” na internet estava sujeito ao efeito de double-spending.

Queres saber mais?

Caso tenhas interesse em aprofundar os teus conhecimentos sobre blockchain, deixamos-te meia dúzia de recursos que te podem orientar um pouco: