p3.BTC-协议

数字货币是文件,难伪造,但是容易复制,不像实体货币,花出去就没了,数字货币存在double spending attack,双花攻击。

去中心化的货币,需要解决两个问题:

1.货币的发行

挖矿

2.交易的有效性

每个交易都包含两部分,输入和输出。

输入部分要说明币的来源,输出部分给出收款人公钥的hash。

这就是一个小型的区块链,这里有两种哈希指针,一个是之前说的连接各个区块之间的,还有一个是指向前面某个交易的指针(可以防范双花攻击)。

转账的地址是通过公钥算出来的。Bitcoin内部是没有提供查询某个具体的人的公钥的功能,需要通过其他渠道获得,还多比特币地址即公钥在网上二维码的形式贴出来。

Bitcoin操作过程中的验证过程是通过执行相应的脚本来实现的,Bitcoin Script。

block header block body
version transaiton list

hash of previous

hash header

 
target  
merke root hash  
nounce  

 

分布式哈希表

 分布式的难点:distributed  consensus 一个论断FLP。

CAP Theorem ,Paxos协议。

 有问题解决方法一:

1.投票机制

候选区块发布给所有的节点(全节点),每个节点去验证里面的交易是不是都是合法的。

问题:a.无法保证每个节点都投票。b.t投票效率无法有效保障,网络延迟。

最大的问题,所有要确定有投票权的membership ,如:hyperledger fabric 只有大公司才有权利加入。如果恶意节点超过总数的一半,就能控制投票结果了:sybil attach。

 

比特币的做法,改进的投票机制。靠算力来投票。利用 hash rate 避免sybil attach

分叉攻击forking attack

 

谁来确定发行货币

coinbase transaction。

得到区块记账权获得 block reward  50 BTC  --> 25 BTC 随时已有的比特币越多,每隔21w个区块奖励越少(减半),现在是12.5 BTC。

这个比特币系统平均每10分钟产生一个新的区块。

posted @ 2019-06-22 14:33  甜麦地  阅读(246)  评论(0编辑  收藏  举报