To get a more intuitive understanding of the SCP I'm trying to implement a generic version of it. For the implementation I'm using 3 references:
I'm now seeing some differences for the SHA-256 calculations in the nomination protocol. Stellar's source code and the paper define the hash function as
Gi(m) = SHA-256(i || x_(i-1) || m) where
x_(i-1) is the value of the previous slot. But the internet draft doesn't use the previous value
Gi(m) = SHA-256(i || m).
I would like to stick to the internet draft, as it's the latest updated specification, but now I'm running into the problem that I would not be able to use this implementation for running a Stellar node. My priority calculations would differ from other nodes and this looks like trouble to me.
Will stellar-core's implementation change in the future to be again closer to the specification?