Cardano (ADA) - Descrição e revisão de criptomoedas

Nota prévia:

No seguimento da nossa entrevista com Tiago Serôdio (community project manager da Cardano em Portugal) seguem as minhas notas sobre o projeto Cardano (ADA). Um agradecimento especial ao Tiago pelo tempo dispensado.

Introdução

Cardano é uma plataforma de computação distribuída que executa o blockchain para a criptomoeda ADA. Foi criado em 2017 pela empresa de Hong Kong IOHK, liderada por Charles Hoskinson, ex-co-fundador da BitShares, Ethereum e Ethereum Classic.

Detalhes rápidos:

  • Teve um ICO a 1 de janeiro de 2018 (1 ADA = 0.0024 USD)
  • É por vezes apelidado como o Ethereum Japonês (uma vez que ca. 95% dos participantes do ICO eram japoneses);
  • Tem o seu próprio blockchain, composto por 2 camadas:
    • 1ª camada – CSL é a camada de contabilidade;
    • 2ª camada – CCA é a camada de computação onde suportará os contratos inteligentes
  • As moedas são mineradas e as decisões são tomadas através de um algoritmo de PoS chamado de Ouroboros.
  • A Cardano intitula-se a si mesmo como o único projeto que segue uma abordagem científica para desenvolver sua blockchain, que está sendo construída por uma equipa de engenheiros e académicos especialistas;
  • Max_Supply: 45,000,000,000 ADA;
  • A plataforma foi desenvolvida em HASKELL e usa PLUTUS como linguagem de programação principal para o desenvolvimento de smart contracts. São ambas linguagens funcionais. Enquanto, por exemplo, SOLIDITY (a linguagem base de ethereum) é uma linguagem imperativa. São portanto parte de famílias funcionais distintas.

Distinção entre linguagens Imperativas e funcionais: 

Não vou aprofundar muito esta distinção, apenas transcrevo o que li, que as linguagens funcionais permitem acomodar melhor a questão da segurança dos contratos, i.e., ajudam melhor o desenvolvedor a criar contratos mais seguros (se bem que em última instância a segurança do código irá sempre depender deste).

  • Imperativa (tens que dizer ao computador o que fazer passo-a-passo)
  • Funcionais (focas-te em termos de função e o raciocínio tem por base o raciocínio matemático).

Um possível lado negativo destas linguagens é que são menos populares do que as imperativas. Existe uma learning curve até para especialistas em programação de base em linguagens Imperativas.

Fases do seu roadmap:

A IOHK (empresa liderada por Charles Hoskinson) é quem está por detrás da definição do roadmap e no seu desenvolvimento até à Governança (VOLTAIRE), nessa última versão (a 1.0) é que está previsto a IOHK deixar a Cardano seguir o seu próprio caminho sem interferências.

  1. BYRON – Foundation
  2. SHELLEY – Decentralization **recentemente lançado**
  3. GOGUEN – Smart contracts (expectativa de lançamento para fevereiro 2021)
  4. BASHO – Scaling
  5. VOLTAIRE – Governance

Com o lançamento da fase SHELLEY, surge ainda uma domain specific language: Marlowe User Interface. Este interface pode ser a “killer app” ao criar um interface intuitivo estilo drag-&-drop de construção de Dapps que permitirá superar o deficit crónico de experiência e conhecimento de projetos de programação, principalmente de cariz financeiro.

Aqui a linguagem funcional também dará uma ajuda dada a sua tendência de maior segurança. Um possível downside será menor flexibilidade que as outras linguagens imperativas (p.ex. SOLIDITY). Mas aqui também respondo que talvez tenhamos de comprometer alguma flexibilidade em função de uma maior segurança.

O algoritmo Proof-of-stake (PoS) Ouroboros

O algoritmo Proof-of-Stake (PoS) Ouroboros é a componente inovadora do protocolo. Cardano usa este novo algoritmo, que determina como os “nós” individuais chegam a um consenso sobre a rede. O algoritmo é uma parte crucial da infraestrutura que suporta a criptomoeda ADA e é a sua principal inovação neste ecossistema. Ouroboros é uma alternativa ao método de PoW (Bitcoin) em que a probabilidade de criação do próximo bloco é maior para um proprietário de equipamento mais potente.

Desta forma, em vez que ser toda a rede a competir para a produção de cada bloco, o algoritmo elege um SLOT LEADER, i.e., durante um período de tempo (SLOT) um determinado número de LEADERS são designados para cumprir determinadas funções como visualizar transações verificadas por outros “nós”, gerar um bloco com um lote de transações, atribuir cada bloco com chaves secretas e disponibilizá-lo na rede.

Um LEADER em Ourboros PoS é o mesmo que um minerador no protocolo bitcoin com a exceção de que é eleito.

Uma SLOT é uma subdivisão do período entre blocos (EPOCH). Neste curto espaço de tempo o LEADER tem em si a exclusividade da criação de blocos, se falhar na sua tarefa perde essa exclusividade e só a recupera se voltar a ser eleito.

Aqui podem assistir a uma explicação mais detalhada num quadro sobre o algoritmo pelo prof. Aggelos Kiayias, Cientista Chefe da IOHK:

