One of the strengths of blockchain, and specificallly, Ethereum, is the ability to have a complete record of customer orders from customer setup (for new customers) to customer delivery of goods. I am trying to develop a use case whereby I can use Ethereum in setting up to verify the authenticity of new customers for a company. Currently, there are organizations that are attempting to spoof current customers by attempting to change phony "ship to" addresses. When the company ships product to the address the "real" customer of course never ordered nor received the product. Ethereum seems like an ideal way to verify the authenticity of customers. I want to be able to (1) verify that a new customer is who they say they are and (2) verify that any changes to their information is in fact authorized. The second piece seems fairly straight forward once I have a verifiable address / public key. I have read a bit about ENS (Ethereum Name Service), which may help to some extent for those who claim to have a particular address. My question is if there is a straight forward to way verify the authenticity of new customers (or for that matter any other kind of organization I may do business with)?
You're generally describing a trust-verification system ("Can I trust that Alice is who she says she is?"). Public/private keys allow you to concretely prove a message came from a particular private key, but the question then becomes do you trust the private key to be truthful (about anything; shipping addresses, names, the weather, etc.). There are several "Web of trust" and "reputation" projects already in the Ethereum ecosystem; several are discussed in this reddit thread (iudex and uport, notably).
Once you have a trust-level for a certain individual/company/key, then you can trust whether the shipping address they give you is valid or not.
Where is a concept of "proof of identity" oracles where a user can connect pieces of their identity, e.g. physical address and their wallet. There was a project by ConsenSys which is not available now, but you can read about it in their blog https://medium.com/@ConsenSys/introducing-proof-of-physical-address-acf54fc95f21.
Please take a look on recent Auth0 post about close subject https://auth0.com/blog/an-introduction-to-ethereum-and-smart-contracts-part-3/
If you'd like to build something like this together, shoot me an email to igor at blocknotary.com