区块链技术指南

🌙
手机阅读
本文目录结构

区块链技术指南

编辑推荐

区块链专家联袂推荐,资深区块链践行者联合撰写,从技术层面全面解密区块链技术

系统讲解区块链核心概念、架构、底层算法、应用开发、典型项目与应用、常见问题等读者为关心的技术与应用

内容简介

区块链专家联袂推荐,资深区块链践行者联合撰写,从技术层面全面揭示区块链技术秘密。涵盖基础概念、架构、底层算法、应用开发、典型的区块链解决方案、常见问题等读者*为关心的技术与应用。 s 本书分为三大部分,共计 11 章内容。

第一部分为基础和入门(第 1~2 章),着重是区块链入门介绍,并讲解区块链基础,包括区块链的概念、种类、比特币交易、区块链的一些基础概念等,为后面深入介绍区块链技术做铺垫。

第二部分为架构和技术篇(第 3~10 章):详细讲解了以下方面。

区块链 1.0/2.0/3.0 架构,以及互联链架构属性与特点剖析,做到宏观理解与认识。

区块链基于的密码学原理和典型的算法,了解区块链开发安全之道。

区块链中常用的共识算法与作用,了解区块链价值传递与弱中心化之基石。

比特币开发指南,帮助初学者入门。

以太坊上的智能合约开发要领,为以后应用打下基础。

HyperLedger 开源项目及其架构,掌握主流的项目与应用。

区块链上常见的问题,包括 TheDAO 攻击的源码级分析。

典型解决方案:以闪电网络为主的支付方案;以标识登记为主的开源 ODIN 解决方案。

第三部分为回顾和展望(第 11 章),从架构变革的角度探讨 IT 发展的原动力,并提供对区块链对未来 IT 发展的一些展望。

作者简介

邹均,中关村区块链产业联盟专家、服务合约(ServiceContract)方向博士,关注与实践区块链技术与应用,现为海纳云 CTO。曾任 IBM 澳洲金融行业首席软件架构师。擅长云计算、大数据、软件定义存储。融智北京高端外国专家,在国际会议期刊发表论文 20 余篇。

张海宁,VMware 中国云原生应用首席架构师,Harbor 企业级开源容器 Registry 项目负责人,CloudFoundry 中国社区*早的技术布道师之一,多年软件开发经验。曾任 IBM 资深软件工程师、Sun 公司资深架构师等。目前着重关注容器、云计算和区块链领域的研究和开发。

唐屹,广州大学教授、理学博士,专注于网络信息安全、分布式计算、区块链安全及应用等,为国外知名安全公司开发过椭圆曲线密码软件,获密码科技进步二等奖(省部级)。多次主持或参与完成国家*科技与人才项目基金工作。

李磊,合肥工业大学副教授,Macquarie 大学博士。擅长数据挖掘、社会计算、智能计算。多次担任 IEEE 国际会议程序委员会委员与组织者,在社会计算和区块链等领域发表论文 40 余篇,被引用 350 余次。

目录

  • 本书作者
  • 序一:什么是区块链
  • 序二:区块链——未来已来,只是尚未流行
  • 序三:区块链——连接虚拟与现实
  • 序四:区块链——转型之擎
  • 前言

第 1 章 区块链和比特币初体验 / 1

  • 1.1 区块链简介 / 1
  • 1.1.1 区块链起源——比特币 / 1
  • 1.1.2 区块链和区块链技术的涵义 / 2
  • 1.1.3 区块链分类 / 2
  • 1.1.4 区块链价值与应用 / 7
  • 1.2 区块链体验 / 10
  • 1.2.1 获取比特币的 3 种途径 / 11
  • 1.2.2 通过交易所购买比特币 / 13
  • 1.2.3 比特币钱包和地址 / 17
  • 1.2.4 从交易平台提取比特币到钱包 / 20
  • 1.2.5 比特币交易查询 / 22
  • 1.3 本章小结 / 22

