ton-society / grants-and-bounties

TON Foundation invites talent to imagine and realize projects that have the potential to integrate with the daily lives of users.

Home Page:https://ton.org/grants

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Article: Random numbers generation in blocks

ProgramCrafter opened this issue · comments

Summary

We need a low-level article which explains how validators produce random numbers which are used as block seeds.

Context

Currently, way of generating random seeds is unclear even from TON whitepapers. This raises questions whether those seeds are generated before or after deciding which external messages are imported, and that makes it unclear whether insidious (but still fair) validator can include an external message into block generating exactly needed random value.

This article may possibly start series "Writing own tools for interacting with TON".

Goals

  • Make it clear how random block seeds are generated

Deliverables

  • Article describing process of generating block seed (whitepapers mention threshold signatures - if this is actually used, it needs a description understandable at least by developers)

Definition of Done

Reward

  • Standard TON Footstep NFT
  • $550 in TON equivalent

Total: $550

I've looked through validator code a bit, so I think I'm ready to do this footstep if it is approved.

Regarding unusually big reward size.
This article requires to dig through TON blockchain code, separation of which into files is not obvious at all (for example, I was surprised to find default validator fine size in lite-client files). Thus I consider writing it to be harder.

Upon discussion with @Naltox reward was lowered to $550.

LGTM, @delovoyhomie i guess we should approve this

Reward received.