Confusion regarding role of hbbft and sybil control mechanisms

#1

This question is not terribly technical, I’m just a little confused on the general way hbbft works.

In his first response to this question, Igor explains that PoW and PoS are separate from hbbft, which is a consensus algorithm, and that hbbft should be configured to work with one. However, this medium post seems to suggest that the raw transactions submitted by users are fed directly into the hbbft algorithm (see the step-by-step scenario towards the end). In here, there is no role for PoW, PoS, or any sybil control mechanism. So I guess I’m asking, is a separate sybil control mechanism required for hbbft to work, or not?

0 Likes

#2

Great question.

Sybil control defines who validators are. Yes, Sybil control is required to build a public network with a variable list of validators (“validators set”).

It’s very likely that POA networks such as Core and xDai will be updated to HBBFT consensus instead of AuRa.
Also, we plan to launch a new network with PoS consensus which will initially use AuRa as a consensus algorithm and PoS as Sybil control. Eventually, the PoS network also will be upgraded to HBBFT consensus.

1 Like

#3

Thanks for the answer, that makes sense. I guess I didn’t really understand what Sybil control was and that it doesn’t have to be specifically pow, pos, or something along those lines.

If I make a private blockchain with hbbft, does that eliminate the requirement for Sybil control, because I can just choose beforehand who the validators are?

And as a final question, how difficult would it be to implement hbbft into Parity? The medium article gives the impression it’s as easy as changing a few lines, but I suspect it’s harder than that.

0 Likes

#4

If I make a private blockchain with hbbft, does that eliminate the requirement for Sybil control, because I can just choose beforehand who the validators are?

For a private network you could use Proof of Authority.
The admin will manage the validator set and add or remove validators.
Sybil control is in hands of the admin.
I’m not sure that you need hbbft for that setup. Clique or AuRa sounds sufficient.

And as a final question, how difficult would it be to implement hbbft into Parity? The medium article gives the impression it’s as easy as changing a few lines, but I suspect it’s harder than that.

It’s not easy. As Andreas Fackler said on Gitter: "There’s no timeline yet, sorry. Integration is quite complex since the existing consensus engines in Parity are very different from hbbft (e.g. they all assume a complete block is produced and proposed by a single node, and then agreed on; also, hbbft requires low-latency direct messaging between the validators, so it needs its own communication layer). "

0 Likes

#5

Thanks for all the help!

1 Like