-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
DiscussionDiscussions, ideas, not fully scoped out plansDiscussions, ideas, not fully scoped out plansUnimportantNice to have but not urgentNice to have but not urgent
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 failureone 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
Metadata
Metadata
Assignees
Labels
DiscussionDiscussions, ideas, not fully scoped out plansDiscussions, ideas, not fully scoped out plansUnimportantNice to have but not urgentNice to have but not urgent