![]()
内容推荐 本书以区块链1.0和区块链2.0中最具代表性的比特币和以太坊系统为切入点,讲述区块链系统关键技术。 本书首先介绍了比特币系统独特的地址和交易机制、脚本系统、区块数据结构、共识机制等关键概念;接着,对以太坊系统的账户模型、智能合约系统、交易设计机制,以及数据存储结构等做了深入介绍;然后,在此基础上进一步介绍了区块链技术所涉及的网络层和共识层相关理论、实践与研究前沿;最后,为提高读者的应用能力,基于以太坊平台和Solidity语言介绍了DApp的开发,并配套了教学实验平台,另外还探讨了多个区块链应用场景。 本书可作为高等院校区块链原理与技术等相关课程的教材,也可为相关开发人员、设计人员和自学者深入理解区块链技术的原理和价值提供参考。 作者简介 郑子彬,教授,中山大学软件工程学院副院长、区块链与智能金融研究中心主任、国家优秀青年科学基金获得者、IET Fellow。发表论文100余篇,包括ESI高被引论文5篇,论文谷歌学术引用超过13000次。获得教育部自然科学二等奖(第1完成人)、吴文俊人工智能自然科学二等奖(第2完成人)、首届青年珠江学者、珠江科技新星、ACM中国新星提名奖、国际软件工程大会(ICSE)ACM SIGSOFT DistinguishedPaper Award、国际Web服务大会(ICWS)最佳学生论文奖、2018年度全球最具影响力50篇区块链论文奖、香港中文大学青年学者论文奖等。担任BlockSys2019及CollaborateCom2016的GeneralCo-Chair,SC22019、ICIOT2018及IoV2014的PCCo-Chair等。 目录 第1章 概述 1.1 什么是区块链技术 1.1.1 比特币与区块链的诞生 1.1.2 比特币与区块链 1.1.3 区块链的特点 1.1.4 智能合约与世界计算机 1.1.5 区块链的分类 1.2 区块链技术的现状 1.2.1 区块链的应用 1.2.2 区块链的挑战 1.2.3 区块链技术的发展环境 1.3 本书的内容 1.4 课后题 第2章 比特币 2.1 比特币简介 2.2 基础知识 2.2.1 哈希算法 2.2.2 非对称加密 2.2.3 数字签名 2.2.4 主网与测试网 2.3 交易 2.3.1 交易简介 2.3.2 输出 2.3.3 输入 2.3.4 UTXO模型 2.4 脚本系统 2.4.1 锁定与解锁 2.4.2 常见脚本类型 2.4.3 多重签名钱包 2.5 公私密钥与地址 2.5.1 私钥 2.5.2 公钥 2.5.3 普通地址 2.5.4 Base58编码 2.5.5 其他地址 2.6 区块与链 2.6.1 区块 2.6.2 区块头 2.6.3 Merkle树 2.6.4 区块链 2.7 共识 2.7.1 PoW 2.7.2 分叉 2.7.3 算力与难度调整 2.7.4 最长链原则 2.8 课后题 第3章 以太坊 3.1 以太坊简介 3.1.1 以太坊的诞生 3.1.2 以太坊与比特币对比 3.1.3 以太坊的特色与应用 3.2 以太坊基本架构及原理 3.3 账户模型与转账 3.3.1 账户模型 3.3.2 转账 3.3.3 Nonce 3.4 智能合约 3.4.1 状态模型 3.4.2 智能合约简介 3.4.3 驱动智能合约 3.5 以太坊交易 3.5.1 交易内容 3.5.2 交易费用 3.5.3 交易的周期 3.6 数据结构与存储 3.6.1 区块与叔块 3.6.2 Merkle Patricia Trie 3.6.3 布隆过滤器 3.7 课后题 第4章 区块链网络层 4.1 P2P网络 4.1.1 中心化拓扑 4.1.2 全分布式非结构化拓扑 4.1.3 全分布式结构化拓扑 4.1.4 半分布式拓扑 4.2 比特币网络 4.2.1 节点类型及其功能 4.2.2 扩展比特币网络 4.2.3 比特币节点通信 4.2.4 比特币中继网络 4.3 以太坊网络 4.3.1 Kademlia 4.3.2 节点类型及其功能 4.3.3 以太坊节点通信 4.4 网络层安全 4.4.1 分布式拒绝服务攻击 4.4.2 延展性攻击 4.4.3 女巫攻击 4.4.4 路由攻击 4.4.5 日蚀攻击 4.5 课后题 第5章 区块链共识层 5.1 一致性问题 5.1.1 问题与挑战 5.1.2 一致性要求 5.1.3 不同的一致性要求 5.2 共识设计的理论限制 5.2.1 FLP不可能原理 5.2.2 CAP原理 5.3 区块链共识算法 5.3.1 拜占庭问题 5.3.2 拜占庭容错算法 5.3.3 比特币的工作量证明共识机制 5.3.4 以太坊共识算法Ethash 5.3.5 以太坊共识算法Casper(选学) 5.3.6 EOS1O共识算法BFT-DPoS(选学) 5.3.7 Monoxide(选学) 5.4 课后题 第6章 区块链智能合约开发 6.1 智能合约及其背景 6.2 Solidity语言 6.2.1 背景 6.2.2 入门示例 6.2.3 基础语法 6.2.4 Solidity在线代码评测系统 6.3 DApp开发示例 6.3.1 私有链搭建 6.3.2 智能合约部署与测试 6.3.3 使用Web3.js调用智能合约 6.4 课后题 第7章 区块链应用 7.1 联盟链平台 7.1.1 背景 7.1.2 Hyperledger Fabric 7.1.3 企业以太坊 7.2 供应链金融 7.2.1 应用背景 7.2.2 应用案例 7.3 资产交易 7.3.1 应用背景 7.3.2 应用案例 7.4 司法存证 7.4.1 应用背景 7.4.2 应用案例 7.5 物流溯源 7.5.1 应用背景 7.5.2 应用案例 7.6 票据流通 7.6.1 应用背景 7.6.2 应用案例 7.7 课后题 参考文献 |