第 2 章 区块链基础 / 24

  • 2.1 区块链技术 / 24
  • 2.1.1 基本概念 / 25
  • 2.1.2 框架与特点 / 32
  • 2.1.3 区块链运作的核心技术 / 35
  • 2.1.4 区块链交易流程 / 41
  • 2.2 以太坊 / 42
  • 2.2.1 什么是以太坊 / 42
  • 2.2.2 以太坊技术 / 43
  • 2.2.3 以太坊智能合约 / 48
  • 2.2.4 以太坊的去中心化应用 / 50
  • 2.3 基于区块链的电子货币 / 51
  • 2.3.1 元币平台 / 51
  • 2.3.2 代币 / 52
  • 2.3.3 货币的未来 / 58
  • 2.4 本章小结 / 58

第 3 章 区块链架构剖析 / 59

  • 3.1 基本定义 / 59
  • 3.2 区块链 1.0 架构:比特币区块链 / 61
  • 3.2.1 比特币前端 / 63
  • 3.2.2 比特币节点后端 / 66
  • 3.3 区块链 2.0 架构:以太坊区块链 / 79
  • 3.4 区块链 3.0 架构:超越货币、金融范围的区块链应用 / 87
  • 3.5 互联链架构剖析 / 90
  • 3.5.1 互联链背景 / 90
  • 3.5.2 互联账本 / 91
  • 3.5.3 互联账本协议组 / 92
  • 3.5.4 互联账本各层协议关系 / 95
  • 3.6 本章小结 / 96

第 4 章 区块链中的密码学技术 / 97

  • 4.1 哈希算法 / 97
  • 4.1.1 哈希函数的性质与应用 / 99
  • 4.1.2 哈希指针链 / 101
  • 4.2 Merkle 树 / 102
  • 4.3 公钥密码算法 / 103
  • 4.3.1 椭圆曲线密码算法 / 104
  • 4.3.2 secp256k1 椭圆曲线 / 105
  • 4.3.3 椭圆曲线签名与验证签名 / 106
  • 4.4 本章小结 / 107

第 5 章 共识算法详解 / 109

  • 5.1 拜占庭容错技术 / 109
  • 5.1.1 拜占庭将军问题 / 110
  • 5.1.2 拜占庭容错系统 / 112
  • 5.1.3 实用的拜占庭容错系统 / 112
  • 5.1.4 Raft 协议 / 114
  • 5.2 PoW 机制 / 116
  • 5.3 PoS 机制 / 122
  • 5.4 DPoS 机制 / 123
  • 5.5 Ripple 共识算法 / 124
  • 5.6 小蚁共识机制 / 126
  • 5.7 本章小结 / 127

第 6 章 比特币应用开发指南 / 129

  • 6.1 以虚拟机方式搭建应用开发环境 / 129
  • 6.1.1 下载和安装 Oracle VM VirtualBox / 129
  • 6.1.2 以虚拟机方式安装 Ubuntu14.04 / 133
  • 6.1.3 安装 Node.js 开发环境 / 138
  • 6.1.4 安装 Docker 运行环境 / 138
  • 6.1.5 安装和运行比特币测试网络 / 139
  • 6.1.6 运行第一个示例程序 / 141
  • 6.2 把握比特币“交易”数据结构 / 145
  • 6.2.1 了解比特币的“交易”数据结构 / 145
  • 6.2.2 交易记录的实例解析 / 146
  • 6.2.3 运行示例程序 / 148
  • 6.3 实战:多重签名交易 / 153
  • 6.3.1 将 ODIN 标识注册到区块链上的实例解析 / 153
  • 6.3.2 运行示例程序 / 156
  • 6.4 本章小结 / 157

