VRF(可验证随机函数)在Algorand提出后,被越来越多的公链项目应用。VRF的特点在于其能够产生一个能够被验证的随机结果,通过该随机结果,在区块链中可以实现随机“选举”或“抽签”。与POS结合后能够减轻POS的“富者恒富”的现象。
然而我们知道,鱼和熊掌不可兼得,提高公平性(去中心化)的代价是牺牲性能或安全性。Algorand选择了牺牲一定的共识效率来换取公平性(去中心化)。以下是在分析Algorand、Ont等使用VRF的共识算法中,对VRF抽签的一些思考。
一. Algorand概括
Algorand作为第一个使用了VRF的共识算法,其共识流程可以大致总结为三个步骤:
1. 随机选举多个提案者,提案新区块。(提案者由VRF抽签)
2. 收集多个提案区块并选出权重最高者。
3. BA* 对多个区块提案中的一个提案达成共识。(每一步的投票者均需要VRF抽签)
二. POS+Random
VRF本质是随机函数,而在区块链系统的共识流程中不能用完全公平的随机,因为出块者需要有激励,同时每个节点的贡献值也并非一致。 所以通常都会在VRF抽签之前加一层POS,将“更优”的一批节点先选出来作为候选人。