The problem is the limited toolsets for prooving financial fairness algorithms and architectures in Decentralised Loans and Lending Platforms. People can use VerityNet to verify if the Loans are tokenized based on valid proofs and they can verify the Loan Token Swap. They can also use VerityNet to swap between NFT collateral backed loans and fungible collateral backed loans in a seamless manner. The following are the innovative components of VerityNet.
Fairness Finance Proof of Collaterals based on ZK Snarks built on Circom and SnarkJS
Fairness Finance DAO for the Governance of AAVE Lending Protocol using RANDAO powered by Starkware VDF
Fairness Finance Data Feeds based Consensus Oracles powered by Chainlink VRF powered Validators and Staking
Zero-Knowledge Proof based Rollups for privacy-preserving transaction verification and batch aggregated deployment
Gas efficient Meta Transactions using Gas Station Network and Biconomy Reference Implementation
Centrifuge Tinlake Architecture for the Seamless integration between Borrowers and Lenders for NFT Collaterals
One of the key issues is the multiple versions of Solidity used across the smart contracts of AAVE, StarkWare Veedo, OpenZeppelin, Chainlink, SnarkJS, Matterlabs, Centrifuge Tinlake, etc. I had to spend some time to reconcile all these different versions across separate modules. Another issue was the size of the Circom Circuit generated by the Verification of Edward Curve Elliptic Curve. Initially I tried to implement the entire ZK Rollup using different circom circuits and realised that the circuit complexity would be quite high. Hence I have adopted the simple ZK Rollups from iden3.