智能合约是区块链实现可编程化的重要工具;在比特币时期,脚本仅限于描述交易得到内容和状态;随着智能合约的出现可以定义任何数据对象的状态擦欧总——>使其成为网络上的“法律条文”或者“商业共识”。相当于网络中的道德准则,不被第三方操控,公道在人心
智能合约是基于事件驱动有状态,可部署共享的分布式数据库上的计算机程序,多用IF-THEN语句。狭义来说,智能合约是设计相关商业逻辑和算法的程序代码,把人、法律和网络的复杂关系代码化;广义来说,智能合约是一种可以实现自我执行和自我验证的计算机协议。乍一看,与数据库中的触发器颇为相似。
智能合约的全生命周期包括:合约生成、合约发布和合约执行。
**合约生成:**其中合约规范和合约验证至关重要。合约规范是领域专家协定的,合约验证则需要在虚拟机上进行,这两部分必须保证合约文本和代码的一致性。
**合约发布:**类似于BTC中的交易发布,需要多个节点进行共识和验证。
**合约执行:**基于“事件触发”,智能合约会定期遍历每个合约的状态机和触发条件,将满足触发条件的合约推送到验证队列。
**合约实现:**通过赋予对象数字特性,将对象程序化并部署在区块链上,同时改变数字对象的状态(如分配转移)和数值。
确定性:不论何时何地,相同输入必有相同输出。
一致性:合约代码和合约文本一致,具有法律效应。
可终止性:在有限时间结束。利用非图灵完备(BTC)或计价器(以太坊)。
可观察和可验证性:通过数字签名和时间戳,保证合约不可篡改和可溯源。
去中心化:通过合约的监督和仲裁,减低人为干预风险。
高效实时性:无需三方中心机构参与
低成本:智能合约可以自我执行和自我验证
因为行为将被永久记录,可极大程度避免恶意行为对合约正常执行的干扰;
去中心化,避免了中心化因素的影响,提高智能合约在成本效率方面的优势;
当满足合约内容时,将自动启动智能合约的代码,既避免了手动过程,同时又保障了发行者无法违约;
由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
```![请添加图片描述](https://img-blog.csdnimg.cn/28003c971a784f10acfdde4ef9ec8a16.png)