Struct akd::UpdateProof
source · pub struct UpdateProof {
pub epoch: u64,
pub value: AkdValue,
pub version: u64,
pub existence_vrf_proof: Vec<u8, Global>,
pub existence_proof: MembershipProof,
pub previous_version_vrf_proof: Option<Vec<u8, Global>>,
pub previous_version_proof: Option<MembershipProof>,
pub commitment_nonce: Vec<u8, Global>,
}
Expand description
A vector of UpdateProofs are sent as the proof to a history query for a particular key. For each version of the value associated with the key, the verifier must check that:
- the version was included in the claimed epoch,
- the previous version was retired at this epoch,
- the version did not exist prior to this epoch,
- the next few versions (up until the next marker), did not exist at this epoch,
- the future marker versions did not exist at this epoch.
Fields§
§epoch: u64
Epoch of this update
value: AkdValue
Value at this update
version: u64
Version at this update
existence_vrf_proof: Vec<u8, Global>
VRF proof for the label for the current version
existence_proof: MembershipProof
Membership proof to show that the key was included in this epoch
previous_version_vrf_proof: Option<Vec<u8, Global>>
VRF proof for the label for the previous version which became stale
previous_version_proof: Option<MembershipProof>
Proof that previous value was set to old at this epoch
commitment_nonce: Vec<u8, Global>
Nonce for commitment value derived from raw AkdLabel and AkdValue
Trait Implementations§
source§impl Clone for UpdateProof
impl Clone for UpdateProof
source§fn clone(&self) -> UpdateProof
fn clone(&self) -> UpdateProof
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for UpdateProof
impl Debug for UpdateProof
source§impl From<&UpdateProof> for UpdateProof
impl From<&UpdateProof> for UpdateProof
source§fn from(input: &UpdateProof) -> UpdateProof
fn from(input: &UpdateProof) -> UpdateProof
Converts to this type from the input type.
source§impl PartialEq<UpdateProof> for UpdateProof
impl PartialEq<UpdateProof> for UpdateProof
source§fn eq(&self, other: &UpdateProof) -> bool
fn eq(&self, other: &UpdateProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TryFrom<&UpdateProof> for UpdateProof
impl TryFrom<&UpdateProof> for UpdateProof
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(
input: &UpdateProof
) -> Result<UpdateProof, <UpdateProof as TryFrom<&UpdateProof>>::Error>
fn try_from( input: &UpdateProof ) -> Result<UpdateProof, <UpdateProof as TryFrom<&UpdateProof>>::Error>
Performs the conversion.