区块链入门PoS Proof of Stake
汉服爱好者清璃
发表于 2022-12-23 23:25:37
77
0
0
PoS英文全称是 Proof of Stake,翻译成中文就是权益证明 。简单的说PoS就是一个根据持有代币的量和时间,进行利息发放和区块产生的机制。+ O7 c! x8 \+ H( W8 M7 Z
2012年,Sunny King提出了PoS的概念,并首先在Peercoin(点点币)中实现了1.0版的PoS。+ b* H' }4 \' t" K+ e) z2 T, b
PoS原理4 v: `+ g( L( m
7 E5 T5 I6 q5 I6 t
在讲原理之前,我们先讲一个概念,币龄,英文是 CoinAge (币龄 = 代币数 ×持币时长), 比如你持有100个币,总共持有10天,那么你的币龄就为1000。币龄越大,权益就越大,那么获得下一个新区块的几率就越大,这就是获得区块奖励的方式。& ~; Z% W# c: Z
但币龄不会一直增长,在两种情况下会被清零:
* `% ]0 Y/ F6 S3 n/ ?
1.当获得了一个新区块之后,币龄就会被清空为零;' X4 N0 t0 [4 f0 n; a8 \
2.把一个地址上的币转移到任意其他地址,币龄就在转移过程中被花费了,币数量不变,但是币龄变为零。2.把一个地址上的币转移到任意其他地址,币龄就在转移过程中被花费了,币数量不变,但是币龄变为零。
! f6 x+ X) a9 d4 u# G
总体而言,PoS系统中存在一个持币人的集合,他们把手中的代币放入PoS机制中,这样他们就变成区块验证者。如对区块链最前面的一个区块而言,PoS算法在验证者中随机选择一个(被选中的概率与他们投入的币龄成正比),给他权利产生下一个区块。该验证者会检查其中所有的交易的有效性,检查完毕后,它会对这个区块签名并加入区块链。作为奖励,验证者收到块中与每笔交易相关的费用。: D( m X' a" Y2 a
?9 l& x: _! c* P3 u& X8 P! P% e
如果在一定时间内,该验证者没有产生一个区块,则选出第二个验证者产生新区块。, h" M& T- Y6 H0 P) h
0 L/ S. g4 V z* d% ^
那么,我们怎么防止验证者欺诈呢?如果验证者欺诈,他将失去他的权益。只要权益高于从交易费中获得的金额,我们就相信他会的履行好自己的职责。
( }5 }" x/ l, m
如果他不再是验证者,他的权益加上他所得的交易费将返还给他。但不是马上就返还他,而是要在一段时间之后,因为如果发现了他有欺诈行为,可以“惩罚”他。5 r4 K: A: D$ t) |2 ^ o1 ?
( b. v5 q" q7 S
PoS实现6 ~: H" {+ P3 c/ t% P
通过上一篇介绍PoW的文章我们知道了挖矿的基本逻辑和步骤,就是先寻求一个随机数B 使得hash(B)< 目标值。从公式中我们可以看到,PoW下所有矿工的目标值是一样的,只要计算结果哈希小于目标值即可。" D9 j& A9 b6 R9 ?
而在PoS系统中,这个公式变更为:. Z2 B9 Y0 s. Z# }: g3 j5 o
' I- g9 U# H* E( |2 t
hash(B)$ F1 ?+ w. ]7 K( X. Q& b- V# |
V; z' p5 r( ~0 f* g% v
公式中的Target与全网难度成反比,是用来控制出块速度的。可以看出币龄这个变量会造成每个验证者看到的目标值不一样,币龄越大,获得答案越容易。+ i5 B: V7 m: N# \& q
4 n7 s5 ?5 s6 @
PoS优缺点
u% _* K5 o( y
优点:1 z$ |3 U* r' V# R0 n
9 o0 I& W- X% Y# @4 }
在一定程度上缩短了共识达成的时间。+ k2 ]; G2 H" {; U1 N: b
) K# ]- R; J1 r4 U: D, U3 b
不再需要大量消耗能源挖矿。
6 y+ ]" v, R) B7 L5 H; W! H1 x% F+ O
缺点:
" c0 P+ W w0 |5 U, f4 n
极端的情况下会带来中心化的结果。
全节点确认时间过长,没有解决商业应用的痛点。
使“富者更富”,在POS体系下,新获得POS权益的能力受已持有POS权益的绝对限制。
成为第一个吐槽的人