One of the most interesting developments in blockchain technology is the NFT, or Non-Fungible Token. A non-fungible token is unique, meaning that only one exists on the blockchain, similar to a physical object. On the Jengascoin blockchain, an NFT represents a unique digital object, like a specific software program. Creators/Publishers mint a unique NFT which represents their software, and then from that NFT they create any number of token, each of which represents a unique, individual copy of the software program represented by their NFT.
This enables a highly secure form of licensing due to the technical aspect of these NFTs and Jengascoin wallets.
When a Jengascoin NFT token is sold to a buyer, it is transferred into the buyer’s Jengascoin Wallet. Blockchain technology utilizes public and private cryptographic keys to send and receive cryptocurrency and NFT tokens. At the most basic level, an NFT token is a ‘tagged’ form of cryptocurrency. When it comes to authentication, since the creator minted the NFT, that transaction was signed with their private cryptographic key.
The buyer has their own private cryptographic key that allows them to access their own Jengascoin Wallet, but how does the Creator know whether or not the NFT token (individual copy of their software program) is inside the buyer’s wallet when it comes time to authenticate the user? The software program can ask the Jengascoin wallet for a “signed” message. Using the private key associated with the Jengascoin address which holds the NFT token the Jengascoin wallet can provide proof to the software that the user trying to use the software is authorized to do so. This uses the private and public key infrastructure to authenticate users without transmitting their license!
When the user wants to use the licensed program, the program requests a message from the user’s Jengascoin wallet. The program can’t actually look into the user’s wallet because only the user knows their own private key. As a result, the contents of the user’s Jengascoin wallet are private to the user. The buyer accepts the request and allows their Jengascoin wallet to send the message to the software program. The software program can verify the message which the Jengascoin wallet provides to quickly and easily verify that the user has a copy of the license NFT in their wallet. Because of the security inherent in private key cryptography, the contents of the user’s wallet are shielded from the program’s view at all times. The NFT license inside the user’s wallet is like a shared secret that is protected on both ends. The user knows the secret is in their wallet, and the creator can determine from a simple message whether or not the secret is in the user’s wallet.
Authentication with Jengascoin is as simple as a message:
The software program doesn’t have or need it’s own private key or public key. It just needs a signed message from the user’s Jengascoin Wallet:
Software: “Hey Jengascoin Wallet, does user own X nft?”User Verified!
Jengascoin Wallet: “yes and here is proof, a message signed using the private key which holds ownership of X nft”
Software then uses complex math to verify that the message was in fact signed by the private key which owns X nft, without ever accessing or viewing the actual contents of the wallet.