public bool IsValid() { for (int i = 1; i < chain.Count; i++) { Block currentBlock = chain[i]; Block previousBlock = chain[i - 1]; if (currentBlock.GetHash() != currentBlock.CalculateHash()) { return(false); } else if (currentBlock.GetPreviousHash() != previousBlock.GetHash()) { return(false); } } return(true); }