Smart contracts are self-executing pieces of code that are managed on a blockchain. Most blockchains that support smart contracts, such as Ethereum, are public by default. This means all the data used in their smart contracts is exposed to the public. Secret Network improves upon traditional smart contracts by supporting encrypted inputs, encrypted outputs, and encrypted state for smart contracts – data privacy for sensitive information stored on the blockchain.