No meu artigo anterior, abri a série Algorand; portanto, se essa plataforma é nova para você, recomendo que você comece lendo Algorand 1.0 - Introdução. No entanto, neste artigo, desenvolvo o tópico ainda mais, passando para novas funcionalidades que a equipe de Algorand introduziu no protocolo no final de 2019.
A atualização da plataforma principal de Algorand foi uma grande surpresa para mim. Por duas razões:
- Estou impressionado com o ritmo de desenvolvimento de Algorand: em maio 2019 sua rede principal foi lançada (Mainnet), embora já em novembro de 2019 eles entregassem 3 novas e grandes funcionalidades, lançando o Algorand 2.0. Para a equipe de Algorand, demorou menos de 6 meses.
- Nível de avanço técnico e inovaçãoque Algorand 2.0 introduz na minha opinião é muito significativo vs. Algorand 1.0.
Então, vamos tentar digerir, passo a passo.
Algorand 2.0 adiciona três novas funcionalidades-chave:
- Ativos padrão de Algorand (Ativos Padrão de Algorand), que é um padrão que permite criar e emitir novos tokens, com base na plataforma Algorand. Nada de novo? Não exatamente, eles são construídos na Camada 1. As implicações são significativas.
- Contratos Smart Layer-1 (e o incompleto na linguagem de script do sentido de Turing, TEAL). Não é de surpreender que o vencedor do prêmio Turing decida construir uma linguagem que não é completa na visão de Turing? De fato.
- Transferências atômicas (Transferências atômicas), transferência segura de ativos, também incorporada na camada 1. No entanto, eles não devem ser confundidos com os Atomic Swaps, conhecidos de outras plataformas, aqui também estamos falando sobre implementação na camada de protocolo mais baixa.
A nova versão do Algorand dá um grande passo adiante em relação ao seu antecessor, abordando algumas das minhas preocupações anteriores descritas em minhas outras análises desta plataforma.Neste artigo, discutirei as nuances do Algorand 2.0 e tentarei responder à pergunta: Eu acho que isso é uma grande mudança.
Ativos padrão de Algorand (ASA)
O ASA fornece um mecanismo padronizado para que qualquer tipo de recursos digitais possa ser salvo e armazenado na Camada 1.
Exemplos:
- Ativos fungíveis: como moedas, tokens de utilidade ou stablecoins,
- Ativos Não Fungíveis: como imóveis, artefatos de jogos de computador, ingressos, obras de arte,
- Títulos, ações, certificados etc.
A implementação desse tipo de abordagem na camada 1 é, na minha opinião, uma abordagem única e inovadora que garante que todas as operações realizadas nesses ativos sejam:
- Rápido e Seguro, mantendo o mesmo nível de segurança que Algos nativo, sendo tão seguro quanto o protocolo de consenso básico e tão rápido quanto as transações de Nível 1.
- Compatível, se o aplicativo suportar um recurso específico de Algorand, ele oferecerá suporte automaticamente a todos os recursos de Algorand ASA, graças à sua interoperabilidade universal.
- garantia fácil de usar, são capazes de criar um recurso em uma transação!
O padrão de token ERC-20 no Ethereum mudou todo o setor há alguns anos, mas já faz um tempo. Acredito que os ASAs podem ter um impacto semelhante na maneira como você pensa sobre soluções de design, se não mais, quando se tornam amplamente usados.
Contratos inteligentes em Varsóvia-1 (ASC1)
Naturalmente, pensamos que os contratos inteligentes são soluções da Camada 2, porque outras plataformas nos acostumaram a esse pensamento, mas Algorand quebra esse princípio ao introduzir contratos inteligentes na camada base e garantir que possamos usar a linguagem TEAL simples.
Algorand acredita que idiomas completos no sentido de Turing não são necessários para a maioria dos casos de uso de blockchain. As linguagens completas de Turing introduzem uma camada adicional para possíveis ataques e aumentam ainda mais os problemas de desempenho. Vamos dar uma olhada nos números:
- Recentemente, cientistas da Universidade da Alemanha revisaram mais de 53 contratos atualmente implementados em termos de segurança.
- Eles descobriram que a maioria dos contratos inteligentes atualmente implementados NÃO precisa de linguagens de Turing completas e geralmente pode ser escrita com base em regras mais simples.
- De 53 mil dos contratos inteligentes analisados, apenas 7% deles usavam o mecanismo de controle de fluxo (loop "while"), que geralmente requer uma linguagem de programação completa (no significado de Turing).
- Além disso, é altamente provável que alguns desses contratos inteligentes de "7%" possam ser programados sem um loop WHILE e substituídos por funções UTXO.
- Leia mais aqui => As linguagens de contrato inteligente precisam ser Turing completas?
A equipe de Algorand fornece um conjunto de modelos para contratos inteligentes, o que torna a programação do ASC1 suave e fácil, e você também pode criar seus próprios contratos inteligentes do zero.
Algorand criou sua própria linguagem de programação com o ASC1 TEAL (Linguagem de Aprovação de Execução de Transação)o que simplesmente não está completo na visão de Turing. Dado que Silvio Micali é um vencedor do Prêmio Turing, pode-se perguntar se essa construção de linguagem é consciente e se é uma vantagem ou uma desvantagem?
Vamos dar uma olhada no tópico.
Existem 16 vetores de ataque documentados que estão diretamente relacionados aos contratos inteligentes completos de Turing. Vamos listar alguns:
- o famoso DAO Hack foi possível graças ao portão que a completa linguagem Turing do Solidity deixou para trás.
- Constantinopole upgarde também representava uma ameaça devido às suas funções de rotação completa que o Solidity possui (como resultado, foi atrasado).
- O Solidity não oferece a oportunidade de estimar com precisão os custos de transação ou o tempo para interromper o processo e a execução, que às vezes é usado por atores ruins.
Com isso em mente, a linguagem TEAL da Algorand pode ser uma boa escolha, pois oferece uma maior previsibilidade i segurança, ao mesmo tempo simplicidade (facilidade de escrita e depuração). Além disso, melhora o tempo de execução do programa, torna-o mais determinístico, impedindo a lógica recursiva (maximizando a segurança e o desempenho).
Possíveis casos de uso?
- Contas fiduciárias,
- Financiamento colaborativo,
- Trocas centralizadas e descentralizadas.
Atualmente, a Algorand está trabalhando no suporte total a todos os SDKs e está criando modelos para casos de uso típicos baseados no TEAL, o que ajudará os desenvolvedores a começar a programar rapidamente. Muito deste trabalho está pronto (Java, Java Script, Go, Python, .NET em breve).
Obviamente, existem casos de uso que exigirão uma lógica mais complexa em comparação com o que o ASC1 pode fornecer, portanto o roteiro de Algorand também planeja contratos inteligentes da Camada 2 que fornecerão funcionalidade completa no sentido de Turing e, portanto, mais amplo possibilidades de uso.
Transferências atômicas
As transferências atômicas são a terceira funcionalidade disponível no Algorand 2.0. Eles são uma maneira segura de transferir vários recursos entre as páginas (eles não devem ser confundidos com outras soluções conhecidas do Atomic Swap). Qual é a diferença?
As Transferências atômicas permitem que grupos de transações sejam aprovados ao mesmo tempo - ou nem sequer.
Como isso funciona?
1. Transações individuais são criadas.
2. Em seguida, as transações são agrupadas em um pacote.
3. Cada transferência é assinada individualmente pelo iniciador da transferência.
4. O pacote é reportado à rede blockchain e os nós aprovam todas as transações do pacote de uma só vez.
5. Se uma dessas transações falhar, todas as transações serão automaticamente rejeitadas - portanto, todas as transações serão aprovadas ou nenhuma delas.
Isso elimina a necessidade de bloqueios de tempo com hash (bloqueios de tempo) como é o caso com trocas atômicas em outras plataformas de blockchain, além de reduzir o atraso associado a bloqueios de tempo com hash.
Não há necessidade de contar com o bloqueio temporário de contratos. Isso significa uma abordagem fácil e rápida para Atomic Trasnfers.
Um benefício adicional: Como essas operações são executadas na Camada 1, elas são mais seguras do que se fossem executadas na Camada 2.
Transferências atômicas permitir aplicativos como:
- Transações dependentes: A paga B se B paga C e B paga C se C paga A.
- Pagamentos em grupo: todo mundo paga ou ninguém.
- Troca bez confiável intermediários.
- Pagamentos a muitos destinatários simultaneamente.
Um exemplo simples de uso: Você pode imaginar que dessa maneira vendemos uma propriedade tokenizada, na qual os documentos que confirmam a propriedade, a taxa da propriedade e, por exemplo, as taxas oficiais são enviados em um pacote.
Reflexão..
Observando a velocidade de desenvolvimento do protocolo principal de Algorand e funcionalidades adicionais que aparecem em sua blockchain, Algorand parece estar se movendo em uma direção diferente da maioria das imitações do Ethereum. É muito bom. Ainda acredito que o Ethereum é um grande player neste espaço (efeito rede), e novos projetos devem surgir com uma proposta de valor único para competir com o Ethereum. Aumentar a capacidade da rede sacrificando a descentralização (o que torna muitos jogadores) é míope e a maioria dessas imitações do Ethereum certamente deixará de contar em alguns anos (ou acabará como um banco de dados caro ou ficará sem recursos para estimular o ecossistema), então eu acredito que as plataformas que não cortam cantos têm a chance de construir uma base sólida e sobreviver nas próximas décadas.
Fico feliz que Algorand traga uma nova abordagem ao jogo e não compromete a abordagem do trileme blockchain (descentralização / velocidade / segurança). Penso que este será o caminho certo a longo prazo.
Estou ainda mais otimista com o futuro de que ainda há muita inovação no roteiro de Algorand. No próximo post, discutirei sua abordagem de interoperabilidade e cadeias privadas (o que cadeias). Abaixo está também um trailer do que a equipe ainda está trabalhando - eu mencionei no vídeo do link.
Aperte o cinto, isso vai acontecer 🙂