not approved
The Open Source Cardano Lottery
Current Project Status
Unfunded
Amount
Received
$0
Amount
Requested
$29,750
Percentage
Received
0.00%
Solution

Continue to build out The Open Source Cardano Lottery for fundraising of Green and Social Good Cardano projects. All code is open source which contributes to the Cardano open source community.

Problem

Cardano Green and Social Good projects need alternative fundraising options and the Cardano ecosystem needs more high quality open source projects.

Impact / Alignment
Feasibility
Auditability

Team

1 member

The Open Source Cardano Lottery

Please describe your proposed solution.

The Open Source Cardano Lottery is a smart contract lottery built using plutus for the Cardano Blockchain. It is a non-custodial lottery where all interactions with the lottery are done directly with the smart contracts and do not require any 3rd party to manage and hold any lottery funds. Equally important is that the lotto administrator only has the ability to run the lottery and does not have access to the jackpot or treasury to prevent any unauthorized access.

The motivation for creating a blockchain lottery is to help provide fundraising alternatives for Green and Social Good Cardano blockchain projects. The reason for making this an open source project is that everyone can see the code and provide feedback, comments, suggestions and contributions which will make it a secure and trustworthy blockchain lottery.

Completed Items (0.1.0 Beta Release on May 6, 2022)

  • Working state machine code
  • Logic splitting between 2 validators by using thread tokens for communication
  • PAB created from bash shell scripts
  • Performance enhancements to fit the plutus code within the max 16KB TX size limits
  • Documentation and video tutorials

Current Positive Impact as of Jun 10th, 2022

  • 1000+ Github pageviews
  • 150+ Unique visitors
  • 150+ clones, 30+ unique clones
  • 8 stars
  • 4 forks

Lottery Design

  • When a player purchases a lotto ticket, they will receive a lottery token with the token name being the hash of the number they have selected
  • After the required amount of tickets have been purchased*, the lotto admin closes the lottery so no more lottery tickets can be purchased
  • The players then reveal their numbers which is used to seed the random number generator
  • When ½ of the purchased tickets** have been revealed, the lotto admin can then draw the winning numbers. The random winning number uses both the previous transaction id and the sum total of the revealed numbers as inputs.
  • To claim a winning ticket, a player will then redeem their token which is a hash of the winning number
  • 50% of jackpot rewards will go to the winner (less taxes and government fees) and the remaining jackpot will go to the sponsor (eg. the Cardano Green or Cardano Social Good Project)
  • For every ticket purchased (configurable)
  • X % goes to the sponsor
  • Y % goes to the current lottery cycle jackpot
  • Z % goes to the lottery treasury
  • The lottery contract staking rewards goes to the lotto admin

* The number of tickets that need to be purchased must be an amount that is greater than the total value locked into the lotto smart contract. This is to disincentivize the lotto admin from purchasing all the tickets in a lottery cycle which they could then use to predict the winning number in advance.

** We need to ensure there is sufficient entropy for the random number generator by requiring ½ of all tickets purchased in a current lottery cycle to be revealed. This will also prevent the lotto admin from drawing the winning numbers with only a small number of revealed numbers which he could then use to predict the winning number in advance.

Please describe how your proposed solution will address the Challenge that you have submitted it in.

The Open Source Cardano Lottery uses a novel approach to lotteries making it entirely decentralized by only using blockchain smart contract interactions. This trustless model does not require “trusting” the lotto admin (or a 3rd party Oracle) to run and operate the lottery. The Open Source Cardano Lottery also contributes to the Cardano open source community and helps increase developer adoption, which is one of the strategic objectives of Fund 9.

What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

  • Technical Risks
  • Exceeding Plutus Script size limits
  • Mitigation: Leverage Plutus V2 and CIP-33 (Reference scripts)
  • Vulnerabilities / Loss of funds
  • Mitigation: Engage with the developer community to review the open source code and obtain feedback from the beta releases
  • Legal and Regulatory Risks
  • Mitigation: A production launch of a Cardano blockchain lottery will require a separate legal entity with a gaming license in an appropriate jurisdiction

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

MVP Beta 0.2.0 Release Schedule

  • Sep 9th : Funding Approved
  • Sep 12th - Oct 21st : Development ( 1 Developer)
  • Oct 23th - Oct 28th : Testing (1 Developer)
  • Oct 31st - Nov 2nd : Documentation (1 Developer)
  • Nov 3rd : Beta 0.2.0.0 Release

Please note that Lawrence Ley has also submitted a F10 challenge setting proposal, but this will require less than 5 hrs per week and will not impact the timeline above if approved.

Please provide a detailed budget breakdown.

$29,750 Funding For (MVP 0.2.0 Beta Release)

Task [Resource] [Effort] [Cost]

  • Browser wallet integration [Developer] [80 hrs] [$6,800]
  • Plutus V2 updates and code refactoring [Developer] [60 hrs] [$5,100]
  • Random number generator using player based entropy [Developer] [100 hrs] [$8,500]
  • Staking rewards of Ada locked in Lotto contract [Developer] [20 hrs] [$1,700]
  • Automated & property based testing [Developer] [40 hrs] [$3,400]
  • Integration Testing and User Acceptance Testing [Developer] [40 hrs] [$3,400]
  • Documentation and video tutorials [Developer] [10 hrs] [$850]

350 hrs x $85/hr = $29,750

Please provide details of the people who will work on the project.

Lawrence Ley, B.Sc.

  • Over 20+ yrs in application development, open source and crypto enthusiast and enjoy learning and sharing new and exciting technology.
  • The Open Source Cardano Lottery founder
  • Computer Science degree from University of Toronto
  • Plutus Pioneer 2nd Cohort
  • Linkedin Profile: <https://www.linkedin.com/in/lawrenceley/>

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

Yes, additional funding would be requested for additional roadmap features below. These are not required for an MVP release.

Additional Roadmap items:

  • Mobile app integration
  • Governance model/contract that allows for changing of the lotto parameters
  • Multi-player winners
  • Jackpot sweeteners (eg adding NFT and/or custom currencies)

Please describe what you will measure to track your project's progress, and how will you measure these?

JIRA will be used to track development and testing tasks (and subtasks) and will be used for project progress reporting. A weekly report will be published to The Open Source Cardano Lottery discord channel.

What does success for this project look like?

Targets by Dec 31, 2022

  • MVP Beta 0.2.0 released
  • 3 pilot lotto sponsors identified
  • 10,000+ Github pageviews
  • 1,500+ unique visitors
  • 1,500+ clones, 300+ unique clones

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This is a new proposal

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00