《区块链编程》PDF电子书免费下载

作者:  吉米·宋(Jimmy Song)著

出版社: 机械工业出版社

出版年: 2020年04月

ISBN: 9787111652038

~~滚到底部有网盘下载链接~~

内容简介

目录

前言 1
第1章 有限域 11
学习更高等的数学 11
有限域的定义 12
定义有限集合 12
使用Python构建有限域 13
练习1 14
模运算 14
Python的模运算 16
有限域的加法和减法 16
练习2 18
使用Python编写有限域的加法和减法 18
练习3 19
有限域的乘法和指数运算 19
练习4 20
练习5 20
使用Python编写乘法 20
练习6 20
使用Python编写指数运算 21
练习7 21
有限域的除法 21
练习8 23
练习9 23
重新定义指数运算 24
总结 25
第2章 椭圆曲线 26
定义 26
使用Python编写椭圆曲线 31
练习1 32
练习2 32
点的加法 32
点加法的性质 35
实现点加法 37
练习3 38
x1≠x2时的点加法 38
练习4 40
实现x1≠x2时的点加法 40
练习5 40
P1 = P2时的点加法 40
练习6 42
实现P1 = P2时的点加法 42
练习7 42
实现另一个特例 42
总结 43
第3章 椭圆曲线密码学 44
实数域上的椭圆曲线 44
有限域上的椭圆曲线 45
练习1 46
实现有限域上的椭圆曲线 46
有限域上的点加法 48
实现有限域上的点加法 49
练习2 49
练习3 49
椭圆曲线的标量乘法 49
练习4 51
再议标量乘法 51
数学上的群 52
恒等元 53
封闭性 53
可逆性 54
交换律 54
结合律 55
练习5 56
实现标量乘法 56
定义比特币的曲线 58
使用secp256k1 59
公钥密码学 61
签名和验证 61
雕刻靶坐标 62
验证的细节 64
验证签名 65
练习6 66
编程实现签名验证 66
签名的细节 67
创造签名 67
练习7 68
编程实现消息签名 68
总结 70
第4章 序列化 72
未压缩的SEC格式 72
练习1 73
压缩的SEC格式 73
练习2 77
DER签名 77
练习3 79
Base58 79
转录你的公钥 79
练习4 81
地址格式 81
练习5 82
WIF格式 82
练习6 83
再议大端序和小端序 83
练习7 83
练习8 83
练习9 84
总结 84
第5章 交易 85
交易的组成 85
版本号 87
练习1 88
输入 88
解析脚本 92
练习2 92
输出 93
练习3 94
时间锁 94
练习4 95
练习5 95
实现交易的序列化 96
交易手续费 96
计算交易手续费 98
练习6 98
总结 98
第6章 Script 99
Script机制 99
Script如何运作 100
几个操作符的例子 101
实现操作符 101
练习1 102
解析脚本字段 102
实现一个Script解析工具和序列化工具 103
合并脚本字段 105
实现合并命令集 106
标准脚本 106
p2pk 107
实现脚本计算 110
栈元素的本质 112
练习2 113
p2pk的缺陷 113
使用p2pkh修复问题 114
p2pkh 114
脚本可以被任意构建 118
练习3 120
脚本的使用 121
练习4 121
SHA-1 Pin躠ta 122
总结 122
第7章 交易的创建与验证 123
验证交易 123
校验交易输入是否可用 123
校验交易输入的总和与交易输出的总和 124
校验签名 125
练习1 129
练习2 129
校验交易的全部内容 129
创建交易 129
构建交易 130
制作交易 132
签名交易 133
练习3 134
在测试链上创建你自己的交易 134
练习4 135
练习5 135
总结 135
第8章 支付到脚本哈希交易 136
裸多签 136
实现OP_CHECKMULTISIG 140
练习1 140
裸多签的问题 141
支付到脚本哈希 141
实现p2sh 147
更复杂的脚本 148
地址 148
练习2 149
练习3 149
p2sh签名验证 149
练习4 152
练习5 152
总结 152
第9章 区块 153
创块交易 153
练习1 154
签名脚本 154
BIP0034 155
练习2 156
区块头 156
练习3 157
练习4 157
练习5 157
版本号 157
练习6 158
练习7 159
练习8 159
父区块 159
默克尔根 159
时间戳 159
工作量 160
序号 160
工作量证明 160
矿工如何生成新的哈希 161
计算目标 161
练习9 162
计算难度 162
练习10 163
校验工作量证明 163
练习11 163
计算难度调整 163
练习12 165
练习13 165
总结 165
第10章 比特币网络通信 166
网络消息 166
练习1 168
练习2 168
练习3 168
解析payload 168
练习4 169
网络握手 170
连接到比特币网络 170
练习5 172
获取区块头信息 173
练习6 174
区块头响应 174
总结 176
第11章 简单支付验证 177
动机 177
默克尔树 178
默克尔树的父哈希 179
练习1 180
默克尔父节点层数 180
练习2 181
默克尔根 181
练习3 182
区块中的默克尔根 182
练习4 183
默克尔树的使用 183
默克尔块 184
默克尔树结构 186
练习5 187
实现默克尔树 187
默克尔块命令 192
练习6 193
标记位和哈希的使用 193
练习7 197
总结 197
第12章 布隆过滤器 198
什么是布隆过滤器 198
练习1 200
布隆过滤器进阶 200
BIP0037布隆过滤器 201
练习2 203
练习3 203
载入一个布隆过滤器 203
练习4 204
获取默克尔块 204
练习5 205
获取相关交易 205
练习6 206
总结 206
第13章 隔离见证 207
支付到见证公钥哈希 207
交易的延展性 207
修复延展性问题 208
p2wpkh交易 209
p2sh-p2wpkh 212
实现p2wpkh和p2sh-p2wpkh交易 216
支付到见证脚本哈希 220
p2sh-p2wsh 223
实现p2wsh和p2sh-p2wsh交易 228
其他方面的改善 230
总结 230
第14章 高级主题和进阶 231
推荐的学习主题 231
钱包 231
支付通道和闪电网络 232
贡献代码 232
推荐的项目 233
测试链钱包 233
区块链浏览器 233
网上商店 233
工具库 234
寻找工作 234
总结 234
附录 练习答案 235
显示部分信息

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?