-1 to bind to an obsolete license restriction policy, which is bad practice in general. Hardware keys and “device discovery” are SO 1990.
People own more than one computer. They are buying new computers. They are upgrading their computers. Computers break down, which leads to the replacement of motherboards or network cards.
All this, given your design, will lead to honest customers being blocked for what they paid for, and you will have to call you to support “reset” their activation.
And every time you do this, your overhead will increase, most likely more than the actual cost of the license.
I do not suggest you give up and just send the application to a torrent, but you should think more creatively about how to allow customers the freedom to use what they paid for, maintain a low support cost and discourage pirates.
One solution for creativity would be to cache user settings on your server using their serial number and synchronize them every time the application starts and connects to the network.
This will allow the user to install the application, say, both on a laptop and on the desktop, and will actually become additional for clients, since their settings are synchronized between devices.
But it actively discourages users from sharing their license key, as this means that they will share their settings with each pirate user or that they will have to remember to stay disconnected from Interwebs when they open or close the application.
source share