从技术角度来说,智能合约可以看作一种计算机程序,这种程序可以自主地执行全部或部分和合约相关的操作,并产生相应的可以被验证的证据,来说明执行合约操作的有效性。
智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
简单理解的话,你可以把自动售货机看成一个销售商品的智能合约,执行的就是你和机器主人之间关于如何购买一瓶饮料的合约。
2. 为什么要智能合约
智能合约看上去就是一段计算机执行程序,满足可准确自动执行即可,那么为什么用传统的技术为何很难实现,而需要区块链技术等新技术呢?
以太坊图灵完备的智能合约丰富了区块链从比特币单一数字资产去中心化转移到去中心化的全球分布式计算机变为可能,虽然在以太坊网络运行代码成本比较高。
二、智能合约的工作原理 1. 构建合约
多方用户共同参与制定一份智能合约,其中明确规定了交易双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。
2、存储合约
合约通过P2P网络扩散并存入区块链,全网的各个节点都可以接收到这份合约。
发布智能合约的时候需要消耗一定的通证,而消耗通证的数量是根据智能合约的难度来决定,就是说这个智能合约的处理逻辑越长、越多,那么你消耗的通证就越多。
3. 执行合约
智能合约会定期检查是否存在相关事件和触发条件,将满足条件的事件推送到待验证的队列中,区块链上的验证节点先对事件进行签名认证,以确保其有效性,等大多数验证节点对该事件达成共识,智能合约将成功执行,并通知用户。
EVM
EVM是一个合约虚拟机,它用于执行智能合约,存在于每一个挖矿节点中。
当一份智能合约被触发的时候,智能合约虚拟机就会执行智能合约中的操作。
三、参与 1. 公链
对于以太坊这样的公链来说,任何用户任何时候都可以编写智能合约部署到以太坊上。
有钱可以部署在公链,公链花真金白银的ether。
没钱自己玩部署在私有链,私链测试似的随便玩,
2. 联盟链
对于fisco bcos这样的联盟链来说,智能合约都是联盟链维护者提前编写和部署的,其它成员并不能自主编写参与部署?
只要有权限,就可以自主参与编写与部署。
智能合约这么火,但是你连它的执行原理都不知道?
https://www.sohu.com/a/260072502_100271565
智能合约是如何被执行的?
https://www.qubi8.com/archives/147773.html