链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

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

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

好了,反正我们光看定义是怎么也不能理解透彻的,九少爷继续以例子的形式来讲讲。

传统合约和智能合约

在我们的现实社会中,我们会遇到很多场景去签一些合同,以约束双方的经济行为,但是即使我们签了合同,也无法保证在合同期内双方就一定能完整履行合同内的承诺。

举个例子:

你和你的一个朋友打赌,说明天的天气预报到底准不准,赌注20块钱,你赌准,他赌不准。然后到了第二天,天气果然和天气预报说的一样,那么他应该支付你20块钱,但是你的朋友耍赖,就是不支付这20块,结果就是你也没什么办法。

那么一般是怎么处理呢?你们为了保证你们的对赌能正常,你们找了一个可信任中介人,你们把各自的20块钱放到了中介那里,这样总可以了吧。

但是第二天,中介又为难了,因为天气预报预报的是多云,而实际天上的云不多也不少,这时你认为这样的天气就是多云,而你的朋友认为这样的天气不是多云,中介也是人啊,于是在判断天气到底是不是符合昨天天气预报的条件上,又出了问题。

最后一番争吵过后,中介决定一半云也算多云天气,你赢了这个对赌,正准备给你40块钱的时候,发现钱没带,于是只好等第二天才能把钱给你。

所以你看,传统的合约会受到各种维度的影响,自动化维度,主客观维度,成本维度,执行时间维度,违约惩罚维度,适用范围维度等。

而智能合约则在很大程度上解决了这些问题。

你只需要提前规定好合约内容,程序就会在触发合约条件的时候自动执行合约内容。

譬如,你规定合约内容是,明天中午12点判断天气是否和天气预报一样,如果是多云天气的话,超过一半云就算多云,否则不算。当第二天中午12点合约执行,如果你赢了,钱会自动打到你账上。一切解决。

例子举得比较简单,但你可以领会到智能合约能解决的一些问题。

智能合约和区块链

“智能合约的工作理论迟迟没有实现,一个重要原因是因为缺乏能够支持可编程合约的数字系统和技术。区块链技术的出现解决了该问题,不仅可以支持可编程合约,而且具有去中心化、不可篡改、过程透明可追踪等优点,天然适合于智能合约。因此,也可以说,智能合约是区块链技术的特性之一”

摘录来自: “区块链:从数字货币到信用社会”。

有一些朋友可能会问,九少爷,你上面说的智能合约,不就是一段条件判断的代码嘛,现在很多担保网站或系统不是也一样嘛,像淘宝的交易流程,不也是买家付款到系统里,然后卖家发货,买家收到货,系统再把钱打给卖家。这不早就实现了嘛?

区块链的特性是:

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

去中心化,避免了中心化因素的影响

而像上面说的淘宝那套支付担保系统,依然是中心化的,合约是否公正或正常执行,也全靠中心来决定。如果中心要作恶,我们依然没有办法。

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

智能合约的应用场景

智能合约能应用的场景将非常广泛,譬如房租租赁、差价合约、代币系统、储蓄钱包、作物保险、金融借贷、设立遗嘱、证劵登记清算、博彩发行等。

我们以房租租赁场景举个例子:

大家知道老九村是一个基于区块链交易系统的村子,村里阿花向阿明租了一套房子,租金500,月付,租一年。房子的锁是密码锁,需要阿花生成的开锁秘钥打开。

智能合约执行步骤:

1.阿花和阿明的合约提交给村里的智能合约服务器,服务器发布到区块链上生效。

2.阿花将开锁秘钥和账户地址提供给智能合约服务器。

3.阿明向服务器支付500 * 12 = 6000老九币作为抵押。

4.合约开始执行,服务器从阿明的抵押资金中扣除500,发给阿花的账户,并把房子的开锁秘钥发给阿明,记录记到区块链。

5.每个月1号智能合约都会检查租约时间,没到期,就会自动扣除租金,然后把新的开锁秘钥发给阿明。

6.如果租约到期,服务器就会生成一条合约纪录,标志合约终止,并发布到区块链上,合约终止。

7.整个过程受到老九村村委会监督,村委会可以随时查看合约执行情况。

这样,阿花和阿明什么事都不用做,就完成了这套交易。当然不同的场景合约条件和内容也是不尽相同的。

智能合约的未来

随着区块链技术的到来,智能合约与区块链的结合可能会让人类社会结构产生重大变革。智能合约解决了传统合约中的信任问题,大幅降低了信任成本,虽然智能合约还有一些问题,但随着技术的不断发展,必然会走向一个好的发展之路。

