Strange behaviour with bin gossip

Re: Strange behaviour with bin gossip

by Cristina Basescu -
Number of replies: 1

Answering Aaron's question based on Francesco's clarification (thanks Francesco!).

The short answer is that a node proposing a block to Paxos does not fill in the hash value at the time when it proposes. So the hash field is practically an empty slice. The node will fill in the hash value only when that block reaches consensus, and the hash value will be the hash of the previous block, if such a block exists, or a byte slice with 32 zeros.

My answer on Friday's TA session was that, for the algorithm's correctness, the moment we fill in the hash doesn't matter *when we're dealing with crash-stop failures*. However, it does seem to matter for test assertions, so perhaps my comments were misleading.

As a side note: the algorithm is correct either way because in our attacker model nodes do not misbehave, thus everyone computes the same hash for the blockchain up to some id - regardless of the moment they compute it. If we had Byzantine nodes, that misbehave arbitrarily, consensus *should* include the hash.

I hope this clarifies the issue.

Cristina 



In reply to Cristina Basescu

Re: Strange behaviour with bin gossip

by Francesco Intoci -

Hello Cristina,

Thanks for the reply. Actually I think that there is a test (need to check which one) that will fail if the Previous Block Hash value is set to nil when starting the Paxos Algorithm. Anyway could you also address my problem in test 9 with the BinGossipers?