Blockchain across Oracle
上QQ阅读APP看书,第一时间看更新

Cryptographic protocol, hash functions, and digital signatures

These three capabilitiescryptographic protocols, hash functions, and digital signatures—secure and digitally sign the data in the blockchain. A cryptographic protocol performs a security-related function by applying cryptographic methods, and it describes the algorithms such as hash functions should be used. The protocol used by a blockchain usually incorporates at least these aspects:

  • Entity authentication
  • Public/private key cryptography
  • Secured application-level data transport
  • Fingerprint/signature generation
  • Data encryption methods

To prove that the data on the blockchain has not been tampered with, transactions, blocks, and participating nodes are signed by generating digital signatures (or fingerprints) on the content of the data using hash functions. A hash function takes any input data and produces an output, which, based on the algorithm in use, has a different fixed length. The output of a hash function is always a string, for example, an SHA256 hash is a 256-bit (32 byte) string of the input data. However, the input could be a list of transactions, and the output would be the digital signature that is placed on the block so that the content of the block (transactions) can be easily validated by others. In the given example, SHA stands for Secure Hash Algorithms, which are a family of cryptographic hash functions published by the National Institute of Standards and Technology.