第18讲 | 智能合约与以太坊
陈浩
该思维导图由 AI 生成,仅供参考
在前面的文章里,我们介绍了区块链的核心技术,也穿插介绍了一些项目。然而每个区块链都有自己的特色,接下来我们将针对每个项目进行详细讲解。今天我们就来讲讲智能合约和以太坊项目。
今天我们从智能合约这个概念入手,聊聊什么是以太坊项目以及它的发展历史。最后还会介绍几款钱包给你,希望通过今天文章的讲解,你也可以尝试在以太坊上编写简单的智能合约。
智能合约的概念
不同于法律意义上的合约概念,区块链领域的合约表达的是可以“自治自理”的 计算机协议,这套协议具有自我执行、自我验证的属性。
如果完全从技术角度来看,智能合约等价于一段事先就被规定好逻辑和条款的计算机代码被激活运行的状态,同时,智能合约也提供了通用的用户接口,用户可以通过接口与用户交互。
智能合约这一概念早在 20 世纪 90 年代就有人提出,这个人是从事智能合约和数字货币研究的尼克萨博(Nick Szabo)博士,尼克 1996 年在《Extopy》期刊上发表了对智能合约的描述,他认为智能合约是一个由数字表单指定的承诺,这个承诺包含关系到多方执行的一组协议。
从定义中我们可以得知,智能合约由多个协议组成,这些协议包含了用户接口,能表达用户的承诺,它可以安全有效地确定公共网络上的关系。
换句话说,智能合约是一个由计算机处理、可执行合约条款的交易协议,其总体目标是满足协议既定的条件,例如支付、抵押、保密协议。这可以降低合约欺诈造成的损失,降低仲裁和强制执行所产生的成本以及其他的交易成本。
我们举个实际的例子解释一下,今年 4 月 9 日,上海某建设银行支行开放了“无人银行”,银行中充斥了众多机器和显示屏,智慧柜员机、VTM 机、外汇兑换机、VR 设备和两台机器人代替了传统的柜台。
这里的智慧柜员机、外汇兑换机器人众多电子设备都可以认为是智能合约的一种表现形式,用户在办理银行业务时,如办理大额汇兑业务,业务流程和逻辑依据已经定在程序中,用户只需要按照操作一步一步进行,办理完成后即可获得单据。
这里“既定的业务流程、机器人模样的人机交互界面、双方同意承诺”组成了智能合约的概念,它甚至具有一定的法律效力。
萨博提出的是智能合约的概念,以及我们举的例子,都是广义的智能合约概念。智能合约具有多种实践形式,而在区块领域所说的智能合约概念,我们其实是指 Blockchain-based 这种形式。
在萨博的智能合约概念中提到了开放式网络,而我们知道开放式网络的基本要求就是拜占庭容错,通过前面文章的讲解我们知道,区块链天然具有拜占庭容错特性。所以如果在区块链上实践智能合约这个概念,两者会非常契合,天造地设。
首先实践了智能合约这一概念的是比特币,比特币脚本(bitcoin script)包含了 5 种标准交易脚本,这些脚本的功能不仅仅提供了普通单人支付的情况,它还提供了多方共同签名支付的脚本,叫做多重签名支付,多重签名支付可以看成是萨博语义下的智能合约。
除了比特币,发扬光大智能合约这个概念的区块链项目就是以太坊了,下面,我重点来介绍一下以太坊项目。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
智能合约和以太坊项目是区块链领域的重要概念和项目。智能合约是一种自我执行、自我验证的计算机协议,而以太坊项目旨在打造一个去中心化的新一代互联网应用平台。以太坊的核心概念包括智能合约虚拟机EVM和Solidity编程语言、账户模型、以太币和Gas,交易和消息。以太坊项目的发展历程和技术特点使其成为区块链领域的重要项目,为全球开发者提供了较低的进入门槛。与比特币相比,以太坊不仅提供数字货币,还提供了智能合约应用平台,基于EVM和Solidity语言,使得智能合约开发者可以轻松构建全球共享的Dapp。以太坊的技术特点包括Gas机制、消息触发、智能合约语言Solidity等,为区块链开发者和应用开发者提供了丰富的开发工具和平台。以太坊项目的发展将为区块链技术的应用和发展带来新的可能性,为读者提供了深入了解智能合约和以太坊项目的基础知识和发展历程。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出区块链》,新⼈⾸单¥59
《深入浅出区块链》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(13)
- 最新
- 精选
- 朱显杰在第15讲《PoW》中提到以太坊采用的ETHASH算法是内存困难型算法,可以有效遏制专业矿机的出现。而本文又说以太坊当前主要基于GPU挖矿,甚至还出现了ASIC的专业芯片,是否有矛盾呢?
作者回复: 不冲突,ethash的结果是出现了只有2.5倍的asic,正常的asic在千倍以上。遏制但是不能避免。
2018-05-108 - 朱显杰矿工执行智能合约,为什么不直接消耗以太币,而是Gas,Gas机制的目的是什么?
作者回复: 为了平衡合约执行的
2018-05-141 - 无念如果有bug的合约程序发布到区块链中,是不是会产生持续性的不良影响
作者回复: 是的,只能升级重新部署
2018-05-101 - W_T请问eos的账户设计是否参考了eth,分为真人账户和合约账户两种
作者回复: 我认为是的,你可以去测试网确认一下。
2018-05-041 - 万总请问叔伯块(uncles)奖励机制为什么能起到制约中心化挖矿的作用?我记得以太坊区块链一个区块好像只能关联2个叔伯块。
作者回复: 因为可以让矿池更分散,不至于过度集中。从排除的角度考虑,即使没有出块的矿池,也排除了错误的答案,仍旧奖励的话就会鼓励矿池更算力分散而不是集中。
2018-08-16 - davix期待下一篇實例的講解,抽象還是弄不清楚智能合約。
作者回复: 已经有啦,谢谢支持。
2018-05-06 - Voidhttps://www.jianshu.com/p/51bc09cb663a 嗯,学习还是需要动手实践,这个是我学习的记录,希望对一起学习的朋友有所帮助2018-05-0911
- 杨家荣极客时间第二期 21天打卡行动 16/21 <<深入浅出区块链18>>智能合约与以太坊 今日所学: 1,区块链领域的合约表达的是可以“自治自理”的 计算机协议,这套协议具有自我执行、自我验证的属性。 2,智能合约等价于一段事先就被规定好逻辑和条款的计算机代码被激活运行的状态,同时,智能合约也提供了通用的用户接口,用户可以通过接口与用户交互。 3,智能合约是一个由计算机处理、可执行合约条款的交易协议,其总体目标是满足协议既定的条件,例如支付、抵押、保密协议; 4,智能合约虚拟机 EVM 和 Solidity 编程语言; 5,智能合约包含两部分,一部分是开发语言,主要以 Solidity 为主,Solidity 与 Javascript 语言在使用上十分接近,这极大地降低了 Dapp 开发人员的学习成本。 6,以太坊 Ethereum 项目的目标是打造一个去中心化的新一代互联网应用平台,这个平台称作 Dapp 平台。 7,以太坊上的账户有两种类型,第一类叫做合约账户 CA(Contracts Accounts),第二类叫做外部账户 EOA(Externally Owned Accounts); 8,区块链四大核心技术要素,即 P2P 网络、共识机制、账户模型、加密模块。2020-01-212
- 辣么大老师,听了讲解叔伯快的概念还是不是很理解。还有为什么用Gas,也不是很理解。 这两个点我自己去查一下吧😄。2019-12-122
- 辣么大老师,请问“用户可以通过接口与用户交互”这句话是什么意思? 是指用户与*其他*用户交互么?2019-12-12
收起评论