请选择 进入手机版 | 继续访问电脑版

智能合约 的 解读

[复制链接]

3

主题

14

帖子

69

积分

等待验证会员

积分
69
发表于 2018-6-24 15:04:17 | 显示全部楼层 |阅读模式
智能合约的定义

智能合约是由尼克•萨博在1996年首次提出的概念。更确切的说,它是出现在比特币时代之前的,他对智能合约的定义如下:


一个智能合约是一套以数字形式定义的约定,包括合约参与方可以在上面执行这些约定的协议,智能合约的基本思想是,各种各样的合约条款可以嵌入到我们使用的硬件和软件中,从而使得攻击者需要很大的代价去攻击。

因此,尼克萨博设想了一种能够自动执行的智能合约,而且攻击它的代价是昂贵的。很显然,当区块链出现的时候,人们就已经开始了努力尝试用区块链来实现这种可自动执行且攻击代价昂贵的智能合约。毕竟,PoW共识算法之下回溯更改区块中的一笔交易,代价是巨大的;而且可以提供自动执行的审查交易进入以太坊等。他们保证了图灵完备性,意味着什么都可以执行。

所有这些新的智能合约的平台,为用户提供了一个新的去中心化的世界:编写和执行从不停止的代码成为可能,这就导致了未来各种各样的创新,比如“去中心化的优步”、“去中心化的爱彼迎”以及“去中心化的黑暗网络市场”。

简而言之,智能合约就是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。其中,一套承诺指的是合约参与方同意的权利和义务。这些承诺定义了合约的本质和目的。

数字形式则意味着合约不得不写入计算机可读的代码中。这是必须的,因为只要参与方达成协定,智能合约建立的权利和义务,是由一台计算机或者计算机网络执行。






回复

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 15:04:56 | 显示全部楼层
智能合约的工作原理

    基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据;而事件则是对这些数据的描述信息。事务及事件信息传入智能合约后,合约资源集合中的资源状态会被更新,进而触发智能合约进行状态机判断。如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作自动执行。


    智能合约系统根据事件描述信息中包含的触发条件,当触发条件满足时,从智能合约自动发出预设的数据资源,以及包括触发条件的事件;整个智能合约系统的核心就在于智能合约以事务和事件的方式经过智能合约模块的处理,出去还是一组事务和事件;智能合约只是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约;它的存在只是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。

    基于区块链的智能合约构建及执行分为如下几步:

1、多方用户共同参与制定一份智能合约;
2、合约通过P2P网络扩散并存入区块链;
3、区块链构建的智能合约自动执行。

下面详细描述步骤1“多方用户共同参与制定一份智能合约”的过程,包括如下步骤:

(1)首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。
(2)两个或两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性。
(3)签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。

下面详细描述步骤2“合约通过P2P网络扩散并存入区块链”的过程,包括如下步骤:

(1)合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理。
(2)共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合(set),并算出这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网;其它验证节点收到这个区块结构后,会把里面包含的合约集合的Hash取出来,与自己保存的合约集合进行比较;同时发送一份自己认可的合约集合给其它的验证节点;通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致。
(3)最新达成的合约集合会以区块的形式扩散到全网,每个区块包含以下信息:当前区块的Hash值、前一区块的Hash值、达成共识时的时间戳、以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的合约集;收到合约集的节点,都会对每条合约进行验证,验证通过的合约才回最终写入区块链中,验证的内容主要是合约参与者的私钥签名是否与账户匹配。

下面是步骤3“区块链构建的智能合约自动执行”的过程,包括如下步骤:

(1)智能合约会定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。
(2)进入最新轮验证的事务,会扩散到每一个验证节点,与普通区块链交易或事务一样,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。
(3)事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕;整个事务和状态的处理都由区块链底层内置的智能合约系统自动完成,全程透明、不可攥改。





回复 支持 反对

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 15:05:15 | 显示全部楼层
为什么智能合约要用区块链实现

单纯地看智能合约,明明可以惠及万民,为什么没有从一开始就吸引投资创业者的眼球,而是潜伏到现在才开始被大众所熟知呢?

这就跟我们看科幻作品一样,我们现在所生活的环境在大家看来是没有什么神秘性的,但若是放到二三十年前呢?同样的道理,那个时候的客观环境不支持智能合约的实现。

首先智能合约是数字化的合约,智能合约提出的时候,互联网才刚刚起步,互联网的发展都还具有不确定性,拿什么来谈实现智能合约呢?其次,智能合约的执行需要的是数字资产。

