原创 | 本体社区成员@Cindy爸爸
原文 |https://m.lcyoufu.com/articleDetail?articleid=381715&inviter=m7kp&VNK=121cbe23
-----------------------------
前言
从我家老爷子非要马上买1万元的本体,已过半个月了,本体一直跌个不停,从本来的10多元跌到现在的6块左右,说心里话我感觉不得劲,怎么我买就跌了,老韭菜了做了次接盘侠,我家老爷子还安慰我没事,拿着就行。本体这么强大,我看你还跌不,我家老爷说了,跌到1块他再投1万元。不见不散哈。
引言
既然行情如此,不看就是,来研究下本体为何这么强,尽量以小白角度能看懂为准。谈什么都得谈中心思想,谈区块链就不能不谈共识机制。
正题
本体采用的共识机制是VBFT—基于可验证随机函数的共识算法,是一个结合PoS、VRF(Verifiable Random Function)和BFT的全新共识算法,是OCE (Ontology Consensus Engine)的核心共识算法。VBFT可以支持共识群体的规模性扩展,通过VRF保障了共识群体生成的随机性和公平性,同时保证快速地达到状态终局性。
我们给这个定义做个小手术,来剖析下看
POS(Proof of Stake),即权益证明
它的优点:
1,不消耗大量算力挖矿,节省能耗;
2,在一定程度上缩短共识达成时间;
3,防作弊。
它的缺点:
1,本质仍然需要挖矿,未解决商业应用的痛点;
2,极端情况下会带来中心化结果
VRF—Verifiable Random Function(随机可验证函数)
VRF相比随机函数多了一个非交互的零知识证明。一般的输入和输出是对应关系,就让攻击者有章可循的控制整个过程或攻击特定的节点,在输入不公开的情况下,利用VRF我们可以验证节点中签这个结果,很容易验证。
VRF有4个函数构成:1、生成**,生成一个公钥私钥对;2、生成随机数输出;3、计算零知识证明;4、验证随机数输出。
BFT拜占庭容错共识算法
拜占庭将军问题简介
拜占庭将军问题由Leslie Lamport(2013年的图灵奖得主)用来为描述分布式系统一致性问题(Distributed Consensus)抽象出来的一个例子。
简单来说,拜占庭帝国要攻占一个城邦国,派出10支军队,需要6支以上同时出击才能取胜。10支军队的将领不一定一条心,存在叛徒的情况下,一个叛徒会向不同的军队将军发出不同的进攻提议。也会接收所有的将军提议来混淆,叛徒将军发送前后不一致的进攻提议,被称为“拜占庭错误”。而能处理这种错误的容错性被称拜占庭容错「Byzantine fault tolerance」,简称为BFT。
区块链网络环境如拜占庭将军问题,忠诚的拜占庭将军犹如运行正常的服务器,叛变的拜占庭将军即出现问题的服务器被称为拜占庭节点。拜占庭容错技术被设计用来处理网络中出现的任何错误如拥堵,恶意攻击等。
BFT优点:
高交易量和高吞吐量,高可用性,易于理解。
BFT缺点:
1,扩展性差:计算效率依赖参与协议的节点数量,较少节点情况下性能优越,不适合节点数量过大的区块链
2,系统节点固定,无法应对公有链开放环境,只适用于联盟链或私有链
综述
本体的VBFT算法,在传统BFT基础上优化引用VRF可验证随机性,基于VRF在共识网络中依次选择出一轮共识的备选区块提案节点集,区块验证节点集和区块确认节点集,然后由选出的节点集完成共识。由于VRF引入的随机性,每轮区块的备选提案节点/验证节点/确认节点都不相同,而且难以预测,从而极大提高共识算法的抗攻击性。
根据本体官网,VBFT 的每轮共识中:
-
根据 VRF 从共识网络中选择备选提案节点,各个备选节点将独立提出备选区块;
-
根据 VRF 从共识网络中选择多个验证节点,每个验证节点将从网络中收集备选的区块,进行验证,然后对最高优先级的备选区块进行投票;
-
根据 VRF 从共识网络中选择多个确认节点,对上述验证节点的投票结果进行统计验证,并确定出最终的共识结果。
-
所有节点都将接收确认节点的共识结果,并在一轮共识确认后开启新的共识。
本体的风险意识
虽然VBFT很强大,趋向于完美,但本体作为运行在公有网络中的公有链,必然会面临公有网络中的故障和恶意攻击,在发生网络隔离时依然面临着分叉的风险。
由于每个区块都是由VRF确定节点的优先级顺序,对于恶意产生的分叉,很难或者说不可能持续维持自己的高优先级,因此恶意产生的分叉将很快消亡。也因此,VBFT算法也提供了快速的状态终局性 。
后话
本体不用跌到1元,跌到3元以下,我就接盘—回老爷子的话。