Flow (FLOW) é um projeto de blockchain e token focado em oferecer alta velocidade operacional e recursos de contrato inteligente avançados especialmente projetados para o mundo de DApps, jogos e o mundo DeFi.
Unão dos novos projetos de criptomoedas que está ganhando impulso agora é conhecido como Fluxo. A razão? Fluxo é um blockchain projetado do início ao fim com o objetivo de ser integrado em jogos e aplicativos, tornando-se uma rede blockchain de alta velocidade e uma arquitetura modular extremamente flexível para o desenvolvimento.
Origem e História do Fluxo
A história de Flow é uma história relacionada ao boom do DeFi e DAppssobre Ethereum (ETH). No início de 2018, quando o mercado ainda estava em alta, a Ethereum começou a experimentar os limites de sua capacidade. Isso disse ao mundo como sua infraestrutura é limitada para a massificação da tecnologia blockchain, Web 3.0 e o mundo dos DApps. Embora o desenvolvimento do Ethereum 2.0 já estivesse em andamento, isso era uma promessa para o futuro. Uma situação que causou um problema sério e muitas dores de cabeça para desenvolvedores de projetos de blockchain.
Mas, como em qualquer crise, sempre há novas oportunidades. Nesse sentido, a comunidade não ficou ociosa, e um desses atores é Laboratórios Dapper, uma empresa conhecida por criar o famoso DApp de CryptoKitties. Fundada em 2018, na cidade canadense de Vancouver, a Dapper Labs deu início a um interessante projeto que buscava deixar para trás de uma vez por todas as fragilidades de blockchain como o Ethereum e, ao mesmo tempo, superar suas capacidades, mesmo as das novidades que viria com o Ethereum 2.0.
O início do desenvolvimento do Flow começou em Agosto 15 da 2019. Foi nessa época que ocorreu a primeira venda privada de tokens FLOW. Uma venda na qual um total de 112 milhões de tokens FLOW foram colocados, a um preço de $ 0,1 por token, por um total acumulado de $ 11,2 milhões. Esses recursos seriam o início do desenvolvimento da FLOW e de toda sua grande história.
A apresentação dos white papers e o início do desenvolvimento
Após o sucesso desta primeira venda de tokens, em setembro de 2019, a Dapper Labs deu o primeiro passo com este projeto apresentado pela primeira artigo: por Flow. Sob o nome de Fluxo: separando consenso e cálculo, este primeiro white paper lançou as bases para uma nova maneira de fazer a tecnologia blockchain funcionar, revolucionando essa tecnologia. No entanto, este não seria o único white paper lançado, mas seria acompanhado por dois documentos adicionais que demonstram como este projeto funciona. Esses documentos são conhecidos como Fluxo: Verificação de Execução y Fluxo: Formação e Execução do Bloco, também seria vital para demonstrar o funcionamento da futura rede.
Com a publicação de seus white papers, ele deu início à criação de seu software para tornar realidade o que ali está incorporado. Isso inclui implementar o protocolo, criar o software dos nós, integrar seu algoritmo de consenso, primitivas criptográficas e muito mais. O trabalho foi recompensado em maio de 2020, quando Dapper Labs finalmente anunciou o lançamento de sua versão beta.
O trabalho continuou e em 6 de agosto de 2020, outra venda de tokens privados foi realizada por um total de 134 milhões de tokens FLOW, a um preço de $ 0,1 por token e um total acumulado de $ 13,4 milhões. Essa segunda rodada de financiamento tem sido usada para acelerar o desenvolvimento do sistema, que naquele momento ainda está em beta. Um mês depois, exatamente em 22 de setembro de 2020, uma venda de tokens da comunidade foi realizada por um total de 60 milhões de tokens FLOW, com um valor de $ 0,1 por token e um acumulado de $ 8,5 milhões, o que mostra a confiança da comunidade em este projeto.
No momento, Flow ainda é um projeto em desenvolvimento. Sua camada 1, ou camada principal, ainda está inacabada, mas isso não limitou o projeto a lançar aplicativos descentralizados poderosos em sua rede. Na verdade, hoje é possível enviar e receber criptomoedas, criar DApps, tokens fungíveis e tokens não fungíveis (NFT), bem como mercados. Isso catapultou o preço do token FLOW de impressionantes US $ 0,1 (no momento da venda inicial) para mais de US $ 30 nos primeiros meses de 2021.
Compreender como o Flow funciona
Contudo O que torna o blockchain do Flow realmente único? Bem, em primeiro lugar, devemos dizer que o Flow usa uma visão completamente diferente daquela que vimos até agora em outros blockchains.
A operação geral de um blockchain atual
Por exemplo, em Bitcoin (BTC) e Ethereum, computação de transação e obtenção de consenso dentro da rede, é um trabalho que anda de mãos dadas. Cada transação na rede é adicionada a um bloco, um hash é gerado para o referido bloco, o trabalho é validado, será computado no nível do nó (os scripts e contratos inteligentes são executados) e finalmente chega ao blockchain mostrando os resultados do referido esforço. Repita o processo com cada bloco e você terá, em resumo, a operação de um blockchain atual. Todo esse esforço é linear e homogêneo, o que limita a escalabilidade da rede de várias maneiras.
Este sistema funciona muito bem, foi exaustivamente testado e é seguro. As tentativas da comunidade atual, no entanto, buscam um paralelo a esse sistema. Ou seja, mantendo a mesma linearidade, mas dividindo o trabalho em várias instâncias, para que no final tudo seja remontado e o resultado final seja o mesmo. Com isso, um esquema seguro (linear e homogêneo) é mantido, mas ao dividir o trabalho entre vários, o trabalho é feito muito mais rápido, ganhando escalabilidade e velocidade. No entanto, isso torna os sistemas mais complexos (se você é um programador, você conhece a dor de cabeça que “fio"ou"thread de execução”Pode causar sob certas condições) e a escalabilidade ainda tem limites.
Uma mudança drástica nas regras
Mas Flow, mude radicalmente isso. Para fazer isso, os desenvolvedores de Flow criaram um sistema no qual várias funções podem coexistir, funções que são desempenhadas por seus nós, cada uma com um objetivo muito específico. Isso permite que você divida suas tarefas recebidas (as transações que você envia) de maneiras exclusivas, tornando-as mais fáceis de atender.
Então, por exemplo, se uma transação interage com um smart contract avançada (ex: uma interação com um DApp), a referida transação é dividida em duas partes: a primeira, onde estão os metadados da transação (quem envia, endereços, entre outros). E, a segunda, a interação com o contato inteligente como tal, que deve ser invocado (a partir de seu endereço), executado e oferecer uma resposta ao nosso usuário (que é visível no blockchain). Além disso, todo esse processo deve ser verificado, obedecer às regras de consenso e, finalmente, ser incluído no blockchain. Se estivéssemos no Ethereum, essas tarefas são realizadas de forma linear (lenta e cara).
Mas no Flow, a primeira e a segunda partes vão para um tipo de nó (chamado de nó de execução), enquanto as tarefas de consenso, verificação e armazenamento são atribuídas a tipos de nós específicos para cada tarefa. Como cada um desses pontos requer trabalho computacional específico (alguns requerem mais potência do que outros), a divisão do trabalho torna o fornecimento de grandes volumes de informações mais fácil e rápido de fazer no final. A Flow criou uma rede blockchain de operação heterogênea (com nós atribuídos para diferentes funções), com paralelismo e escalabilidade que cresce com o número de nós na rede.
Você quer uma explicação mais simples do que esta? Veja da seguinte forma, não é a mesma coisa ter um restaurante em que você ocupa todos os cargos (de chef, garçom, caixa), do que ter uma equipe que o apóia em cada tarefa e, principalmente, se o seu restaurante tem uma grande procura e afluência de comensais. O primeiro seria o sistema atual de muitos blockchains, enquanto o segundo seria Flow.
Explorando como o Flow funciona em profundidade
Agora que sabemos como o Flow funciona em geral, é bom saber como ele o faz acontecer. Em primeiro lugar, Flow é um projeto com uma arquitetura multifuncional pensada na divisibilidade de atribuições e tarefas. Isso é essencial, porque a arquitetura de rede Flow, embora complexa, é muito menos problemática do que outras opções, como Lightning Network, Plasma ou o raspando de Ethereum 2.0. Com isso dito, vamos primeiro explorar como seus nós são divididos e quais são suas funções.
Nós dentro do fluxo
No Flow, como já mencionamos, existem diferentes papéis e tipos de nós, cada um especializado ou dedicado a uma tarefa específica dentro da rede. Entre esses tipos de nós, temos:
Nós de coleção
Os nós de coleta são nós de alta largura de banda que são agrupados e cooperam uns com os outros. A tarefa desses nós é gerenciar o grupo de transações e coletar transações bem formadas para propor aos nós de consenso. Ou seja, eles têm uma funcionalidade muito semelhante ao que seria o mempool de nós como os de Bitcoin ou Ethereum.
As transações no Flow são atribuídas pseudo-aleatoriamente a um determinado cluster usando hash de transação. Portanto, uma transação bem formada deve incluir credenciais do nó de coleção que armazena essa transação.
Para conseguir isso, esses nós pegam cada transação bem formada e aplicam um hash ao texto dessa transação, adicionando também uma assinatura à transação para indicar duas coisas: primeiro, que está bem formada; e, segundo, que se comprometerá a armazenar o texto da transação até que os nós de execução tenham concluído o processamento. Cada grupo coleta transações, reúne-as em coleções e envia uma garantia de coleção assinada pela grande maioria do grupo aos nós de consenso.
Assim, já temos um primeiro espaço onde as transações são classificadas de forma que o paralelismo na execução seja possível sem praticamente nenhum risco. Além disso, para se tornar um operador de nó de cobrança você deve fazer um staking mínimo de 250 mil FLOW, ganhando comissões pelo seu bom trabalho em todos os momentos. Sim, o Flow é uma rede que usa um derivado do protocolo Proof of Stake (PoS).
Nós de consenso
Este segundo tipo de nó é responsável por formar e propor blocos respeitando as regras do protocolo de consenso Flow HotStuff. O trabalho dos nós de consenso começa com a validação dos hashes das coleções de transações enviadas pelos nós de coleção. Nesse ponto, eles verificam se essas coleções foram aceitas pela maioria do cluster de coleção ao qual a transação foi atribuída.
Feita essa verificação, os nós de consenso iniciam-se com a criação dos blocos e encerram o processo por meio de votação. Nesse ponto, quanto mais nós participarem, maior será o nível de descentralização da rede e sua segurança. Neste ponto, o protocolo HotStuff tem participação limitada a 100 eleitores, mas esses eleitores são escolhidos aleatoriamente dentro do grupo de nós de consenso disponíveis, a ideia por trás disso é manter a maior participação possível dentro do sistema sem reduzir a velocidade. Os desenvolvedores de fluxo ainda estão trabalhando na possibilidade de aumentar esse número, mas por enquanto o esquema usado é seguro.
Para evitar ataques ao sistema (as chamadas "falhas bizantinas"), os nós de consenso têm requisitos de execução relativamente pequenos, portanto, equipamentos poderosos não precisam ter um nó de consenso. Além disso, o uso da largura de banda também é pequeno, o que evita a necessidade de conexões de internet ultrarrápidas. No entanto, talvez um ponto contra é que, para executar um nó de consenso, são necessários 500 mil FLOWs em staking, que ao preço atual é de cerca de US $ 15 milhões, tornando-se um nó bastante caro em comparação com outras redes.
Nós de Execução
O papel dos nós de execução é bastante claro: executar transações, manter o estado de execução, um armazenamento de dados criptograficamente verificável para todas as contas de usuário e estados de contrato inteligentes, bem como responder às consultas relacionadas a ele. Em palavras mais simples, são os neurônios do que viria a ser o cérebro de Flow.
O trabalho dos nós de execução começa quando eles recebem os dados da transação que vêm dos nós de coleta. Nessas transações, existem as operações de transação simples, como os contratos inteligentes a serem executados, e tudo isso é computado pelos nós de execução. A saída produzida pelos nós de execução é então verificada pelos nós de validação.
Por serem o epicentro do processamento de dados do Flow, os nós de execução requerem equipamentos com certo nível de poder computacional. Na verdade, quanto maior a potência, mais rápida será a execução de todo esse trabalho computacional necessário. Neste ponto, o Flow deixa algo muito claro: você pode escalar usando números (mais nós na rede) ou usando um hardware mais poderoso (que executa tudo mais rápido). A união de ambas as vantagens é o que permite ao Flow ter uma escalabilidade invejável em comparação com outras cadeias de blocos.
Para evitar trapaça, os nós de execução devem gerar um hash para cada saída de uma tarefa gerada. Assim, quando os nós de execução finalizam a coleta de transações recebidas dos nós de coleta, eles revelam o hash, incluem-no nos dados que são enviados aos nós de consenso e, a partir daí, aos nós de verificação.
Finalmente, qualquer trapaça neste ponto pode ser detectada (usando o hash relacionado à saída de dados) e se for, o nó em questão é punido. Uma punição neste tipo de nó tem um peso econômico importante, principalmente quando pensamos no custo de instalação de um nó de execução, para o qual deve ser feito um piqueteamento de 1.250.000 token FLOW (38,75 milhões de dólares).
Nós de Verificação
Esses nós têm a tarefa de confirmar a exatidão do trabalho realizado pelos nós de execução. Os nós de verificação individuais verificam apenas uma pequena parte do cálculo total, mas coletivamente eles verificam cada cálculo muitas vezes em paralelo. Assim, conseguem verificar os recibos de execução fornecidos pelos nós de execução e emitir aprovações de resultados. Um algoritmo de classificação determina quais partes do recibo de execução dos nós de execução o nó de verificação deve consultar para verificar se foram calculados corretamente.
Em última análise, esses nós mantêm os nós de execução honestos; Este equilíbrio de poder mantém os critérios de descentralização de acesso, segurança e verificabilidade. É altamente tolerante com as falhas bizantinas porque mesmo que haja um número substancial de erros bizantinos no grupo de nós de verificação, os nós de consenso ainda devem aprovar que as transações que eles assinaram foram revisadas por uma quantidade crítica da rede.
Para executar um nó de verificação, é necessário realizar um piqueteamento mínimo de 135.000 tokens FLOW (aproximadamente 4,185 milhões de dólares)
Nós de acesso
Os nós de acesso são aqueles que permitem enviar e receber transações dentro da rede Flow e seus diferentes nós. Elas são, para colocar de uma forma, as rodovias que interconectam os nós do Flow. A ideia é que essa rede seja grande o suficiente para que qualquer pessoa, em qualquer lugar do mundo, possa acessar e usar os recursos do Flow. No entanto, eles não realizam nenhuma outra tarefa. Esses nós também são fáceis de instalar e não requerem nenhuma estaca para seu funcionamento.
Cadence, uma linguagem de programação poderosa e muito simples
A linguagem de programação Cadence é uma linguagem de programação nativa para contratos inteligentes dentro do Flow. Ele se destina a ser simples, legível, orientado a recursos e seguro.
Um fato engraçado sobre Cadence é que é uma das primeiras linguagens de programação orientadas a recursos, e a ideia veio de um projeto que muitos na comunidade podem detestar um pouco: Libra do Facebook (Agora Diem, e no futuro quem sabe que nome terá).
A cadência foi zerada usando uma aproximação da linguagem de programação Move, usada em Libra. O Move foi um desenvolvimento bem-vindo, a comunidade elogiou suas capacidades e oportunidades e, com base nisso, os Dapper Labs pegaram o que aprenderam e aplicaram na Cadence.
Assim, Cadence é uma linguagem capaz de representar propriedade de ativos e propriedades de ativos digitais diretamente na linguagem de programação. Isso é especialmente útil porque elimina a necessidade de refletir essas propriedades em um contrato inteligente e, em vez disso, quando definida, a linguagem de programação faz isso de forma automática e nativa. Isso elimina muito trabalho de programação intermediário, evita erros e cria contratos inteligentes mais seguros.
Contratos inteligentes atualizáveis, outro avanço no fluxo
Outro dos avanços da Flow é sua capacidade de atualizar contratos inteligentes. Isso pode parecer estranho para você, mas atualizar um contrato inteligente em redes como Ethereum é realmente uma dor de cabeça. "Atualizar" nessas redes é, na verdade, criar um novo contrato inteligente e alterar toda a estrutura do DApp para que ele aponte o novo contrato inteligente em sua nova direção. Isso gera problemas de todos os tipos e é muito incômodo para usuários e desenvolvedores.
Para resolver isso, o Flow permite a implantação de contratos inteligentes de forma que possam ser atualizados de forma incremental. Assim, os desenvolvedores podem enviar melhorias para contratos inteligentes que geram automaticamente uma nova versão que ficará visível para os usuários. Os usuários, por sua vez, têm a capacidade de escolher se desejam ou não confiar em uma versão específica do contrato inteligente. E, de fato, uma vez que um usuário confia em uma versão desse contrato inteligente, alterá-lo requer uma ação específica por parte do usuário.
Este sistema equilibra as necessidades dos usuários de serem informados sobre o tipo de código com o qual estão lidando. E, ao mesmo tempo, permite que os desenvolvedores tenham flexibilidade para ajustar seu código por um tempo limitado após a publicação.
HotStuff, um protocolo de consenso rápido
Outra das melhorias do Flow é seu protocolo de consenso HotStuff. Aqui na Bit2Me, falamos sobre protocolos de consenso rápidos, como Poeta (talvez o protocolo mais rápido no mundo do blockchain), PoA, PoW, DPoS o PoS. No entanto, HotStuff é talvez o único protocolo de consenso capaz de ser medido em relação ao protocolo PoET.
HotStuff é um protocolo que começou seu desenvolvimento em 2018, e foi finalmente apresentado em julho de 2019, por seus desenvolvedores Maofan Yin, Dahlia Malkhi, Michael K. Reiter, Guy Golan Gueta e Ittai Abraha, todos alunos da Universidade Cornell. A ideia por trás do HotStuff é criar um protocolo BFT rápido, seguro e escalável.
Para isso, o HotStuff funciona como um sistema de resolução de problemas SMR (State Machine Replication). Este problema indica que um conjunto de máquinas deve ser capaz de resolver os "comandos" enviados aos seus sistemas, de forma que aquele conjunto de máquinas pegue uma pequena parte do trabalho, compute, replique e o resultado final, Deixe o trabalho ser concluído sem erros no processo geral de verificação do sistema.
Para conseguir isso, HotStuff implementa uma solução de computação distribuída (como o protocolo de consenso de qualquer blockchain) que é resistente a falhas bizantinas. O novo? O HotStuff é extremamente eficiente na realização desse trabalho, ao ponto em que o consenso usando este sistema pode ser alcançado em 0,1 segundos e a validação nas réplicas pode começar em apenas 5 ms.
Podemos ver isso na prática no Flow; na verdade, você ficará surpreso que o tempo de produção do bloco do Flow é de 1 segundo. Ou seja, a cada segundo, o Flow está gerando um bloco, que responde a um conjunto bem definido de transações da rede, dessa forma, a validação da transação é quase instantânea, e o sistema pode atender facilmente milhares de usuários sem problemas.
Características do projeto
- Arquitetura nativa de vários nós. O design do Flow é único, permitindo que a rede se expanda para servir bilhões de usuários sem alterar ou reduzir a descentralização do consenso.
- Programação orientada a recursos. Contratos inteligentes no Flow são escritos em Cadence, uma linguagem de programação mais fácil e segura para ativos e aplicativos criptográficos. Na verdade, a legibilidade do Cadence contra o Solidity, JavaScript ou Python é um dos principais pontos a seu favor, recebendo elogios por ele.
- Ergonomia do desenvolvedor. O Flow possui recursos exclusivos projetados para programadores. A começar pelo fato de seus contratos inteligentes serem atualizáveis, até o suporte de registro incorporado ao Emulador de Fluxo, para facilitar o trabalho de desenvolvimento.
- Integração do consumidor. O Flow foi projetado para consumidores convencionais, com gateways de pagamento que fornecem um caminho seguro e de baixo atrito da moeda fiduciária à criptomoeda.
- Não há necessidade de fragmentação para escalar. Uma das grandes vantagens do Flow é que, para sua escalabilidade, não é necessário aplicar sharding na rede. Isso torna o desenvolvimento do blockchain muito mais fácil, evitando problemas na geração de um registro de transação final consistente.
Porém, o que talvez seja a característica mais marcante do Flow, é voltado para o público e a facilidade de uso da tecnologia blockchain. Esse recurso é a capacidade de criar contas de usuário inteligente. Este é um recurso nativo do Flow que permite criar uma conta vinculada a um contrato inteligente dentro da rede. Com isso, busca-se um controle de acesso à conta mais automatizado e seguro, especialmente sob certos critérios de uso online das referidas contas.
Mas, talvez o maior benefício disso seja que, com esse sistema, é possível se livrar de frases-semente ou chaves para recuperar o controle de uma conta. Na verdade, se você perder o acesso a uma conta, terá apenas que iniciar o processo de recuperação dela, conforme programado.
Distribuição de token
A distribuição de tokens no Flow é dividida em três estágios. A primeira começou com o início da beta da rede mainnet, em 15 de maio de 2020. Nesse ponto, a era operava sem a necessidade de tokens ou staking, o que permitia que os primeiros usuários da rede executassem qualquer tipo de nó com um simples pagamento em fiat (usando cartão de crédito / débito) ou outras criptomoedas.
A segunda etapa teve início em 1º de outubro de 2020, com a criação de 1,25 bilhão de tokens FLOW. Naquela época, todos os tokens FLOW que foram vendidos nas três vendas anteriores (dois privados, um comunitário) foram colocados em circulação. Para evitar manipulação de preços, a emissão foi realizada com bloqueio de fundos, evitando a geração de uma avalanche de mercado que afetará negativamente o projeto e seus primeiros compradores do token. O bloqueio dos fundos é de dois anos.
No gráfico você pode ver como os 1,25 bilhão de tokens gerados foram distribuídos.
Finalmente, a terceira fase é onde o sistema de recompensa de piquetagem começa. Esse sistema teve início em 15 de dezembro de 2020. A ideia é que em dois anos (a partir de 1º de outubro de 2022) sejam distribuídos mais de 800 milhões de tokens além dos 1,25 bilhão já criados. Certamente, este é um nível alto de inflação em um período tão curto de tempo. Mas, a ideia disso é incentivar o uso do sistema, e depois sustentá-lo com base nas capacidades do mesmo.
Além disso, é importante notar que desses 1,25 bilhão de tokens criados inicialmente, eles serão desbloqueados em intervalos de tempo diferentes. O objetivo desse processo é evitar a redução do valor do token com a saturação do mercado.
Futuro do projeto
O Flow é um projeto com muito a fazer para se declarar fora de sua versão beta. E ainda assim ele se destaca como um dos projetos de blockchain mais poderosos da atualidade. A Dapper Labs continua desenvolvendo ativamente este projeto e, de fato, construiu uma força enorme para alcançá-lo, não só financeiramente, mas também de usuários de negócios fortemente comprometidos com sua tecnologia. Nesse sentido, certamente há muito que ainda temos que ver de Flow e, muitas dessas coisas, serão boas notícias.