Introdução
Quando você pensa em criptomoeda, os termos “blockchain” ou “tecnologia de contabilidade distribuída” provavelmente vêm à mente. Desde o lançamento do Bitcoin, centenas de outras criptomoedas foram criadas. A maioria deles depende de arquitetura de rede semelhante. Suas estruturas de dados permitem aos usuários transferir valor ou interagir com aplicações descentralizadas.
Em uma blockchain, um novo bloco é adicionado periodicamente a uma cadeia crescente de blocos. Cada bloco está conectado ao anterior por meio de uma espécie de link criptográfico (especificamente, um hash). Em cada um desses blocos estão transações recentes que foram transmitidas pelos usuários.
Mas muitas vezes há um período de espera entre a transmissão de uma transação e sua inclusão em um bloco. Pense nisso como esperar um trem em uma estação. Dependendo do tamanho dos vagões (tamanho do bloco) e do número de outras pessoas esperando (transações pendentes), talvez você nem consiga pegar o próximo trem. Ou mesmo aquele depois disso. Você pode esperar de segundos a horas para que a transação seja confirmada.
Para muitos, esta é uma troca decente. Afinal, ele proporciona um altíssimo grau de segurança sem depender de um coordenador centralizado. Para outros, a tecnologia blockchain tem data de validade. Os detratores acreditam que, no longo prazo, os problemas de escalabilidade enfrentados pela tecnologia blockchain impedirão a adoção em massa.
Alguns acreditam que o futuro das redes de pagamentos com criptomoedas reside em uma arquitetura totalmente diferente: gráficos acíclicos direcionados (ou DAGs).
O que é um DAG?
Um DAG é um tipo diferente de estrutura de dados – pense nele como um banco de dados que conecta diferentes informações. "Gráfico acíclico direcionado" é um termo carregado, então vamos começar dividindo-o.

Um gráfico acíclico direcionado.
Conceitualmente, os DAGs se parecem com o acima. Eles são compostos de vértices (as esferas) e arestas (as linhas que os conectam). Eles são direcionados porque seguem em uma direção (você pode ver isso ilustrado com as setas). Eles são acíclicos (ou seja, não cíclicos) porque os vértices não retornam a si mesmos – se você começar em um ponto e seguir o gráfico, não poderá retornar ao mesmo ponto. Isto ficará mais claro em breve.
Essas estruturas de dados são geralmente usadas para modelar dados. Você pode contar com um DAG nas áreas científicas ou médicas para observar a relação entre as variáveis e determinar como elas impactam umas às outras. Por exemplo, você pode considerar coisas como nutrição, ciclos de sono e sintomas físicos, para poder estabelecer ligações entre eles para estabelecer como afetam um paciente.
Para nossos propósitos, estamos mais interessados em como eles podem ajudar a alcançar o consenso em uma rede distribuída de criptomoedas.
Como funciona um DAG?
Numa criptomoeda baseada em DAG, cada vértice da estrutura representa uma transação. Não há noção de blocos aqui, nem é necessária mineração para estender o banco de dados. Portanto, em vez de reunir as transações em blocos, cada transação é construída sobre outra. Ainda assim, há uma pequena operação de Prova de Trabalho que é realizada quando um nó envia uma transação. Isso garante que a rede não receba spam e também valida transações anteriores.
Para que uma nova transação seja adicionada, ela deve ser construída sobre as mais antigas. Suponha que Alice crie uma nova transação. Para que seja reconhecida, esta transação deve fazer referência a anteriores. Um pouco como um bloco no Bitcoin faz referência ao que veio antes dele, mas há várias transações referenciadas.
Em alguns sistemas, um algoritmo selecionará em quais transações (ou "dicas") uma nova transação deverá ser baseada. As pontas com maior probabilidade de serem selecionadas são aquelas que possuem maior peso acumulado – uma medida de quantas confirmações o caminho até a ponta possui.
As transações sobre as quais Alice construirá não estão confirmadas. Mas uma vez que Alice faz referência a eles, eles são confirmados. A transação de Alice agora não foi confirmada, então outra pessoa deve construir sobre ela antes de ser aceita.
É mais provável que os usuários confirmem transações com peso “maior” para que o sistema continue crescendo. Caso contrário, nada impediria os usuários de desenvolver continuamente transações mais antigas.
Com blockchains, a proteção contra gastos duplos é bastante fácil. Os mesmos fundos não podem ser gastos duas vezes em um bloco – os nós podem detectar facilmente qualquer tentativa e rejeitarão qualquer bloco que contenha transações conflitantes. Como é muito caro para os mineradores produzir blocos, eles são incentivados a jogar limpo.
Os DAGs também possuem um mecanismo para evitar gastos duplos. É meio semelhante, mas sem mineradores. Quando um nó confirma transações mais antigas, ele avalia todo o caminho de volta à primeira transação do DAG para ter certeza de que o remetente tem saldo suficiente. Pode haver vários caminhos, mas apenas um precisa ser verificado.

Se os usuários construírem em um caminho inválido, eles correm o risco de sua própria transação ser ignorada. O deles poderia ser legítimo, mas como o anterior não o foi, ninguém vai querer estender esse caminho específico.
Parece pouco intuitivo a princípio – você não poderia acabar em uma situação onde existem múltiplas filiais que não estão cientes umas das outras? Então, as pessoas não poderiam gastar os mesmos fundos nessas diferentes agências?

Essa é sim uma possibilidade, mas é resolvida com um algoritmo de seleção que favorece pontas com maior peso acumulado. Isso significa que, com o tempo, você acabará com um galho muito mais forte que os demais. Os mais fracos serão abandonados e a rede continuará a construir-se sobre os mais pesados.
Tal como acontece com os blockchains, não existe uma finalidade absoluta – você nunca pode ter 100% de certeza de que uma transação não será revertida. É incrivelmente improvável, mas teoricamente você poderia “desfazer” um bloco Bitcoin ou Ethereum, revertendo todas as transações internas. Quanto mais blocos adicionados após aquele em que sua transação está, mais confiança você poderá ter nela. É por isso que é recomendado que você aguarde seis confirmações antes de gastar os fundos.
Em um DAG como o Tangle da IOTA, há uma ideia de confiança na confirmação. O algoritmo de seleção é executado 100 vezes, e você conta quantas vezes sua transação foi aprovada direta ou indiretamente nas dicas selecionadas. Quanto maior a porcentagem, mais confiança você terá de que sua transação permanecerá “liquidada”.
Isso pode parecer que leva a uma experiência ruim para o usuário. Mas esse não é o caso. Se Alice enviar a Bob 10 MagicDAGTokens, ela não precisará se preocupar em selecionar as pontas corretas do gráfico. Nos bastidores, sua carteira pode fazer o seguinte:
Selecione dicas pesadas (lembre-se que são as que têm mais confirmações acumuladas).
Siga o caminho de volta às transações anteriores para garantir que as gorjetas tenham saldo suficiente para gastar.
Uma vez satisfeitos, eles adicionam sua transação ao DAG, confirmando as transações nas quais foram construídos.
Para Alice, isso se parecerá apenas com o fluxo de trabalho normal da criptomoeda. Ela insere o endereço de Bob e o valor que deseja gastar e clica em enviar. A lista acima é a Prova de Trabalho que cada participante executa ao criar uma transação.
➠ Quer começar a usar criptomoedas? Compre Bitcoin na Binance!
Prós e contras de gráficos acíclicos direcionados
Prós dos DAGs
Velocidade
Sem restrições de horário de bloqueio, qualquer pessoa pode transmitir e ter suas transações processadas a qualquer momento. Não há limite para o número de transações que os usuários enviam, desde que confirmem as mais antigas.
Sem mineração
Os DAGs não usam algoritmos de consenso PoW como estamos acostumados. A sua pegada de carbono é, portanto, uma fração da das criptomoedas que dependem da mineração para proteger a sua rede blockchain.
Sem taxas de transação
Como não existem mineradores, os usuários não precisam pagar taxas para transmitir suas transações. Dito isto, alguns exigem que uma pequena taxa seja paga a tipos especiais de nós. Taxas baixas (ou melhor, taxas zero) são atraentes para micropagamentos, pois seu propósito é frustrado com taxas de rede significativas.
Sem problemas de escalabilidade
Sem restrições de tempo de bloqueio, os DAGs podem processar muito mais transações por segundo do que as redes blockchain tradicionais. Muitos proponentes acreditam que isso os tornará valiosos em casos de uso da Internet das Coisas (IoT), onde todos os tipos de máquinas interagirão entre si.
Contras dos DAGs
Não totalmente descentralizado
Os protocolos que dependem de DAGs possuem vários elementos de centralização. Para alguns, é supostamente uma solução de curto prazo para inicializar a rede, mas resta saber se os DAGs podem prosperar sem a intervenção de terceiros. Caso contrário, abrem-se a vetores de ataque que poderão eventualmente paralisar as suas redes.
Não testado em escala
Embora as criptomoedas baseadas em DAG já existam há alguns anos, elas ainda têm um longo caminho a percorrer antes de serem amplamente utilizadas. Como tal, é difícil prever que incentivos os utilizadores poderão ter para explorar o sistema no futuro.
Pensamentos finais
Os gráficos acíclicos direcionados são certamente uma tecnologia interessante para a construção de redes de criptomoedas. Até agora, existem relativamente poucos projetos que utilizam a estrutura de dados e eles ainda não evoluíram totalmente.
Dito isto, se conseguirem concretizar o seu potencial, poderão alimentar ecossistemas massivamente escaláveis. A tecnologia DAG tem uma infinidade de casos de uso em áreas que exigem alto rendimento e sem taxas, como na Internet das Coisas (IoT) e micropagamentos.



