主页 > imtoken1.0钱包下载 > 区块链共识机制技术二——POS(Proof of Stake)共识机制

区块链共识机制技术二——POS(Proof of Stake)共识机制

imtoken1.0钱包下载 2023-07-30 05:12:01

前言

由于区块链是去中心化的去中心化网络,因此需要设计一种机制来维护系统的运行秩序和公平性,即共识机制,用于决定谁获得区块链的记账权,获得系统新的货币奖励。 比特币的POW共识机制是一种多劳多得的模式。 其优点是算法简单,易于实现。 如果破坏系统,需要投入巨大的成本,同时又能有一定的安全保障。 但是,该算法的缺点也很明显,即需要消耗大量电量,交易处理效率低。 例如,比特币系统具有每秒 7 笔交易的处理能力。 因此,人们不断琢磨新的共识机制,以便更好地运行区块链系统。

上一节我们介绍了POW共识机制。 本章将介绍区块链的其他一些共识机制,即POS共识机制。 POS的全称是proof of stake,中文翻译为权益证明。 它最先在Dotcoin中使用,主要解决POW中的资源浪费问题。

对于PoW,由于矿场的出现和挖矿设备性能的不断提升,算力开始集中,节点数量和算力逐渐不匹配。 有什么实用价值或者科学价值,还有更大的问题,作恶是没有成本的,矿工的恶意攻击不会对矿工接下来的记账和相关权益(比特币)产生任何影响。 鉴于此,人们提出了 PoS。

PoS算法是针对PoW算法缺点的改进。 PoS 最早由 Quantum Mechanic 于 2011 年在 bitcointalk 上提出,后来由 Peercoin 和 NXT 以不同的思路实现。 PoS 不像 PoW。 不管谁买了矿机,下载了软件,都可以参与。 PoS 要求参与者事先将一些代币(利息)放在区块链上,类似于将财产存放在银行中。 该模型会根据您持有数字货币的数量和时间,为您分配相应的利息。 只有用户把一些利益放到链上,相当于押金,用户才会更加关注,做出更加理性的决策。 同时,还可以引入奖惩机制,让节点的运行更加可控,更好的防范攻击。

一、PoS的原理和公式

要理解pos的实现原理,我觉得从pos的实现算法公式来理解是最直观的。 公式是:

hash(block_header) =<target * coinage
币龄的计算:coinage = 币的个数*币的剩余使用时间

其中coinage代表的是硬币的年代,也就是越老的硬币越容易得到答案。 币龄的计算是通过矿工拥有的币种乘以每个币种的剩余使用时间得到的,这也意味着你拥有的币种越多,越容易得出答案。 这样pos解决了pow资源浪费的问题,同时矿工不可能拥有全网51%的币,所以也解决了51%攻击的问题。

q币和比特币是货币吗_比特币是pow还是pos_比特币挖矿机制pow

PoS(Proof of Stake):与PoW相比,它不需要在记账前证明你做了某项工作,而是证明你拥有某项财产。 股权是一起决定的,谁的股权大,谁记账的概率就大。 由于PoS是比特币出现后提出的一种共识算法,尚未在实践中得到验证,PoS不是一个,而是一种共识算法。 最早使用 PoS 的是 Peer Coin,但它是一个简单的 PoS。 目前ETH Casper很火,但是还没有投产(观望),所以PoS的描述都是基于Peer Coin。

工作机制

在开始争夺区块记账之前,拥有权益的节点将自己的权利放入PoS机制中,同时自己的身份成为验证者。 PoS 机制根据验证者下注的多少随机选择一个簿记员。 区块记账。 这种随机性并不是真的随机。 它通常与赌注的赢率成正比。 谁的股权多,获得记账权的概率就大。 如果被选中的记账人在一段时间内没有记账,PoS机制将重新选择记账节点。 当区块完成后,将开始下一轮记账。

我们以 Peer Coin 为例来说明 PoS 的工作机制。 Peer Coin是第一个采用PoS共识机制的数字货币。 Peer Coin中引入了币龄和币日的概念。 所谓币日就是你持有币的时间,币龄=持币数量与当天的比值。 比如你有100个币,总共持有30天(Peer Coin至少30天没有使用的币可以参加下一个区块的竞争),那么你的币龄就是10030= 3000。 作为持币者,要参与下一轮比赛,流程如下:

比赛开始前,您押注3000个币龄作为筹码,成为记账验证人。 PoW 机制会随机选择一个簿记员。 恰好是你开始记账,完成你的3000币龄。 0 你获得利息 = 3000 * 5% / 365 = 0.41 币(365 币龄每清空,你将从区块中获得 0.05 币利息)

理解随机性:选我,选我,选我? PoS在选择记账人时一般有两种方法,一种是选择赌注较多(大赌注)的轮流进行记账; 另一种是与 PoW 相结合。 重要的因素是块生成的难度。 PoS 将出块难度与权益挂钩。 权益越大,出块难度越低,出块概率越大。

2. PoS 的优缺点

通过上面的描述和PoS的特点,PoS的优势在于:

节能环保,无需无用计算; 高性能; 更安全; 人人都可以挖矿(获得利息),不用担心算力集中带来的中心化; 避免货币紧缩

为什么 PoS 更安全?

q币和比特币是货币吗_比特币挖矿机制pow_比特币是pow还是pos

在指定的时间段内,在POS系统中,即使你拥有全球51%的算力,你也未必能进行51%攻击,因为部分货币不是挖矿产生的,而是通过interest(利息存储在POS区块中),这就要求攻击者还需要持有全球51%以上的币量。 这大大增加了 51% 攻击的难度。

在PoS机制下,持有的币越多,越容易获得记账权,接近于赢者通吃的感觉,但持有的币越多,越接近诚实节点,因为破坏整个网络造成的损失越大,也就是假设有钱人不会作恶,毕竟作恶的目的是钱。 如果你有钱,自然就没有作恶的动力。

pos的缺陷:

从pos的实现原理和算法公式分析,pos完美解决了pow的算力和51%攻击问题,那么,pos真的完美吗?

缺陷一:

我们再来看一下pos的实现算法公式。 在币龄的计算公式中,如果开始挖矿,只有币在创始区块,也就是说其他矿机不能参与挖矿,因为个别币对他们来说,这个值永远是0,也就是1 pos机制的缺陷和不能发币的问题。

缺陷二:

同样从POS的实现算法公式可以分析出币龄其实就是时间。 一旦矿工囤积了一定数量的币,时间长了他就会发起攻击,这样他就很容易获得记账权,所以我们要给每一个币设计一个时间限制。

缺陷三:

设计了时间上限之后,虽然解决了部分矿工囤币的毛病,但是从公式中我们仍然可以看出,还是会有一个问题,就是币数这个因素还是会影响到我们去获得记账权。 许多矿业投资人也会囤积代币,造成代币流通缺陷。 目前,部分平台引入了币龄根据时间弱化的方案来解决这一缺陷(例如:雷迪币)。

比特币是pow还是pos_比特币挖矿机制pow_q币和比特币是货币吗

缺陷四:

接下来我们来看一下POS共识机制的不足之处。 即使上述缺陷有一些解决方案,比如矿工挖了一段时间后也会下线。 此时,时间将不计入币龄削弱。 就这样,矿工通过长时间的离线囤积挖矿,自己也面临着灾难。

3. PoS特点及分类

PoS 功能

PoS 需要一定的权益作为出块的竞争资本。 PoS 不需要进行大量“无用”的 Hash 计算。 PoS 偏向于“权利”中心化体系,但也实现了平衡(清零区块)。 惩罚 PoS 提供激励

PoS分类

先说三个问题:

链分叉问题:从经济学的角度来看,PoW 自然可以防止链分叉,但 PoS 需要仔细审核,即无风险问题。 PoS 可以采用一定的惩罚机制。

远程攻击问题:即矿工提取固定虚拟资产后,发起对之前发生的套路区块的分叉。

卡特尔形成问题:即区块链的寡头垄断。 因为PoS共识算法,谁“有钱”就拥有更大的话语权,所以少数有钱矿工之间的“协调”会导致寡头的形成。

比特币挖矿机制pow_比特币是pow还是pos_q币和比特币是货币吗

目前业界对PoS共识算法的实现主要分为两类:

