Choz v2: New Standard for Quiz Maker!

This topic is to discuss the proposal submitted by @feyyaz
Please see below for the details of the proposal and discussion.

12th August, 2024
Current status: Under Consideration.
Funding Note: Choz team has worked on the product since the navigator’s program. With this proposal, we are happy to see this product move towards a production deployment. We discussed settlement logic with the proto-kit team and this is achievable with the current tooling/releases. The risk of the delivery is medium as there is some work involved to settle to L1 on mina and distribute rewards based on conditions on the proto-kit chain. The budget is in line with the work proposed. The impact of this is classified as high as delivery to production would pave the way for other proto-kit applications to work with settlement and enable user interaction.

26th July, 2024
Current status: Under Consideration.
Opened for community discussion on 26 July, 2024.

Navigators Season 2: CHOZ v2 Growth Grants Proposal

Choz v2: New Standard for Quiz Maker!



Our Links:

WebsiteMedium BlogX (formerly Twitter) AccountETHGlobal HackathonGitbook


:pushpin: About Choz

Choz ranked 4th in the MINA Prize category at the ETHGlobal Istanbul Hackathon in November 2023. The team, consisting of four members, aims to expand by adding new talents, especially a marketing manager. Choz, a participant in the Mina Navigators program, is well-versed in Mina blockchain infrastructure and recognized within the Mina ecosystem.

Choz’s Adventure

The idea of Choz was inspired by the question: “Where would I like to see Blockchain technology in daily life?” Choz offers a quiz experience with reliable results using blockchain technology. By leveraging Zero-Knowledge technology through o1js and the MINA Protocol, Choz ensures quiz questions and answers remain private and secure.

For more details, visit our gitbook site.

:pushpin: Proposal Overview

Problem:

The test apps offered on the Web2 side do not provide users with the trust that the decentralized structure brings. Additionally, most general Web3 test apps are far from offering privacy. Moreover, Web3 apps need to improve their UX.

In the current version of Choz, the number of questions is limited, and only a single type of answer input is allowed. Also, verifying the test and participating in the test can be somewhat complex for the user.


Solution:

Choz uses Mina to ensure privacy and verifiability in the Web3 domain. In its current architecture, it uses protokit, and the proof obtained from the exam result is sent to L1 via an L1 Settlement Contract. For other Web2 features (such as sending results via email), it runs a JavaScript backend.


Effect:

While users are protected by Web3 security and the privacy provided by Zero Knowledge technology, they will be able to easily perform tasks like tests and quizzes with an improved user experience. Moreover they will also be able to use Web3’s secure and reliable finance freedom for prize distribution.

With Choz operating on the mainnet, both the Web3 ecosystem will gain a test zkapp, and the Mina ecosystem will gain an example of a well-documented, understandable codebase.

Audience:

Choz’s target audience includes educators, companies, start-ups, content creators, communities, school clubs, and anyone who wants to quickly create tests and quizzes. Education, psychological diagnosis, end-of-seminar evaluations, attention measurement, certification exams, recruitment, interviewing or casual entertainment… Whatever the purpose, Choz appeals to a wide range of users looking for a seamless test creation experience. This distinguishes us from other technical projects. Choz does not appeal to a specific audience, it is an interactive and social application. Without exception, every person has a history of tests in their life. Everyone can find something of their own in Choz and use the application.


:pushpin: Architecture & Design

The basic architecture of our project focuses on providing a fast and reliable quiz creation process.

Detailed Design/Architecture:

Choz’s architectural structure consists of 4 different layers

1. Protokit Sequencer

Storing, calculating and creating evidence for quizzes using Protokit.

