Crypto-centric content creators often give away digital assets (ADA, Native tokens, NFTs) to foster engagement and/or promote a project but there is exists no tool to achieve this in a "trustless" way
This is the total amount allocated to Social Giveaways on Cardano.
Amelia Levesque
Develop a smart contract and user-friendly interface to handle asset deposits and distribution for social media giveaways with mechanisms to pair users' with their Cardano wallet addresses.
Trustworthy oracle of random data (e.g. https://nut.link/)
The dependency on a trustworthy oracle of random data is essential for several reasons:
Oracles that can be triggered by trusted service accounts
While in early development, the project will remain closed in order to avoid forking before MVP has been delivered. Once MVP is up and running, the project will pivot to open source
Project Description:
Crypto-centric content creators often give away digital assets (ADA, Native tokens, NFTs) to foster engagement and/or promote a project but there is exists no tool to achieve this in a "trustless" way
Our proposal aims to develop an on-chain social media giveaway decentralized application (DApp) built on the Cardano blockchain. The DApp will allow promoters to host giveaways where users can participate by completing tasks, such as following, liking, or retweeting, on specified social media platforms. The winner will be randomly selected from the whitelisted participants, and the smart contract will automatically execute the asset transfer to the winner's wallet.
Objectives:
POC Product Details:
Smart Contract Development: Develop a smart contract using Plutus smart contract language to manage asset deposits, whitelist participants, and execute asset transfers.
Digital ID Mapping & Management: Implement a mechanism to pair users' digital IDs from Twitter and Vyra with their Cardano wallet addresses using decentralized identity solutions.
Managing user IDs in the On-Chain Social Media Giveaway DApp is essential for maintaining data accuracy, security, and user trust. Here are some considerations for managing user IDs:
Deletion of Deprecated or Scam Accounts: Implement functionality to delete or mark as inactive any deprecated or scam accounts that are no longer valid or trustworthy. This helps prevent fraudulent activity and ensures that only legitimate users participate in giveaways.
Criteria for deletion or marking as scam could include account inactivity, reports of suspicious behavior, or evidence of fraudulent activity.
Merging Connected Accounts: Allow users to merge multiple connected accounts into a single account to streamline their participation and management of giveaways. This can be useful for users who have multiple social media accounts linked to the same Cardano wallet address.
Implement a process for verifying ownership of the accounts to be merged to prevent unauthorized merges and ensure data integrity.
Admin Functionality for User Management: Provide administrative tools for managing user IDs, such as creating, updating, and deleting accounts. Admins should have the ability to perform these actions to maintain the integrity of the user database and address any issues or discrepancies that arise.
Implement access controls and permission levels to restrict admin actions to authorized personnel and prevent unauthorized modifications to user data.
Data Retention Policies: Establish data retention policies to determine the lifespan of user IDs and associated data. Define criteria for retaining user IDs, such as participation in recent giveaways or account activity, and periodically review and purge inactive or obsolete accounts.
Ensure compliance with applicable data protection regulations and privacy best practices when implementing data retention policies.
Audit Trails and Logging: Maintain audit trails and logs of user management activities, including account creations, updates, and deletions. This helps track changes to user IDs and provides accountability in case of disputes or audit requests.
Implement logging mechanisms to record details such as the timestamp, user ID, and action performed for each user management activity.
By implementing robust user ID management functionality, the On-Chain Social Media Giveaway DApp can ensure data accuracy, security, and user trust, ultimately enhancing the overall integrity and reliability of the platform.
Whitelisting Mechanism: Develop functionality for users to whitelist themselves by completing specified tasks, such as following or liking a post, on social media platforms.
The winner is selected from the pool of whitelisted participants using a trustworthy oracle of random data (e.g., https://nut.link/) or a cryptic lottery algorithm based solely on transaction outputs data (TBD, to be modeled precisely), as on-chain scripts are deterministic.
Routing Mechanisms: Incorporating routing mechanisms and considering security considerations are crucial aspects of designing a robust and reliable On-Chain Social Media Giveaway DApp. Here are some considerations for both:
Address Alias System: Implement an address alias system that allows users to associate their social media accounts with their Cardano wallet addresses. This system should be flexible enough to handle changes in social media account names or handles without compromising the integrity of the giveaway process.
Fallback Mechanism: In cases where a user's social media account undergoes changes (such as renaming), provide a fallback mechanism that allows users to update their account information or link alternate accounts to their wallet addresses.
Data Validation: Implement robust data validation mechanisms to ensure that user-provided account information is accurate and up-to-date. This may involve verifying account ownership through authentication methods or verifying account changes through additional verification steps.
Security Considerations:
Data Encryption: Encrypt sensitive user data, such as wallet addresses and social media account information, to protect it from unauthorized access or tampering.
Secure Communication: Use secure communication protocols (e.g., HTTPS) for interactions between the DApp and external services (such as social media platforms or oracles) to prevent data interception or tampering.
Smart Contract Security: Ensure that the smart contract code is thoroughly audited and follows best practices for security, such as avoiding common vulnerabilities like reentrancy or integer overflow/underflow.
User Authentication: Implement strong user authentication mechanisms to prevent unauthorized access to the DApp and protect user accounts from phishing or other malicious activities.
Error Handling: Implement robust error handling mechanisms to gracefully handle unexpected events or errors, such as failed transactions or invalid user inputs, and prevent potential security vulnerabilities.
Random Selector: Integrate a random selection algorithm into the smart contract to choose a winner from the whitelisted participants.
Dispute Resolution: Implement mechanisms for dispute resolution, such as decentralized arbitration or appeals process built into the smart contract.
The approach to selecting winners can vary depending on the requirements and preferences of the project. Here are two potential approaches:
Deterministic Lottery based on Available Transactions (TXs): In this approach, the winner is selected based on the transactions (TXs) that occur during the giveaway period. Each eligible participant's transaction serves as an entry into the lottery, and the winner is randomly selected from these transactions.
The selection process can be deterministic in the sense that it's based on verifiable data from the blockchain (i.e., the TXs). However, the randomness comes from the unpredictable order and timing of transactions.
To implement this approach, the smart contract would need to track eligible transactions and select a winner randomly from these transactions once the giveaway period ends.
Random Number (RND) Oracle: In this approach, an external source of randomness, known as a Random Number (RND) oracle, is used to select the winner. The RND oracle provides a random number that determines the winner, ensuring fairness and unpredictability.
The RND oracle could be a trusted third-party service that generates random numbers or a decentralized oracle solution that sources randomness from multiple independent parties.
To implement this approach, the smart contract would request a random number from the RND oracle at the end of the giveaway period and use this number to select the winner from the pool of eligible participants.
Both approaches have their advantages and considerations:
Deterministic lottery based on TXs offers transparency and immutability since the selection process is based on verifiable data from the blockchain. However, it may be less random than using an external RND oracle, as the order of transactions could potentially be manipulated by participants.
Using an RND oracle provides stronger randomness guarantees and reduces the risk of manipulation. However, it introduces a dependency on an external service or oracle, which may require trust and incur additional costs or complexities.
User Interface: Develop a user-friendly interface for promoters to set up giveaways and for users to participate by completing tasks and whitelisting themselves.
Integration with Vyra and Twitter: Integrate with Vyra as the minimum viable product for digital ID verification, with plans to expand to Twitter and other social media platforms in the future.
Event Logging and Transparency: Include logging functionality to record key events such as asset deposits, task completions, winner selection, and asset distributions. This promotes transparency and allows participants to verify the integrity of the giveaway process.
Work Flow:
The proposed On-Chain Social Media Giveaway DApp for Cardano aims to provide a transparent, secure, and user-friendly platform for hosting social media giveaways. By leveraging the capabilities of the Cardano blockchain and integrating with popular social media platforms, we aim to create an innovative solution that enhances user engagement while fostering community trust & growth.
The proposed Social Media Giveaway tool will benefit the community in the following ways:
The metric to measure project success will simply be the number of giveaways hosted. This output will be shared publicly on the tool UI which will serve to further excite the community and foster trust.
Currently, this is the only tool of its kind in development however it's a relatively simple tool which addresses a critical need; bringing "trustless" infrastructure to further corners of web2 and web3.
The team is fully committed and capable of bringing this project to the Cardano Community. The budget has been rigorously reviewed by project management and the development team to ensure that funds are allocated effectively. As a project manager and team leader with a decade of experience, shipping product is a very familiar process. The team is comprised of beneficiaries of the Cardano Community and avid enthusiasts - if funded, we are not stopping until we've built the best version of this tool for the community.
Milestone 1: Smart Contract Development (2 weeks for the project kick-off, infrastructure, framework, staking, oracle contracts.)
Milestone 2: Digital ID Mapping and Integration (2-4 weeks)
Milestone 3: User Interface Development (3-5 weeks)
Milestone 4: Random Selection Algorithm (1-2 weeks)
Project close out and video
Derek - Project Manager
Amelia - Community Manager
Yurii - Lead Developer
Work Experience
Platonic Systems
April 2022 — April 2024
Work with Plutus Core, Plutarch, Plutus Application Backend, Cardano Transaction Lib. Exchange platform and stablecoin system development, including liquidity, swaps, Oracles, and smart contracts.
Capgemini
September 2021 — February 2022
Scala Engineer in Payment services development. Payment statistics processing. Software engineer in QA, increasing existing functionality test coverage.
EMURGO
April 2021 — June 2021
Haskell Developer Contractor, Plutus Core smart contract development. Research and pilot implementation of Plutus smart contracts (beta).
Strategic Parter:
Vyra.io is a new social network on Cardano which has seen growing adoption and participation from some of Cardano’s biggest social media presences (eg. Cardano Whale). The Vyra founder has validated the Social Giveaway DApp and offers strategic assistance to the project proposed.
The Proof of Concept (POC)-grade product estimations are:
The team composition is:
Full, MVP (future) grade project costs, broken down by the workstreams:
$29,232 USD - Plutus (504h)
$22,680 USD - Webdev (504h)
$17,640 USD - Others (504h)
In the interest of full transparency, the development rates are (in US$):
There is value added on both user segment sides of this tool. Creators/promoters benefit from increased credibility while giveaway participants can be sure their time is not wasted on inauthentic giveaways.
Being the first tool of its kind, there is some pioneering to be done which is reflected in the project budget. However, this tool will bring massive value to the ecosystem by uniting existing Cardano proponents in their desire to have trustless infrastructure across all crypto-related activities and will impress upon budding Cardano enthusiasts the speed and security of the Cardano blockchain.