Cryptography, Blockchain, and Smart Contracts
Cryptography is one of the fundamental pillars of blockchain, referring to a branch of mathematics and computer science that can be used to protect information or validate the authenticity of a given piece of data.
In addition to its role in a blockchain’s consensus mechanism, cryptography is used to create digital signatures, which are used to prove that an individual has the right to perform a given action.
Through public-key cryptography, keys are created in asymmetric pairs; one public key that can be freely shared, and one private key that must be kept secret. In essence, the private key is used to prove ownership of the public key.
The use of cryptography coupled with the immutability of a blockchain allows individuals to send or receive value (in the form of digital assets such as cryptocurrencies) safely without requiring trust in a third party. This trustlessness is instrinsically linked to the decentralization of the blockchain.
Transfer of value in this manner is a desirable property, however it is limited. For more complex operations, smart contracts can be used. Smart contracts are a set of programmed instructions that can be run by nodes within a blockchain network, typically through the use of a virtual machine.
Smart contracts are executed automatically and deterministically, ensuring that the results are predictable. Users can interact with contract-based services in much the same way they would interact with an intermediary in the real world, all without compromising on trust.
A good resource with a more detailed primer on blockchain technology and its implications can be found here.