Hash Technology
摘要
This chapter introduces hash technologies that are commonly used in databases, blockchains, Bitcoin, cryptocurrencies, Ethereum, and smart contracts. The first section introduces hash table operations. In the second section, hash table open addressing technologies are described, which include linear probing, plus 3 rehash, quadratic probing, and doubling hashing. In the third section, hash table closed addressing technology is introduced. In the fourth section, examples of each of these hash table operations are described. In the fifth section, the hash table load factor and dynamic data structures areintroduced, which are used in determining when a hash table or database needs to be expanded. The sixth section introduces the Secure Hash Algorithm (SHA) family protocols, which are used in allblockchains, Bitcoin, cryptocurrencies, Ethereum, and smart contracts. SHA based preimage resistance and second-preimage resistance as well as preimage attacks and second-preimage attacks are described.Considering that Bitcoin uses the double hashed SHA-256 (SHA256D) mechanism of the SHA-2 family protocols, and Ethereum uses the SHA-3 family protocols, evidently the contents of this chapterare very important.