当前位置: > 快讯 > 正文

共识算法PoS存币挖矿和币价分析?如何挖矿才能稳赚不赔

共识算法PoS存币挖矿和币价分析?如何挖矿才能稳赚不赔,PoS币存币发利息这事,简单思维很容易得出两个结论,通胀,通胀,肯定是垃圾币;持币增值,用户喜欢,有利于推广,好币。很明显,简单思维是不够的,我想认真分析下PoS利息这事。

第1章 比特币也是在通胀

PoS币通胀,是的,在币的数量上来说,PoS币都是在持续增发。但严格来说,比特币现在也是在通胀。现在BTC每天增发1800个。比特币数量是从零开始增发,一开始2009年,每个区块产生50BTC,一天增发7200BTC。2009年的年化通胀率是100%,从BTC数量从零增发到262.8万个。从2009年到2012年,约四年半的时间,年化通胀率会逐年下降。到了第一次减半年,即2012年,年化通胀率是25%。减半后,通胀率立刻下调到12.5%。

第一次减半后(2012年),第二次减半前(2016年),约四年半的时间,比特币的通胀率年化从12.5%一直下调到6.25%。

现在比特币的年化通胀率约3.7%。

第二次减半后,到三次减半(2020年),约四年半的时间,比特币的通胀率将从6.25%下调到3.125%。

比特币的这种增发将会如此有规律地持续下去,一直到了2140年,比特币将停止通胀,数量无限接近2100万个。

第2章 现在新币和各种PoS币的通胀率

现在各种币,无论是PoW还是PoS,也基本上是通胀的。但所有这些币和比特币最大的区别在于创世块包含的币的数量。

比特币创世块是只包含50BTC。

现在的新项目,往往是包含了众筹,ICO,等。收了投资人的钱,给投资人发币。所有这些币,将会在创世块创造出来。比如以太坊就在创世块包含了72,009,990.49948ETH(其中60,108,506.26ETH发给投资者,11,901,484.239480ETH给以太坊基金会)。

目前大量各种币的诞生,都是会在创世块包含超级多的币。EOS的创世块包含了10亿个币;Vsystem创世块包含了51.42858亿vsys; Cosmos在创世块包含了23.6355290亿atom。

在创世块创造了大量币后,所有这些链,之后无论是PoW还是PoS,都还会持续随着每个块增发一点数量的币。就像以太坊现在每个块增发3ETH。

随着挖矿增发,就会在数量上形成通胀率。EOS年化通胀5%,Comos年化通胀6.94%,Vsys年化通胀5.5%。

一般来说,PoS币很少会有像比特币这样的有规律性地将增发数量下调,直到0增发。目前看到的PoS币的区块奖励,都是固定的,没有像比特币这种减半机制。也就是PoS币的设定,往往是无上限的。

第3章 法币都是通胀的

法币,如人民币、美元,都是通胀的。我们一般按M2的总量来衡量法币的通胀率。但M2这玩意,只能有一个统计意义上的数据,不可能像数字货币那样精确。按官方的统计,美元的年通胀率一般在3%左右。人民币的年通胀率,很能查到靠谱的数据,但大家都说在8%,甚至更高。

黄金当然也是通胀的。每年都能新挖出大量的黄金。

钻石更是通胀的。新挖出来的钻石多了去了。

比特币在我们的有生之年,也是通胀的。等我们死了之后才会在数量上恒定,甚至通缩。

第4章 通胀和贬值

在人们想象中,通胀往往和贬值相联系在一起。法币的购买力持续下降,这就是大家的证据。事实上,并没有那么简单。

货币的数量,和对应的经济体总量,这两者之间的相对大小关系才是贬值和增值的关键。将货币看成是一般商品,特别是数字货币,那其本身的价格同样得符合供应和需求定律。

数字货币的数量上的上涨,对应的是总供应量的上涨。只要其需求量也在上涨,并且上涨的幅度更大,那就不会贬值,反而会增值。

无论是PoW币,还是PoS币,币数量上的上涨,并不能单纯地认为就会导致贬值。关键还是要看数量上涨能否对应着需求上涨。

稀缺性指的是需求相对于供应更大,而不是指数量少。

第5章 PoS挖矿的设计

各个区块链对PoS共识机制下的币的增发具体的方式是有区别的。主要在以下几个维度。

1、增发速率。

2、流动性设定。参与挖矿的币是否会被锁仓,和锁仓周期。

3、是否有销毁机制。有些币是只增发,不销毁,也有些是同时有销毁和增发机制。

4、参与PoS挖矿的门槛。

我们对比三个项目,EOS、Cosmos和Vsys。

年通胀率为EOS为5%,Cosmos为6.9%;vsys为5.5%。

EOS投票挖矿后赎回需要72小时,Cosmos赎回需要21天,Vsys赎回没有锁定周期。Vsys流动性最好。

EOS和Cosmos都没有销毁机制,Vsys的交易矿工费是系统销毁的。

我测试了三个币的挖矿,EOS和Cosmos都是依赖于火币矿池,才获得收益,分的是火币矿池的HPT。而Vsys最直接,钱包里就直接有租赁功能,任何用户都可以非常简单的参与PoS挖矿,并且直接获得Vsys币。Vsys在存币挖矿上,做的最方便,简单粗爆。

PoS增发,应该尽可能向用户有利的方向倾斜,这样才能增加需求。所以我觉得第4点是确定性的,一定要越低越好,让用户很简单就能实现持币获得收益。钱包里集成非常方便的PoS挖矿功能就好。

这一点我觉得很多PoS项目做的都不好,绝大多数PoS币的挖矿都需要一个第三方公司来帮用户挖矿,然后公司给用户分发收益。像EOS将投票功能搞的太复杂了,而且block.one还声明禁止给用户发利息的做法,这对用户就不友好。这一点我一直很奇怪,为什么要这样设定?我向很多人讨教过,好像是因为一些证券法的规定,说是直接给持币用户派息,就是一种证券,是要被法律管的。不过,我觉得这个实在是有点牵强,不利于拓展用户。

用户当然需要很高的增发速率,但用户更喜欢价格能上涨。如果大量增发币,几乎零成本的增发,在市场上会形成巨大的抛压,价格压力就很大。特别是熊市,越大的增发速率,价格崩的越快。在牛市则要好很多。

具体应该设计成多少,这个我想不明白。就PoS币的通胀率的设计,如果拍脑袋,就按美元的通胀率来设计,我觉得就挺好。

就销毁机制,我也说不出什么严谨的道理。目前很少有区块链在系统上这样设计。但几乎所有的平台币,特别是交易所的币,都有项目方主动销毁机制,并且将这种机制作为一项派发给持币者权益的方式来执行。

以太坊计划加入销毁机制,以太坊说是将来希望将一半的gas(矿工费)销毁掉。Vsys是直接将所有的交易矿工费统统销毁的。

从比特币来说,在这种总量恒定的设计,销毁肯定是不对的。但PoS这种无上限的机制,我觉得一个销毁机制的存在是合理的。

第6章 结束语

想不到PoS竟然是今年的热点,PoS利息代表了用户想要更多的币,这会是牛市的象征吗?

POS挖矿收益利率是怎么样?如何避免pos挖矿的风险?

当你在银行存款如前时,利息是由存款的金额和时间决定的,就像利息证明机制(POS)一样。与pow挖矿相比,POS挖矿的优势:降低了投资者的进入门槛,矿工和代币持有者的利益一致,延迟时间短,确认速度快。然而,在隐私保护和投票治理机制的设计上还存在一些缺陷。这也会导致在POS挖矿中的个人玩家存在许多短期行为的风险。什么是POS挖矿?POS挖矿利率是多少?POS挖矿目前年化收益是否超过50%?PoS(Proof-of-Stake),中文称权益证明机制,者橡李也称股权证明机制,顾名思义,是根据投资者手上持币的币龄来决定挖矿成功的打包概率的共识机制。币龄=矿工质押的代币总金额 *代币持有时间币龄可以在一定程度上保护持币份额低、持有期限长的矿工(或投资者)的利益,增加了矿工恶意操纵打包概率的作恶成本。可简单理解,一个PoS代币首迟经济生态就好比一家同股不同权的上市公司,Pos挖矿就像一家上市公司的股利支付决策,每一位矿工(持币者)都是上市公司的股东。矿工争夺的记帐权就像股票表决权一样,矿工获得记帐权的概率与股东表决权的份额(即矿工的表决权占总体表决权的比例)相似。矿工质押代币的数量就是股东持股的数量。(可搜索:DDS分布式存储生态社区)根据质押代币份额的大小不同,一些矿工是大股东,一些矿工是"小股东"或"少数股东"。Pos挖矿也就像将质押的代币存放在银行一样,银行根据时间长短和存款金额支付利息。 目前,以EOS、Tezos、DDS生态代币等为代表的数字货币采用POS作为共识机制,ETH有从PoW(Proof-of-Work,工作量证明机制)转变为PoS的计划和准备。如何避免pos挖矿的风险? Pos挖矿仍然需要完善和改进,这就导致了pos挖矿的高风险。有效控制pos挖矿中的作恶行为必须满足2/3以上的节点是诚实的大前提。一旦选举被操纵,或者所选节点被"黑化",pos挖矿的收益将大大减少,风险和不确定性也会很大。

区块链 --- 共识算法

PoW算法是一种防止分布式服务资源被滥用、拒绝服务攻击的机制。它要求节点进行适量消耗时间和资源的复杂运算,并且其运算结果能被其他节点快速验算,以耗用时间、能源做担保,以确保服务与资源被真正的需求所使用。 PoW算法中最基本的技术原理是使用哈希算法。假设求哈希值Hash(r),若原始数据为r(raw),则运算结果为R(Result)。 R = Hash(r) 哈希函数Hash()的特性是,对于任意输入值r,得出结果R,并且无法从R反推回r。当输入的原始数据r变动1比特时,其结果R值完全改变。在比特币的PoW算法中,引入算法难度d和随机值n,得到以下公式: Rd = Hash(r+n) 该公式要求在填入随机值n的情况下,计算结果Rd的前d字节必须为0。由于哈希函数结果的未知性,每个矿工都要做大量运算之后,才能得出正确结果,而算出结果广播给全网之后,其他节点只需要进行一次哈希运算即可校验。PoW算法就是采用这种方式让计算消耗资源,而校验仅需一次。   PoS算法要求节点验证者必须质押一定的资金才有挖矿打包资格,并且区域链系统在选定打包节点时使用随机的方式,当节点质押的资金越多时,其被选定打包区块的概率越大。 POS模式下,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000。这个时候,如果你验证了一个POS区块,你的币龄就会被清空为0,同时从区块中获得相对应的数字货币利息。 节点通过PoS算法出块的过程如下:普通的节点要成为出块节点,首先要进行资产的质押,当轮到自己出块时,打包区块,然后向全网广播,其他验证节点将会校验区块的合法性。   DPoS算法和PoS算法相似,也采用股份和权益质押。 但不同的是,DPoS算法采用委托质押的方式,类似于用全民选举代表的方式选出N个超级节点记账出块。 选民把自己的选票投给某个节点,如果某个节点当选记账节点,那么该记账节点往往在获取出块奖励后,可以采用任意方式来回报自己的选民。 这N个记账节点将轮流出块,并且节点之间相互监督,如果其作恶,那么会被扣除质押金。并神 通过信任少量的诚信节点,可以去除区块签名过程中不必要的步骤,提高了交易的速度。   拜占庭问题: 拜占庭是古代东罗马帝国的首都,为了防御在每块封地都驻扎一支由单个将军带领的军队,将军之间只能绝仔亏靠信差传递消息。在战争时,所有将军必须达成共识,决定是否共同开战。 但是戚蔽,在军队内可能有叛徒,这些人将影响将军们达成共识。拜占庭将军问题是指在已知有将军是叛徒的情况下,剩余的将军如何达成一致决策的问题。 BFT: BFT即拜占庭容错,拜占庭容错技术是一类分布式计算领域的容错技术。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或中断以及遭到恶意攻击等原因,计算机和网络可能出现不可预料的行为。拜占庭容错技术被设计用来处理这些异常行为,并满足所要解决的问题的规范要求。 拜占庭容错系统 : 发生故障的节点被称为 拜占庭节点 ,而正常的节点即为 非拜占庭节点 。 假设分布式系统拥有n台节点,并假设整个系统拜占庭节点不超过m台(n ≥ 3m + 1),拜占庭容错系统需要满足如下两个条件: 另外,拜占庭容错系统需要达成如下两个指标: PBFT即实用拜占庭容错算法,解决了原始拜占庭容错算法效率不高的问题,算法的时间复杂度是O(n^2),使得在实际系统应用中可以解决拜占庭容错问题   PBFT是一种状态机副本复制算法,所有的副本在一个视图(view)轮换的过程中操作,主节点通过视图编号以及节点数集合来确定,即:主节点 p = v mod |R|。v:视图编号,|R|节点个数,p:主节点编号。 PBFT算法的共识过程如下:客户端(Client)发起消息请求(request),并广播转发至每一个副本节点(Replica),由其中一个主节点(Leader)发起提案消息pre-prepare,并广播。其他节点获取原始消息,在校验完成后发送prepare消息。每个节点收到2f+1个prepare消息,即认为已经准备完毕,并发送commit消息。当节点收到2f+1个commit消息,客户端收到f+1个相同的reply消息时,说明客户端发起的请求已经达成全网共识。 具体流程如下 : 客户端c向主节点p发送<REQUEST, o, t, c>请求。o: 请求的具体操作,t: 请求时客户端追加的时间戳,c:客户端标识。REQUEST: 包含消息内容m,以及消息摘要d(m)。客户端对请求进行签名。 主节点收到客户端的请求,需要进行以下交验: a. 客户端请求消息签名是否正确。 非法请求丢弃。正确请求,分配一个编号n,编号n主要用于对客户端的请求进行排序。然后广播一条<<PRE-PREPARE, v, n, d>, m>消息给其他副本节点。v:视图编号,d客户端消息摘要,m消息内容。<PRE-PREPARE, v, n, d>进行主节点签名。n是要在某一个范围区间内的[h, H],具体原因参见 垃圾回收 章节。 副本节点i收到主节点的PRE-PREPARE消息,需要进行以下交验: a. 主节点PRE-PREPARE消息签名是否正确。 b. 当前副本节点是否已经收到了一条在同一v下并且编号也是n,但是签名不同的PRE-PREPARE信息。 c. d与m的摘要是否一致。 d. n是否在区间[h, H]内。 非法请求丢弃。正确请求,副本节点i向其他节点包括主节点发送一条<PREPARE, v, n, d, i>消息, v, n, d, m与上述PRE-PREPARE消息内容相同,i是当前副本节点编号。<PREPARE, v, n, d, i>进行副本节点i的签名。记录PRE-PREPARE和PREPARE消息到log中,用于View Change过程中恢复未完成的请求操作。 主节点和副本节点收到PREPARE消息,需要进行以下交验: a. 副本节点PREPARE消息签名是否正确。 b. 当前副本节点是否已经收到了同一视图v下的n。 c. n是否在区间[h, H]内。 d. d是否和当前已收到PRE-PPREPARE中的d相同 非法请求丢弃。如果副本节点i收到了2f+1个验证通过的PREPARE消息,则向其他节点包括主节点发送一条<COMMIT, v, n, d, i>消息,v, n, d, i与上述PREPARE消息内容相同。<COMMIT, v, n, d, i>进行副本节点i的签名。记录COMMIT消息到日志中,用于View Change过程中恢复未完成的请求操作。记录其他副本节点发送的PREPARE消息到log中。 主节点和副本节点收到COMMIT消息,需要进行以下交验: a. 副本节点COMMIT消息签名是否正确。 b. 当前副本节点是否已经收到了同一视图v下的n。 c. d与m的摘要是否一致。 d. n是否在区间[h, H]内。 非法请求丢弃。如果副本节点i收到了2f+1个验证通过的COMMIT消息,说明当前网络中的大部分节点已经达成共识,运行客户端的请求操作o,并返回<REPLY, v, t, c, i, r>给客户端,r:是请求操作结果,客户端如果收到f+1个相同的REPLY消息,说明客户端发起的请求已经达成全网共识,否则客户端需要判断是否重新发送请求给主节点。记录其他副本节点发送的COMMIT消息到log中。   如果主节点作恶,它可能会给不同的请求编上相同的序号,或者不去分配序号,或者让相邻的序号不连续。备份节点应当有职责来主动检查这些序号的合法性。 如果主节点掉线或者作恶不广播客户端的请求,客户端设置超时机制,超时的话,向所有副本节点广播请求消息。副本节点检测出主节点作恶或者下线,发起View Change协议。 View Change协议 : 副本节点向其他节点广播<VIEW-CHANGE, v+1, n, C , P , i>消息。n是最新的stable checkpoint的编号, C 是 2f+1验证过的CheckPoint消息集合, P 是当前副本节点未完成的请求的PRE-PREPARE和PREPARE消息集合。 当主节点p = v + 1 mod |R|收到 2f 个有效的VIEW-CHANGE消息后,向其他节点广播<NEW-VIEW, v+1, V , O >消息。 V 是有效的VIEW-CHANGE消息集合。 O 是主节点重新发起的未经完成的PRE-PREPARE消息集合。PRE-PREPARE消息集合的选取规则: 副本节点收到主节点的NEW-VIEW消息,验证有效性,有效的话,进入v+1状态,并且开始 O 中的PRE-PREPARE消息处理流程。   在上述算法流程中,为了确保在View Change的过程中,能够恢复先前的请求,每一个副本节点都记录一些消息到本地的log中,当执行请求后副本节点需要把之前该请求的记录消息清除掉。 最简单的做法是在Reply消息后,再执行一次当前状态的共识同步,这样做的成本比较高,因此可以在执行完多条请求K(例如:100条)后执行一次状态同步。这个状态同步消息就是CheckPoint消息。 副本节点i发送<CheckPoint, n, d, i>给其他节点,n是当前节点所保留的最后一个视图请求编号,d是对当前状态的一个摘要,该CheckPoint消息记录到log中。如果副本节点i收到了2f+1个验证过的CheckPoint消息,则清除先前日志中的消息,并以n作为当前一个stable checkpoint。 这是理想情况,实际上当副本节点i向其他节点发出CheckPoint消息后,其他节点还没有完成K条请求,所以不会立即对i的请求作出响应,它还会按照自己的节奏,向前行进,但此时发出的CheckPoint并未形成stable。 为了防止i的处理请求过快,设置一个上文提到的 高低水位区间[h, H] 来解决这个问题。低水位h等于上一个stable checkpoint的编号,高水位H = h + L,其中L是我们指定的数值,等于checkpoint周期处理请求数K的整数倍,可以设置为L = 2K。当副本节点i处理请求超过高水位H时,此时就会停止脚步,等待stable checkpoint发生变化,再继续前进。   在区块链场景中,一般适合于对强一致性有要求的私有链和联盟链场景。例如,在IBM主导的区块链超级账本项目中,PBFT是一个可选的共识协议。在Hyperledger的Fabric项目中,共识模块被设计成可插拔的模块,支持像PBFT、Raft等共识算法。     Raft基于领导者驱动的共识模型,其中将选举一位杰出的领导者(Leader),而该Leader将完全负责管理集群,Leader负责管理Raft集群的所有节点之间的复制日志。   下图中,将在启动过程中选择集群的Leader(S1),并为来自客户端的所有命令/请求提供服务。 Raft集群中的所有节点都维护一个分布式日志(复制日志)以存储和提交由客户端发出的命令(日志条目)。 Leader接受来自客户端的日志条目,并在Raft集群中的所有关注者(S2,S3,S4,S5)之间复制它们。 在Raft集群中,需要满足最少数量的节点才能提供预期的级别共识保证, 这也称为法定人数。 在Raft集群中执行操作所需的最少投票数为 (N / 2 +1) ,其中N是组中成员总数,即 投票至少超过一半 ,这也就是为什么集群节点通常为奇数的原因。 因此,在上面的示例中,我们至少需要3个节点才能具有共识保证。 如果法定仲裁节点由于任何原因不可用,也就是投票没有超过半数,则此次协商没有达成一致,并且无法提交新日志。   数据存储:Tidb/TiKV 日志:阿里巴巴的 DLedger 服务发现:Consul& etcd 集群调度:HashiCorp Nomad   只能容纳故障节点(CFT),不容纳作恶节点 顺序投票,只能串行apply,因此高并发场景下性能差   Raft通过解决围绕Leader选举的三个主要子问题,管理分布式日志和算法的安全性功能来解决分布式共识问题。 当我们启动一个新的Raft集群或某个领导者不可用时,将通过集群中所有成员节点之间协商来选举一个新的领导者。 因此,在给定的实例中,Raft集群的节点可以处于以下任何状态: 追随者(Follower),候选人(Candidate)或领导者(Leader)。 系统刚开始启动的时候,所有节点都是follower,在一段时间内如果它们没有收到Leader的心跳信号,follower就会转化为Candidate; 如果某个Candidate节点收到大多数节点的票,则这个Candidate就可以转化为Leader,其余的Candidate节点都会回到Follower状态; 一旦一个Leader发现系统中存在一个Leader节点比自己拥有更高的任期(Term),它就会转换为Follower。 Raft使用基于心跳的RPC机制来检测何时开始新的选举。 在正常期间, Leader 会定期向所有可用的 Follower 发送心跳消息(实际中可能把日志和心跳一起发过去)。 因此,其他节点以 Follower 状态启动,只要它从当前 Leader 那里收到周期性的心跳,就一直保持在 Follower 状态。 当 Follower 达到其超时时间时,它将通过以下方式启动选举程序: 根据 Candidate 从集群中其他节点收到的响应,可以得出选举的三个结果。 共识算法的实现一般是基于复制状态机(Replicated state machines),何为 复制状态机 : 简单来说: 相同的初识状态 + 相同的输入 = 相同的结束状态 。不同节点要以相同且确定性的函数来处理输入,而不要引入一下不确定的值,比如本地时间等。使用replicated log是一个很不错的注意,log具有持久化、保序的特点,是大多数分布式系统的基石。 有了Leader之后,客户端所有并发的请求可以在Leader这边形成一个有序的日志(状态)序列,以此来表示这些请求的先后处理顺序。Leader然后将自己的日志序列发送Follower,保持整个系统的全局一致性。注意并不是强一致性,而是 最终一致性 。 日志由有序编号(log index)的日志条目组成。每个日志条目包含它被创建时的任期号(term),和日志中包含的数据组成,日志包含的数据可以为任何类型,从简单类型到区块链的区块。每个日志条目可以用[ term, index, data]序列对表示,其中term表示任期, index表示索引号,data表示日志数据。 Leader 尝试在集群中的大多数节点上执行复制命令。 如果复制成功,则将命令提交给集群,并将响应发送回客户端。类似两阶段提交(2PC),不过与2PC的区别在于,leader只需要超过一半节点同意(处于工作状态)即可。 leader 、 follower 都可能crash,那么 follower 维护的日志与 leader 相比可能出现以下情况 当出现了leader与follower不一致的情况,leader强制follower复制自己的log, Leader会从后往前试 ,每次AppendEntries失败后尝试前一个日志条目(递减nextIndex值), 直到成功找到每个Follower的日志一致位置点(基于上述的两条保证),然后向后逐条覆盖Followers在该位置之后的条目 。所以丢失的或者多出来的条目可能会持续多个任期。   要求候选人的日志至少与其他节点一样最新。如果不是,则跟随者节点将不投票给候选者。 意味着每个提交的条目都必须存在于这些服务器中的至少一个中。如果候选人的日志至少与该多数日志中的其他日志一样最新,则它将保存所有已提交的条目,避免了日志回滚事件的发生。 即任一任期内最多一个leader被选出。这一点非常重要,在一个复制集中任何时刻只能有一个leader。系统中同时有多余一个leader,被称之为脑裂(brain split),这是非常严重的问题,会导致数据的覆盖丢失。在raft中,两点保证了这个属性: 因此, 某一任期内一定只有一个leader 。   当集群中节点的状态发生变化(集群配置发生变化)时,系统容易受到系统故障。 因此,为防止这种情况,Raft使用了一种称为两阶段的方法来更改集群成员身份。 因此,在这种方法中,集群在实现新的成员身份配置之前首先更改为中间状态(称为联合共识)。 联合共识使系统即使在配置之间进行转换时也可用于响应客户端请求,它的主要目的是提升分布式系统的可用性。