Protokit provides a powerful and flexible platform to securely store quiz data, calculate results, and generate verifiable evidence. This process ensures the integrity and confidentiality of data while increasing user participation and reliability of results.

  • Storage: Quiz data is stored through Protokit’s secure data management system. This system protects data integrity and prevents unauthorized access. The data storage feature is still not active, Protokit Persistence Storage Upgrade is awaited for this to happen. As a temporary solution, quiz information is kept in web2 type databases.
  • Calculation: Quiz results are obtained by quickly and accurately calculating the quiz answers received from the backend server using Protokit’s zero-knowledge calculation algorithms. This allows users to get instant feedback.
  • Proof Creation: Protokit uses cryptographic zero-knowledge proofs to prove the accuracy and reliability of quiz results. These proofs guarantee the verifiability and immutability of the data.

The Protokit server makes calculations by comparing the received answers with the correct answers of existing quiz questions and produces a zero-knowledge proof as a result of these operations. This proof is then sent to the Mina Settlement Contract layer to be verified and written on the Mina L1 blockchain.

This system, integrated with Protokit, offers an ideal solution for institutions that want to digitalize and secure their education processes. It allows users to participate in quizzes in a secure and verifiable environment.

2. Backend API

Establishing a healthy connection between the user interface and blockchain via the backend server and onboarding web2 users.

It is a service that adopts a user-friendly hybrid model developed to seamlessly integrate Web2 users into the blockchain ecosystem and provides reliable connection with Protokit.

This model allows traditional web users to benefit from complex blockchain technology without needing to understand it. The advanced backend infrastructure establishes continuous and secure communication with the Protokit server layer, making the users’ experience uninterrupted and reliable. The user-friendly interface allows users to interact easily while managing the complexities in the background.

The set of data generated as a result of user interactions coming from the frontend layer, such as “creating a quiz” and “answering a question”, is processed appropriately in the backend layer and is also sent to the Protokit layer for zero-knowledge proofs. In this way, data that does not require confidentiality but cannot be carried on the blockchain, such as quiz details, are stored in a safe and accessible manner, while highly confidential data such as user answers and user scores are sent securely to the Protokit layer for processing. At the same time, it is of critical importance in ensuring that the data coming from the Protokit server is transmitted in accordance with the user interface and in a way that prioritizes confidentiality.

This critical layer will be fully integrated into the more secure and decentralized Protokit layer with the Protokit Persistance Storage upgrade planned to arrive soon, and the created quiz information, user responses and scores will be free from dependency on web2 architecture databases.

This hybrid model prioritizes user experience while encouraging web2 users to use blockchain-based applications. Thus, it appeals to a wide audience by offering both security and ease of use. It simplifies and accelerates the transition from the Web2 world to the blockchain universe, thus supporting the digital transformation process.

3. Mina L1 Quiz Result Settlement Contract

Settlement for verifying the proof on quiz results from Protokit and ZkProgram.

Mina zkApp contract, which verifies the batch transaction evidence received with Protokit through zkProgram, proves the quiz results and makes it possible to earn rewards.

This system provides reliable verification of quiz results with the verification mechanism provided between Protokit and ZkProgram. After the users’ answers are verified in the Protokit server layer and their collective evidence is obtained, this evidence is verified through zkProgram by reaching the L1 level, that is, the settlement contract on the Mina Blockchain, and this zero-knowledge evidence is written on the Mina blockchain.

This structure, increases the reliability and confidentiality of quiz results and encourages users. This system offers an important innovation in the field of education, with both the effectiveness of the verification process and the rewards that users will receive.

4. Front-End

Client side interface with a professional design approach, using power of Next.js and getting help from o1js with webworkers to make contact with Mina.

This interface has been developed with a modern and aesthetic design approach to maximize users’ experience. It provides a fast and smooth user experience by taking advantage of the performance and flexibility advantages of Next.js. o1js allows us to establish a reliable and efficient connection with Mina, managing complex operations in the background and making it possible for users to interact with just ease. This integration enables users to benefit from blockchain technologies by offering both security and ease of use.

Thanks to the Frontend interface, all kinds of user interactions, such as quiz information created by users and answers to quizzes, are prepared to be transmitted to the Backend API for quick processing. In this way, it becomes much easier for users to interact with the seemingly complex quiz creation and answering system within the Choz architecture.

:pushpin: You can read our Medium article at link to examine in detail the adventure of a quiz in our application from start to finish.

