深入浅出区块链
陈浩
元界CTO
立即订阅
16560 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 帮你从0到1深入学习区块链技术
免费
第一章 浅说区块链基础 (8讲)
第1讲 | 到底什么才是区块链?
第2讲 | 区块链到底是怎么运行的?
第3讲 | 浅说区块链共识机制
第4讲 | 区块链的应用类型
第5讲 | 如何理解数字货币?它与区块链又是什么样的关系?
第6讲 | 理解区块链之前,先上手体验一把数字货币
第7讲 | 区块链的常见误区
第8讲 | 最主流区块链项目有哪些?
第二章 深入区块链技术 (15讲)
第9讲 | 深入区块链技术(一):技术基础
第10讲 | 深入区块链技术(二):P2P网络
第11讲 | 深入区块链技术(三):共识算法与分布式一致性算法
第12讲 | 深入区块链技术(四):PoW共识
第13讲 | 深入区块链技术(五):PoS共识机制
第14讲 | 深入区块链技术(六):DPoS共识机制
第15讲 | 深入区块链技术(七):哈希与加密算法
第16讲 | 深入区块链技术(八): UTXO与普通账户模型
第17讲 | 去中心化与区块链交易性能
第18讲 | 智能合约与以太坊
第19讲 | 上手搭建一条自己的智能合约
第20讲 | 区块链项目详解:比特股BTS
第21讲 | 引人瞩目的区块链项目:EOS、IOTA、Cardano
第22讲 | 国内区块链项目技术一览
第23讲 | 联盟链和它的困境
第三章 数字货币与数字资产 (5讲)
第24讲 | 比特币专题(一)历史与货币
第25讲 | 比特币专题(二):扩容之争、IFO与链上治理
第26讲 | 数字货币和数字资产
第27讲 | 弄懂数字货币交易平台(一)
第28讲 | 弄懂数字货币交易平台(二)
第四章 区块链与当下互联网 (5讲)
第29讲 | 互联网身份与区块链数字身份
第30讲 | 区块链即服务BaaS
第31讲 | 数字货币钱包服务
第32讲 | 区块链与供应链(一)
第33讲 | 区块链与供应链(二)
第五章 如何从业区块链 (3讲)
第34讲 | 从业区块链需要了解什么?
第35讲 | 搭建你的迷你区块链(设计篇 )
第36讲 | 搭建你的迷你区块链(实践篇)
尾声 (2讲)
尾声篇 | 授人以鱼,不如授人以渔
新书首发 |《区块链第一课:深入浅出技术与应用》
深入浅出区块链
登录|注册

第18讲 | 智能合约与以太坊

陈浩 2018-05-04
在前面的文章里,我们介绍了区块链的核心技术,也穿插介绍了一些项目。然而每个区块链都有自己的特色,接下来我们将针对每个项目进行详细讲解。今天我们就来讲讲智能合约和以太坊项目。
今天我们从智能合约这个概念入手,聊聊什么是以太坊项目以及它的发展历史。最后还会介绍几款钱包给你,希望通过今天文章的讲解,你也可以尝试在以太坊上编写简单的智能合约。

智能合约的概念

不同于法律意义上的合约概念,区块链领域的合约表达的是可以“自治自理”的 计算机协议,这套协议具有自我执行、自我验证的属性。
如果完全从技术角度来看,智能合约等价于一段事先就被规定好逻辑和条款的计算机代码被激活运行的状态,同时,智能合约也提供了通用的用户接口,用户可以通过接口与用户交互。
智能合约这一概念早在 20 世纪 90 年代就有人提出,这个人是从事智能合约和数字货币研究的尼克萨博(Nick Szabo)博士,尼克 1996 年在《Extopy》期刊上发表了对智能合约的描述,他认为智能合约是一个由数字表单指定的承诺,这个承诺包含关系到多方执行的一组协议。
从定义中我们可以得知,智能合约由多个协议组成,这些协议包含了用户接口,能表达用户的承诺,它可以安全有效地确定公共网络上的关系。
换句话说,智能合约是一个由计算机处理、可执行合约条款的交易协议,其总体目标是满足协议既定的条件,例如支付、抵押、保密协议。这可以降低合约欺诈造成的损失,降低仲裁和强制执行所产生的成本以及其他的交易成本。
我们举个实际的例子解释一下,今年 4 月 9 日,上海某建设银行支行开放了“无人银行”,银行中充斥了众多机器和显示屏,智慧柜员机、VTM 机、外汇兑换机、VR 设备和两台机器人代替了传统的柜台。
这里的智慧柜员机、外汇兑换机器人众多电子设备都可以认为是智能合约的一种表现形式,用户在办理银行业务时,如办理大额汇兑业务,业务流程和逻辑依据已经定在程序中,用户只需要按照操作一步一步进行,办理完成后即可获得单据。
这里“既定的业务流程、机器人模样的人机交互界面、双方同意承诺”组成了智能合约的概念,它甚至具有一定的法律效力。
萨博提出的是智能合约的概念,以及我们举的例子,都是广义的智能合约概念。智能合约具有多种实践形式,而在区块领域所说的智能合约概念,我们其实是指 Blockchain-based 这种形式。
在萨博的智能合约概念中提到了开放式网络,而我们知道开放式网络的基本要求就是拜占庭容错,通过前面文章的讲解我们知道,区块链天然具有拜占庭容错特性。所以如果在区块链上实践智能合约这个概念,两者会非常契合,天造地设。
首先实践了智能合约这一概念的是比特币,比特币脚本(bitcoin script)包含了 5 种标准交易脚本,这些脚本的功能不仅仅提供了普通单人支付的情况,它还提供了多方共同签名支付的脚本,叫做多重签名支付,多重签名支付可以看成是萨博语义下的智能合约。
除了比特币,发扬光大智能合约这个概念的区块链项目就是以太坊了,下面,我重点来介绍一下以太坊项目。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《深入浅出区块链》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(9)

  • 阿痕
    在第15讲《PoW》中提到以太坊采用的ETHASH算法是内存困难型算法,可以有效遏制专业矿机的出现。而本文又说以太坊当前主要基于GPU挖矿,甚至还出现了ASIC的专业芯片,是否有矛盾呢?

    作者回复: 不冲突,ethash的结果是出现了只有2.5倍的asic,正常的asic在千倍以上。遏制但是不能避免。

    2018-05-10
    5
  • _LeoHuang
    https://www.jianshu.com/p/51bc09cb663a 嗯,学习还是需要动手实践,这个是我学习的记录,希望对一起学习的朋友有所帮助
    2018-05-09
    3
  • 万总
    请问叔伯块(uncles)奖励机制为什么能起到制约中心化挖矿的作用?我记得以太坊区块链一个区块好像只能关联2个叔伯块。

    作者回复: 因为可以让矿池更分散,不至于过度集中。从排除的角度考虑,即使没有出块的矿池,也排除了错误的答案,仍旧奖励的话就会鼓励矿池更算力分散而不是集中。

    2018-08-16
  • 尼古拉斯·宁
    老师好!我最近在搭建以太坊在ubuntu16.04上的开发环境,现在是想用源码的方式安装个cpp-ethereum客户端。经过下载代码、安装依赖、编译这几个步骤后,总要不到生成的eth可执行文件。所以请问老师,有没有更好的资料推荐一下~让我把以太坊的C++开发环境搭建起来?
        另外一个问题,我想问一下,以太坊钱包Mist、以太坊应用浏览器、以太坊客户端这三者之间的关系是怎么样的?他们各自对于开发的作用在哪里?
    谢谢老师!
    2018-07-06
  • 阿痕
    矿工执行智能合约,为什么不直接消耗以太币,而是Gas,Gas机制的目的是什么?

    作者回复: 为了平衡合约执行的

    2018-05-14
  • 无念
    如果有bug的合约程序发布到区块链中,是不是会产生持续性的不良影响

    作者回复: 是的,只能升级重新部署

    2018-05-10
  • skevy
    智能合约第二种,其他合约账户触发,有什么例子呢
    2018-05-07
  • 黃威
    期待下一篇實例的講解,抽象還是弄不清楚智能合約。

    作者回复: 已经有啦,谢谢支持。

    2018-05-06
  • W_T
    请问eos的账户设计是否参考了eth,分为真人账户和合约账户两种

    作者回复: 我认为是的,你可以去测试网确认一下。

    2018-05-04
收起评论
9
返回
顶部