6 ms·
The section on "verifiable computation" is interesting: http://www.enchiladacode.nl/technology.html#verifyable http://www.enchiladacode.nl/technology.html#verif
by lonestar 17y ago
The section on "verifiable computation" is interesting: http://www.enchiladacode.nl/technology.html#verifyable http://www.enchiladacode.nl/technology.html#verifyable
"Every ID of an Enchilada Value is calculated by taking the SHA1 hash of the Value's contents."
The docs suggest that this can be used in a consensus protocol. Many nodes can compute the same result, and quickly test for equality by comparing the ID. Seems nice to have this built-in to the language, but I have to wonder:
a) Why SHA1? Why not a member of the SHA2 family?
b) If you're creating a distributed system and want to implement a consensus protocol, a hash ID isn't really sufficient. Who is going to end up using this feature?
- andrewcooke 17y agocan you expand on why hash isn't sufficient for consensus? (i am just curious - i know nothing about this, but it seems like as long as the hash space is large enough that there are no collisions in the age of the universe etc etc..)
- lonestar 17y agoThe hash could be used as the response in a consensus protocol, but it looks like Enchilada leaves building that protocol up to the developer. So like I said, it's nice to have that hash for every reference, but I wonder if it's worth the storage overhead, and if a developer will use it when he's building his own distributed system anyway.
- andrewcooke 17y agoah, ok, thanks. for "simple" values they wouldn't need to actually store the hash. instead they could use, for example, the actual value of an int, byte, float etc, xored with a type-specific base (but it wouldn't be that great as a hash in, say, a hash table - better to use some function that preserves uniqueness but disperses related values). that would mean they only need to store large hashes for composite structures. edit: i am making life too complicated. in short, if it can be calculated quickly, it doesn't have to be stored.