Vision:

Choz’s long-term vision is to be a leading platform in the field of secure and decentralized exam/quiz/test creation. By leveraging blockchain and zero-knowledge technologies, we aim to provide a trustworthy, transparent and interactive experience for users in various fields such as education, recruitment and community engagement.

Choz will constantly evolve to meet the needs of its users. We will continue to add new features and capabilities to increase user interaction and engagement. Since there is no such project in the Web3 space, Choz has a high potential to stand out with its uniqueness and innovation. Using this advantage, we aim to become an indispensable part of the blockchain ecosystem by increasing adoption and innovation in decentralized applications.

With the innovative solutions and advanced technologies offered by Choz, we will create a revolutionary platform for both individual users and institutions. In this way, we will accelerate the adoption of decentralized solutions by bringing the power and advantages of blockchain technology to wider audiences. Choz, which will meet the needs of users in a wide range from education to recruitment, from community events to individual development, will gain a strong place in the sector with its user-oriented approach and innovative vision.

Existing Work:

Yes, the development process of our project continues actively in the GitHub repository. Currently, on our platform, users can actively create and share exams. Our project is run through four main GitHub repositories:

  1. Backend API: Our API layer, which manages the background operations of the project, is located in the following repository:
  1. Mina L1 Contract: The layer of our project containing smart contract and blockchain integrations is available at the following address:
  1. Protokit Sequencer: Our component, which carries out the sequencing and coordination functions of the protocol, is developed in the following repository:
  1. Frontend: The front-end layer where users create and share exams is located in the following repository:

:pushpin: In addition, our project also has an existing working website. For details, please visit: choz.io

Production Timeline:

Our project is on testnet at the moment, but working on testnet. But we are going to improve and add more features to it inside the 3 months period and make it working on mainnet.
We expect the funding as it planned for the Navigators Phase 2 plan.
We also expect the provided milestones below to be finished within 3 months.

:pushpin: Budget & milestones

Deliverables:

Choz will make developments and improvements to the existing platform in Mina Navigators Season 2.

  • L1 Settlement Contract: We use Protokit for scaling our app. We will write L1 settlement contract for writing result to L1.
  • User Interface & User Experience Improvements: Making the quiz experience smoother and easier with a user-friendly interface design.
  • Email Sending Integration: Sending quiz results to users via e-mail and notifying them instantly.
  • Markdown Support for Exam Creation: The exam creation experience is easy and fluent with the markdown standard support offered in the interface to the user who creates the exam. We will use Lexical for markdown editing.
  • Increasing Question and Option Number Limits: To enable more comprehensive evaluations by increasing the number of questions and options used in current exams.
  • New Question and Answer Types:
    1. True/False Questions: Adding simple but effective questions that users can answer quickly.
    2. Questions with Multiple Correct Choices: Creating questions with more than one correct answer in order to evaluate complex and multidimensional information.
    3. Visual Added Questions and Options: Adding visuals to questions and options to make the learning and evaluation processes more interactive and visual.

Thanks to these features, our application will make the quiz process more user-friendly and flexible.

The main features of Reward System:

  1. Automatic Prize Distribution: Winners are automatically determined according to the quiz results and prizes are distributed instantly. This process is carried out quickly and reliably, without requiring any additional action from users. By writing a service that listens to winner messages from the contracts, a mechanism will be provided to distribute the rewards collected in the pool using the Mina client. This system will also allow for the possibility of taking commissions from the rewards in the future.
  2. Claimable Reward System: We aim to increase participation and get more interaction. This way it incentives users to learn more about the topic and increase the interest on the product at the same time. We can explain this with a short user story:
    As a user, after completing the Choz original reward-based tests, once the winner is determined from Protokit, a button will appear in the exam details on the “past exams” screen to claim the reward. By clicking this button, you trigger the relevant function in the reward distribution contract and make a transaction confirming that you have received the reward.
  3. Transparency and Fairness: The reward distribution process is managed in a completely transparent and fair manner, all users compete on equal terms.
  • Completing unit and integration tests for Choz and making the application available to everyone: The next important phase of our project is to complete unit and integration tests for Choz and make the application available to everyone. This stage is critical to ensure the quality and reliability of our application.

