VICOINDAO

发布于 2022-01-05到 Mirror 阅读

VICOINDAO 一、区块链小白初级教程23·pow,pos,poc都是怎样挖矿的

在之前我们已经讲过,共识机制是区块链网络中,所有节点都要遵守的一种规则,当前主流的共识机制分为两种,一种是PoW共识机制,另一种则是PoS共识机制,今天我们就来介绍一下,什么是PoW共识机制。

所谓PoW机制,全称是Proof of Work,也就是工作量证明。

 

 

最开始,这个技术是被用来解决滥发垃圾邮件的问题(系统要求发送者,每发送一封邮件,都要做一定的工作量证明行为,从而提高大量发送垃圾邮件的成本)不过后来,中本聪发现这个技术能有效解决“拜占庭将军问题”,于是便把它引进了比特币区块链网络中,慢慢的,PoW机制就变成当今区块链中的主流之一。

简单来说,PoW机制主要是通过竞争记账的方式,来解决区块链网络中各个节点的一致性问题,它的原理是这样的:

我们都知道,区块链中的每个节点都能自由地参与数据处理,也就是打包区块,为了保证网络中的各个节点能达成一致,PoW就规定,当一笔交易产生后,每一个想要记账的节点,都需要依靠自己的计算能力与他人竞争、争夺记账的权力。

 

 

竞争的方式,是每过大约10分钟的时间,就会进行一轮算力竞赛,参与的节点通过算力不断寻找一个随机数Nonce。谁先找到满足一定条件的Nonce值,且通知全网、获得认可,谁就能获得记账的权力。

最终,获得记账权的人,他所打包的区块会连接到区块链的链上,同时他处理的数据,也会被全网的其他节点记入各自的小账本中。

 

PoW机制在比特币网络中,就是比特币的挖矿原理,它会给获得记账权的节点一定的比特币作为奖励,从而激励更多的人加入进来。

PoW机制的优势在于,它让每个节点的算力都加入进了网络的交易认证中,基于PoW的竞争机制,想要在区块链网络中作恶,必须掌握全网绝对的算力,不然都要面临来自于其他人的算力竞争。理论上,除非有人能掌握全网51%以上的算力,否则整个网络的任何东西都是无法被篡改的。这样使得网络的去中心化性更强、节点的作恶成本更高。

 

所以,加入的人越多,全网算力就越大,也就越难被人掌握超过51%的算力,整个网络也就越安全。

当然,PoW机制不是完美的,它为了保证网络的强去中心化,付出了很多的代价。比如被大家诟病的浪费大量资源、和处理性能较低。

 

因为PoW机制中,每个人都可以自由地加入网络成为节点,进行数据处理,而且每个节点处理数据都要通过算力竞争的方式,争夺记账权。想一想,一笔数据要经过网络每个人查看,而且为了一笔数据,每个人还要花费大量的算力,自然而然就造成了资源浪费与效率低下。

不过,瑕不掩瑜,PoW机制也确实使去中心化的互联网落地成为可能。或许未来,随着技术进步,共识机制能够打破去中心化、效率、安全的不可能三角,让我们拭目以待吧。

 

 

 

【pos】

所谓PoS机制,全称是Proof of Stake,也就是权益证明。它是除PoW机制外的另一类主流共识机制。

 

我们都知道,PoW机制有一些缺点,比如挖矿时会浪费大量的资源、整个网络处理效率较低等等。为了解决这些问题,有人就在2011年提出:“可不可以在PoW的基础上,重新设计一个机制?既能保留PoW的优势,又能解决它的问题”。于是PoS共识机制就应运而生,所以,PoS在共识层面上借鉴很多PoW的设计,如区块设计,矿工选择,分叉处理,交易验证等。

PoS机制主要是通过权益记账的方式,来解决网络的效率低下、资源浪费和各节点的一致性问题,简单来说,就是谁拥有的权益多谁说了算。它的原理是这样的:

 

 

PoW之所以有种种问题,主要是因为人人都可以自由地成为节点,而每个节点又通过竞争的方式参与数据处理。一笔数据要经过这么多人的处理,肯定会造成资源浪费和效率低下。

PoS之所以能解决这个问题,是因为PoS提高了节点处理数据的门槛,它规定:虽然每个人都可以自由地加入进来成为节点,但只有满足一定条件的节点,比如抵押一定数量的代币,才有资格成为验证节点,也就是候选人。

 

 

成为候选人后,系统会通过算法,选择一部分人作为出块节点,每隔一段时间,会重新选择,选取过程中,算法会保证选取的结果不能被操纵,也不能被预测,从而避免网络被某一节点所控制。只有成为出块节点,也就是矿工,才能参与数据的处理、争夺记账的权利。

所以说PoW是人人都可以成为矿工,而PoS则是通过一系列筛选,才能成为矿工。

 

