Table of Contents
ToggleSe já repararam, desde o tempo em que somos crianças no jardim de infância até envelhecermos, a aprendizagem está sempre estruturada em categorias. Sejam categorias de números, períodos históricos, tipos de células, espécies de seres vivos e um longo etc.
Pensar demasiado nas categorias pode fazer-nos cair na armadilha da simplificação da realidade. Mas as categorias permitem-nos aprender mais facilmente e ser capazes de classificar e assimilar informação. O mundo dos blockchains, claro, não ia ser diferente.
Apesar da sua juventude (desde 2009), este mundo avançou rapidamente e forçou-nos a categorizar blockchains (as bases de cada criptomoeda). Uma forma simples de categorizá-los é por gerações.
e e-gold tinham falhado.
Em geral, 3 gerações de blockchains são identificados.
Neste artigo vamos explorar detalhadamente a primeira geração. Mas, em primeiro lugar, note-se que as moedas das últimas gerações não implicam que sejam melhores ou piores do que as primeiras. No mundo dos blockchains não há soluções mágicas e cada recurso tem uma contrapartida negativa. A chave é perguntar: “Que característica otimiza esta moeda, e à custa do quê?” Por exemplo, o Bitcoin otimiza a segurança e é por isso que a sua linguagem é mais limitada do que a de outras plataformas, como o Ethereum.
Em 2008, numa lista de e-mails criptografados, um certo Satoshi Nakamoto apresenta a sua ideia e o seu Whitepaper. O artigo é intitulado:”Bitcoin: A Peer to Peer Electronic Cash System“.
A ideia de Satoshi era criar uma rede peer to peer (P2P) que resolviera o problema dos generais bizantinos para chegar a um consenso sobre quantas unidades virtuais cada utilizador tem.
Na computação, um sistema peer-to-peer é uma rede de computadores (também chamados nós) onde não existem nós privilegiados. A tradução em inglês em si é “peer-to-peer”. Esta é uma condição indispensável para a criação de dinheiro descentralizado, não pode haver pontos de falência como um banco ou uma instituição financeira.
A dificuldade em criar dinheiro digital descentralizado é que é preciso toda esta rede para chegar a acordo sobre quantas moedas cada morada tem. Por exemplo, um utilizador pode tentar fazer batota dizendo que tem mais dinheiro. No resto dos computadores podes pôr que tens 10 moedas, e nas tuas 100.
Se não chegar a um consenso sobre quantas moedas cada uma tem, não pode usá-la como dinheiro porque não pode confiar em ninguém. Ou seja, o problema que o Bitcoin resolve é obter confiança num sistema P2P.
Os saldos de um banco podem ser usados como dinheiro (desde que o banco seja fiável) porque há apenas uma versão do quanto cada utilizador tem e é atualizado honestamente. Mas, como já dissemos, é necessária confiança em terceiros, uma vez que poderia censurar transações, roubar dinheiro e reverter as transações, para além de ser centralizada para que os governos possam interferir.
Para chegar a um consenso sobre uma rede P2P, o engenhoso Satoshi cria o primeiro protocolo de consenso funcional, Proof of Work (PoW). No PoW aqueles que atualizam os saldos de cada utilizador (transações de processamento) são os mineiros. Os mineiros realizam cálculos computacionais (SHA-256) até chegarem a uma solução e ao fazê-lo “enterraram” essas transações em cálculo (em alguns momentos vamos explicar isto).
As transações são processadas em lotes (os bem conhecidos blocos) e cada uma gera uma recompensa para o mineiro. Além disso, a única versão válida de quanto dinheiro cada utilizador tem é a que transporta mais computação para trás.
Este design esconde uma lógica avassaladora, é tão genial que muitos o consideram a maior inovação do nosso século. O que Satoshi faz não é mais do que dizer: “as transações de processamento têm um custo, se queres recuperar esse custo e gerar um lucro tens de ser honesto”. Enquanto os seres humanos não gostarem de perder dinheiro, este sistema de incentivos funcionará.
Por outras palavras, a blockchain é apenas um registo de transações (onde podemos ver quanto dinheiro cada endereço tem). E sob este modelo de prova de trabalho, este registo é imutável. É imutável não porque não possa ser modificado, mas porque o custo de modificação do registo é maior do que os benefícios. Pelo contrário, agir honestamente gera lucro (processamento de novas transações, ou o que é o mesmo, mineração de novos blocos).
É por isso que digo que as transações “estão enterradas sob cálculo”, porque se quiser removê-las do registo (desfazer transações) terá de fazer todo o cálculo acumulado sobre elas novamente, o que também vai aumentar porque outros mineiros continuam a adicionar cada vez mais blocos (com as suas provas de trabalho).
Neste exemplo, ficará melhor: imaginem que faço uma transação a pagar por um carro. Esta transação está incluída, por exemplo, no bloco 10. Em poucos minutos, sobre o bloco 10 está minado o bloco 11, então a minha transação está enterrada sob a computação dos blocos 10 e 11. E assim está a ficar cada vez mais profundo na blockchain (daí que se chama blockchain). Assim que tiver o carro, para desfazer a transação e recuperar o meu dinheiro (roubá-lo) tenho de refazer aquele cálculo acumulado, algo que não é viável nem rentável. Neste sistema podes confiar que ninguém vai fazer batota porque fazê-lo não é lucrativo.
Uma vez que a modificação do registo é economicamente inviável, também é inverter as transações. E também os mineiros não podem censurar transações porque pagam comissões e, em princípio, as pessoas envolvidas na transação são pseudónimos. Toda esta rede concorda em quanto dinheiro cada endereço tem porque a única blockchain válida é a que tem mais cálculo.
O consenso não é apenas sobre o que é a blockchain oficial, mas também sobre que tipo de transações são válidas, quantas moedas podem ser geradas (inflação), como os blocos devem ser construídos, etc.
Tudo o que está incorreto é rejeitado pela rede e estas regras podem ser atualizadas de forma compatível (Soft Fork) ou incompatíveis (Hard Fork) com as regras acima referidas. Desta forma, novas funcionalidades podem ser adicionadas à blockchain, como atualmente vai acontecer com a atualização de Taproot para Bitcoin.
Como vemos, estes sistemas de consenso são um mundo e hoje representam um ramo inteiro dentro da ciência da computação.
Além do Bitcoin, existem outros exemplos de criptomoedas de primeira geração de que já falámos neste blog. Alguns deles são Namecoin, Peercoin, Litecoin, Dogecoin e Monero.
Muitas destas criptomoedas de primeira geração desapareceram ou perderam popularidade. Mas muitos outros, como Bitcoin e Monero, permaneceram com uma comunidade cada vez maior e, portanto, com maiores efeitos de rede.
No caso específico do Bitcoin, sendo o dinheiro soberano da Internet, o facto de não ser tão experimental e mudar como os blockchains de segunda e terceira geração não é um bug, é uma característica.
E voltando ao início, não se esqueçam que falar de gerações é apenas uma simplificação. Por exemplo, quando as sidechains (cadenas laterales) sidechains (cadeias laterais) sem confiança são uma realidade, o Bitcoin também pode ser de última geração.
Table of Contents
ToggleSe já repararam, desde o tempo em que somos crianças no jardim de infância até envelhecermos, a aprendizagem está sempre estruturada em categorias. Sejam categorias de números, períodos históricos, tipos de células, espécies de seres vivos e um longo etc.
Pensar demasiado nas categorias pode fazer-nos cair na armadilha da simplificação da realidade. Mas as categorias permitem-nos aprender mais facilmente e ser capazes de classificar e assimilar informação. O mundo dos blockchains, claro, não ia ser diferente.
Apesar da sua juventude (desde 2009), este mundo avançou rapidamente e forçou-nos a categorizar blockchains (as bases de cada criptomoeda). Uma forma simples de categorizá-los é por gerações.
e e-gold tinham falhado.
Em geral, 3 gerações de blockchains são identificados.
Neste artigo vamos explorar detalhadamente a primeira geração. Mas, em primeiro lugar, note-se que as moedas das últimas gerações não implicam que sejam melhores ou piores do que as primeiras. No mundo dos blockchains não há soluções mágicas e cada recurso tem uma contrapartida negativa. A chave é perguntar: “Que característica otimiza esta moeda, e à custa do quê?” Por exemplo, o Bitcoin otimiza a segurança e é por isso que a sua linguagem é mais limitada do que a de outras plataformas, como o Ethereum.
Em 2008, numa lista de e-mails criptografados, um certo Satoshi Nakamoto apresenta a sua ideia e o seu Whitepaper. O artigo é intitulado:”Bitcoin: A Peer to Peer Electronic Cash System“.
A ideia de Satoshi era criar uma rede peer to peer (P2P) que resolviera o problema dos generais bizantinos para chegar a um consenso sobre quantas unidades virtuais cada utilizador tem.
Na computação, um sistema peer-to-peer é uma rede de computadores (também chamados nós) onde não existem nós privilegiados. A tradução em inglês em si é “peer-to-peer”. Esta é uma condição indispensável para a criação de dinheiro descentralizado, não pode haver pontos de falência como um banco ou uma instituição financeira.
A dificuldade em criar dinheiro digital descentralizado é que é preciso toda esta rede para chegar a acordo sobre quantas moedas cada morada tem. Por exemplo, um utilizador pode tentar fazer batota dizendo que tem mais dinheiro. No resto dos computadores podes pôr que tens 10 moedas, e nas tuas 100.
Se não chegar a um consenso sobre quantas moedas cada uma tem, não pode usá-la como dinheiro porque não pode confiar em ninguém. Ou seja, o problema que o Bitcoin resolve é obter confiança num sistema P2P.
Os saldos de um banco podem ser usados como dinheiro (desde que o banco seja fiável) porque há apenas uma versão do quanto cada utilizador tem e é atualizado honestamente. Mas, como já dissemos, é necessária confiança em terceiros, uma vez que poderia censurar transações, roubar dinheiro e reverter as transações, para além de ser centralizada para que os governos possam interferir.
Para chegar a um consenso sobre uma rede P2P, o engenhoso Satoshi cria o primeiro protocolo de consenso funcional, Proof of Work (PoW). No PoW aqueles que atualizam os saldos de cada utilizador (transações de processamento) são os mineiros. Os mineiros realizam cálculos computacionais (SHA-256) até chegarem a uma solução e ao fazê-lo “enterraram” essas transações em cálculo (em alguns momentos vamos explicar isto).
As transações são processadas em lotes (os bem conhecidos blocos) e cada uma gera uma recompensa para o mineiro. Além disso, a única versão válida de quanto dinheiro cada utilizador tem é a que transporta mais computação para trás.
Este design esconde uma lógica avassaladora, é tão genial que muitos o consideram a maior inovação do nosso século. O que Satoshi faz não é mais do que dizer: “as transações de processamento têm um custo, se queres recuperar esse custo e gerar um lucro tens de ser honesto”. Enquanto os seres humanos não gostarem de perder dinheiro, este sistema de incentivos funcionará.
Por outras palavras, a blockchain é apenas um registo de transações (onde podemos ver quanto dinheiro cada endereço tem). E sob este modelo de prova de trabalho, este registo é imutável. É imutável não porque não possa ser modificado, mas porque o custo de modificação do registo é maior do que os benefícios. Pelo contrário, agir honestamente gera lucro (processamento de novas transações, ou o que é o mesmo, mineração de novos blocos).
É por isso que digo que as transações “estão enterradas sob cálculo”, porque se quiser removê-las do registo (desfazer transações) terá de fazer todo o cálculo acumulado sobre elas novamente, o que também vai aumentar porque outros mineiros continuam a adicionar cada vez mais blocos (com as suas provas de trabalho).
Neste exemplo, ficará melhor: imaginem que faço uma transação a pagar por um carro. Esta transação está incluída, por exemplo, no bloco 10. Em poucos minutos, sobre o bloco 10 está minado o bloco 11, então a minha transação está enterrada sob a computação dos blocos 10 e 11. E assim está a ficar cada vez mais profundo na blockchain (daí que se chama blockchain). Assim que tiver o carro, para desfazer a transação e recuperar o meu dinheiro (roubá-lo) tenho de refazer aquele cálculo acumulado, algo que não é viável nem rentável. Neste sistema podes confiar que ninguém vai fazer batota porque fazê-lo não é lucrativo.
Uma vez que a modificação do registo é economicamente inviável, também é inverter as transações. E também os mineiros não podem censurar transações porque pagam comissões e, em princípio, as pessoas envolvidas na transação são pseudónimos. Toda esta rede concorda em quanto dinheiro cada endereço tem porque a única blockchain válida é a que tem mais cálculo.
O consenso não é apenas sobre o que é a blockchain oficial, mas também sobre que tipo de transações são válidas, quantas moedas podem ser geradas (inflação), como os blocos devem ser construídos, etc.
Tudo o que está incorreto é rejeitado pela rede e estas regras podem ser atualizadas de forma compatível (Soft Fork) ou incompatíveis (Hard Fork) com as regras acima referidas. Desta forma, novas funcionalidades podem ser adicionadas à blockchain, como atualmente vai acontecer com a atualização de Taproot para Bitcoin.
Como vemos, estes sistemas de consenso são um mundo e hoje representam um ramo inteiro dentro da ciência da computação.
Além do Bitcoin, existem outros exemplos de criptomoedas de primeira geração de que já falámos neste blog. Alguns deles são Namecoin, Peercoin, Litecoin, Dogecoin e Monero.
Muitas destas criptomoedas de primeira geração desapareceram ou perderam popularidade. Mas muitos outros, como Bitcoin e Monero, permaneceram com uma comunidade cada vez maior e, portanto, com maiores efeitos de rede.
No caso específico do Bitcoin, sendo o dinheiro soberano da Internet, o facto de não ser tão experimental e mudar como os blockchains de segunda e terceira geração não é um bug, é uma característica.
E voltando ao início, não se esqueçam que falar de gerações é apenas uma simplificação. Por exemplo, quando as sidechains (cadenas laterales) sidechains (cadeias laterais) sem confiança são uma realidade, o Bitcoin também pode ser de última geração.