What to do in this process:

  1. Completion of Unit Tests: Independent testing of all modules and components, verifying that their functions are working correctly. This allows us to make sure each part is working as expected.
  2. Completion of Integration Tests: Testing that different modules work together in harmony. These tests ensure the overall performance of the system and that the integration processes operate smoothly.
  3. Error and Troubleshooting: Correcting errors and problems detected during tests, making the application stable and reliable.
  4. Public Availability: After all tests are successfully completed, the application is made available for general use. Our users will be able to benefit from all the features of Choz completely and safely.

This stage is necessary for us to provide our users with a high-quality, reliable and user-friendly application. Completing unit and integration tests optimizes the performance of the application, while the public launch process allows us to reach a wider user base.

Mid-Point milestones:

Final milestones:

Project Timeline:

3 Months

Budget Requested:

Monthly 8.000 MINA
Total 24.000 MINA

The team members will work full-time on Choz.

Budget Breakdown:


Wallet Address:

B62qrR5uK64QFgVeeDnRNgQRKhUMez3pV7BsqCbFh6wS5F3gRLXrDBi
B62qpJojxdjMWk91h4UrirDwPTT5tYHvnQs1gsVrzSe5SKdmuFCBJp8

:pushpin: Team Info

Proposer Github:

Team Projects: Choz’s Github - BosslessDAO FrontEnd Github - BosslessDAO Smart Contract Github - BosslessDAO Proposal

Proposer Experience:

We as a team working together for 1 year now. Our first project was Bossless DAO. It was an automated DAO which is executing the approved option in a proposal instantly via using Chainlink Automation. From there we joined ETHGlobal and won the Mina Prize as 4th place (Here is our ETHGlobal proposal). Then our project was selected for Mina Navigators Season 1. We succesfully claimed the monthly milestones and Learn to Earn challenges. Learned Mina ecosystem and the technology deeper and deeper and now ready for more.

Team Members:

Feyyaz Numan Cavlak, Developer

Head of Developers @ITUBlockchain. Developed Pooly. Season 1 Navigator.

:pushpin: Social links: Linkedin - X (formerly Twitter) - Github

Mert Akyazı, Smart Contract Developer

Senior Blockchain Developer @Chromia, Blockchain Developer @Launchjoy.
5 years Blockchain and Backend Development Experience. Built products like NFT Marketplace, NFT Indexer, Staking Tracker, Governance Protocol and hybrid solutions between web2 and web3.

In his team, he is responsible for developing Mina Smart Contracts and Protokit modules, as well as working on backend integrations and new feature implementations.

In his personal business endeavors, he leads the Governance project at Chromia as the lead developer. Additionally, he provides support to the Launchjoy project as a blockchain developer. Holding the title of Senior Blockchain Developer at Chromia, he has extensive experience in mentoring junior developers, creating architectural solutions, conducting workshops, and speaking at conferences.

:pushpin: Social Links: Linkedin - X (formerly Twitter) - Github 1 - Github 2 - Medium

Yavuz Selim Tunçer, Backend Developer

Community Advocate @ChainlinkTurkey. Fullstack Web3 Developer @DashoneTech. 3 years software development experience, especially as EVM smart contract developer. Attended ETHGlobal Istanbul Hackathon and built Choz (formerly Examina) on MINA Blockchain. Since December backend developer in Choz Team within Mina Navigator Season 1 Program.

:pushpin: Social links: Linkedin - X (formerly Twitter) - Github - Medium - Devpost

Esra Akyazı, UX/UI Designer

She is experienced in dApps and zkApps. Worked in both web2 and web3 projects. She also designed Choz in the first season of the Navigator program.

:pushpin: Social links: Linkedin - Dribbble

Achievements:

  1. ETHGlobal Istanbul Hackathon 2023 - MINA Prize Category 4th Place

:pushpin: Risks And Mitigation Strategies

