BTC笔记-03-协议
BTC-协议
曾经的失败构想
double-spending双重支付、一闭多付、多花攻击,是同一笔数字货币可以被重复花用两次或更多次的情形- 比特币的每笔交易包含输入和输出两部分,输入内容包含发起人的公钥、指向币来源块的哈希指针等,输出内容包含接收人的地址、转账数量等,交易需要包含发起人用私钥进行的签名,其签名可以使用发起人的公钥进行验证
比特币区块链的块结构
每个比特币区块链由 block header 和 block body 两部分组成
block header中包括version版本、hash of previous block header前一个区块块头的哈希值、Merkle root hash整个哈希树的根哈希值、target挖矿难度阈值、nonce随机数和nBits目标阈值编码block body中包括transaction list交易列表
整个系统中包含 full node (fully validating node) 全节点和 light node 轻节点。全节点保存区块链的所有信息,轻节点只保存区块头部信息。其中轻节点无法独立验证交易的合法性
系统中的大多数节点都是轻节点
分布式共识
distributed consensus 分布式共识
distributed hash table分布式哈希表FLP impossibility result不可能结论:在一个异步系统asynchronous system中,即使只有一个成员是有问题的faulty,也不可能取得共识CAP Theorem:Consistency一致性、Availability可用性和Partition tolerance分区容错性为期望的分布式系统所具有的三个性质:CAP Theorem说明,在任何一个分布式系统中,以上三个性质最多满足两个,不可能三个均满足
Consensus in Bitcoin
比特币中共识协议需要解决的一个问题是,有些节点可能是恶意的
sybil attack女巫攻击longest valid chain最长合法链forking attack分叉攻击
各节点通过寻找符合要求的 nonce 争夺记账权,当找到合法的 nonce 时即可发布区块,区块应该在 longest valid chain 上延续
Block reward
获得记账权后每写入一个区块可以获得 coinbase transaction 铸币权的奖励,在比特币创建之初奖励为 50 BTC

浙公网安备 33010602011771号