Random UChile

  1. Random UChile’s Goal
  2. The Randomness Beacon
    1. Generation Algorithm
    2. External Entropy Sources
  3. Transparency in Public Organizations
  4. General Use Applications
  5. Similar Services

1. Random UChile’s Goal

Random UChile seeks to enhance computational services which are inherently random so any external observer can verify that the underlying algorithm was correctly executed, and no manipulation of the randomness used to produce the final outcome has occurred. Our approach can be used with a wide range of services from choosing which person pays a bill at the restaurant, up to which officials will be financially scrutinized by a government auditing agency.

Random UChile is a project developed by a team of researchers at the Laboratorio de Seguridad Computacional y Criptografía Aplicada (CLCERT), at the Faculty of Physical and Mathematical Sciences of the University of Chile.

2. The Randomness Beacon

The main service provided by Random UChile is the Randomness Beacon. The beacon generates “fresh” randomness every minute in the form of a 512-bit long random value (or “pulse”). All other services that Random UChile provides are related to the use of the random values generated by the Randomness Beacon.

The 512 bits randomness value is generated by an algorithm (detailed below) which provides a mathematical proof that no entity, not even Random UChile, can effectively manipulate or predict the random output before than 60 seconds in advance.

2.1. Generation Algorithm

Every minute, we execute the same generation algorithm, which consists of the following phases:

Currently, the slow hash function, used by our system is sloth, proposed by Arjen Lenstra and Benjamin Wesolowski and described in this paper. Our implementation is based on github repository. We expect to substitute this algorithm for a newer Verifiable Delay Function soon.

2.2. External Entropy Sources

Currently the Beacon relies on the following four entropy sources:

3. Transparency in Public Organizations

In Chile, many government organizations must execute public processes which are randomized in nature. One notable class are those processes where citizens are selected in order to receive benefits or be subject to penalties. By law, any selection of this type must be done without any discrimination, be positive or negative.

Yet, there is a fundamental problem that government organizations must solve to comply with the law: given the nature of random selection, it seems impossible to prove that a given person that was chosen was the result of a truly random process and not ‘handpicked’ by the organization. Random UChile provides a solution for this apparent impossibility, by providing an service that takes care of the randomness generation in a way that provides independence and verifiability to the organization. Random UChile takes charge of the randomized part of the process, while the organization runs the process using Random UChile’s random coins, making the output a direct result of both the randomness generated by Random UChile. The organization then can prove it did not have any interference in the outcome. In parallel, Random UChile provides mathematical guarantees that no person, in particular no one working for Random UChile, and not even the same people using Random UChile’s beacon, can interfere with or have prior knowledge of the concrete random value that is computed. With this, the random processes carried out by the public organization is trusted to generate a final outcome for which any observer can be sure that there was no manipulation of any sort.

Random UChile is currently working with several public organizations in order to incorporate verifiable randomness in some of their public processes. To explore some of the projects currently in development visit the project section.

4. General-Use Applications

The utility of Random UChile’s service goes beyond processes carried out by public organizations who strive for transparency. It is also useful for simpler and more mundane processes that involve randomness and trust. For example, choosing a random number inside a range, publicly choosing several random numbers inside a range (say, in a lottery), shuffling the order of a public list, choosing the winner of a draw performed in a social network, or even choosing a different random movie every day, just to name a few. Indeed, some of them are already available in our applications section.

The key and unique factor in Random UChile’s service relies on providing verifiability. Any person can verify that the process was carried out correctly and fairly, that is to say, that the outcome was not tamper or manipulated in any way. To achieve this, Random UChile allows (and actually encourages) participant organizations to follow our guidelines to create a verifiable execution. Most of the time, this means publishing not only the result of the process, but some public data so any interested external entity can recreate and then validate the result.

5. Similar Services

5.1. NIST Randomness Beacon: https://beacon.nist.gov

The National Institute of Standards and Technologies (NIST) also owns a Randomness Beacon that you can access here. The NIST service works under a fully-compatible API with that of Random UChile, meaning that both services are interoperable. Any service using Random UChile’s beacon will transparently work with the NIST’s beacon.

Random UChile is being supported by the National Institute of Standards and Technologies (NIST) ITL MSE Award #60NANB16D304 and #60NANB18D215 from the U.S. Department of Commerce.