Um grafo acíclico dirigido, ou DAG (do inglês directed acyclic graph), é uma estrutura de modelagem e organização de dados usada com frequência em criptomoedas.
Diferentemente de uma blockchain, que é formada por blocos, os grafos acíclicos dirigidos têm vértices e arestas. Nesse modelo, as transações de cripto são registradas como vértices, empilhadas umas sobre as outras. Assim como na blockchain, porém, as transações são enviadas ao DAG pelos nós da rede. Para submeter uma transação, cada nó precisa cumprir uma pequena tarefa de prova de trabalho (PoW).
Basicamente, enquanto o sistema de uma blockchain lembra uma corrente, o do DAG parece mais um grafo. Hoje o modelo DAG é visto no setor como um possível substituto das blockchains no futuro, por causa da sua eficiência no armazenamento de dados e no processamento de transações online.
O modelo DAG também é apontado como uma resposta possível para o problema de descentralização que existe hoje no mercado cripto. Com ele, os mineradores não precisam competir por novos blocos para adicionar à corrente.
Como os nós são construídos em paralelo, as transações também podem ser processadas mais rápido. Os desenvolvedores olham para o DAG como uma solução melhor e mais segura, capaz de aprimorar bastante a usabilidade de uma rede assim que ela se tornar mais escalável.
Como funciona um DAG?
Como já dissemos, o grafo acíclico dirigido é mais eficiente para armazenar dados. Sua estrutura lembra uma árvore, com nós interligados fazendo o papel de "galhos".
Como cada nó pode ter mais de uma raiz de origem, o modelo permite que várias transações sejam validadas ao mesmo tempo. Isso acontece porque o usuário não precisa esperar uma transação terminar para processar a próxima.
Em um grafo acíclico dirigido, então, cada nova transação precisa referenciar transações anteriores antes de ser aceita pela rede. É o mesmo princípio que faz os blocos de uma blockchain referenciarem blocos anteriores. A lógica por trás disso é que uma transação só é efetivamente confirmada quando outra transação a referencia, e assim por diante.
Em um DAG, cada vértice representa uma transação. Não existem blocos, então também não é preciso minerar. As transações são construídas umas sobre as outras, em vez de serem agrupadas em blocos. Depois, como já mencionamos, tarefas de prova de trabalho são executadas sempre que um nó submete uma transação, para validar as transações anteriores e evitar spam.
Por padrão, em uma criptomoeda baseada em DAG, as novas transações são construídas sobre as mais antigas. A principal diferença em relação à blockchain é que, em um DAG, várias transações podem ser referenciadas de uma vez, e não apenas uma por vez.
Alguns sistemas têm um algoritmo que escolhe as "pontas" (tips), ou seja, as transações sobre as quais construir, com base no peso acumulado (a quantidade de confirmações que levam até aquela ponta).
A proteção contra gasto duplo nos DAGs funciona com os nós confirmando transações mais antigas ao percorrer um caminho de volta até a primeira transação do grafo. É assim que se confirma se o remetente tem saldo suficiente. Se um usuário construir sobre um caminho inválido, essa transação corre o risco de ser simplesmente ignorada.
Os conflitos gerados por caminhos diferentes são resolvidos por um algoritmo de decisão que dá preferência às pontas com maior peso acumulado.
Para que servem os DAGs?
O modelo DAG tenta resolver duas fragilidades apontadas na tecnologia blockchain: a descentralização e a escalabilidade. Ele também busca melhorar a segurança e a facilidade de uso.
De que maneira?
- Na blockchain do Bitcoin ou na plataforma Ethereum, os mineradores só conseguem produzir um bloco por vez. Por isso, novas transações só são validadas depois que a anterior é concluída. O modelo DAG elimina esses blocos, acrescentando as transações diretamente ao registro.
Com o fim dos blocos, o modelo DAG dispensa a mineração. Isso significa menos energia necessária para sustentar a rede. Os DAGs ainda trazem outras vantagens, como:
- Alta velocidade de transação, sem depender da criação de blocos
- Sem mineradores, também não há taxas de transação
- Menor consumo de energia e ganhos ambientais em comparação com a mineração
Por enquanto, no entanto, o uso de DAGs em cripto ainda está nos estágios iniciais. Diferentemente das blockchains, eles ainda não são totalmente descentralizados. Por isso, são usados principalmente para colocar redes de pé, e ainda não como um sistema capaz de sustentar uma rede estável.
Quais criptomoedas usam DAG?
Antigamente era impossível pensar em criptomoedas sem pensar em blockchain. Com o modelo DAG, porém, algumas criptomoedas já foram construídas usando essa tecnologia.
Alguns exemplos são Obyte, IOTA e Nano, para citar apenas alguns. Embora ainda seja relativamente nova, a estrutura DAG mostra um potencial enorme. Como dissemos, alguns projetos já a utilizam com sucesso. Os mais conhecidos são:
Obyte
O Obyte, ou ByteBall, é uma criptomoeda totalmente independente da blockchain, que implementou a estrutura DAG. Ainda assim, as transações no Obyte continuam tendo custo.
Isso acontece porque a rede Obyte usa um sistema de validadores que permite a dupla checagem das transações. Ela funciona com um algoritmo de consenso baseado em testemunhas: usuários confiáveis e reconhecidos que atuam como validadores.
O Obyte também oferece suporte a transações não rastreáveis e a contratos privados.
IOTA
A IOTA (de Internet of Things Applications) colocou no ar sua rede "blockchain sem blocos" em 2016. A ideia da IOTA é que todos os usuários se tornem, na prática, mineradores. Para validar uma transação, por exemplo, o usuário precisa verificar duas outras.
A IOTA usa uma rede formada por nós e tangles (emaranhados de nós), que servem para tornar o processo de validação mais rápido e eficiente.
Todos os usuários contribuem com uma pequena quantidade de poder computacional para a manutenção da rede, e todo mundo participa do consenso. Isso permite que a rede seja bastante descentralizada e escalável ao mesmo tempo.
As transações têm taxas praticamente nulas; por isso, a IOTA é vista como uma criptomoeda alternativa econômica para micropagamentos.
Nano
O Nano também é uma criptomoeda que funciona sobre o sistema DAG. Ele tem blockchains independentes conectadas por nós, no que se chama de tecnologia block-lattice. Na prática, é uma mistura de DAG com blockchain.
Cada usuário tem a própria carteira e a própria blockchain. Só o usuário pode fazer alterações na sua carteira/blockchain. As transações são concluídas quando remetente e destinatário executam a operação em suas respectivas blockchains.
O Nano oferece taxas de transação zero e alta velocidade de processamento aos seus usuários.
Qual é o papel do DAG na blockchain?
O DAG pode ser visto como uma alternativa viável à blockchain, embora ainda precise de ajustes. O modelo DAG busca resolver problemas comuns da tecnologia blockchain, como custo, velocidade e escalabilidade.
Na prática, as duas tecnologias registram transações em um livro-razão digital e trabalham em direção ao mesmo objetivo. O que as diferencia é principalmente a arquitetura que cada modelo usa para armazenar os dados.
DAG versus blockchain
Blockchains e DAGs registram transações em um livro-razão distribuído, mas por caminhos diferentes.
Veja abaixo uma comparação rápida entre os dois, em termos de vantagens e desvantagens:
Vantagens do DAG
- Adequado para microtransações e grandes volumes de operações
- Elimina a necessidade de equipamentos de mineração
- As taxas podem ser reduzidas drasticamente
- Menor consumo de energia
Desvantagens do DAG
- Vulnerável a ataques quando o volume de transações é baixo
- Ainda em estágio inicial; não atingiu níveis relevantes de descentralização
Vantagens da blockchain
- Consolidada e amplamente usada por criptomoedas como Bitcoin e Ethereum
- Transparente e imutável, com segurança elevada
- Vantajosa em custo para transações de alto valor
Desvantagens da blockchain
- Exige muito em termos de armazenamento e banda de rede
- Consome uma grande quantidade de energia
- Taxas de transação altas
No fim das contas, decidir qual modelo usar depende dos objetivos de cada negócio. Como vimos, cada modelo tem seus pontos fortes e fracos, e um deles pode ser mais adequado dependendo das suas necessidades.
