共识机制——PoW工作量证明

一、POW共识机制存在原因

在以比特币为主的区块链数字货币数字里,每个身份都是匿名的,这样就会存在Sybil Attack,用户用多个身份获取多个投票权利,只要身份够多,就可以允许伤害比特币体系的行为比如双花行为。因此,基于hashcash机制(早期用来防止垃圾邮件,证明自己发邮件是花了资源去完成的),取代用身份投票的机制,改用资源进行投票(即记账),,因为每个身份想参与投票都需要进行大量的资源进行工作,累计起来会是一个很昂贵的资源代价,从而提高作假者的作假成本。

二、POW原理

矿工要想获取记账权,必须根据上一区块的hash值,以及这段时间(大概是十分钟)的交易形成的Markle Tree的Markle Root数值,再加上自己猜测的一串随机数 Nonce,使得SHA(Prev_Hash + Markle Root + Nonce) < 比特币网络给出的某个数(暂称A),矿工获得记账权的过程就是不断计算直到获得符合条件的Nonce,这个过程也叫做挖矿,先计算出Nonce的矿工获得该区块的记账权。而A则代表了挖矿的难度,A越小难度越大。系统会每隔14天,经过约2016个区块后根据这段时间的平均挖矿时间来调整A值,使得生成区块的时间稳定在10分钟左右。矿工在获得新区块记账权的同时也会获得奖励以及交易费。

矿工为了获得新区块的记账权,需要付出时间和计算力,而且付出算力越多的矿工,获得记账权的几率越大,所以这就使得Sybil Attack现象付出了巨额代价,作恶成本提高。

(图片来源陈川老师PPT)

三、POW优缺点

1. POW优点

安全性提高。因为获得记账权需要付出代价,而且想更大概率获得就得付出更多算力,因此作恶者想通过获得区块链记账权方式来作弊,必须付出大量经济成本如电力和算力,而且还不一定会获得记账权,因此欺诈成本可能会高于作恶带来的利益,导致作恶者放弃作恶。

去中心化。区块的记账权所有节点都是公平竞争,“多劳多得”,并不是由一个人主导的,即使拥有极大算力,也有一定的概率失去记账权,每个区块由谁记账是不确定的,很好符合区块链去中心化的特征。

2. POW缺点及存在问题

资源浪费。因为矿工挖矿过程需要计算Nonce串来争得记账权,这个过程中需要消耗大量电力和算力,甚至节点与节点之间演变成“军备竞赛”,所有人都参与挖矿,导致挖矿速度变快,然后A变小,挖矿难度变大,所需资源也会更多。但这些计算都只是求Nonce串,并没有什么实际意义,白白浪费了这么多资源。

交易速度慢。因为每隔十分钟才会出一个新块,所以交易并不是立即完成的,必须等待矿工挖矿成功,而且还得等其他节点确认。同时,区块大小也是有限的,有可能存在该时段产生交易过多,无法全部记录,所以就会造成交易阻塞情况。

理论上存在51%攻击。尽管拥有51%的算力是极其困难的,但这种情况还是存在的,比如作恶的人组成联盟等等,掌握51%算力的节点可以通过增加分支等来否认之前的交易。

四、解决思路

1. 节点不通过无意义的计算获得记账权,可以考虑与某些研究机构或企业合作,将其需要大量算力的研究项目分割成小问题,矿工挖矿不需要再去计算Nonce,而是解决一个这样一个小问题,谁先达到问题的要求即可获得记账权,这样就不会白白浪费资源。

2. 不直接采用POW共识机制,而是将POW和POS相结合,一是可以减少资源浪费,二是可以防止算力越大的节点在获得记账权上统治力越大。

3. 增大区块的大小或者降低挖矿难度,使交易速度加快

4. 交易双方中,收款方在接到转账通知后,不急于转交货物,而是等该交易确定后六个区块再转交货物,此时即使拥有51%的算力,想修改六块已确定的区块,难度还是非常大的。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值