Anoma.RM.Transparent.ProvingSystem.DPS (Anoma v0.31.0)

I am the delta proving system module for the TRM.

I provide the interface for everything that has to do with the TRM delta prooving.

Public API

I have the following public functionality

Summary

Functions

I am the TRM delta proof aggregate.

I am the TRM delta proving system verifying and proving key.

I am the TRM delta proving system prove interface.

I am the verification function of the TRM delta proving system.

I am the verify jet. I am to be used as the jet of the verification gate in the Nockma standard library.

Types

@type dps_key() :: binary()
@type t() :: %Anoma.RM.Transparent.ProvingSystem.DPS{
  instance: Anoma.RM.Transparent.ProvingSystem.DPS.Instance.t(),
  proof: <<_::0>>,
  proving_key: dps_key(),
  verifying_key: dps_key(),
  witness: <<_::0>>
}

Functions

Link to this function

aggregate(t1, t2)

@spec aggregate(<<_::0>>, <<_::0>>) :: <<_::0>>

I am the TRM delta proof aggregate.

In the transparent case, this is always trivial.

Link to this function

from_noun(list)

@spec from_noun(Noun.t()) :: {:ok, t()} | :error
@spec key() :: binary()

I am the TRM delta proving system verifying and proving key.

Namely, I the identifier of the verification gate encoded into the Nockma standard library. In particular, I the jam of the logic of the verify gate.

Developer warning: this means that if the layer in which the gate is located changes, this value may change as well.

@spec prove(<<_::0>>, Anoma.RM.Transparent.ProvingSystem.DPS.Instance.t(), <<_::0>>) ::
  <<_::0>>

I am the TRM delta proving system prove interface.

As we are in the transparent case, this is always trivial.

@spec to_noun(t()) :: Noun.t()
Link to this function

verify(jammed_predicate, instance, arg)

I am the verification function of the TRM delta proving system.

I cue the jammed predicate given, then evaluate it giving the instance as an argument.

Link to this function

verify_jet(delta, expected_balance)

@spec verify_jet(integer(), integer()) :: boolean()

I am the verify jet. I am to be used as the jet of the verification gate in the Nockma standard library.

I check the constraints as specified by the RM specification.