web3/concepts/smart-contracts.md

2.5 KiB
Raw Blame History

Smart Contracts

A unit of programmable logic that is stored on a blockchain and executed as part of a consensus-algorithm. Despite the namesake smart contracts have little if anything to do legal contracts as defined in standard Common Law. Smart contracts are simply programs which mediate the exchange of crypto asset on a blockchain network as part of a programmed prescription and which wallet actions can execute specific actions.

Oracle Problem

Since blockchain networks are self-contained, unlike with a normal computer program, there is no way for a smart contract to "pull" or fetch data from the public internet. Instead data has to be "pushed" into so-called oracle contracts which act as information services that provide external "real-world" data to contracts.

This fundamentally introduces a trust boundary issue as smart contracts then need to depend on a trusted thirty party data vendor and undermines the idealized form of decentralization that allegedly underpins the design and purpose of smart contracts.

Examples

References