PoS具体的竞争方式是,谁持有的代币多,谁就越容易获得出块的权利。然后通过全网广播,他打包的区块经其他矿工验证,确认没问题后,这个区块就会连接到链上,并同步在全网其他节点的小账本中,同时他获得相应的代币奖励。

 

整个流程简单总结起来就是:持币人将代币抵押,获得出块的机会,然后PoS共识中会通过选举算法,按照持币量比例,从中选出出块矿工。矿工在指定高度完成打包交易,生成新区块,并广播区块,广播的区块经过验证人验证交易,通过验证后,区块得到确认。这样一轮PoS的共识过程就完成了。

PoS机制的优势在于,它解决了PoW中的资源浪费、效率低下等问题。但它同样也有一些缺点。比如,PoS机制中初始的代币分发比较模糊,如果初始代币分发不下去,就很难形成之后的股权证明。再比如,选举算法存在被攻击的可能,一旦攻击成功,整个系统就会被操控。

 

但是PoS机制最大的问题,还是容易造成强者恒强的局面,谁的代币越多,谁就越容易获得更多的代币,理论上谁能掌握51%的代币,谁就能掌控整个网络,所以,它的去中心化程度要弱一些。

总的来说,PoW与PoS都是目前主流的共识机制,共同引领着区块链技术的落地与进步,但他们或多或少,都存在一些不可避免的问题,希望未来的某一天,它们能克服自身问题,真正使区块链大规模商业化,而我们也能迎来一个更好的去中心化互联网。

【poc】

 

PoC(Proof of Capacity),中文称为容量证明、空间证明。

 

其实这个概念并不是最近才有的,几年前就有些项目提出了PoS的概念,但是此PoS不是彼PoS:大家熟知的PoS是指Proof of Stake,也就是权益证明,而这里说的PoS是Proof of Space,即空间证明。正是因为PoS这个缩写会产生歧义和误导,所以空间证明Proof of Space采用了另一种说法,就是PoC(Proof of Capacity),即我们今天所说的容量证明。Capacity有容量、体积的含义,十分贴切空间证明利用存储空间容量挖矿的概念,因此被市场所接受。我们只要搞明白,Proof of Capacity、Proof of Space是同源的东西,这里的Capacity与Space也是类似的含义,就可以了。

 

那么PoC厉害在哪里?总结起来就是一句话:PoW的优势PoC基本都有,而PoW的劣势PoC基本都没有。你PoW不是很牛逼吗?不好意思,你牛逼的地方我PoC也牛逼,但是我偏偏还克服了你的缺点。这里所说到的PoW的缺点,一个是能源浪费,另一个是挖矿中心化。

 

能源浪费是一个众所周知的问题了。有人反驳说,比特币消耗的电能是为了维护比特币的安全性,因此不是浪费。我们暂且不去反驳这个逻辑,就看一个事实:比特币每年消耗的电力,已经堪比一个欧洲的中型发达国家的消耗量。在可预见的未来,电力能源都是有限的、稀缺的资源,它不可能没有上限,也不可能不需要成本。如果比特币要消耗掉一个欧洲中型发达国家的电力,那么世界还能容下多少个PoW币种呢?

 

但是PoC不一样,PoC是“空间换时间”,可以使用大量的闲置存储设备来进行挖矿,同时维持这些设备运作所需要的电力仅为PoW的几百分之一,即可以达到同等的安全性级别。这一点很重要!号称省电的共识机制一抓一大把,比如PoS、DPoS都很省电,但是人们认吗?比特币一直以来都是老大,本质上还是因为认同PoW这种无门槛、公平竞争的共识机制所带来的的安全性。

 

挖矿中心化问题,是任何PoW都难以避免的问题,可以说是PoW币种的宿命了。比特币一开始用CPU挖矿,号称“一CPU一票”,然后变成显卡和FPGA挖矿,再后来变成专门设计的ASIC电路挖矿,挖矿的门槛一下子就提高了很多,普通人除非投资矿场或者参与矿场的“云挖矿”,否则根本不可能在比特币挖矿收益中分一杯羹。这一现象可能直接导致挖矿的中心化,这对一个加密货币来说是致命打击。某些比特币的竞争币,号称可以抗ASIC,其原理大多是选择了某种小众的哈希算法、或者不断地更换哈希算法,但只要这些币种市值够大、有利可图的时候,一样会出现ASIC矿机。

 

PoC天生不存在这种挖矿中心化的问题。PoC使用硬盘挖矿,而对矿工的计算能力、网络IO等要求不高。因此,PoC可以真正做到“全世界有硬盘的人都可以参与挖矿”,没有硬件门槛、也没有网络门槛。硬盘挖矿的效能,基本只取决于容量大小,因此也不必区分硬盘的高低贵贱。要知道现在的比特币ASIC矿机的计算能力可以是普通CPU的数百万倍,而硬盘则永远不可能存在这样的“作弊”方法!

 

【welcome to join us】 WeChat1:victeam005 WeChat2:shijie20170405 Telegream:https://t.me/VICOINDAOCHAT Twitter:@VICOINDAO