笔记 | 普林斯顿公开课《比特币和数字货币技术》2.4

公开课地址:https://www.coursera.org/learn/cryptocurrency/home/welcome

第二周:比特币如何实现去中心化

章节2.4笔记:激励和工作量证明

比特币设计包含两部分:
1、技术机制(technical mechanism)
2、激励工程(incentive engineering)

假设:诚实是困难的(problematic)
问题:能否给节点激励,使之保持诚实?

激励1:区块奖励(block reward)
区块创建者可以得到:
1、N BTC,每4年减半
2、指定奖励地址

激励2:交易费用(txn fee)
区块创建者可以选择打包交易output < input的交易。
交易费全自愿,类似小费。

剩下三个问题:
1、如何随机一个节点?
2、如何避免由奖励而导致的free-for-all节点?
3、如何避免Sybil attack?(这是第二个问题的tricky version)

Sybil attack,女巫攻击。

解决方案:proof-of-work
选择一种无人可以垄断的资源

依计算资源的比例:proof-of-work
依所有权的比例:proof-of-stake

PoW:
1、根据算力选择节点
2、让节点竞争区块创建权
3、使得构造新identity适度困难(moderately difficult)

Hash puzzles:
To create a block, find a nonce s.t. H(nonce || prev_hash || tx || ... || tx)

PoW属性1:计算困难
PoW属性2:参数化成本(parameterized cost)
每2周调整一次难度。目标:保持平均出块速度在10分钟左右。

关键安全性假设:按算力计算节点权重使得攻击不可行

解题是概率的(probabilistic)

PoW属性3:验证是非常轻易的(trivial)

你可能感兴趣的:(笔记 | 普林斯顿公开课《比特币和数字货币技术》2.4)