导语
内容提要
本书从软件工程的角度来剖析比特币的原理及结构,以编程的方式帮助你深入理解区块链技术。作者向Python程序员和开发人员介绍了如何从头开始编写比特币库。在本书中,你将学习如何使用这种流行的加密货币及其区块链支付系统背后的基础知识,包括数学、密码学、区块、网络和交易。
学完本书,你将通过编写比特币库所需的所有组件来了解这种加密货币的幕后工作方式,并将了解如何创建交易、从点对点网络中获取所需的数据以及通过比特币网络协议发送交易。无论你是为公司探索区块链应用还是在考虑新的职业道路,这本实用的书都可以帮助你入门。
解析、验证和创建比特币交易。
学习比特币背后的智能合约语言Script。
在每一章中进行练习,从零开始构建比特币库。
了解工作量证明如何保护区块链。
使用Python 3编写比特币。
了解简单支付验证(SPV)和轻钱包的工作机制。
学习使用公钥加密和加密原语机制。
作者简介
吉米·宋是一名有20年编程经验包括5年比特币工作经验的程序员。他是bitcointechtalk.com的编辑,为《Bitcoin》杂志撰稿,是Blockchain Capital的风险合伙人,并在德克萨斯大学担任比特币编程教师。Jimmy是Bitcoin Core项目和其他比特币项目的贡献者。他也是比特币钱包Armory的前工程副总裁。
目录
前言
第1章 有限域
学习更高等的数学
有限域的定义
定义有限集合
使用Python构建有限域
练习1
模运算
Python的模运算
有限域的加法和减法
练习2
使用Python编写有限域的加法和减法
练习3
有限域的乘法和指数运算
练习4
练习5
使用Python编写乘法
练习6
使用Python编写指数运算
练习7
有限域的除法
练习8
练习9
重新定义指数运算
总结
第2章 椭圆曲线
定义
使用Python编写椭圆曲线
练习1
练习2
点的加法
点加法的性质
实现点加法
练习3
x1≠x2时的点加法
练习4
实现x1≠x2时的点加法
练习5
P1=P2时的点加法
练习6
实现P1=P2时的点加法
练习7
实现另一个特例
总结
第3章 椭圆曲线密码学
实数域上的椭圆曲线
有限域上的椭圆曲线
练习1
实现有限域上的椭圆曲线
有限域上的点加法
实现有限域上的点加法
练习2
练习3
椭圆曲线的标量乘法
练习4
……
第4章 序列化
第5章 交易
第6章 Script
第7章 交易的创建与验证
第8章 支付到脚本哈希交易
第9章 区块
第10章 比特币网络通信
第11章 简单支付验证
第12章 布隆过滤器
第13章 隔离见证
第14章 高级主题和进阶
附录 练习答案