接触区块链有一段时间了,不得不感叹,区块链世界里真是纷繁复杂,令人眼花缭乱:N多种链和无数多种币,根本无法完全熟悉。但是不要被繁多的术语和模型困扰了,任何技术都是解决人类面临的一些问题,这个问题越普遍、越本质,那么这个技术就越有前途,区块链也不例外。
区块链的本质其实是解决共识问题,一笔交易是不是真实,是认可你的信息还是认可我的信息?一群人在一起合作,到底听谁的?这些问题都是共识问题,不要小看共识问题,他是人类大规模复杂协作的根本,正是这种大规模的、复杂的协作,使人类战胜了地球上所有其他动物。
在区块链世界,达成共识的机制主要有POW、POS、DPOS、PBFT几种。
POW也就是工作量证明算法,是比特币使用的共识机制。就是矿工(节点)验证交易,然后通过海量的计算,找到能够达到系统要求难度的随机数,第一个找到随机数的矿工有权记录交易, 同时获得挖矿奖励,由于一笔交易需要所有矿工话费算力去计算,计算量非常大,维护成本高,而且记账的时间太长,缺陷很显著。
还有一个问题,是参与挖矿的人,只关心挖矿奖励,根本不关心某笔交易是不是真实,存在利益冲突问题。
POS全称是权益证明(POS,proof of stake),是以太坊使用的共识机制。
简单来说,就是由持币者(注意,是持币者,不是矿工)来验证交易,最终得票最多的区块(区块记录交易信息)能够上链,如果持币者投票的区块上链了,那么持币者(投票者)可以获得奖励。注意,只有持币者,而且持有的货币数量达到一定门槛(以太坊的门槛是1000ETH,价值约100万美元)才能进行投票。
为了防止持币者为了自己的利益,进行恶意投票,以太坊(ETH)的创始人,V神,开发出了有监督机制的POS,通俗来说,在系统中设置了一个裁判(由代码来完成,严格执行规则),如果发现哪个人进行恶意投票,就把这个人的所有代币都没收。
相对于POW来说,POS的记账速度大大加快了。
DPOS全称是代理权益证明。是BITshare、EOS等使用的共识机制。
细节上略有区别,但大体上相似:持有权益者(持币者)有资格选出生产者,如果生产者正确记录,那大家鼓掌;如果生产者不称职,那下次就不选它(换掉它)。
同时还要遵守系统设定的几个规则:
第一,随机指定生产者出场顺序;
第二,不按顺序生产的区块无效;
第三,每过一个周期洗牌一次,打乱原有顺序;
这个机制细细回味,很像民主制度,公众选出人民代表,人民代表轮流主持工作,干得不好的下一个代表不认上一个代表的帐,重新记账,或者直接被选民换掉。是不是很像?只不过这些都是用代码来完成,没有所谓的人工计票导致的腐败。
PBFT全称是用拜占庭容错算法。是瑞波币(Ripple)使用的共识机制。
PEFT认为每个节点都可能犯错(或者作恶),但是他假设不良节点数不超过1/3。
系统中有一个主节点和很多副本,
首先,客户端向主节点发出读写请求(可能是记账,也可能是查账等等)。
第二,主节点把这个请求广播给所有副本。
第三、副本将自己验证的结果答复给主节点
第四、主节点统计出超过2/3副本认可的结果。
第五、主节点和其他副本一起将这个结果反馈给客户端。
这里面有几个规则:
1、如果系统发现主节点不按照规则办事,就把他换掉,这个是系统自动完成的。
2、只有经过许可,才能接入(网络)
这个很像公司的董事会,经过许可才能进董事会,然后决策事项需要投票,2/3同意才能通过。同时还有一个董事负责计票,如果它不按规则计票,其他董事投票换掉它。
其实区块链的本质是解决人类的共识问题,只不过是用代码和算力来解决。POW更像是狮群用来决策谁是狮王,两头狮子打架,拼尽全力,赢的一方称王。其他几个机制更像是文明社会的投票决策,当然通过代码可以杜绝作弊。
几种共识机制各有优劣,关键还在于应用场景,任何技术是否有前途,并不取决于技术本身是否够牛逼,最终取决于是否解决用户痛点。
网友评论