Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFP]: Integration reliable and unpredictable random number solution for ink! smart contracts #93

Open
shlavik opened this issue Apr 17, 2024 · 0 comments
Labels
RFP Request for Proposal

Comments

@shlavik
Copy link

shlavik commented Apr 17, 2024

Proposal Due Date

Immediately following the launch of the ink! runtime

Proposal Overview

This proposal is in relation to RFP #65.

In blockchain-based smart contract environments, there exists a problem with obtaining truly random numbers, which are necessary for implementing certain mechanics (games, lotteries, etc.).

One recognized approach to solving this issue is to use an oracle that relays random numbers from a source with sufficiently reliable entropy.

There exists a decentralized, publicly verifiable source of random numbers called Drand (https://drand.love), which provides a new random number every 30 seconds.

Specifically, the proposal is to integrate the DIA xRandom oracle (https://www.diadata.org/app/randomness), created in collaboration with Drand, to the Sora blockchain, providing verifiable random numbers at the smart contract level.

This is a widely recognized solution, and is also used in blockchains with ink! runtimes:

Additionally, the DIA oracle provides price values for a variety of assets, which could serve as a good complement to the existing Band Protocol oracle. This could enable the launch of new synthetic assets on the Sora blockchain. However, this specific RFP primarily focuses on the task of providing a reliable source of random numbers at the ink! smart contract level.

Note: The DIA solution is one possible way to address the task of providing random numbers at the smart contract level on the Sora blockchain. If there is an alternative solution that is not inferior to the one outlined above, that would also be acceptable to the proponent of this proposal.

Proposal Goals

The goal of this proposal is to solve the problem of obtaining reliable and unpredictable random numbers within ink! smart contract environments on the Sora blockchain, which are necessary for implementing various DApps.

Scope of Work

  • Reach an agreement with DIA to provide the random number oracle services (https://docs.diadata.org/products/randomness-oracle/request-a-random-oracle);
  • Organize referendums to mint funds required to pay the fees necessary for operating the oracle;
  • In the wiki section for builders, it is necessary to outline examples of how to obtain random numbers when interacting with the oracle contract.

Current Roadblocks and Barriers to Success

  • The task of [RFP]: Integration of Ink Smart Contract Functionality #65 needs to be addressed;
  • While the DIA xRandom oracle is a reputable solution, the long-term reliability and security of the oracle service needs to be carefully evaluated;
  • Integrating and maintaining the external oracle service will likely incur ongoing costs in the form of oracle access fees or transaction fees. The proposal should account for these operational expenses and ensure they are sustainable for the Sora ecosystem.

Evaluation Metrics and Criteria

  • A solution providing unpredictable and reliable random numbers is available at the ink! smart contract level;
  • Random numbers become available as frequently as possible (Drand provides random numbers every 30 seconds);
  • The documentation has been supplemented with examples of using this solution.

Submission Requirements

Developers will be able to deploy ink! smart contracts, the logic of which involves the use of reliable and unpredictable random numbers.

Submission Method

Blockchain: Mainnet

Project Due Date

TBD

Budget Amount

TBD

@shlavik shlavik added the RFP Request for Proposal label Apr 17, 2024
@shlavik shlavik changed the title [RFP]: Integrate reliable and unpredictable random number solution for ink! smart contracts [RFP]: Integration reliable and unpredictable random number solution for ink! smart contracts Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFP Request for Proposal
Projects
None yet
Development

No branches or pull requests

1 participant