Ethereum ERC721 token for software licensingsteemCreated with Sketch.

in blockchain •  6 years ago 

Software license Error.png
One of the biggest issues for the software industry to tackle is avoiding piracy of their software product / service. No matter what technology they use to firewall the software, they eventually have to provide a Product Key to the end user in order to enable the use of the software. And there is a great risk that the Product Key could get stolen / hacked. Also that they have to spend a lot of resources on such security features in order to block unauthorized users from gaining the access, hence increasing the cost of a license. Could there be a way to standardize this technology to ensure that only a valid user is able to access the software?

Well, there is a concept in Ethereum BlockChain called ‘non-fungible token’ also known as ERC721 token. and using Metamask, it is possible to log in without a Password / Product Key to a web app by proving that you own the address that owns the tokens. The concept here focusses on web based SaaS software, the same principle can be applied to desktop and mobile, where the wallet would be embedded in the software.

Potential Benefits:

Transferability — Through BlockChain technology it is easier to transfer the license to another valid user, also the tokens allow the software vendor better control on the use of license as the ERC721 token is nothing but a smart contract, which can be governed by various rules viz. subscription rate, expiry date, minimum lock-in, shared revenue for transfer
Anti-piracy — Ethereum account mandates the user to possess a private key, which if shared by user raises a risk of losing control of the account for the user. As mentioned above if there is standardization for all licenses, it could become quite affordable & bring down the license cost significantly, taking away the need for piracy altogether
Privacy — Only Ethereum address is enough for authenticating the user, nothing else needs to be shared. So, it is easier to manage license for Single Sign-On (SSO) enabled partner products
Technical implementation:

For those who understand BlockChain technology below is a diagrammatic illustration of the functioning of ERC721. The same principle as web-based software applies to desktop and mobile software. The client’s private key would be embedded in the desktop or mobile software rather than within a browser or browser extension wallet like Metamask.

Software license using ERC721.png

Way Forward:

When it comes to subscription billing there is no way for a smart contract to reach into your wallet and extract a recurring amount each month. You would have to pre-fund a contract with multiple terms up front, then you could potentially withdraw / transfer at a later date. Imagine a system where all your subscription licenses are managed in one place, so this single contract would act like your bank account in the traditional direct debit / recurring credit card payment scheme.

There could be a specialized web app that would allow software vendors unfamiliar with Ethereum and Solidity to configure and deploy a license contract. There would also be a need for specialized exchange for licenses & subscriptions.

There would also be a need for Legal framework that would commit the user to be bound by End User License Agreement (EULA)

The benefits for utility based (pay per use) applications is apparent but some more research would be required for the subscription based software to use this technology viz. low cost subscriptions for smaller duration that would make it more convenient to buy than steal the licenses.

Conclusion:
If solutions as mentioned above are created, we could easily see the future envisaged.

Disclaimer: Views expressed in this article are in my individual capacity and do not represent the opinions of any entity whatsoever with which I have been affiliated.

References:
https://medium.com/collabs-io/software-licences-as-non-fungible-tokens-1f0635913e41

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!