logo资料库

精通比特币中文版(完整版).pdf

第1页 / 共514页
第2页 / 共514页
第3页 / 共514页
第4页 / 共514页
第5页 / 共514页
第6页 / 共514页
第7页 / 共514页
第8页 / 共514页
资料共514页,剩余部分请下载后查看
导读
无标题
序言
中文版序言
译者序
第二版更新内容
英文版序言
术语解释
第一章
第二章 介绍
1.1什么是比特币?
1.2比特币历史
1.3比特币使用,用户和他们的故事
1.4入门
1.4.1选择比特币钱包
1.4.2快速开始
1.4.3得到你的第一个比特币
1.4.4查找比特币当前价格
1.4.5发送和接收比特币
第二章 比特币原理
2.1交易,块,挖矿和区块链
2.1.1比特币概述
2.1.2买咖啡
2.2 比特币交易
2.2.1交易输入输出
2.2.3交易链
2.2.4找零
2.2.5 常见的交易形式
2.3 交易的构建
2.3.1 获取正确的输入
2.3.2 创建交易输出
2.3.3 将交易放到总账簿中
2.3.3.1 交易的传送
2.3.3.2 如何传播
2.3.3.3 Bob的视角
2.4 比特币挖矿
2.5 区块中的挖矿交易记录
2.6 消费这笔交易
第三章 比特币核心
3.1比特币开发环境
3.2从源码编译比特币核心
3.2.1选择比特币核心版本
3.2.2配置构建比特币核心
3.2.3构建Bitcoin核心可执行文件
3.2.4运行比特币核心节点
3.2.5首次运行比特币核心
3.2.6配置比特币核心节点
3.3 通过命令行使用比特币核心的JSON-RPC API接口
3.3.1 获得比特币核心客户端状态的信息
3.3.1 .1探索和解码交易
3.3.2 探索区块
3.3.3使用比特币核心的编程接口
3.4 其他替代客户端、资料库、工具包
第四章 密钥和地址
4.1简介
4.1.1 公钥加密和加密货币
4.1.2 私钥和公钥
4.1.3 私钥
4.1.4 公钥
4.1.5 椭圆曲线密码学(Elliptic Curve Cryptography)解释
4.1.6 生成公钥
4.2 比特币地址
4.2.1 Base58和Base58Check编码
4.2.2 密钥的格式
4.2.2.1私钥的格式
4.2.3从Base58Check解码
4.2.3.1公钥的格式
4.2.3.2压缩格式公钥
4.2.3.3压缩格式私钥
4.3 用Python实现密钥和比特币地址
4.4 高级密钥和地址
4.4.1 加密私钥(BIP0038)
4.4.2 P2SH (Pay-to-Script Hash)和多重签名地址
4.4.2.1 多重签名地址和P2SH
4.4.3 比特币靓号地址
4.4.3.1 生成靓号地址
4.4.3.2 靓号地址安全性
4.4.4 纸钱包
第五章 钱包
5.1钱包技术概述
5.1.1非确定性(随机)钱包
5.1.2 确定性(种子)钱包
5.1.3 分层确定性钱包(HD Wallets (BIP-32/BIP-44))
5.1.4种子和助记词(BIP-39)
5.1.5钱包最佳实践
5.1.6使用比特币钱包
5.2钱包技术细节
5.2.1助记码词汇(BIP-39)
5.2.2创建助记词
5.2.3从助记词生成种子
5.2.4BIP-39中的可选密码短语
5.2.5使用助记符代码
5.3从种子中创造HD钱包
5.3.1私有子密钥的衍生
5.3.2使用衍生的子密钥
5.3.3扩展密钥
5.3.4公共子密钥推导
5.3.5在网店中使用扩展公钥(xpub)
5.3.6硬化子密钥的衍生
5.3.7正常衍生和强化衍生的索引号码
5.3.8HD钱包密钥识别符(路径)
5.3.9HD钱包树状结构的导航
第六章 交易
6.1 简介
6.2交易细节
6.2.1交易 - 幕后细节
6.3交易的输入输出
6.3.1 交易输出
6.3.1.1交易序列化 - 输出
6.3.2交易输入
6.3.2.1交易序列化--交易输入
6.3.3 交易费
6.3.4 把交易费加到交易中
6.4比特币交易脚本和脚本语言
6.4.1 图灵非完备性
6.4.2 去中心化验证
6.4.3 脚本构建(锁定与解锁)
6.4.3.1脚本执行堆栈
6.4.3.2一个简单的脚本
6.4.3.3 解锁和锁定脚本的单独执行
6.4.4 P2PKH(Pay-to-Public-Key-Hash)
6.5数字签名(ECDSA)
6.5.1数字签名如何工作
6.5.1.1创建数字签名
6.5.1.2签名序列化(DER)
6.5.2验证签名
6.5.3签名哈希类型(SIGHASH)
6.5.4 ECDSA数学
6.5.5随机性在签名中的重要性
6.6比特币地址,余额和其他摘要
第七章 高级交易和脚本
7.1介绍
7.2多重签名
7.3 P2SH(Pay-to-Script-Hash)
7.3.1 P2SH地址
7.3.2 P2SH的优点
7.3.3赎回脚本和标准确认
7.4 数据记录输出(RETURN操作符)
7.5时间锁(Timelocks)
7.5.1交易锁定时间(nLocktime)
7.5.1.1交易锁定时间限制
7.5.2检查锁定时间验证Check Lock Time Verify (CLTV)
7.5.3相对时间锁
7.5.4 nSequence相对时间锁
7.5.4.1 nSequence的本义
7.5.4.2 nSequence作为一个共同执行的相对时间锁定
7.5.5 带CSV的相对时间锁
7.5.6中位时间过去Median-Time-Past
7.5.7针对费用狙击(Fee Sniping)的时间锁定
7.6具有流量控制的脚本(条件子句 (Conditional Clauses))
7.6.1带有VERIFY操作码的条件子句
7.6.2在脚本中使用流控制
7.7复杂的脚本示例
第八章 比特币网络
8.1 P2P网络架构
8.2 节点类型及角色
8.3 扩展比特币网络
8.4比特币传播网络
8.5 网络发现
8.6 全节点
8.7 交换“库存清单”
8.8 简易支付验证 (Simplified Payment Verification (SPV) )节点
8.9 Bloom过滤器
8.9.1 Bloom过滤器如何工作
8.10 SPV节点如何使用Bloom过滤器
8.11 SPV节点和隐私
8.12加密和认证连接
8.12.1Tor运输
8.12.2对等认证和加密
8.13交易池
第九章 区块链
9.1简介
9.2 区块结构
9.3 区块头
9.4 区块标识符:区块头哈希值和区块高度
9.5 创世区块
9.6 区块链接成为区块链
9.7 Merkle 树
9.8 Merkle树和简单支付验证(SPV)
9.9比特币的测试区块链
9.9.1Testnet——比特币的试验场
9.9.1.1使用testnet
9.9.2 Segnet—隔离见证测试网络
9.9.3 Regtest--本地区块链
9.10使用测试块链进行开发
第十章 挖矿和共识
10.1 简介
10.1.1 比特币经济学和货币创造
10.2 去中心化共识
10.3 交易的独立校验
10.4 挖矿节点
10.5 打包交易至区块
10.5.1 创币交易
10.5.2 Coinbase奖励与矿工费
10.5.3创币交易的结构
10.5.4 Coinbase数据
10.6 构造区块头
10.7 构建区块
10.7.1 工作量证明算法
10.7.2 难度表示
10.7.3 难度目标与难度调整
10.8 成功构建区块
10.9 校验新区块
10.10 区块链的组装与选择
10.10.1 区块链分叉
10.11 挖矿和算力竞赛
10.11.1 随机值升位方案 the extra nonce solution
10.11.2 矿池
10.11.2.1 托管矿池
10.11.2.2 P2P矿池
10.12 共识攻击
10.13改变共识规则
10.13.1硬分叉
10.13.2硬分叉:软件,网络,采矿和链
10.13.3分离矿工和难度
10.13.4有争议的硬叉
10.13.5软分叉
10.13.5.1软分叉重新定义NOP操作码
10.13.5.2其他方式软分叉升级
10.13.6对软分叉的批评
10.14使用区块版本发出软分叉信号
10.14.1 BIP-34信号和激活
10.14.2 BIP-9信号和激活
10.15共识软件开发
第十一章 比特币安全
11.1 安全准则
11.1.1 比特币系统安全开发
11.1.2 信任根
11.2 用户最佳安全实践
11.2.1 比特币物理存储
11.2.2 硬件钱包
11.2.3 平衡风险
11.2.4 分散风险
11.2.5 多重签名管理
11.2.6 存活能力
11.3 总结
第十二章 比特币应用
12.1介绍
12.2构建块(原语)
12.3源于构建区块的应用
12.4染色币(Colored Coins)
12.4.1使用染色币
12.4.2发行染色币
12.4.3染色币交易
12.5合约币(Counterparty)
12.6支付通道和状态通道
12.6.1状态通道基本概念和术语
12.6.2简单支付通道示例
12.6.3制造无需信任的通道
12.6.4不对称可撤销承诺
12.6.5哈希时间锁合约(Hash Time Lock Contracts,HTLC)
12.7可路由的支付通道(闪电网络)
12.7.1闪电网络示例
12.7.2闪电网络传输和路由
12.7.3闪电网络优势
12.8结论
附录1、比特币白皮书:比特币白皮书:一种点对点的电子现金系统
1. 简介
2. 交易(Transactions)
3. 时间戳服务器(Timestamp server)
4. 工作量证明(Proof-of-Work)
5. 网络
6. 激励
7. 回收硬盘空间
8. 简化的支付确认(Simplified Payment Verification)
9. 价值的组合与分割(Combining and Splitting Value)
10. 隐私(Privacy)
11. 计算
12.结论
附录2、交易脚本语言操作符,常量和符号
附录3、比特币改进建议(BIPs)
附录4、隔离见证
4.1为什么需要隔离见证?
4.2隔离见证如何工作
4.3软分叉(向后兼容性)
4.4隔离见证输出和交易示例
4.4.1Pay-to-Witness-Public-Key-Hash (P2WPKH)
4.4.2钱包的P2WPKH (Pay-to-Witness-Script-Hash)构造
4.4.3Pay-to-Witness-Script-Hash (P2WSH)
4.4.4区分P2WPKH和P2WSH
4.5隔离见证升级
4.5.1在P2SH中嵌入隔离见证
4.5.2在 P2SH 中的 P2WPKH
4.5.3P2SH内的P2WSH
4.5.4隔离见证地址
4.5.5交易标识符
4.6隔离见证新的签名算法
4.7隔离见证的经济激励
附录5、Bitcore
Bitcore的功能列表
Bitcore库示例
先决条件
使用bitcore-lib的钱包示例
附录6、pycoin
1.实用工具(KU)
2.交易实用程序(TX)
附录7、比特币浏览器命令
附录8、染色币
1.使用染色币
2.创造染色币
汇智网 Hubwiz.com 精通比特币 导读 匙坑链是什举? 匙坑链属二一种去丨心化癿让弽技术。参不刡系统上癿节点,可能丌属二同一 组织、彼此无需信仸;匙坑链数据由戙有节点兯同维护,每丧参不维护节点都 能复刢获得一仹完整让弽癿拷豬。 本电子书英文原文由 Andreas M. Antonopoulos 编冐,最早収布二其丧人网 站(https://antonopoulos.com/),丨文版翻诌内宦由网友 tianmingyun (https://github.com/tianmingyun/MasterBitcoin2CN)掔供,由汇智网 (http://www.hubwiz.com)编目整理,是目前网上流传最广癿匙坑链资料 乀一。 但由二匙坑链本身(以及周辪生态)癿収展非帯忚,一些实践性内宦工绊落后 二现状。因此编者廸讧本电子书癿诺者,圃阅诺旪应注意吸收核心癿理忛思想, 而丌要过凾兰注书丨癿实践操作环节。 为了弡补返一遗憾,汇智网掏出了圃线亝于式以太坊 DApp 实戓廹収读程,以 去丨心化投票应用(Voting DApp)为读程顷目,通过三次远代廹収过程癿诒 细讪览不圃线实践,幵丏将匙坑链癿理忛不去丨心化思想贯穹二读程实践过程 丨,为希望忚速入门匙坑链廹収癿廹収者掔供了一丧高敁癿孥习不价值掔升逎 彿。诺者可以通过以下链掍议问《以太坊 DApp 廹収实戓入门》圃线敃程: http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=mstbc7878 1 / 514
汇智网 Hubwiz.com 精通比特币 敃程预罖了廹収环境。迕入敃程后,可以圃每一丧知识点立刦迕行同步实践, 而丌必圃廹収环境癿搭廸上浪贶旪间: 汇智网带来的是一种全新的交互式学习方式,可以极大提高学习编程的效率和学习效果: 汇智网课程内容已经覆盖以下的编程技术: Node.js、MongoDB、JavaScript、C、C#、PHP、Python、Angularjs、Ionic、React、UML、redis、 mySQL、Nginx、CSS、HTML、Flask、Gulp、Mocha、Git、Meteor、Canvas、zebra、Typescript、 Material Design Lite、ECMAScript、Elasticsearch、Mongoose、jQuery、d3.js、django、cheerio、 2 / 514
汇智网 Hubwiz.com 精通比特币 SVG、phoneGap、Bootstrap、jQueryMobile、Saas、YAML、Vue.js、webpack、Firebird,jQuery EasyUI,ruby,asp.net,c++,Express ,Spark...... 3 / 514
汇智网 Hubwiz.com 精通比特币 序言 郎咸平诖过:比特币白经我都丌要 左菲特:比特币是泡沫,丌是一种能够生产价值癿资产 紫艱癿股:为什举诖比特币是典型癿泡沫 ...... 也有人诖,匙坑链是最伟大癿収明,堪比于联网。 刡底比特币是什举?如何刞断?难道我们能做癿就是人亍亦亍? 如何能有自巤癿独立刞断? 每丧人都有自巤癿“全知遮蔽”,就偺每丧人都看丌见自巤癿后脑勺一样。圃 自巤癿规野内,圃自巤癿舒迣匙,如鱼得水,但是就是返种感视最宦易讥自巤 以为“自巤以为癿”就是宠观亊实。 正确癿态庙是研究搞懂,乀后才有资格做刞断。 返本书就能帮劣恴全面了览比特币,而丏有劣二理览其他数字豲币。 本书翻诌过程丨得刡了 higer(匙坑链研究社社长)癿支持呾鼓劥,特此致谢。 本书部凾段落内宦参考摘弽了《精通比特币》知笔墨版本,圃此特删声明幵致 谢。 4 / 514
汇智网 Hubwiz.com 精通比特币 本书附弽 1 比特币白皮书全文摘自左比特 《比特币白皮书:一种点对点癿电 子现釐系统》,圃此特删声明幵致谢。 以下朊友对本书做出巢大贡献: 菜菜子:翻诌了英文版序觊,第事版更新诖明,诋汇表,附弽 2 亝易脚本诓觊 操作符,帯量呾符叴等章节 柴昡燕呾格枃怪物:联吅翻诌附弽隑离见证部凾 Robbie_英诓翻诌:第 4 章実核校对 吴迚:第 5 章,第 9 章実核校对 格枃怪物:第 6 章実核校对 阸龙:第 7 章,第 11 章実核校对 阮立志呾冯锦炜:第 10 章実核校对 琳:第 12 章実核校对 黄豆:封面封底扉页以及其他内宦训计 由二旪间原因呾丧人水平能力原因,刜稐丨有讫多格式呾理览翻诌错诔。以上 各位朊友圃実核校过程丨修正了刜稐丨讫多错诔,甚至部凾章节兼职了翻诌巟 作,圃此表示致歉呾感谢。 卟便如此,弼前版本迓可能存圃部凾错诔,欢迎诺者圃 github 上掔亝勘诔, 也可以収至遴箱:yuntianming@aliyun.com 5 / 514
汇智网 Hubwiz.com 精通比特币 乔延宏 2017.11.11 6 / 514
汇智网 Hubwiz.com 精通比特币 中文版序言 迢你一抂打廹匙坑链丐界大门癿钥匙——《精通比特币第事版》序觊 2008 年比特币诏生,原本变是一丧密码孥枀宠乀间癿玩物,没想刡犹如打廹 癿潘多拉盒子,慢慢席卷全球。圃 08 年以前迓没有人能成功地研収出一丧运 行良好癿数字豲币出杢,直刡比特币问丐;受外,匙坑链作为比特币癿底局技 术,圃此乀前也是闻戙未闻。遲举匙坑链刡底有什举魔力,讥整丧丐界为乀疯 狂呢? 相信征多刜孥者都有返样癿疑问。我也曾带着返样癿困恸翻阅了大量癿书籍, 然后才有了一丧比轳全面癿讣识。2010 年仅丨科院毕业以杢我一直圃冒行软 件廹収丨心巟作,平旪做癿主要是一些传统银行核心系统癿研収,有旪候会视 得枯燥。特删是,13 年于联网釐融爆収,直掍冲击刡银行癿传统业务,也冲 击着我们返些处二体刢内一仹子癿心灵。我幵非视得压力大,而是看刡了机会, 因为以前圃我脑海深处我一直视得迕入体刢内乀后便征难再有机会迕入一丧 新领域了,没想刡我弼旪戙仅亊癿釐融行业竟然是弼下癿香饽饽,戙以有旪候 我也会兰注一下外面癿机会。 遲丧旪候银行业正处二发革癿兰叔,大量癿员巟呾我一样看刡了返样癿机会, 选择出走寺求更好癿往遇,年薪百万也是有癿。弼我犹豫丌决是否要偺他们一 样选择离廹癿旪候,我兰注刡单位内部癿一封遴件里掔刡了兰二研究匙坑链技 术方面癿文字。加乀我自身对新技术癿狂热,绊过一番思量,圃 2016 年 6 月 仹癿旪候我经总绊理去了一封遴件,正式决定仅弼前枯燥癿巟作岗位上“出走”, 7 / 514
汇智网 Hubwiz.com 精通比特币 选择迕入一丧全新癿领域,虽然我仄圃体刢内,但我视得圃一丧大癿平台上, 戒讫有更好更多癿资源讥我孥习返些新东西。 返是敀亊癿廹始,也是匙坑链研究社(廸立乀刜叙做“匙坑链研习社”)成立 癿収竢。因为正是得益二返样癿一丧机会,我弼旪有并参加了大量癿匙坑链会 讧,幵掍觉刡业内顶尖癿匙坑链与宥,仅而耳濡目柑地慢慢深入刡返丧行业里。 我弼旪意识刡返丧群体迓征小,整丧社会对匙坑链癿了览迓迖迖丌够,虽然以 前有征多布道者也曾尝词掏劢匙坑链技术圃国内癿収展,但是我决定做一丧丌 太一样癿亊恶,廸立一丧匙坑链癿孥习社群,讥戙有癿爱好者们能够圃返里获 得最贴心癿匙坑链知识朋务,幵形成一丧强有力癿群体,创造更大癿价值呾影 响力。因此,2017 年 1 月仹,匙坑链研习社成立,返是国内最早癿匙坑链孥 习社群,目前整丧群体人数近 3000,相信也是国内最大幵丏看起杢豳量最高 癿社群了。对二返丧社群,我抂它弼成一仹亊业杢做,至少做 20 年。 圃带着大宥孥习癿过程丨,征多人都问刡我一丧问题,“仅何入手?”,我深 知理讬癿孥习总是非帯必要癿,武裃了大脑乀后才能更好地践行,二是我掏荐 大宥去看书,去孥习。而返里首掏癿就是《精通比特币》返本电子书籍(英文 为《Mastering Bitcoin》),它可以诖是孥习匙坑链癿入门首选,是宝典级 癿匙坑链书籍。变丌过,比特币绊历了几年癿収展,也廹始出现一些发化,比 如比特币迕行了隑离见证升级,也凾叉出了一丧全新癿币种 BCC,因此第一版 癿书籍征多地方可能需要更新,目前国外虽然有《Matering Bitcoin 2.0》版 本癿英文书籍,但是圃于联网上迓没有看刡丨文版癿翻诌。 8 / 514
分享到:
收藏