智能合约的定义

智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。

承诺定义了智能合约的本质和目的。以一个销售合约为例:卖家承诺发送货物,买家承诺支付合理的货款。数字形式意味着合约需要被写入计算机可执行的代码中,只要参与者达成协定,智能合约建立的权利和义务,就由一台
计算机或者计算机网络执行。

我们举个简单的例子,形象化地描述智能合约。

If Event_X_Happened:

Send(爱丽丝, 1000$)

Else:

Send(鲍伯, 1000$)

意思是:如果事件X发生,则合约给爱丽丝发送1000美元;否则,给鲍伯发送1000美元。

这就是最简单的合约。

智能合约模型示意,其中各组成部分的定义如下。

①合约参与者:执行智能合约的相关参与者。

②合约资源集合:智能合约执行涉及的参与者资源,比如参与各方账户、拥有的数字财产等。

③自动状态机:智能合约下一步执行的关键,包括当前资源状态判断、下一步合约事务执行选择等。

④合约事务集合:智能合约的下一步动作或行为集合,控制着合约资产并对接收到的外界信息进行回应。

智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是
按照事先的规则执行操作。

智能合约的实现需要底层协议支持,选择哪个协议取决于许多因素,最重要的因素是在合约履行期间被交易资产的本质。再次以销售合约为例。假设参与者同意货款以比特币支付,选择的协议很明显将会是比特币协议。在此协
议上,智能合约被实施。因此,合约必须要用到的数字形式就是比特币脚本语言。比特币脚本语言是一种非图灵完备的、命令式的、基于栈的编程语言。

关于区块链的其他知识

即将诞生的区块链总统
以太坊核心概念

猜你喜欢

转载自www.cnblogs.com/cxyzt/p/9048383.html
今日推荐