SShortSingh.
Back to feed

Verifying a drand beacon is not enough — clients must also recheck the derived integer

0
·2 views

A developer building a drand randomness relay found that validating the BLS signature on a beacon does not guarantee the integer value returned to the client is correct. A malicious relay could leave the signature intact while quietly altering the output value, nonce, range, or counter in the JSON response. To close this gap, the client must independently recompute the integer using rejection sampling on the verified beacon data and compare it against the relay's result. The article provides sample code demonstrating how to fetch, verify, and locally recompute the value using a reference drand client. The author also cautions that this approach does not protect against timing attacks or selective disclosure, and is unsuitable for high-stakes or audited draws.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Why AI Agent Fleets Need a Kubernetes-Style Control Plane to Stay Safe

A developer building a multi-agent system found that a Kubernetes-inspired control plane was essential for managing AI agents safely in production environments. Through a series of deliberate stress tests, the system successfully blocked uncertified agents, detected swapped model identities, and killed a runaway cost-burning agent mid-run at its budget ceiling. A key insight emerged from one scenario where an agent had not been modified at all, yet quietly degraded in performance — a drift that only continuous benchmarking caught, not any rule-based gate. Emerging tools like kagent and agent-sandbox bring Kubernetes-native primitives such as CRDs, RBAC, and workload isolation to AI agents, but the author argues these address placement and isolation without enforcing ownership or proven capability. The core thesis is that admission control — deciding what is allowed to run and why — matters more than orchestration alone, and that the most dangerous agents are those that drift unnoticed rather than those that are visibly altered.

0
ProgrammingDEV Community ·

Blog Series Explores How Transistors and Logic Gates Form the Basis of Computing

A developer has published the third post in a nine-part series titled 'Computers' on the DEV Community platform. The article focuses on digital logic, covering how transistors function as switches and how Boolean algebra underpins logical gate operations. It also explains truth tables and how more complex components such as adders, multiplexers, and memory elements are built from these foundations. The piece aims to illustrate the conceptual bridge between physical electronics and computational systems.

0
ProgrammingDEV Community ·

New 'undetermined' Library Reports When a Constant Cannot Be Reliably Measured

A developer has released an open-source library called 'undetermined', available for both Python and JavaScript, that fits curves to program measurements but explicitly refuses to return a result when the data is insufficient. Unlike conventional curve-fitting tools, it outputs an error bar alongside each result and maintains a labeled list of observables it could not confidently determine, along with the reason for each refusal. The library requires a plateau across at least three consecutive input-size rungs within two combined standard errors before declaring a constant settled. It also guards against broken adapters, non-informative observables, and ambiguous choices between competing observables by raising errors rather than silently returning misleading values. A recent 0.2.0 release fixed a bug where zero-scatter observables — those returning the same value every time — were incorrectly flagged as undetermined due to a division-by-zero in the standard error calculation.

0
ProgrammingDEV Community ·

Meta FAIR's AIRA Agent Wins Kaggle Gold Medal After Training in Custom AI Dojo

Meta's Fundamental AI Research (FAIR) team developed AIRA, an AI agent system that progressed from a purpose-built training environment called AIRA-dojo to winning a gold medal in a real Kaggle competition with roughly 4,000 participating teams. The research, detailed in a multi-part series published in September 2026, showed that simply moving an existing agent called AIDE into the improved dojo environment — without modifying the agent itself — raised its MLE-bench lite medal rate from 35.2% to 45.9%. Further gains came from redesigning the agent's core operators and search strategies, with the best configuration achieving a then-record 47.7% medal rate on the 22-problem lite benchmark using the o3 model. A key finding was that environmental quality — such as cleaner dependency management and reduced overhead — contributed as much to performance as model upgrades. The work suggests AI development teams should audit their agent's operating environment before investing in more powerful underlying models.