公开课地址:https://www.coursera.org/learn/cryptocurrency/home/welcome
第一周:密码学和加密货币介绍
章节1.5笔记:一个简单的加密货币
GoofyCoin 小狗币
规则1:Goofy可以创建Coin。sign to create.
[signed by pk_Goofy, CreateCoin uniqueCoinID]
规则2:Coin的拥有者可以把coin付给另一个人。sign to pay.
[signed by pk_Goofy, pay to pk_Alice: H()-]->[signed by pk_Goofy, CreateCoin uniqueCoinID]
漏洞(设计:双花攻击 double-spending attack。
Alice同时sign to pay to Chuck and sign another signature to pay to Bob.
改进:ScroogeCoin 唐老鸭币
Scrooge签名并公布所有历史交易记录,以区块链的形式。[a block chain, signed by pk_Scrooge]
可以每个txn一个block,但是优化的形式是多个txn打包放在一个block里。
如果Alice想双花,那么大家都会看到已经花过了,于是不会接受双花。
创币交易(CreateCoin txn)创建coin。
花币交易(PayCoin txn)销毁coin然后创造等量coin。
coin是不可变的、不能分割。但是可以销毁一个coin然后创造两个coin来实现切割。
至关重要的问题: Scrooge服务如何可以不依赖于一个中心化服务提供者?
课程作业:编程实现ScroogeCoin。
QY 2018-03-15