1. 引言
相关代码见:
- https://github.com/zkvalidator/mina-vrf-rs(Rust)
- https://github.com/MinaProtocol/mina/blob/develop/src/lib/vrf_evaluator/vrf_evaluator.ml(OCaml)
$ dune exe src/app/cli/src/mina.exe -- advanced vrf
Commands for vrf evaluations
mina.exe advanced vrf SUBCOMMAND
=== subcommands ===
batch-check-witness Check a batch of vrf evaluation witnesses read on
stdin. Outputs the verified vrf evaluations (or no vrf
output if the witness is invalid), and whether the vrf
output satisfies the threshold values if given. The
threshold should be included in the JSON for each vrf
as the 'vrfThreshold' field, of format
{
delegatedStake: 1000, totalStake: 1000000000}. The
threshold is not checked against a ledger; this should
be done manually to confirm whether threshold_met in
the output corresponds to an actual won block.
batch-generate-witness Generate a batch of vrf evaluation witnesses from
{
"globalSlot": _, "epochSeed": _, "delegatorIndex": _}
JSON message objects read on stdin
generate-witness Generate a vrf evaluation witness. This may be used to
calculate whether a given private key will win a given
slot (by checking threshold_met = true in the JSON
output), or to generate a witness that a 3rd party can
use to verify a vrf evaluation.
help explain a given subcommand (perhaps recursively)
missing subcommand for command mina.exe advanced vrf
参考资料
[1] 2021年7月博客 Evaluating a Mina staking pool’s performance
[2] ZKValidator – Block Producer Analysis
附录
Mina系列博客有: