-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
ark_secret_scalar::SecretScalar: !Sync due to its UnsafeCell. Although Mutex works, we could've some less strictly synchronized flavor in which readers access a different secret from the one mutator. We've several plausible approaches but maybe: Anytime a reader finishes then they attempt to point readers to a secret with zero readers, provided one exists. If you're the last reader on a secret then you mutate it before zeroing the readers counter. It looks safe if you're three secrets.
pub struct InnerSecretScalar {
readers: AtomicUsize,
secrets: [F; 2],
}
pub struct SecretScalar {
reader: AtomicUsize,
inners: [InnerSecretScalar; 3]
}
We should simply implement constant time curves instead. lol
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels