数字货币智能合约的概念与演变

智能合约与区块链的结合,普遍被认为是区块链世界中一次里程碑式的升级。第一个结合了区块链与智能合约技术的平台–以太坊的诞生,被认为是开启了"区块链 2.0"时代。*

自 2009 年比特币开启区块链时代以来,近 10 年里,随着技术与生态的发展,基于区块链的分布式应用(dapp)呈现出井喷的趋势,而支撑着 dapp 的底层技术就是“区块链+智能合约”。

智能合约与区块链的结合,普遍被认为是区块链世界中一次里程碑式的升级。第一个结合了区块链与智能合约技术的平台–以太坊的诞生,被认为是开启了"区块链 2.0"时代。

什么是智能合约
1996 年,Nick Szabo 在文章《Smart Contracts: Building Blocks For Digital Markets》中提出了智能合约的概念。

所谓“合约Contract”,就是条文、合同一类的东西,里面记录了发生的条件与对应执行的条款,以支持确权等操作;所谓“智能Smart”,就意味着自动化、可编程。

所以,智能合约就是可编程的合同,也可以理解为一段自动执行的条文合同,在计算机中,就是一段自动执行的程序片段。它更易于合约保存,并且由确定的算法运行,给定输入,就得到对应的输出,极大保障了合约的执行力。

以自动售货机做类比,可以帮助我们更好地理解智能合约的核心特征。

当使用者选择好要购买的货物并完成支付,出货逻辑就会被触发,用户就能得到想要的货物,而这个过程不需要人工介入,节省了售卖货物的人力成本。如果要破坏这个合约,就得物理破坏售卖机。像 POS 刷卡机、EDI(电子数据交换)等,也可作此种类比。

智能合约与区块链
智能合约在上世纪被提出,而区块链 2009 年才诞生,就定义而言,智能合约与区块链关系不大。

那为什么在这 10 年中,智能合约与区块链却产生了如此紧密的关联?因为区块链可以保证智能合约的不可篡改,不仅合约内容不可篡改,每次调用记录亦不可篡改。

智能合约产生价值的最基本前提是有一个强有力的底层介质用于储存,让其不可被物理破坏。

然而,智能合约的本体是一份代码,非常容易被篡改,如何为其提供强力的存储介质就成了问题。这正好是区块链擅长解决的——通过比特币的实践,证明了区块链可以在分布式环境下让电子记录不可被篡改。

与此同时,智能合约也在反哺着区块链,它极大地扩展了区块链的业务场景。

与智能合约结合后,区块链不再服务于单一的货币支付,可以延申到生活中的方方面面。丰富的应用场景也对区块链的能力产生了新的挑战。

区块链 2.0:以太坊的诞生
2009 年诞生的比特币,运用区块链等技术来保证生态,开创了区块链 1.0 时代。

用户可以通过脚本代码来定制一些内容,例如如何解锁一笔资金。这些脚本代码会随着交易一起保存,从而享有不可篡改的特质,并且是确定性的。所以从某种角度来说,这些脚本也可看作智能合约。可是它们并不好用。

首先,这些脚本代码不是图灵完备的,这限制了实现的功能;其次,开发门槛较高,编写复杂逻辑的体验会很差,好比用 JVM 字节码来写程序。

2013 年,一个青年 V 神提出了以太坊,其核心是通过世界状态对区块链数据进行更新和验证。以太坊与比特币最大的不同在于可通过智能合约执行复杂的逻辑操作。

在以太坊上,智能合约的语言是 Solidity,它是图灵完备且较为上层的语言,极大地扩展了智能合约的能力范畴,降低了智能合约编写难度。

正因为此,以太坊的诞生,也标志着区块链2.0时代开启。随后,智能合约技术逐步渗透了溯源、存证、供应链等多个业务场景。
智能合约技术
以太坊采用了 Solidity 作为智能合约语言,Solidity 是一门为实现智能合约而创建的高级编程语言,能在允许以太坊程序的节点上运行。该语言吸收了 C++、JavaScript 的一些特性,例如它是静态类型语言,支持继承、库等。

除了 Solidity,每个平台的智能合约技术也有所不同,接下来将从公有链、联盟链作为切入,介绍其他平台所采用的技术。

公有链
首先,不妨先认识三大公链的智能合约技术。


联盟链
除了公链,联盟链也是重要的区块链类型。比之公链,联盟链共识的复杂度被大大缩减,因此具有更高的执行效率。

联盟链受企业级机构青睐,一般而言,相关机构之间会形成联盟,通过联盟链来共享数据。联盟链可覆盖供应链金融、司法存证、溯源等多种场景,未来还会与 IOT、AI 等技术结合。

在当今联盟链生态中,除去采用 chaincode 的 Fabric,大部分平台都采用 Solidity 作为智能合约语言,FISCO BCOS 即是如此。

时下,Solidity 可谓占据了智能合约的 C 位,掌握 Solidity 是学习智能合约和区块链的重要一环。后面系列也将对如何用 Solidity 编写、运行以及测试智能合约作深入介绍解析,敬请关注。

