智能合约的诞生可以追溯到1994年,几乎与互联网同龄。它是为比T币打下基础而受到广泛赞誉的密码学家尼克萨博(Nick Szabo)首次提出。 从概念上来说,智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。 简单地说,智能合约可以理解为传统合约或协议的数字化版本,更是一种程序。该合约需要在特殊的平台或数据库上运行,可以理解为计算机程序,在满足特定条件后就能自动执行。 如果能够通过区块链来发行法币,那么也可以通过智能合约技术,将代码嵌入到法币发行的行为中,则这部分法币可以被称为“可编程货币”。 比如,如果央行指定某一部分资金是发放到农业相关的账户,那么则可以对这部分资金写入相应程序,指定该部分资金只能进入到农业相关的账户中,那么这部分资金在任何情况下也不可能会被挪用到其他的账户中。 再比如,与房屋租金协议相关的智能合约只有当业主收到租金才会触发自动执行,并将公寓的安全密钥发送给租户。这个合约可以确保租金的定期支付,并且每个月重启。 开发人员会为智能合约撰写代码。智能合约可用于交易和(或)两方/多方之间的任何交换行为。该代码包含一些会触发合约自动执行的条件。 一旦编码完成,智能合约就会被上传到区块链网络上,即它们被发送到所有连接到网络的设备上。从另一种区块链应用——比特币——的情况来说,这就好像把关于比特币交易的网络更新上传到区块链上。 一旦将数据上传到所有设备上,用户就可以与执行程序代码的结果达成协议。然后更新数据库以记录合约的执行情况,并监督合约的条款以检查合规性。
这样一来,单独一方就无法操纵合约,因为对智能合约执行的控制权不在任何单独一方的手中。 基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。 事务主要包含需要发送的数据;而事件则是对这些数据的描述信息。事务及事件信息传入智能合约后,合约资源集合中的资源状态会被更新,进而触发智能合约进行状态机判断。 如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作自动执行。 |