智能合约1

      最近我在看智能合约相关的东西,在理解一个事务之前最好先了解下这个事务的概念,看了一些文章,我将我的理解写一下:

合约:

       先去掉智能,讲合约,在我们的概念中,合约指的是两个或以上的人或机构共同定义的一些条款。和我们平常讲的合同的概念差不多(不知道我的理解对不对)。

      那么加上智能后的合约,就是在某些条件满足的情况下,自动签属和生效的合约。所以有人将智能合约称为“预言机”。就是将来在某些情况会发生的情况。

相逢区块链

    那么智能合约和区块链之间是什么关系呢?其实智能合约的理念产很早就被提出来了,最早可以追溯到1994年,几乎与互联网同时出现。(当时只是有这个理念),由于当时没有天生的能够支持可编程交易的数字金融系统,这是一种极具前瞻性的理念。

   提出智能合约概念的是广泛赞誉的密码学家尼克萨博。随着比特币的出现和应用,让这个理念有了实现的机会。

   我们现在合约的签属需要一个可信任的机构进行认证,并且一式两份或多份,防止一方修改,而区块链技术天生就是一个可复制、共享的账本(每个结点都会有一份),一经验证,永久有效。所以解决了信任的问题。那么谁来记录这个合约的执行呢?就要用到区块链中的共识算法了。现在比较常用的有POW(工作量证明),POS(股权证明),DPOS(委任权益证明),PBFT(实用拜占庭容错算法)。所以一个可信任,可共识的P2P网络账本就达成了一个实现合约的条件。

触发条件

那么如何触发一个智能合约的执行呢?因为智能合约是工作在区块链账本上的,所以触发条件就是一个交易(或称事件)发生的时候,智能合约就会对这个合约执行条件进行验证,如果条件满足,则合约执行生效,并记录在区块链账本上。如果不满足,则合约执行失败。

我们举个例子:

      我跟你打一个赌,如果明天下雨,算我赢,如果明天没下雨,就是你赢了。然后我们在打赌的时候就把钱放进一个智能合约控制的账户内,第二天过去了,赌博的结果出来了以后,智能合约就可以自动根据收到的指令自动判断(if ..else)输赢,并进行转账。将记录自动记录在区块链账本上。谁也不能赖账反悔。

这只是个让大家理解的例子。其实智能合约就是一个IFTT(If This Then That)——如果满足这个条件,就执行那个逻辑。

所以我们的定义就是:

      智能合约是由事件(交易)驱动的、有逻辑条件判断的、运行在区块链账本之上的、且能够保管账本上资产的程序。

应用举例

 我们了解了智能合约的定义,那么和我们普通人有什么关系呢?

      我们现在人经常在网络上购物,包括一些电子书或软件,而这些东西我们购买下来后,只是从一个服务器上下载了下来,我们还可以二次利用,并且商家服务器上还存在着一份一模一样的东西,所以我们只是购买了一个拷贝。只是拥有了使用权,所有权还是商家,如果利用智能合约,我们就可以确权,将这个软件的一些信息存在区块链账本上,我们就拥有了所有权。和我们实物交易一样。 

   除了购买虚拟物品,实际物品的购买也会有变化,比方说我们买一辆车,经常需要签属一堆文件(交易合同)来确认这辆车已经属于你,而且文件有丢失的可能。

  如果这辆车的信息存在区块链上,并且这辆车的交易合同和其他信息包括所有权信息已经写成了一个智能合约,我们只需要进行链上交易,就会自动执行智能合约,将这辆车自动确权,转移到你的名下,并且终生有效,是不是方便了很多。

甚至对我们平常借款还账问题都会是个好的解决方式,比如两个人约定好日期将多少币转到某个地址,可以通过智能合约自动执行。

智能合约构建及执行

1、多方用户共同参与制定一份智能合约;

    1)首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做  为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。

   2)两个以两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性。

 3)签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。

2、合约通过P2P网络扩散并存入区块链;

1)合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理。

2)共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合(set),并算出这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网;其它验证节点收到这个区块结构后,会把里面包含的合约集合的Hash取出来,与自己保存的合约集合进行比较;同时发送一份自己认可的合约集合给其它的验证节点;通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致。

3)最新达成的合约集合会以区块的形式扩散到全网,每个区块包含以下信息:当前区块的Hash值、前一区块的Hash值、达成共识时的时间戳、以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的合约集;收到合约集的节点,都会对每条合约进行验证,验证通过的合约才回最终写入区块链中,验证的内容主要是合约参与者的私钥签名是否与账户匹配。

3、区块链构建的智能合约自动执行。




作者:区块链研习社比特币源码研读班,black

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容