智能合约就是传统合约的数字化版本,简单来讲,就是一段计算机程序,可以在满足其源代码中写入的条件时自行执行。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。智能合约一旦编写好就可以被用户信赖,合约条款不能被改变,因此合约是不可更改的。
智能合约看上去就是一段计算机执行程序,满足条件时即可准确自动执行,那么为什么用传统的技术为何很难实现,而需要区块链等新技术呢?传统技术即使通过软件限制、性能优化等方法,也无法同时实现区块链的特性:一是数据无法删除、修改,只能新增,保证了历史的可追溯,同时作恶的成本将很高,因为其作恶行为将被永远记录;二是去中心化,避免了中心化因素的影响。
对于那些了解什么是区块链的人来说,智能合约如何融入区块链的架构似乎是显而易见的。在一个完全去中心化的空间中,没有人拥有大量权力,没有中介机构和第三方来处理合规性和共识。正如我们前面提到的指南所解释的,共识是通过不依赖人工干预的预设机制达成的。程序的合规性和执行也是如此:智能合约是这些概念的程序化实现,消除了人们拥有这种权力的需要。
<div className="confirmButton"> <button onClick={props.onOk}>Sure</button> <button onClick={props.onCancel}>Cancel</button> </div> </div> </BackDrop>;
基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据;而事件则是对这些数据的描述信息。事务及事件信息传入智能合约后,合约资源集合中的资源状态会被更新,进而触发智能合约进行状态机判断。如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作自动执行。