Skip to content

OP_VRFVERIFY #12

@louisinger

Description

@louisinger

Overview

OP_VRFVERIFY enables verifiable randomness in Arkade Scripts by validating VRF (Verifiable Random Function) proofs. The opcode ensures that a random value was correctly derived from a seed by the introspector's VRF key.

VRF = keyed hash function. only the onwer of vrf_secret_key can compute the hash. preventing grinding of the random value.

Opcode

Field Value
Opcode OP_VRFVERIFY
Hex ?

Stack Behavior

Input Stack (bottom to top)

<seed>          // 32 bytes — input to VRF
<vrf_output>    // 32 bytes — the random value (gamma point, hashed)
<vrf_proof>     // 80 bytes — VRF proof (Gamma || c || s)
<vrf_pubkey>    // 33 bytes — compressed pubkey of VRF signer

Output Stack

Success: <vrf_output> (32 bytes) — the verified random value remains on stack

Failure: Script fails immediately (like OP_CHECKSIGVERIFY on bad sig)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions