“The SHA256 algorithm will calculate a unique hash, given those inputs.”
Is “unique” really the right word to use, here? Given a vector of inputs Input_1, aren’t there an infinite number of input vectors Input_i that will hash to the same output? I think you mean that a given input will always map to the same hash (i.e. the hashing process is deterministic)?
Also, in steps 3, 5, and 7, probably worth putting footnotes saying that the hashs are only staggeringly unlikely to become invalid, rather than certain.
Other than those nitpicks, though, this seems like a really good intro to the subject — I’d been tangentially aware of the general idea, but introducing the notions of difficulty, and of explicitly including the previousHash in the current hash calculation, made it all become a lot clearer to me.
Looking forward to a follow-up article explaining how consensus is achieved on a network