-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

You can always predict the ordering before the block is compiled.
Otherwise no one could agree on the block compiler.

On 02/26/2014 10:19 PM, DavidVorick wrote:
> In src/swarm/statesteady.go:
> 
>> +	// Initiate block compilation +	// New round of heartbeats. +
>> s.Heartbeats = append(s.Heartbeats, h) + +	if len(s.Heartbeats)
>> == len(s.Hosts) { +		s.compileBlock() +	} +} + +func (s
>> *StateSteady) compileBlock() { +	var hosts []string +	// the set
>> of hosts is stored as a map for easy insertion + deletion +	for
>> host, _ := range s.Hosts { +		hosts = append(hosts, host) +	} +
>> compiler := common.RendezvousHash(sha256.New(), hosts,
>> s.block.UpdateId())
> 
> I feel like there is an exploit if you can predict the ordering of
> the hosts before the block is compiled.
> 
> It was in the protocol document that I started. It should also be 
> somewhere in the longer document.
> 
> — Reply to this email directly or view it on GitHub 
> <https://github.com/Siacoin/Sia/pull/28/files#r10110992>.
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTDrEeAAoJEHP1nN3uZoHuQJsIANC8VSGGLedUb7kGybcwQuYh
W2kaPLegVmBxDCIHL4hcU3lWKs60XUIa0z7ubsEOeTZY38vc+i3VDLJS6CYe8sBI
CnwobtTBXu5uSdtO/DNAzlmrWA8BaFgUq1hwNP6dQZEDcknq/lDht+YkOMnt5fId
t64IipofSEe4Ww5oxVi32dSZqpjUBLQxAb0aVMSuMWbP+1OPdHcC/sPbnw9u8AnN
liEiyCpdCgOMQNYdn2qcv2269f5wjNRf2EhhOzVAfS7TBbglZpl5n0KrgPmH9uqh
sEXkgADMvEnaTFTvg6Y9DH5nasjlfPef5vPL16fpckgx5QWrKvnOkZoa07uAgDc=
=I71V
-----END PGP SIGNATURE-----