Tangle é uma tecnologia de registro distribuído (em Inglês, distributed ledger) com arquitetura baseada em grafos acíclicos dirigidos (DAG), diferentemente de sua tecnologia oriunda, Blockchains, que é caracterizada por ser uma cadeia de blocos com tamanho finito, que podem apenas ser produzidos (e validados) em intervalos de tempo discretos regulares. Sendo assim, a arquitetura das Blockchains resultam num gargalo de produção (de blocos) o que leva a altas taxas de transação que devem ser pagas à mineradores. Foi então em meados de 2014"On the Tangle, White Papers, Proofs, Airplanes, and Local Modifiers" escrito por Serguei Popov, criador da Tangle, em forúms do Nxt e do Bitcointalk, que começaram a ser discutidas as primeiras ideias acerca dos registros distribuídos baseados em DAGs, com o principal objetivo de eliminar as taxas e o gargalo de produção presente em Blockchains, criando um ambiente homogêneo onde usuários são quem verificam as transações da rede.

Em sua forma inicial ainda existiam algumas questões que precisavam ser abordadas pela nova tecnologia, como por exemplo: Onde o próximo bloco/transação deve ser adicionado? E como/quando uma transação será considerada como confirmada (ideia consenso da rede)? Foi depois de intensa discussão e pensamento que surgiu o projeto conhecido como IOTA com uma nova tecnologia denominada de Tangle capaz de resolver as questões levantadas. Nesse sistema, cada transação (representada por um nó do grafo) precisa aprovar duas transações anteriores. O consenso pode ser provido de forma distribuída, como sugerido no artigo original da tecnologia.

O usuário/nó com o intuito de enviar uma nova transação, tendo passado pela primeira etapa de escolher duas outras transações para aprovar, deve checar se as transações não são conflitantes; transações conflitantes não devem ser aprovadas"On the Tangle, White Papers, Proofs, Airplanes, and Local Modifiers" escrito por Serguei Popov, criador da Tangle, na prática, é irrelevante saber como o peso de uma transação foi obtido. A ideia geral é que transações com maior peso são consideradas mais "importantes". Adicionalmente, a fim de evitar spamming e outros tipos de ataques, é considerado que não existe um nó/entidade na rede capaz de criar uma abundância de transações com pesos "aceitáveis" dentro de um curto período de tempo.

Peso Cumulativo

Outra noção presente na Tangle são pesos cumulativos, que são definidos como a soma do peso de uma transação com o peso de todas as transações que validam direta- ou indiretamente a transação

Na figura ao lado vemos a estrutura da Tangle com os pesos das transações no canto inferior direito de cada caixa (que representa uma transação) e com os pesos cumulativos em negrito no canto superior esquerdo de cada caixa. Podemos ver como os pesos cumulativos modificam após a adição de uma nova transação .

Outro ponto importante a se notar é que a Tangle é assíncrona, ou seja, ela consegue tolerar transações conflitantes que foram criadas assincronamente. Em geral, os nós da rede não necessariamente enxergam as mesmas transações, entretanto, no caso de existirem transações conflitantes os nós devem decidir quais irão virar orfãos, ou seja, quais deixarão de ser validados de forma indireta, ao mesmo tempo que ambas as transações continuam na Tangle.

Resolvendo Transações Conflitantes A principal regra que os nós usam para decidir entre duas transações conflitantes é rodar o algoritmo de seleção de tips diversas vezes e observar qual das duas transações tem maior probabilidade de ser aprovada indiretamente sepa tip selecionada. Por exemplo, se uma transação foi selecionada em 97 das 100 execuções do algoritmo de seleção de tips, então essa transação é confirmada com 97% de confidência

Referências

Categoria:Distribuição de programas de computador Categoria:P2P Categoria:Sistemas de pagamento Categoria:Criptomoedas Categoria:Criptografia Categoria:Comércio eletrónico Categoria:Computação