单元七 智能合约与区块链_第1页
单元七 智能合约与区块链_第2页
单元七 智能合约与区块链_第3页
单元七 智能合约与区块链_第4页
单元七 智能合约与区块链_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能合约的基本概念SmartContractPART1什么是智能合约?智能合约的由来智能合约概念的出现远早于比特币和区块链。智能合约首次出现在20世纪90年代,由计算机科学家和法律学者尼克·萨博(NickSzabo)在其文章FormalizingandSecuringRelationshipsonPublicNetworks中提出。智能合约的概念通过引入机器(硬件和软件),将部分合约植入机器,使得合约的执行在一定程度上与人解耦合,因此,合约违约的可能性降低,同时违约的代价增大。智能合约的定义智能合约在广义上讲是指任何符合多方之间约定的计算机协议。维基百科智能合约定义:一种旨在以数字方式促进、验证、加强合约协商和履行的计算机协议。这在一定程度上体现了智能合约针对的对象是法律合约,计算机协议是保障的手段,而数字方式是手段的表现形式。存储在区块链上并可满足预定条件自动执行的计算机代码,也被称为区块链智能合约。智能合约的载体是区块链,它本质是一种自动执行的计算机代码。PART2智能合约的特性传统合约与智能合约的比较传统合约与智能合约的目标是具有一致性。无论是传统合约还是智能合约,都有以下功能:规定签约各方的责任和义务;规定违约方相应的惩罚措施;当争议出现时,提供各方认同的解决途径。在执行方式和监督方面,两者有着本质区别:在执行方式上,传统合约权利和义务的履行通过合约参与方的人为方式实现,智能合约则是通过机器的方式自动执行合约规定的内容在监督方面,传统合约中,法律以及仲裁机构(包括执法机构)扮演了这种角色;而在智能合约中,机器担任了这种角色。以签订个人劳动合同为例传统合约签订:人为方式签订;靠双方履行合约;仲裁机构保证合法权益智能合约签订:智能合约计算机语言签订;智能合约履行;智能合约做出相应惩罚智能合约的特性效率与准确性提升。智能合约中,机器参与合约的执行,合约的部分环节实现了自动化。违约性降低。智能合约中各个环节的人为因素减少,人为干扰的可能性也随之降低,这就意味着合约违约的可能性降低。可追溯性。智能合约中,因为机器的参与,合约相关环节的执行信息可以被实时记录,合约也因此具备了可追溯性。某一环节的执行若出现问题或争议,都有据可循。PART3智能合约与区块链的关系智能合约与区块链的关系区块链是智能合约实现的基础智能合约通过区块链体现价值智能合约是区块链价值的释放者区块链智能合约使用感谢观看智能合约的工作原理智能合约智能合约作为访问区块链中账本的重要手段和工具,本质上是一段程序代码并通过交易的形式记录在账本的区块上,通过“地址”的形式并唯一标识。当需要使用智能合约时,用户可以通过智能合约的“地址”找到指定的智能合约,并使用其中的功能。智能合约基于区块链数据不可篡改等特性,智能合约在植入区块链时进行了优化。接下来将对智能合约的两大核心概念“状态”和“模型”作详细阐述。智能合约的“状态”在区块链中记录的所有数据都将上链并且不可篡改,但是真实应用场景下往往需要有可变数据的存在,例如银行中账户的余额需要根据账户的交易情况不断发生改变,针对这一需求,在区块链2.0阶段中,智能合约引入了“状态”的概念,用于持久化记录某些需要变化的数据,如账户余额,账户的交易数量等。智能合约的“状态”与传统在区块链中记录的数据不同,“状态”包括两个核心内容:分别是数据以及版本。其中数据即为需要被使用的真实内容,而“版本”则是用于标识被引用数据的新旧情况,例如现在有账户A(账户余额110元)与账户B(账户余额52元),那么账户A和账户B的余额就会以“状态”的形式记录。当发生账户A向账户B转账10元的交易时,表面上账户A的账户余额改为100元,账户B的账户余额改为62元,但此时其底层实际是生成了最新版本的数据,将新版本的“状态”替换了老版本的“状态”。智能合约的“状态”由于区块链中的数据是在指定时间间隔通过“区块”保存,而“区块”中的数据是通过“交易”的形式存储,将“状态”、“交易”以及“区块”三个概念进行结合可以这么理解,首先随着时间的推移“状态”保存在不同的“交易”中并通过版本区分,“交易”将通过打包的形式通过“区块”保存。智能合约的“模型”与传统程序类似,智能合约作为一段代码也有对应的输入信息,输出信息与内部数据处理的流程。我们将输入信息理解为外部输入数据和输入事件,输出信息理解为智能合约针对输入数据或事件的反馈动作。智能合约的“模型”在内部数据处理方面,定义四方面内容。(1)合约状态(State):合约的状态信息(2)合约值(Value):一般指的是合约保存的资产值。(3)预置响应条件:触发合约对资产进行处置与分配的条件。(4)预置响应规则:合约对资产进行处置与分配及其他处理的规则。感谢观看公有链部署智能合约练习目标在公有链网络部署Solidity智能合约,实现包括合约的编译、部署、上链、调用等操作。智能合约使用智能合约内容如下:实现方案:环境介绍练习主要基于智谷星图的智能合约在线开发平台实现,平台链接如下:/在平台中可以实现智能合约的编写、编译部署以及调用等功能:创建与编写智能合约在“工作区”的“contracts”文件夹下创建4_HelloWorld.sol文件,在其中加入智能合约代码编译智能合约点击界面“编译”按钮,进入智能合约编译界面,点击“编译4_HelloWorld.sol”按钮,完成智能合约编译部署智能合约进入部署智能合约界面,点击

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论