About the Project
Our project was conceived at Rensselaer Polytechnic Institute, as a part of the NSF IUCRC CRAFT center "Blockchain Interoperability of Business Organizations" project. This hackathon was a perfect chance to explore Chainlink's capabilities and apply our research in a practical and hands-on setting.
Inspiration
Ensuring privacy while confirming stock availability across different blockchains is a research challenge we are trying to innovate within our bigger research project. and the hackathon presented a timely and exciting opportunity to develop a working prototype.
Learning Journey
We delved deeply into the intricacies of Chainlink, gaining insights into the power of decentralized oracle networks. We also learned how to apply zero-knowledge proofs as a means of verifying sensitive trade information without revealing the actual data, thereby preserving confidentiality and trust in business transactions across chains.
Project Description
The project aims to enable secure and private verification of stock availability across different blockchain networks using Chainlink's cross-chain interoperability protocols for a supply chain scenario. The system is designed to maintain the confidentiality of the order quantity while verifying the seller's ability to fulfill the order.
Our decentralized application (dApp) demonstrates the capability to prove trade-related secrets within a supply chain context and uses the following process.
Assumptions:
The buyer's smart contract lives on the Binance Chain The seller’s smart contract lives on the Sepolia Chain
Process
- Initiation: The buyer initiates the process by determining the amount of stock required locally.
- Signing and Encryption: Using their private key, the buyer signs the requested amount locally. This signed amount is then encrypted.
- Buyer’s Transaction: The encrypted amount and signature are sent to a smart contract on the Binance blockchain.
- Buyer → Seller: The CCIP communicates the buyer’s message to the seller’s contract on the Sepolia chain.
- Decryption by the Seller: Upon receiving the encrypted amount and signature, the seller, using their private key, decrypts the information locally and verifies the authenticity of the buyer’s message.
- Proof Generation: The seller then generates a zero-knowledge proof to attest that they can fulfill the order without revealing the exact amount of stock.
- Seller’s Transaction: The seller sends this proof to a smart contract on the Sepolia blockchain.
- Seller → Buyer: CCIP relays this proof to the smart contract on Sepolia.
- Proof Verification: The Binance smart contract verifies the zero-knowledge proof, completing the private verification process without disclosing the actual amount of stock to anyone but the involved parties.
- Trade: Upon verifying the proof, the buyer can engage in the trade transaction with the seller.
Using zero-knowledge proofs ensures that the seller's ability to fulfill the order is verified while the specific details of the stock amount remain confidential while communicating across blockchains. This process enhances security and privacy in cross-chain transactions within supply chains.
Challenges Faced
We encountered several challenges, particularly when experimenting with the Chainlink Cross-Chain Interoperability Protocol (CCIP), but we were able to resolve them eventually, and it was all part of the learning experience!
Built With
- chainlink
- foundry
- next.js
- solidity
Log in or sign up for Devpost to join the conversation.