concepts

Correct Ethereum onchain design misconceptions about deterministic execution and randomness.

7|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/Zodomo/DrandVerifier --skill concepts-zodomo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: concepts
Source: https://github.com/Zodomo/DrandVerifier/tree/main/.opencode/skills/ethskills/concepts
Command: npx skills add https://github.com/Zodomo/DrandVerifier --skill concepts-zodomo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents developers and designers from building broken onchain systems caused by misconceptions (especially around “automatic” execution, missing incentives, and incorrect assumptions about randomness and timing).

Core Features & Use Cases

  • Corrects core Ethereum misconceptions: explains why contracts don’t run by themselves and why “timers” require external pokes.
  • Teaches incentive-first design: frames every state transition around “who calls,” “why they call,” and “is the incentive enough.”
  • Explains randomness constraints: contrasts insecure pseudo-randomness approaches with commit-reveal and verifiable randomness options.
  • Use Case: when designing an oracle, staking flow, reveal mechanism, or any multi-step protocol, use these models to catch design mistakes that otherwise become dead code.

Quick Start

Ask an AI to use the concepts framework to review your proposed onchain state machine and identify missing callers, weak incentives, and unsafe randomness assumptions.

Frequently Asked Questions about concepts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Ethereum smart contract not execute automatically when a timer expires?

Ethereum smart contracts do not run by themselves; deterministic execution requires external callers to poke the contract, meaning every state transition needs a clearly defined caller with sufficient incentives to trigger it.

How do I design safe randomness in a smart contract?

Safe randomness in smart contracts requires using commit-reveal schemes or verifiable randomness functions, because onchain pseudo-randomness approaches are insecure and easily manipulated by block producers.

How do I review an onchain system design for missing incentives?

Review an onchain system design by applying an incentive-first mental model to every state transition, explicitly asking who calls the function, why they call it, and whether the reward is sufficient.

What is the best way to design a permissionless oracle or staking flow?

The best way to design permissionless oracles or staking flows is to frame the protocol around incentive sufficiency and deterministic execution, ensuring external callers are always motivated to push state transitions forward.

Can I use pseudo-randomness for a commit-reveal flow in Ethereum?

Using pseudo-randomness for a commit-reveal flow is insecure; safe onchain randomness requires verifiable randomness or proper commit-reveal implementations to prevent manipulation and protect protocol integrity.