加载中…
个人资料
姜宁
姜宁
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,290
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

区块链+电商系列(三):智能合约是什么?

(2019-11-06 12:27:20)
标签:

区块链

智能合约

openzeppelin

solidity

电商

分类: 区块链

智能合约是什么?

智能合约(Smart Contract)的理念可以追溯到1994年,早于区块链十几年前出现,由密码学家尼克·萨博(Nick Szabo)首次提出“智能合约”这一术语,定义如下:

原文:A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives of smart contract design are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries. Related economic goals include lowering fraud loss, arbitration and enforcement costs, and other transaction costs.(原文,Szabo, N. “Smart Contracts,” 1994. 原文链接:

http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html

译文:智能合约是一个计算化交易协议,用来执行合约条款。智能合约设计的通用目标是为了满足一般的合同条件(譬如支付条款,扣押,保密性,甚至是强制执法),最大限度减少恶意和意外的状况,最大限度减少对可信中介的需求。相关的经济目标包括降低欺诈损失,仲裁和执法成本,以及其它的交易成本。

智能合约在现实生活中存在类似的案例,例如:信用卡每月自动还款,ATM自动售货机一手交钱一手交货,等等。这些案例在业务逻辑上与智能合约相似,都是按既定规则执行的“合约”,但在具体实现上则只是针对某种固化的消费场景,不可以改变,因此不够“智能”。

90年代由于缺少可信的执行环境,智能合约并没有被运用到实际应用中。自从比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,但比特币的合约脚本功能被限制得比较简单,缺少图灵完备性(例如不支持循环语句),缺少状态,应用场景有限,不适合部署复杂的智能合约脚本,而由以太首先实现了基于区块链的图灵完备的智能合约。

基于区块链的智能合约利用并扩展了区块链技术,智能合约创建完成后部署到区块链上,由区块链网络内的各个节点执行,在合约触发条件被满足的前提下合约自动执行并将执行结果记录回区块链,外界不能也无法干预合约的执行。

智能合约创建与执行流程包括:

1)合约创建。多方参与者共同制定智能合约,智能合约使用参与者的私钥进行数字签名以保证合约的有效性;

在以太坊平台上创建智能合约,可以使用Solidity语言编写智能合约,并参考诸如OpenZeppelin提供的智能合约最佳实践以减少合约中的漏洞;使用OpenZeppelin框架也可以简化合约编写过程,例如发行一个符合ERC20标准的代币合约只需要十几行代码即可实现,如下:

pragma solidity ^0.5.0;

import  “openzeppelin-solidity/contracts/token/StandardToken.sol”;

contract ExampleToken is StandardToken {

string public NAME = “ExampleToken”;

string public SYMBOL = “JN”;

unit public DECIMALS = 18;

uint public INITIAL_SUPPLY = 10000;

 

function ExampleToken {

totalSupply = INITIAL_SUPPLY;

balances [msg.sender] = INITIAL_SUPPLY;

  }

}

2)合约审计与验证。确保合约没有漏洞,能按预期执行;

3)合约保存与扩散。合约通过P2P网络扩散并保存在区块链上,区块链上的每个节点都会保存一份;

4)合约执行。合约部署完成后处于等待执行的状态,一旦合约中预定的条件被触发就会执行相应的动作,执行完成后的合约被移出区块链。

区块链和智能合约可以让每个人甚至每台机器拥有和控制自己的数字身份,可以支持的未来电商业务场景包括:

1)   用户和用户之间(C2C)的智能合约

2)   用户和系统(C2B)之间的智能合约

3)   机器和机器(M2M)之间的智能合约,等等

 

《电商一本通-掌握数字化时代的生存之道》详细介绍了区块链以及区块链、智能合约在电商领域中的应用场景,欢迎阅读(电子工业出版社出版/姜宁 )

0

阅读 评论 收藏 禁止转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有