https://teachbitcoin.io 的教学 PPT 翻译。配合 libbitcoin 进行 比特币 原理&编程 教学。
Libbitcoin 是一个异步的 C++ 比特币代码库. 相关文档.
原文章节 | 简介 | 练习代码 | 译文章节 |
---|---|---|---|
椭圆曲线数学 | This chapter covers prime fields, elliptic curves operations over real numbers and prime fields. These are the basic mathematical concepts that ECDSA signing is based on. | 代码 | 进行中 |
DER 签名 | 比特币签名使用椭圆曲线签名算法 (Elliptic Curve Digital Signing Algorithm, ECDSA) 来为未花费输出 (unspent outputs) 提供安全性,并以 DER 序列化格式进行被编码。 | 无 | 已完成 |
地址和分层确定性钱包 | Bitcoin addresses encode the information required for a wallet to spend to the correct key. Hierarchical Deterministic wallets use a child-key derivation algorithm to safely derive new addresses from the same root. | 代码 | 进行中 |
交易入门 | An introduction to building and signing your first transaction which spends to Pay-to-Public-Key-Hash outputs. | 代码 | 进行中 |
Signature Hash Modifiers | Signatures can commit to specific input and outputs, allowing other parts of the transaction to be modified by other parties. | 代码 | 进行中 |
多重签名脚本 | An output script which can be spent by n-of-m signatures. | 代码 | 进行中 |
Pay-to-Script-Hash 脚本 | P2SH output scripts commit to a hashed locking script. The locking script preimage must be provided together with the unlocking script for such a P2SH output to be spent. | 代码 | 进行中 |
交易时间锁 | Absolute and relative timelocks prevent transactions from being broadcast before a certain time or blockheight. A timelock may be commited to by the transaction signature, or can be enforced by the previous output script. | 代码 | 进行中 |
见证交易 | Pay-to-witness output scripts are be spent with transactions with valid witnesses. Wallets which do not support native P2W transactions may send to outputs which wrap P2W scripts in P2SH outputs. | 代码 | 进行中 |
区块链 | A closer lock at blocks and block headers, and their validation by nodes. | 代码 | 进行中 |
点对点(P2P)网络 | An introduction to the P2P messaging protocol between Bitcoin nodes on the network. | 代码 | 进行中 |
简单支付验证 | SPV clients follow the longest header chain with the most proof-of-work. They rely on specific transaction updates from full Bitcoin nodes, and perform merkle proofs to validate confirmation of these transactions. | 代码 | 进行中 |
支付通道和闪电网络 | We demonstrate a basic payment channel between two nodes which is enabled by revocable output scripts (RSMC's). Payment routing across multiple payment channels is made possible by hashed time-locked contracts (HTLC's). | 代码 | 进行中 |
相关编程代码和讲解/指南可在这里找到。