区块链中的智能合约是什么?相关推荐

  1. 区块链中的智能合约是什么

    1.什么是智能合约? "智能合约"这一术语是 1994 年由著名密码学家尼克萨博首次提出的,它是通过编程来准确高效地执行预先设定的合约条款. 详细的解释就是:智能合约其实是一种计算 ...

  2. 区块链中的智能合约(Smart Contract)

    1994年,法律学者.密码学家Nick Szabo认识到智能合约的去中心化分类账的应用.他理论上认为,这些合同可以用代码编写,可以在系统上存储和复制,并由构成区块链的计算机网络进行监督.这些智能合约也 ...

  3. 区块链中的“智能合约”有何应用?

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 如刺金般闪耀的区块链时代,投资者的热潮还将持续升温,与此同时金融的大佬已经开始注意到区块链应用落地场景的实现,在金融界实 ...

  4. 行走在区块链上的智能合约

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 我和你打一个赌,我赌明天是雨天,你赌是晴天,赌注100大洋.假设明天是晴天,然后你跑过来管我要100大洋的赌金,我装疯卖 ...

  5. 分享实录|区块链技术与智能合约入门(开发实例)

    2019独角兽企业重金招聘Python工程师标准>>> 1 什么是区块链 1.1白话讲解区块链 现在区块链特别火,可能大家都听说过区块链,听说过比特币,那到底什么是区块链? 前几天和 ...

  6. 【区块链DAPP】智能合约概述

    智能合约概述 智能合约是运行在区块链公链上的一种代码,该代码由Solidity编写,并通过区块链的智能合约虚拟机来执行,以达到对区块链编程的目标.可以将区块链公联理解为操作系统,Solidity是编写 ...

  7. 区块链技术:智能合约入门

    什么是智能合约 一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议.一个合约由一组代码(合约的函数)和数据(合约的状态)组成,并且运行在以太坊虚拟 ...

  8. tron区块链php对接,Tron区块链技术 - Tron智能合约概述

    Tron区块链技术:多年来,  以太坊  一直是分散世界中开发智能合约的主流平台之一.然而,最近TRON作为一个准备面对以太坊的竞争平台在分散网络中崛起. TRON区块链技术是什么? Tron区块链是 ...

  9. 区块链技术c java_区块链技术:智能合约入门

    什么是智能合约 一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议.一个合约由一组代码(合约的函数)和数据(合约的状态)组成,并且运行在以太坊虚拟 ...

最新文章

  1. 6.IDA-重命名、注释
  2. 【Elasticsearch】2021 年的顶级 ETL 工具......以及对 ETL 说“不”的理由
  3. 实用分享-学习资料下载器
  4. 一个完美网站的101项指标.第二部分.内容为王
  5. 川崎机器人示教盒维修_阳江市川崎机器人示教器维修中心
  6. 眼科相关疾病最新研究进展(2022年3月)
  7. pandas(综合测试)
  8. 不灭鸿蒙等级划分,等级划分
  9. 我的Win实用软件清单
  10. 狗年已到,今天送3万元红包,本文有4个答案
  11. 点击按钮变色,松开按钮恢复原来的颜色
  12. 一文读懂什么是智能制造,企业又该如何实施智能制造?
  13. 李宏毅nlp学习笔记10:QA(Question answering)
  14. GDAL 遥感 图像处理 锐化(Laplace算子、Sobel算子)
  15. 数据库中的全表扫描,索引扫描,以及相关知识点
  16. tplink显示网络连接已断开_TP-link无线路由器无法上网排查方案及解决办法(图文教程)...
  17. 2022年湖南医院三基考试泌尿外科综合模拟题及答案
  18. 阻塞状态和等待状态的区别
  19. 他妈ux,您懂的tmux
  20. 软件过程与项目管理之描述软件2

热门文章

  1. 【java】增强for循环的简单使用(遍历数组)
  2. iOS SwiftUI篇-5 专题NavigationView、NavigationLink
  3. git 合并两个分支的某个文件
  4. 电脑温度检测软件哪个好_一般电脑录音软件哪个好?
  5. Vue 过渡组件,可实现组件或者页面的动画过渡或者css过渡
  6. 模拟器抓取https方法
  7. 3-openstack之keystone上
  8. [LintCode] Maximum Subarray 最大子数组
  9. openstack页面自定义插件使用详解(django、ajax、post)(zTree为例)
  10. echo向文件中写入