Inspiration
One of the most common use cases of cryptocurrency is trading. The problem is: how can we distinguish the real crypto trading professionals from scammers and bull market gurus? We think that historical performance is the only reliable metric. So Proof Of Trade is the private and trustless method of trade performance proving.
What it does
There are three entities: trader, user, and Solana program.
Let’s see how they interact with each other:
- Trader commits trade signal on the blockchain. All trade data is concatenated and hashed. The resulting hash is stored on-chain with an associated timestamp.
- They have made such signals during some period (one month for example) and then can create trading performance proof. Zero-knowledge proofs’ SNARK protocol is used here: it proves that the trader knows preimages of signals’ hashes that correspond to the declared performance.
- Users can verify all trader’s performance results. But they don't understand which signals a trader has made (this is zero-knowledge proofs’ magic, it is private).
- After that, users can choose a trader with the desired ratio of profits and risks, and contact them to buy their service.
One more important thing: all market data needed for performance calculation is taken from Pyth (on-chain price oracle). So all signals’ data are stored on a chain and reliable cryptography is used for performance proving - it is trustless.
Challenges we ran into
As none of us didn't work with Solana program before, it was challenging for us to design accounts' architecture to store all needed data on-chain.
What's next for Proof Of Trade
We are going to add signal subscription functionality and improve UX. Also a lot of new asset and on-chain proof verification will be added.
Built With
- angular.js
- circom
- pyth
- rust
- solana
- typescript
- web3
- zk-snark



Log in or sign up for Devpost to join the conversation.