Off-chain abstraction mechanism for distributing non-fungible tokens in an educational environment
An off-chain abstraction mechanism for distributing NFTs in an educational or similar environment is provided. The off-chain abstraction mechanism abstracts away required knowledge and activities that are directly involved in the issuance to and collection of NFTs both on and off-chain by students thereby allowing teachers to focus simply on rewarding desired behaviors by issuing digital coins to students. Teachers can distribute digital coins to students that are grouped into teams as part of a game or challenge. Digital coins can be associated with a point value that can be added to a team's score during a round of the game. A school administrator can declare a round complete at which point the teams' scores can be used to identify one or more winning teams. Off-chain NFTs can then be distributed to the students of a winning team. The students may view their off-chain NFTs at any time. Also, students desiring to do so may redeem an off-chain NFT for a matching on-chain NFT. A voucher mechanism can be implemented to prevent students from minting NFTs that they have not earned.
1 . A method, implemented by a system that implements an educational environment, for integrating non-fungible tokens (NFTs) into the educational environment by providing an off-chain abstraction mechanism for distributing the NFTs, the method comprising:
creating and deploying a smart contract to a blockchain network that exists outside of the educational environment, the smart contract being configured to authenticate a student's request to redeem an off-chain NFT that does not exist on the blockchain network for an on-chain NFT that exists on the blockchain network;
creating, by an API server of the system, coins within the educational environment that one or more teachers may award to students as part of the students' participation in the educational environment;
independent of the awarding of the coins by the one or more teachers to a first group of the students within the educational environment, determining, by the API server, that each of the students in the first group are to be awarded an off-chain NFT within the educational environment, the first group including a first student, each off-chain NFT to be awarded having a unique identifier within the educational environment;
in response to the determination, awarding, by the API server, the off-chain NFTs to each of the students in the first group, wherein awarding the off-chain NFTs includes associating the unique identifier of each off-chain NFT with an identifier of the corresponding student such that a first off-chain NFT that has a first unique identifier is awarded to the first student by associating the first unique identifier with an identifier of the first student;
receiving, by the API server and from a client device that the first student uses, a request to redeem the first off-chain NFT for a first on-chain NFT;
creating, by the API server and within the educational environment, a voucher for the off-chain NFT, the voucher comprising a voucher identifier, the first unique identifier for the first off-chain NFT, and a hash signature generated from the voucher identifier and the first unique identifier for the first off-chain NFT;
providing, by the API server, the voucher to the client device;
receiving, at the smart contract that has been deployed to the blockchain network, the voucher from the client device;
verifying, by the smart contract, the voucher using the hash signature, the voucher identifier and the first unique identifier for the first off-chain NFT; and
in response to verifying the voucher, minting, by the smart contract, the first on-chain NFT and associating the first on-chain NFT with a wallet of the first student that exists outside the educational environment such that the first on-chain NFT is awarded to the first student outside of the educational environment.
2 . The method of claim 1 , wherein the hash signature is encrypted in the voucher, and verifying the voucher comprises:
decrypting the hash signature to generate a first hash;
creating a second hash from the voucher identifier and the first unique identifier for the first off-chain NFT that are included in the voucher; and
confirming that the first hash matches the second hash.
3 . The method of claim 1 , further comprising:
determining, by the smart contract, that the voucher identifier has not previously been used to mint an on-chain NFT.
4 . The method of claim 1 , wherein determining, by the API server, that each of the students in the first group are to be awarded an off-chain NFT within the educational environment comprises:
determining that the students in the first group belongs to a team in an educational environment that received a highest value of coins in a round of a game.
5 . The method of claim 1 , wherein each of the off-chain NFTs to be awarded is randomly selected.
6 . One or more computer storage media storing computer executable instructions, which when executed in a system that implements an educational environment, implement a method for integrating non-fungible tokens (NFTs) into the educational environment by providing an off-chain abstraction mechanism for distributing the NFTs, the method comprising:
creating and deploying a smart contract to a blockchain network that exists outside of the educational environment, the smart contract being configured to authenticate a student's request to redeem an off-chain NFT that does not exist on the blockchain network for an on-chain NFT that exists on the blockchain network;
creating, by an API server of the system, coins within the educational environment that one or more teachers may award to students as part of the students' participation in the educational environment;
independent of the awarding of the coins by the one or more teachers to a first group of the students within the educational environment, determining, by the API server, that each of the students in the first group are to be awarded an off-chain NFT within the educational environment, the first group including a first student, each off-chain NFT to be awarded having a unique identifier within the educational environment;
in response to the determination, awarding, by the API server, the off-chain NFTs to each of the students in the first group, wherein awarding the off-chain NFTs includes associating the unique identifier of each off-chain NFT with an identifier of the corresponding student such that a first off-chain NFT that has a first unique identifier is awarded to the first student by associating the first unique identifier with an identifier of the first student;
receiving, by the API server and from a client device that the first student uses, a request to redeem the first off-chain NFT for a first on-chain NFT;
creating, by the API server and within the educational environment, a voucher for the off-chain NFT, the voucher comprising a voucher identifier, the first unique identifier for the first off-chain NFT, and a hash signature generated from the voucher identifier and the first unique identifier for the first off-chain NFT;
providing, by the API server, the voucher to the client device;
receiving, at the smart contract that has been deployed to the blockchain network, the voucher from the client device;
verifying, by the smart contract, the voucher using the hash signature, the voucher identifier and the first unique identifier for the first off-chain NFT; and
in response to verifying the voucher, minting, by the smart contract, the first on-chain NFT and associating the first on-chain NFT with a wallet of the first student that exists outside the educational environment such that the first on-chain NFT is awarded to the first student outside of the educational environment.
7 . The computer storage media of claim 6 , wherein the first group of students form a winning team in a game in the educational environment.
8 . The computer storage media of claim 7 , wherein the winning team is determined based on the awarding of the coins.
9 . The computer storage media of claim 6 , wherein the hash signature is encrypted in the voucher, and verifying the voucher comprises:
decrypting the hash signature to generate a first hash;
creating a second hash from the voucher identifier and the first unique identifier for the first off-chain NFT that are included in the voucher; and
confirming that the first hash matches the second hash.
10 . The computer storage media of claim 6 , wherein the method further comprises:
determining, by the smart contract, that the voucher identifier has not previously been used to mint an on-chain NFT.