智能合约是 1990s 年代由尼克萨博提出的理念:一个智能合约是一套以数字形式定义的约定,包括合约参与方可以在上面执行这些约定的协议。
但是由于缺少可信的执行环境,智能合约并没有被应用到实际产业中,自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,以太坊首先看到了区块链和智能合约的契合,发布了白皮书《以太坊:下一代智能合约和去中心化应用平台》,并一直致力于将以太坊打造成最佳智能合约平台,所以比特币引领区块链,以太坊复活智能合约。
智能合约程序不只是一个可以自动执行的计算机程序:它自己就是一个系统参与者。它对接收到的信息进行回应,它可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。
智能合约模型:它是运行在可复制、共享的账本上的计算机程序,可以处理信息,接收、储存和发送价值。
以下是一个简单的智能合约的金融应用:
假设 Alice 想确保她的资金安全,但她担心丢失或者被黑客盗走私钥。她把以太币放到和 Bob 签订的一个合约里,如下所示,这合同是一个银行:
Alice 单独每天最多可提取 1% 的资金。
Bob 单独每天最多可提取 1% 的资金,但 Alice 可以用她的私钥创建一个交易取消 Bob 的提现权限。
Alice 和 Bob 一起可以任意提取资金。
一般来讲,每天 1% 对 Alice 足够了,如果 Alice 想提现更多她可以联系 Bob 寻求帮助。如果 Alice 的私钥被盗,她可以立即找到 Bob 把她 的资金转移到一个新合同里。如果她弄丢了她的私钥,Bob 可以慢慢地把钱提出。如果 Bob 表现出了恶意,她可以关掉他的提现权限。