简单的 PoS 系统。 这类 PoS 很少甚至没有从算法设计上解决上述问题,一般是早期的 PoS 尝试。 典型的例子有Peer Coin(PPC)、Nova Coin(NVC)、Black Coin(BLK)、NextCoin(NXT)等。

精心设计的PoS系统,比较新。 基于不同的实现方式,设计良好的 PoS 系统可以分为两种类型。 一种是基于 BFT 的 PoS,如 Tendermint,另一种是基于 Chain 的 PoS,如 ETH Casper 和 ADA 的 Ouroboros。

第一类 PoS 系统安全性还不够。 第二种PoS系统还不够成熟,有的处于早期运行阶段,有的还在讨论和测试阶段。

4. pos的发展历史

由于pos的上述四个缺陷,pos的发展经历了三个版本,分别是pos1.0、pos2.0和pos3.0,其中pos2.0在算法公式中使用了硬币数量,所以,以上缺陷二到四已经不是问题,但未来pos共识机制将面临无成本收益(即nothing at stake)的问题,这也意味着分叉很容易发生。

5.卡斯帕协议

第四章我们在讲pos的发展历程的时候,提到为了解决其中的四个缺陷,推出了很多版本,也就是使用pos2.0必然会带来无成本的收益和导致容易分叉的问题,而以太坊的共识机制是采用的pos共识机制,那么我们来看看以太坊是如何解决这个问题的?

1、无成本收益关系有什么问题

在解决无成本收益关系问题之前比特币是pow还是pos,我们先来看看什么是无成本收益关系问题。 因此,我们可以先模拟这种场景,如下图所示:

q币和比特币是货币吗_比特币挖矿机制pow_比特币是pow还是pos

在这里插入图片描述

假设我们在上面的情况下,有一条蓝色主链和一条从主链分支出来的红色链,如何禁止恶意矿工在红色区块上挖矿,然后推动硬分叉(Hard Fork)呢?

在工作量证明系统上,可以减轻这种风险。

假设有恶意矿工想在红链上挖矿。 即使她倾尽所有的算力,也没有矿工会和她一起在新链上挖矿。 其他人将继续在蓝链上挖矿,因为在最长的链上挖矿更有回报且无风险。

请记住,工作量证明在资源方面非常昂贵。 矿工在将被网络拒绝的区块上花费大量资源是没有意义的。 因此,在工作量证明系统中避免了链分裂,因为攻击者将不得不支付大量资金。

但是,当您将这种情况置于股权证明之下时,情况看起来会有所不同。 如果你是验证者,你可以简单地将你的钱放在红链和蓝链上,而不用担心间接的不利后果。 无论发生什么事,无论您的行为多么恶意,您总能赢而不会有任何损失。

这就是所谓的“Nothing at Stake”问题,也是以太坊必须要解决的问题。 他们需要一种协议,该协议可以实施权益证明,同时减少“无权益成本”问题。

2.引入casper协议解决无成本收益关系问题

Csaper 是以太坊选择实现的 PoS 协议。 既然有人恶意导致我们的区块链分叉,那我们就想办法惩罚恶意的制造者,这样才能解决我们所说的无成本利益关系的问题。 ? Csaper协议官方是这样实现的,那么我们来看看Csaper是怎么做到的?

验证者将他们拥有的以太币的一定百分比作为保证金。 然后,他们将开始验证块。 也就是说,当他们找到一个他们认为可以添加到链中的区块时,他们将通过下注来验证它。 如果将区块添加到链中,则验证者将获得与其股份成比例的奖励。 但是,如果验证者恶意行事并试图“无所事事”,他们将立即受到惩罚,并被切断所有质押。

就是利用这样的对赌协议来帮助我们惩罚恶意的创作者,让我们的区块链尽量保证不会出现分叉。

3. PoS运行机制大致如下:

加入PoS机制的都是代币持有者,成为验证者; PoS 算法选择这些验证器中的一个来赋予它们生成新块的权利。 选择顺序是根据持有币的数量; 如果在一定时间内没有产生区块比特币是pow还是pos,PoS 将选择下一个验证者并赋予产生新区块的权利,以此类推,以区块链中最长的链为准。