前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PoW工作量证明算法

PoW工作量证明算法

作者头像
可爱见见
发布2019-09-09 16:11:23
4930
发布2019-09-09 16:11:23
举报
文章被收录于专栏:卡尼慕卡尼慕

在区块链中面临的最大问题就是双重支付问题,就是在网络中某一个恶意节点去散布两种不同的交易,并且这两种交易是相互矛盾的,就是导致网络中其他好人节点看到两条链,那么整个网络为了解决这个问题需要通过一些协议去进行投票而达到一致,占票高的链被写入区块链,占票少的就不会写入区块链。

在比特币中处理这类问题并不是说人手一票来进行投票,而是通过CPU算力来投票

比如上一篇讲的,C面对两种说法(A转600给B,A转500给B),他会看到两条竞争链,那么C的策略就是先不做决定,而是看看哪一条链更长,链越长说明它需要耗费的算力就更多,那么就代表了整个网络投给那个链就更多,以此C就会投票给链更长的,于是正反馈,越来越多的好人就会投票给更长的链。

那这里有没有可能那个恶意的用户造一条更长的链呢?

A如果要实现双重支付,就要在自己广播自己向B转了600的同时保留一条副链(副链上保留了自己向B转了500),然后用自己的算力去和主链竞争。

假设大多数CPU由好人控制,那么主链将会远远把A的副链抛到后面,因为A的算力是竞争不过所有的节点的。一般而言,若已出现 >15个区块,副链超过主链的概率将会 <0.1%。

假设A掌握了 >51%的算力,A自己做的副链就有可能保持与主链同样的区块产生率,理论上是可以造成双重支付,也就是更改之前的转账交易,使B被骗。

那么怎么避免A做出这种破坏生态的行为呢?

比特币为了防范这种情况,使用了经济激励的方法。所以当A真正拥有大于51%的算力,也会选择去挖矿。

总结一下:Pow算法

1、利用CPU投票,长链代表多数票,以此取得共识。

2、基于大多数好人假设,双重支付问题成功概率较低。

3、经济激励约束行为。让掌握多数算例的矿工与整体的利益一致,否则成本高,收益低。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档