除了 Solidity、WebAssembly、Libra 的 Move 等一些智能合约语言也在发展中,可以保持关注。

数字货币智能合约的概念与演变相关推荐

  1. 数字人民币智能合约的一个颠覆式创新应用

    新金融评论.:聚焦新金融,独家.专业,尽在新金融评论.中国金融四十人论坛智库体系新金融系列--上海新金融研究院.北方新金融研究院.北大互联网金融研究中心.上海浦山新金融发展基金会强强联手,打造最专业的 ...

  2. 数字货币 永续合约(期货) 相关知识点、计算

    看到知乎这样一个回答,解释的很好. 什么是期货?期货市场是如何运转的? - 傅建朝的回答 - 知乎 https://www.zhihu.com/question/19903936/answer/780 ...

  3. 数字人民币与智能合约

    7月16日,中国人民银行在官网发布了<中国数字人民币的研发进展白皮书>(以下简称"白皮书"),以阐明人民银行在数字人民币研发上的基本立场,阐释数字人民币体系的研发背景. ...

  4. 央行数字货币要来了 它是如何影响我们的

    "央行数字货币要来了!"近日,一张央行数字货币在农行账户内测的照片在网络上流传开来.随后,多地多部门关于央行数字货币试点的进展被接连披露,引发了人们的普遍关注. 什么是央行数字货币 ...

  5. 数字人民币预付式消费的监管之道,智能合约能不能解决所有问题?

    移动支付网消息:众所周知,预付式消费广泛存在于一些特定的应用场景,比如美容美发.体育健身等企业的会员卡,又或是个人过节送礼.企业节日发福利的一种形式. 近年来,由于竞争和疫情等诸多因素,预付式消费经常 ...

  6. 央行数字货币渐行渐近:未来金融竞争终极场所

    "目前数字人民币已取得阶段性成果,正在进行内部的封闭测试."央行副行长范一飞日前在公开场合透露的这一重磅信息,再次激起对央行数字货币(DC/EP)的热烈讨论.从 2016 年央行数 ...

  7. 基于以太坊网络的智能合约开发、部署和测试(入门)

    为什么80%的码农都做不了架构师?>>>    基本概念: 以太坊是一个开放的.公开的区块链平台,允许用户构建自己的去中心化应用在上面运行 Solidity是一种语法类似JavaSc ...

  8. 智能合约未来发展方向

    智能合约未来发展方向 除了加密货币,智能合约可能是区块链中被谈论最多的概念. 许多文章都在大肆宣扬智能合约的好处,声称这项技术将颠覆从保险到供应链再到医疗保健的所有行业. 但是,智能合约真的像它们所呈 ...

  9. EOS智能合约与DApp开发入门教程

    EOS的是Block.One主导研发的一个区块链底层公链系统,它专门为支撑商业去中心化应用(Decentralized Application)而设计,其代码开源. 比特币被称为区块链1.0,因为它开 ...

最新文章

  1. 过去50年最重要的统计学思想!
  2. BC:带你温习并解读《中国区块链技术和应用发展白皮书》—区块链技术发展路线图
  3. 【读书笔记《Bootstrap 实战》】2.作品展示站点
  4. [CQOI2017] 小Q的表格(分块 + 整除分块 + 数学 + 前缀和)
  5. Java微服务:蛋糕是骗人的,但您不能忽略它
  6. 【渝粤题库】国家开放大学2021春2717家畜解剖基础题目
  7. java+jsp+网页制作,java+jsp+mysql网页制作总结(2)
  8. Apache RocketMQ在我司的最佳实践--智慧政务场景下的分布式消息与分布式事务
  9. SpringCloud Sentinel 使用restTemplate的两种配置介绍
  10. 密度图的密度估计_R-ggridges包:山峰叠峦图
  11. eBay和PayPal公布分拆细节:双方还将紧密合作。
  12. 手写哈希(实现简单的加数、查询)
  13. ios时间相差多少天_iOS 时间戳和时间互换,计算两日期相隔天数
  14. iOS 三步完成购买苹果开发者账号
  15. 干货!自监督学习在推荐系统中的应用
  16. Python 文件的读写操作
  17. python编程输入名字配对情侣网名_输入名字制作情侣qq网名
  18. “华为杯”第十八届中国研究生数学建模竞赛B题参赛总结
  19. jQuery特效,网站模板,商城模板,网页特效各种前端源码免费下载
  20. Excel查找匹配VLOOKUP用法

热门文章

  1. java获取京东token_京东宙斯平台使用方法(accesstoken,appkey,appsecret参数和SDK的获取)...
  2. 2022版中国科技中介服务产业运行现状分析与发展机遇规划报告
  3. 无需root对oppo内置软件卸载方法
  4. java jnlp 运行_JNLP文件如何能成功安装运行?
  5. SRRC认证问题合集
  6. WebGL矩阵变换总结(模型矩阵,视图矩阵,投影矩阵)
  7. php 搜索引擎 分词_PHP 实现中文分词搜索功能
  8. 前端和后端到底有什么区别?待遇和前景如何?
  9. 运维python要掌握到什么程度_《运》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  10. [TypeScript]中字符和ASCII码转换