第 7 章 智能合约 / 158

  • 7.1 智能合约简介 / 158
  • 7.1.1 什么是智能合约 / 158
  • 7.1.2 智能合约的历史 / 159
  • 7.1.3 智能合约的优点和面临的风险 / 160
  • 7.2 以太坊智能合约详解 / 161
  • 7.2.1 以太坊上的账户 / 161
  • 7.2.2 以太币和 Gas / 166
  • 7.2.3 合约和交易 / 167
  • 7.3 以太坊虚拟机 / 170
  • 7.4 实例:在以太坊上开发实施智能合约 / 173
  • 7.4.1 通过以太坊钱包部署智能合约 / 173
  • 7.4.2 通过控制台部署智能合约 / 179
  • 7.5 本章小结 / 183

第 8 章 超级账本项目 / 184

  • 8.1 超级账本项目简介 / 184
  • 8.1.1 项目背景 / 184
  • 8.1.2 项目管理形式 / 185
  • 8.1.3 项目的生命周期管理 / 186
  • 8.1.4 项目发展状况 / 187
  • 8.2 Fabric 项目 / 187
  • 8.2.1 项目概述 / 187
  • 8.2.2 应用场景 / 188
  • 8.2.3 项目架构 / 189
  • 8.2.4 部署方式 / 191
  • 8.2.5 交易的执行 / 192
  • 8.3 Sawtooth Lake 项目 / 193
  • 8.3.1 项目概述 / 194
  • 8.3.2 项目架构 / 194
  • 8.4 本章小结 / 196

第 9 章 区块链常见问题 / 197

  • 9.1 钱包的安全性问题 / 197
  • 9.2 加密货币的交易方式 / 199
  • 9.3 匿名性和隐私性 / 201
  • 9.4 矿池算力集中的问题 / 203
  • 9.5 51% 攻击问题 / 205
  • 9.6 去中心化的自治组织 / 207
  • 9.6.1 去中心化的自治组织简介 / 207
  • 9.6.2 The DAO 项目 / 208
  • 9.6.3 代码漏洞分析 / 210
  • 9.6.4 解决方案 / 213
  • 9.6.5 软分叉和硬分叉的影响 / 215
  • 9.6.6 重放攻击 / 216
  • 9.7 本章小结 / 219

第 10 章 区块链应用案例分析 / 220

  • 10.1 闪电网络 / 220
  • 10.1.1 闪电网络简介 / 220
  • 10.1.2 支付通道的创建 / 221
  • 10.1.3 支付通道的更新 / 223
  • 10.1.4 支付网络的构建 / 223
  • 10.1.5 支付通道的关闭 / 225
  • 10.1.6 小结 / 226
  • 10.2 ODIN:用区块链来替代 DNS / 226
  • 10.2.1 ODIN 简介 / 227
  • 10.2.2 实现功能 / 228
  • 10.2.3 主要特点 / 229
  • 10.2.4 ODIN 标识编码格式 / 229
  • 10.2.5 ODIN 标识技术规范 / 232
  • 10.2.6 使用示例 / 233
  • 10.2.7 开放资源 / 234
  • 10.2.8 问题与思考 / 234
  • 10.3 本章小结 / 236

第 11 章 从架构变革看 IT 时代的演进 / 237

  • 11.1 架构心得 / 237
  • 11.1.1 架构和技术的关系 / 237
  • 11.1.2 关于计算的观察 / 238
  • 11.1.3 架构创新的神奇力量 / 238
  • 11.1.4 冯·诺依曼架构 / 239
  • 11.1.5 哈佛体系架构 / 240
  • 11.1.6 有影响力架构的特点 / 240
  • 11.1.7 从非生物计算到非生物智能 / 241
  • 11.2 架构创新——IT 发展源源不断的动力 / 242
  • 11.2.1 大中型机时代 / 243
  • 11.2.2 开放时代的到来 / 243
  • 11.2.3 客户端 / 服务端(CS)分布式时代 / 243
  • 11.2.4 互联网时代 / 244
  • 11.2.5 云计算、大数据时代 / 246
  • 11.2.6 互联网 + 时代 / 250
  • 11.2.7 区块链 + 时代 / 252
  • 11.3 未来展望 / 254

AXIHE / 精选教程

浏览全部教程

HTML

CSS

JS

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang