As with blockchains, there isn't absolute finality – you can never be 100% sure that a transaction won't be reversed. It's incredibly unlikely, but you could theoretically "undo" a Bitcoin or Ethereum block, reversing all of the transactions inside. The more blocks added after the one your transaction is in, the more confidence you can have in it. This is why it's recommended that you wait for six confirmations before spending funds.
In a DAG such as IOTA's Tangle, there is an idea of confirmation confidence. The selection algorithm is run 100 times, and you count how many times your transaction has been directly or indirectly approved in the selected tips. The higher the percentage, the more confidence you can have that your transaction will remain "settled."
This might seem like it leads to bad user experience. But that isn't the case. If Alice sends Bob 10 MagicDAGTokens, she doesn't need to worry about selecting the right tips of the graph. Under the hood, her wallet might do the following:
- Select heavy tips (remember, these are the ones with the most accumulated confirmations).
- Follow the path back through previous transactions to make sure the tips have a sufficient balance to spend.
- Once satisfied, they add their transaction to the DAG, confirming the transactions they're built on.
To Alice, this will just look like the regular cryptocurrency workflow. She enters Bob's address and the amount she wants to spend, then presses send. The list above is the Proof of Work that every participant runs when creating a transaction.
Pros and cons of directed acyclic graphs
Pros of DAGs
Unrestricted by block times, anyone can broadcast and have their transactions processed at any time. There's no limit on the number of transactions that users submit, provided they confirm older ones as they do.
DAGs don't use PoW consensus algorithms in the way we're accustomed to. Their carbon footprint is thus a fraction of that of cryptocurrencies that rely on mining to secure their blockchain network.