What the heck are DAGs?
You've probably heard of DAGs (Directed Acyclic Graphs) because of Ethereum. If you're familar with Graph Theory, have used Graph DBs or Binary Trees. Grasping the concept of DAGs shouldn't be a problem. Basically think of it this way, every edge represents it's current and next vertex. The only rule is you can't have a circular insertion of vertexes...
Why not Linked Lists?
Computationally speaking, a linked list would be far superior then a DAG in look up time. And honestly it shows in Ethereum's core tech. That shit is slow as fuck! But there's a lot of benefits to DAGs. Vitalik calls it "memory hard" in his own little white paper. Uhh? Ok... 😂
How does this shit even work?
Honestly, people complicate the fuck out of these concepts. But they're simple as shit... It's literally a graph that just doesn't allow circular insertions of vertexes. That's ALL it is... Here's a code sample to illustrate an implementation of DAGs.
Man, I thought this shit would be some cool as shit algorithm like Fourier Transforms when I first heard of it. When I actually learned about it... It's just some basic graph stuff. Oh well! Hopefully you learned something!