“A terceira geração de Blockchain”

Cardano transmite também o conceito de blockchain de 3ª geração, sendo:

  • 1ª geração: Ouro Digital (ex. Bitcoin);
  • 2ª geração: Smart contracts (ex. Ethereum);
  • 3ª geração: novos desenvolvimentos com vista à resolução de problemas de segurança e escalabilidade (ex. Cardano & IOTA).

Na minha opinião estas caracterizações são feitas olhando analisado o passado e apenas quando a Cardano estiver em pleno funcionamento poderemos, em retrospectiva, distinguir fases distintas de desenvolvimento dos criptoativos.

Em suma, Cardano procura resolver 3 questões:

  1. Escalabilidade:
    1. Transações por Segundo – com o “Ouroboros PoS” podem consistir várias EPOCHs em paralelo;
    2. Largura de Rede – P2P Network não é muito escalável pelo que Cardano propõe subdividir a network em sub-networks usando uma técnica com o nome RINA (Recursive Internetwork Architecture), cada “nó” faz parte de uma sub-network específica e comunica entre elas se necessário, tal como o protocolo TCP/IP;
    3. Armazenamento de Dados – A comunidade Cardano propõe no futuro vir a implementar as soluções Pruning, Compression e Partitioning para quando esta dificuldade se tornar mais premente;
  2. Interoperabilidade:
    1. Muitas criptos – neste momento as milhares de criptos existentes no mercado não comunicam entre si sem a necessidade de um intermediário. A Cardano procura ser a “Internet das Blockchains” permitindo a movimentação sem atrito entre blockchains diferentes;
    2. Desconfiança dos Bancos & Governos – A questão da regulação. Estas entidades necessitam saber a metadados das transações (de quem?, para quem? e porque razão?) mas esta informação é ela também informação sensível. Cardano permite ao utilizador decidir se pretende juntar metadados à transação (mas tem de ser decisão do próprio);
  3. Sustentabilidade: As formas de financiamento (“Os mal amados ICOs!”) – Financiar-se um única vez para toda vida do projeto aparenta ser uma opção pouco sustentável para um projeto de longo prazo. Cardano procura resolver este problema através da criação de uma Tesouraria (TREASURY). A Tesouraria irá receber uma pequena percentagem de todas as transações que ocorrem na rede. a própria tesouraria é uma carteira especial que não é controlada por ninguém, em vez disso é um género de smart contract que permite libertar parte dos fundos aos desenvolvedores que pretendam melhorar o protocolo da Cardano. Para isto acontecer os projectos têm de:
      1. submeter uma proposta à comunidade indicando especificamente o que querem mudar e quanto necessitam de fundos;
      2. a comunidade depois vota de entre todas as propostas quais as mais importantes;
      3. Tesouraria depois atribui os fundos dando prioridade às propostas mais votadas.

Conclusão

Cardano é sem sombra de dúvidas, um projeto muito interessante que tenho vindo a acompanhar desde 2018. Continuo a acreditar na solução Cardano para os atuais problemas do ecossistema cripto atual, nomeadamente nas questões relacionadas com a segurança e escalabilidade.

Atualmente, a Ethereum como first mover, está a ter todos os louros dessa posição mas também a colher todos os impactos negativos de uma tecnologia ainda muito incipiente. Nisto, a promessa Cardano surge no horizonte como uma possibilidade válida, no entanto não é a única, outros projetos como EOS, TRON, Zilliqa, etc… também surgem com soluções interessantes e estão à espreita de uma falha do líder.

Se Cardano é a blockchain de 3ª geração, este posto não está garantido uma vez que  a Ethereum está caminhando rapidamente para lá (com a transição para o PoS, soluções de escalabilidade e segurança). Quando o ETH2 e a sua versão PoS estiver implementada tudo será mais difícil, a vantagem comparativa da Cardano reduzir-se-á e a interoperabilidade entre blockchains poderá até funcionar contra a própria Cardano.

Para mim o problema da Cardano (e de muitos outros similares) é o time-to-market. Existe um trade-off entre lançar o projeto e lançá-lo sem falhas, nisto os muito perfeccionistas internos podem ser os maiores detratores do seu próprio sucesso. Reconheço que a complexidade e a própria natureza deste tipo de projeto não facilita em nada o processo, mas como o próprio Tiago disse, “a fase mais complicada já passou”, neste momento falta o sprint final para tornar a promessa Cardano numa realidade.

Adicionalmente, o Marlowe User Interface também poderá desempenhar uma função importante para os não-desenvolvedores que ainda se encontram à margem desta hype. Por isso acredito que ainda vão a tempo de apanhar a loucura das DeFi de 2020 se:

  • Cardano conseguir antecipar com a fase GOGUEN (smart contracts) ainda este ano e no início de 2021 começar a lançar Dapps funcionais;
  • A transição do controlo por parte da IOHK para a comunidade ocorrer sem sobressaltos; e
  • A fundação (com a TREASURY) começar já a investir em projetos com potencial na criação de Dapps semelhantes aos ERC20.

Vejam aqui a entrevista completa com o Tiago Serôdio:


Fontes:

https://www.tokens24.com/cryptopedia/basics/cardano-ouroboros-proof-stake-algorithm