Sustainability has increasingly become front of mind for many organizations. One of the key challenges in successfully rolling out sustainability initiatives is seamless sharing of information across the value chain. Being able to find answers to questions like “Where should I be collecting waste?” and “What chemicals are present in this finished product and in what quantities?” can mean the difference between being able and not being able to recycle a particular product. Likewise, tracking industrial carbon emissions accurately is critical for regulatory purposes and to establish a robust carbon trading economy. However, businesses fear that sharing such information will allow competitors to learn about their products and processes and thereby erode their competitive advantage. This is where zero-knowledge proofs (ZKPs) can play a critical role.
What is a zero-knowledge proof?
A zero-knowledge proof is an approach for verifying information while ensuring that the underlying knowledge itself is not revealed. The idea behind ZKPs has existed at least since the late 1980s/early 1990s but is now gaining traction as computers and communications become faster and as decentralized infrastructure and networks like those enabled by blockchain gain traction. Here is an example that highlights how ZKP works:
- Example: Connected hotel rooms
Consider that you and your friend are in two adjacent hotel rooms – room 108 and room 109 – which are connected by a door with a number lock on it that shuts automatically after walking through it. Your friend claims that he has discovered the number password but does not want to tell you the password or open the door in front of you in case you see him or her enter the password. In such a situation, how do you verify that your friend is telling the truth about knowing the number password?
A ZKP allows you to do exactly that. You can stand in the hotel corridor outside room 108 and 109 and ask your friend to enter through 108 and come out through 109 or vice versa. After your friend does this a few times, you can be convinced that he/she indeed knows the password for that connecting door. Indeed, the more times your friend is able to address your request accurately, the more convinced you will be that your friend knows the password to the connecting door and is not able to move between rooms 108 and 109 via fluke. Throughout this verification process, your friend has shared no information about the password (aka, zero-knowledge) with you.
Zero-knowledge range proofs
Related to ZKP is the idea of zero-knowledge range proofs (ZKRPs). Without getting into details, this means that the same zero-knowledge approach can be used to measure the range within which a particular quantity lies. Here is a non-technology-based example of how ZKRPs work.
Consider that you approach a bank for a loan for a $1 million house. The bank’s criteria for approving your loan request are that you earn more than $100,000 per year (so you can pay the mortgage) but less than $500,000 (so you don’t pay off the loan too early). Traditionally, banks would ask you to share documents to verify your actual salary. However, let’s say you are not comfortable sharing your salary. In that case, here is what the bank could do (in pre-technology days):
- The bank creates a large number of locked boxes, each with a different label:
- “Salary > 25,000,” “Salary > $50,000,” “Salary > $75,000,” “Salary > $100,000,” … all the way till “Salary > $500,000.”
- Depending on how much you earn, you drop a note saying “Yes” or “No” into each of these locked boxes.
- The bank – and this is important – now has the keys to only two of these locked boxes: the “Salary > $100,000” box and the “Salary > $500,000” box.
- All the bank has to do is make sure you dropped a “Yes” note in the “Salary > $100,000” box and a “No” note in the “Salary > $500,000” box.
- Thus, without knowing your actual salary (zero-knowledge), the bank has verified that you can be approved for the loan.
While the above example does not use any advanced technology, ZKRP works in a similar manner – with public keys, private keys, and hashes replacing the physical lockboxes. In fact, ING Bank recently implemented a ZKRP-based solution for personal information verification.
ZKRP and its role in sustainability
ZKRP can help overcome some of the challenges identified earlier such that participants in a value chain and competitors will now be able to share information related to sustainability and circularity without sharing any proprietary data and thus sacrificing any competitive advantages. Indeed, at least one startup – Circularise – is implementing ZKRP in its platform to support the circular economy. Of course, as have pointed out previously (see our report, “Trust and Efficiency: Finding the Right Applications for Blockchain”), one of the critical challenges that need to be addressed is that decentralized solutions like blockchain are only as accurate as the underlying raw data; in other words, raw data collection will have to be automated. Regardless, we strongly recommend that clients start exploring such ZKP/ZKRP solutions; early entrants will enjoy an advantage over competitors when it comes to both building a sustainable business in the short term and establishing a stronghold in the sustainability marketplace in the long term.