那可能就有人提问:互联网现在发展的这么好,我们也有数字资产了,实现智能合约就非得基于区块链吗?

答案是否定的。拿大家很熟悉的信用卡自动还款服务来说,信用卡自动还款可以看做是用户和银行在某个平台上签订的智能合约。当还款条件满足时,计算机系统会自动完成这笔交易,这些服务是基于计算机系统完成的,并不是基于区块链的。

可能有人会说,是不是可以从计算机的世界来实现智能合约,为什么非得研究区块链?

因为信任。在计算机的世界里,存在着提供服务的第三方,而智能合约虽然是数字化的,但还是存在于计算机系统中,别说担心被黑客攻击,就连第三方会不会篡改用户的合约内容也没有谁可以保证。在理想状态下,区块链的基本属性就决定了它是一个高可靠性的系统,不可篡改、去中心化、分布式,并且都是由一串串的指令实现的,数据是冰凉的但却最值得信任,因此用户不用担心合约被篡改或不被执行等问题的发生。

因此,不是说智能合约非基于区块链不可,但是目前区块链一定是最适合智能合约实现的平台。

传统技术即使通过软件限制、性能优化等方法,也无法同时实现区块链的以下特性:

1、数据无法删除、修改,只能新增(这样保证了历史的可追溯,同时作恶的成本将很高,因为其作恶行为将被永远记录);

2、去中心化(避免了中心化因素的影响)。

基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可攥改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。


智能合约给我们带来的意义

“智能合约”给我们带来的意义是非凡的,它或许可以替代纸质合约,不仅能够连接物理世界和虚拟世界,还能给我们传统的生活模式注入新的血液。比如,近两年大火的共享经济,实质上就是“智能合约”生活化的一个雏形。共享单车、共享雨伞、共享充电宝等都是以一种“智能合约”的模式,将人们对物品的占有权转变为使用权。


回复 支持 反对

使用道具 举报

9

主题

42

帖子

1461

积分

金牌会员

Rank: 6Rank: 6

积分
1461
发表于 2018-7-14 18:13:05 | 显示全部楼层
关联阅读——

区块链的6层模型
http://www.oldleek.com/forum.php ... d=433&fromuid=3
(出处: 老韭)

Tempo共识机制 之 逻辑时钟(Logical Clocks)
http://www.oldleek.com/forum.php ... d=132&fromuid=3
(出处: 老韭)

理解 共识机制 的几个维度
http://www.oldleek.com/forum.php ... d=398&fromuid=3
(出处: 老韭)

共识机制  有哪些?
http://www.oldleek.com/forum.php ... d=245&fromuid=3
(出处: 老韭)

智能合约 的 解读
http://www.oldleek.com/forum.php ... d=246&fromuid=3
(出处: 老韭)

智能合约之父Nick Szabo:金钱就是永不破灭的泡沫
http://www.oldleek.com/forum.php ... d=440&fromuid=3
(出处: 老韭)

GDPR三个最基本定义:个人数据、数据控制者、数据处理者
http://www.oldleek.com/forum.php ... d=204&fromuid=3
(出处: 老韭)

token的属性是什么?token是什么?token会是什么?
http://www.oldleek.com/forum.php ... id=62&fromuid=3
(出处: 老韭)

Token真的可以不要? Token经济的“关键3点”
http://www.oldleek.com/forum.php ... id=40&fromuid=3
(出处: 老韭)

回复 支持 反对

使用道具 举报

6

主题

28

帖子

1500

积分

等待验证会员

积分
1500
发表于 2018-10-15 18:00:30 | 显示全部楼层
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。它允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。“智能合约是区块链的核心技术之一,是多方参与场景中的共识规则,更是智能合约是价值传递的中枢。
回复 支持 1 反对 0

使用道具 举报

3

主题

33

帖子

364

积分

等待验证会员

积分
364
发表于 2018-11-28 14:21:40 | 显示全部楼层
学习一拨  ——

      --------------------------------
密码朋克宣言:我们的代码,对全球所有人免费
http://www.oldleek.com/forum.php ... 121&fromuid=539
(出处: 老韭)

要表扬新华社了:2018年末BTC大跌的原因,以及止跌位
http://www.oldleek.com/forum.php ... 202&fromuid=158
(出处: 老韭)

回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1
QQ