1. Potential Issues During the Development of Protokit

Risk:
Technical problems encountered during the development of Protokit can lead to extended development timelines and unexpected cost increases.

Mitigation:

  • Enhanced Test Coverage: Conduct comprehensive testing on the backend, blockchain, and Protokit components to identify potential issues early.
  • Incremental Updates: Apply gradual and controlled updates during the development of Protokit, incorporating feedback at each stage to make necessary improvements.

2. Challenges in the Development and Mainnet Upgrade of the Mina Network

Risk:
Technical disruptions and incompatibilities may occur during the development and mainnet upgrade of the Mina network.

Mitigation:

  • Detailed Testing Process: Perform extensive testing on both the Protokit and o1js components before the mainnet release, ensuring repeated tests on the latest versions.
  • Version Lag: After the mainnet transition, temporarily avoid updating to the latest version to ensure the application’s complete stability.

3. Competitors like Kahoot Adopting zk Technology for a New Structure

Risk:
Major competitors, such as Kahoot, adopting zk technology could diminish our competitive advantage.

Mitigation:

  • Early Detection and Competitive Response: Quickly detect competitors’ pivot attempts and take strategic actions promptly.
  • Potential Acquisition: If Kahoot or a similar application attempts to pivot using our technology, consider offering an exit strategy by selling to these companies to maintain our competitive edge.

4. High Volatility of $MINA and User Reluctance to Accept Rewards in $MINA

Risk:
The high volatility of $MINA may result in users being reluctant to accept rewards in $MINA.

Mitigation:

  • Alternative Reward Mechanisms: Offer users the option to receive rewards in stablecoins or other low-volatility tokens instead of $MINA.
  • Volatility Management: Provide tools and guidance to minimize volatility for users receiving $MINA rewards, such as automatic staking or quick exchange options.

These strategies will help mitigate potential risks, ensuring a more efficient and secure project development process.

Admin edit (hgedia) - Added wallet address B62qpJojxdjMWk91h4UrirDwPTT5tYHvnQs1gsVrzSe5SKdmuFCBJp8 for payouts as requested by the team due to re-structuring.

2 Likes

This application is approved for funding.

Choz team has worked on the product since the navigator’s program. With this proposal, we are happy to see this product move towards a production deployment. We discussed settlement logic with the proto-kit team and this is achievable with the current tooling/releases. The risk of the delivery is medium as there is some work involved to settle to L1 on mina and distribute rewards based on conditions on the proto-kit chain. The budget is in line with the work proposed. The impact of this is classified as high as delivery to production would pave the way for other proto-kit applications to work with settlement and enable user interaction.

1 Like

This bi-week, we made significant progress in the development of the Choz platform.

  • We’ve successfully completed the interface enhancements for new question types and markdown support.
  • The initial design of the exam creation interface has been finalized.
  • On the backend, we implemented the ability to extract image links from markdown using regex and store them in the database.
  • Additionally, we finished designing the exam results screen.
  • Development for settlement functionality is ongoing, and we’ve written a zkProgram on Protokit for score verification purposes.

In Progress:

  • Email service [Backend]
  • Image upload into IPFS [FrontEnd]
  • Settlement [Protokit, Mina L1]
  • Design for claim reward on Exam result page after finishing Exam
3 Likes

Our first phase has ended this week.
Main epics are completed for the first 1.5 month, you can see the first phases presentation from this link: https://www.figma.com/deck/o5n7KZewcqpDBiY8bjK5aQ

This week on top of the main epics we also have updates:
A new mail template for the result email.
Fix on mail send functionality after template changes