区块链技术中的共识算法?

关于区块链技术的一些讲解和知识点分析我们已经给大家分享过很多次了。今天,天通苑java课程就再来了解一下,区块链技术中的共识算法的一些基本定义与特点。简单过一下区块链我们一般意识形态中的链是铁链,由铁铸成,一环扣一环。形象地,区块链的手中迟也可以这么理解,只不过它不是由铁铸成,而是由拥有一定数据结构的块连接而成,这是一个简单的雏形通俗讲解共识所谓共识,通俗来说,就是我们大家对某种事物的理解达成一致的意思。比如说日常的开会讨论问题,又比如判断一个动物是不是猫,我们肉眼看了后觉得像猫,其满足猫的特征,那么我们认为它是猫。共识,是一种规则。继续我们的会议例子。参与会议的人,通过开会的方式来达到谈论解决问题。对比区块链中,参与挖矿的矿工通过某种共识方式(算法)来解决让自己的账本跟其他节点的账本保持一致。让账本保持一致的深入一层意思就是,让链中区块信息保持一致。为什么需要共识,不需要可不可以?当然不可以,生活中没了共识的规则,一切乱套。区块链没了共识的规则,各个节点各干各的,失去一致的意义。这两个例子的对应的关系如下:会议的人=挖矿的矿工开会=共识方式(算法)谈论解决问题=让自己的账本跟其他节点的账本保持一致如果你对节点的概念意思不懂,请先理解为矿工,一个节点内部包含很多培斗角色,矿工是其中之一。共识算法目前常见的在区块链中,节点们让自己的账本跟其他节点的账本保持一致的共识方式(算法)有如下几种:PoW,代表者是比特币(BTC)弊端:矿池的出现,一定程度上违背了去中心化的初衷,同时也使得51%攻击成为可能,影响其安全性。存在巨大的算力浪费,看看矿池消耗大量的电力资源,随着难度增加,挖出的不够付电费PoS,代表者是以太坊(ETH),从PoW过度到PoS弊端:破坏者对网络的攻击成本很低,拥有代币就能竞争另外拥有代币数毕李量大的节点获得记账权的概率会更大,会使得网络共识受少数富裕账户支配,从而失去公正性。

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码