Cryptography
The provable method to establish trust in a transaction
Last updated
The provable method to establish trust in a transaction
Last updated
Cryptography is the study of the principles and techniques by which information can be transformed from its original form to a form that is not human readable
Information can be known only to its recipient (holder of the "secret key")
Difficult to read by an unauthorized person
Only the recipient of the message can read the information easily
A hash function is any that can be used to map of arbitrary size to fixed-size values, though there are some hash functions that support variable length output. The values returned by a hash function are called hash values, hash codes, hash digests, digests, or simply hashes. The values are usually used to index a fixed-size table called a . Use of a hash function to index a hash table is called hashing or scatter storage addressing.
Merkle trees are used to "summarize" and store all the transactions in a block, producing an overall digital fingerprint of the entire set of transactions, providing a very efficient process to verify whether a transaction is included in a block.
According to Andreas M. Antonopoulos, in "The Bitcoin Protocol"
Public Key Cryptography provides a mechanism to secure and validate information between two parties securely and safely. The public key is linked to a corresponding private key. A public key is a publicly available cryptographic artifact that allows users to encrypt information that only you would then be able to decrypt. Example workflow: Pat has a message they want to send you. Pat can use your public key to encrypt the message. That message can now only be decrypted with the corresponding private key that the public key was linked to.
Anyone can encrypt a message using the recipient's public key
Only the private key owner can decrypt messages encrypted with the corresponding public key
Only the private key owner can sign/authorize transactions (digital signature)
The public key confirms the sender's identity, verifying that the private key holder sent the message
In and , a hash tree or Merkle tree is a data structure in which every "leaf" (a node with no "child" nodes) is labelled with the of a data block. Every other node that is not a leaf is labelled with the cryptographic hash of the labels of its child nodes. A hash tree allows efficient and secure verification of the contents of a large . A hash tree is a generalization of a and a .