Dagger-Hashimoto (or what's become of it) in layman's terms

GenoilGenoil 0xeb9310b185455f863f526dab3d245809f6854b4dMember Posts: 769 ✭✭✭

I'm trying to understand Ethash' Proof of work system, a.k.a. "Dagger-Hashimoto". I've read the readme and the pages linked from that, but I guess I'm just not clever enough to wrap my head around what's written there. But this thing keeps haunting me, I really want to understand what is happening there. So I'm going to start off with writing some assumptions, and hopefully you can either confirm or correct those.
  1. At genesis, there is Block 0. This block will detemine the seed hash of the first Dagger dataset
  2. This seed hash is used to generate a 32MB cache.
  3. The word cache is confusing. It is not a part of the Dagger dataset, but cryptographically related. I don't understand how. Something with 256 parents and FNV
  4. The cache is used to generate the 1GB Dagger dataset
  5. This dataset is the same on every (mining) client.
  6. There exist two ways to computer hash, a "heavy" and a "lightweight" version. The "heavy" one needs the full dataset and the "lightweight" only needs the cache.
  7. The "heavy" hash function is required to mine, the "lightweight" is only used to verify. Or not. Because in the CL miner code it only seems to use the cache.
  8. I don't understand the actual structure of the dag file, nor that of the cache, so I also don't understand the actual hashing routine. Is there a way to visualize / explain it without getting too much into cryptography?
  9. After a x number of blocks, a new and bigger Dagger file is created based on the seed hash of block x and the whole thign starts again.
Writing this down raises so many questions! It's mind-boggling...I don't know where to start..

Sign In or Register to comment.