Our plans for the next phase:
We are planning to go on production. Our new Mina Layer1 Architecture will make Mina Rewards on Quizzes possible.
Our new architecture on-chain looks like this:
The exam creator creates the exam and deploys the smart contract
Smart contract stores the exam details
When users participate and submit their answers. They create a ZK Proof of Submit.
We are working closely with zkCloudWorker team to make this as decentralized and verifiable as possible. When they submit the proof on the backend our ZK Result Calculator calculates the results by aggregating the proofs.
We are using new OffChainState which is groundbreaking new feature on o1js that is just making usage of maps really easy. We are defining a winner list inside smart contract as OffChainState and start to distribute rewards to users via a backend process automatically.
This way we are migrating from Protokit to Mina Layer1 and it opens the possibility to go into Mina Mainnet!
In this bi-week we have tasks In Progress as:

  • Submit Answer ZkProgram to generate proof
  • ZkCloudWorker collaboration and integrations
  • FrontEnd UI Improvements to align with Figma designs
  • New Exam Creator Panel Design on Figma to show creator exam information
  • Backend Refactor on Code structure and implement better practices
1 Like

I’ve had a look and I like the UI designs. They’re clean and user-friendly . Looking forward to seeing more updates!

3 Likes

This bi-week we have crazy updates:

  • We finished the zkProgram stack with collaborations thanks to @DFST aka zkcloudworker
  • We nearly finished a new UI Design System from scratch. It is a new UI Kit with modern features of Figma ( variables, tokens ).
  • FrontEnd refactor is completed. There is a big change in the frontend code structure that improved the overall code quality and made use of components thanks to our new Senior Front End Developer Secgin Karagulle
  • Backend Refactor is completed. It was a big refactor, and we are now fully utilizing the M S C pattern.
  • We have a new Logo, which is done. We are going to release our new logo with our redesigned website. But I can show you the new logo from here and leave the imagination to you!

    There was a lot of effort put into this Logo, so we will have a post about how the logo was designed and the meaning.
    And here is the in-progress tasks we are handling
  • We are creating our brand look and it is going to be reflected in our branding across different social platforms
  • [UI] We are implementing our new Design System and redesigning website
  • [FrontEnd] O1js and ZkCloudWorker setup
  • [FrontEnd] We are switching to Pallad (wallet) library
  • [BackEnd] We are setting up Bun.js and converting to typescript
  • [BackEnd] O1js and ZkCloudWorker setup
  • [Blockchain] Update smart contract and use OffChainState winnerList
  • [FrontEnd] Enable Deploy smart contract per exam with zkCloudWorker
  • [Backend] Implement Automatic Distribution system which takes proofs and generates winnerList, then 3 by 3 it executes reward distribution by interacting with smart contract
  • [Social] We are going to release technical blogs about new architecture with smart contracts and zkCloudworker
  • [Social] New blog posts about the Logo and Choz UI Kit.
3 Likes

Thanks for the updates! This is a lot of progress and great to see the team on it!

2 Likes

This week, and month we have even crazier updates, so happy to share them with you.

Branding & Design

  • UI Design System has been completed with diligence including variables, tokens and updated branding material

  • Our logo, colours, marketing material and templates were created from scratch.

  • Our logo was redesigned and our fresh identity has been announced, finally!

  • Defined our target audience segments and messaging strategies in order to position our product better. Developed our preliminary marketing plan and brandbook accordingly.

Social

  • Setup Choz Medium Blog pages ( make sure to check out! blog.choz.io might come active in 2 days until that you can also check this link : Choz - Medium )
  • X tweets to interact with Mina and Web3 community

Front End

  • Refactor overhaul almost perfected

  • New Tailwind css extends to align with new Design System tokens

  • ZkCloudWorker API interaction and deploy quiz contract implementation

  • New Form with Rewards section

  • Switched Question step place with Details step

  • Redesigned Website almost finished to be released

Back End

  • ZkCloudWorker implementation done!
  • Automatic Reward Distribution done!
  • New Winner Mail template with score and reward done!
  • Protokit Removed completely
  • Decreased monthly server costs from 200$ to 20$!
  • Big Refactor: Now our API is using Bun and Typescript!

Blockchain

  • QuizWorker implementation done!
  • Tests are done!
  • Devnet worker deployed
  • Quiz smart contract, ScoreCalculation and WinnerProver works
  • Payout one winner and payout two winners works!
  • Added withdraw functionality when total winner pool would not be liquidated
1 Like