Skip to content

Chess Engine Entropy #7

@TheExpandingPolytope

Description

@TheExpandingPolytope

Description
We want to create a module (written in any lanugage, C++, Rust, Python) that takes a random hash/number as input from an external trusted source into the machine, and upon recieval of this random number, it injects randomness into the cartesi machine in such a way that encapsulates every possible case of entropy that can exist within a computer (For now, just every way that a chess engine can derive entropy).

Steps

  1. First step is determining where chess engines derive their non-determinism from. There could be many answers to this one question.
    Question on reddit

  2. Second step is creating a module/library that can take a random number as input and distribute entropy throughout the Cartesi machine in a way that encapsulates all the avenues that a chess engine can derive randomness from. For example, if chess engine a uses a C++ rand library that derives is randomness from "/dev/random" or "/dev/urandom" then this module must, at the very least, take the random number it recieves as input and manipulate the value of "dev/random" or "/dev/urandom". This module will recieve inputs through standard input so that simple subprocess calls can be made through our python scripts like so subprocess.run(["./gen_entropy", "-hash", "16264848662284"])
    Randomness in Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions