3 ms·
A smart contract is a contract that can be executed with the trust parameters you set, these parameters are less limited than typical contracts have since they
by lappa 11y ago
A smart contract is a contract that can be executed with the trust parameters you set, these parameters are less limited than typical contracts have since they don't have an inherent necessity to trust a government or even a counterparty.
Some contracts don't require anyone's trust. The most basic "smart contract" is a Bitcoin payment, the contract says "pay this to anyone who can produce a signature corresponding to the public key I have hashed in this contract"[1].
The less used smart contract involving cryptography can be "pay this amount to anyone who can find any sha256 collision"[2], or "flip a trustless N-sided coin and pay someone based on the outcome"[3], or in the future we could play more complex games and trustlessly pay the winner as long as we can create a trustless proof that the winner is in fact the winner.
There are also possible smart contracts that may allow individuals to move their money to another system, be they trustless like a sidechain or lightning hub, or trusty like Open Transactions, which has federated trust between a set of individuals.
Another form of trusty transaction is multisig escrow, where you can have individuals vote on who gets the money. Unlike giving an intermediary money they can run off with, you give an intermediary or set of intermediaries a vote on where the money ends up[4]. With multisig combined with nlocktime you can have money spendable by you if you verify your identity (usually through email) to an authority. If the authority refuses to let you spend, then you can get your funds back when your nlocktime transaction expires. They cannot spend your money though[5].
In short, when you have programmable money you can create a smart contract that allows funds to be redeemed by getting information from trusted external sources or internal trustless cryptography.
[1] https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29 https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bi...
[2] http://lists.randombit.net/pipermail/cryptography/2013-September/005301.html http://lists.randombit.net/pipermail/cryptography/2013-Septe...
[3] http://arxiv.org/pdf/1402.3698v1.pdf http://arxiv.org/pdf/1402.3698v1.pdf
[4] https://en.bitcoin.it/wiki/Contract#Trust_minimization:_multiple_independent_oracles https://en.bitcoin.it/wiki/Contract#Trust_minimization:_mult...
[5] https://en.bitcoin.it/wiki/GreenAddress https://en.bitcoin.it/wiki/GreenAddress