Make materials uneditable & inapplicable
As mentioned in the comments, you can hide some of the complexity in the material by baking stuff to textures, but this isn't possible for everything. 

Blender offers techinical no way of doing stuff like this, in part because it is against the ideology which drives blender (Open Source) and in part because for digital stuff it is pretty much impossible. Consider how much effort the entertainment industry spends to try and create technical solutions to digital piracy, and still they get broken.  

There are however legal solutions, you could release you work under a 'No Derivative Works' license (I believe there is a variant of creative commons for this https://en.wikipedia.org/wiki/Creative_Commons_license).