-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
azoth
is integrated into the Nomad network where nodes need to validate and reproduce obfuscated contracts deterministically. now, as azoth
evolves with new transforms, version divergence across Nomad nodes creates consensus issues.
for example:
// Node A (v2.0) - has 2 new Transforms and removed 1 of the old one
transforms: [Shuffle, OpaquePredicate, SomeNewTransform, AnotherNewTransform]
// Node B (v1.5) - missing new Transforms
transforms: [Shuffle, OpaquePredicate, JumpAddressTransformer]
// Same seed -> different results -> consensus failure
one important thing is any node should be able to reproduce and verify obfuscation results
@ozwaldorf proposed a solution:
// current seed structure
[256 bits of pure randomness]
[8 bits version][248 bits randomness]
// reserve the first 8 bits (1 byte) as a version identifier, leaving 248 bits for randomness.
ozwaldorf