Inspiration

Web3 is, ironically, not accessible to everyone

Most people cannot take advantage of all the benefits of Web3, and they suffer under the tyranny of high gas fees and are locked out of experiencing apps that live on separate chains. These chains have implemented optimizations and features that allow specific dApps to exist that would never be feasible on mainnet. And they go unused because cross-chain barriers are extremely limiting.

Cross-chain payments should be easy. Let's make transfers become instant-using loans. Let's rely on a pool of lenders that live on other blockchains. Those lenders can provide instant liquidity on new blockchains in exchange for a bond issued by borrowers. These lenders can take any arbitrary action on behalf of the borrower. The only requirement is for each participating chain to synchronize its state eventually.

No matter which chain users prefer to store their money on, every intelligent contract on every blockchain will be available to them.

What it does

Crosschain Loan Network

  1. The bond is first issued. The system starts with the borrower, who specifies an action they want to be done. The borrower generates a bond with a predetermined claim key that is rewarded to whoever fulfills the order.
  2. The transaction is then verified. A lender sees this order and starts the verification process. Like in real life, the lender must ensure that the transaction is valid and that the bond will eventually be accessible.
  3. The bond is claimed, and the order is fulfilled. After the lender is confident that they will be able to withdraw, they perform the action and receive a claim key, which is an NFT.
  4. The bond is settled. Once the bond and the claim key have arrived in the same blockchain, they can be combined. This triggers a withdrawal to the claimant's account.

How we built it

The Implementation: Zero-Knowledge Bonds

This project was built using smart contracts on the AZTEC network with zero-knowledge proofs. With AZTEC, the created bonds can keep their balance hidden while ensuring transactions are valid. Zero-knowledge proofs allow us to prove things without knowing what they are. Not even the contracts that facilitate this will know how much money is going where - only that the sheets are balanced.

At the same time, borrowers can grant "viewing keys" to lenders who give them special access to see the account's contents. Lenders can make strong verifications.

Challenges we ran into

It was incredibly difficult to lower our gas fees, and we had to condense our smart contract and optimize our backend code for memory efficiency. Debugging was especially difficult because EVM Error messages are pretty much useless. To test our code, we had to learn how to deploy our contracts successfully and interact with existing agreements on the network in an incredibly short period of time.

Accomplishments that we're proud of

We are proud that in the end, after hundreds of hours of coding, we successfully created a working application with a functional end-to-end full-stack renting experience. We allow users to connect their MetaMask wallet, list their assets to loan.

One of our teammates had minimal experience with Solidity, forcing them to learn how to develop and deploy smart contracts on a different network and power through many bugs and unclear docs.💪

What we learned

Working on a project as large and impactful as this required a ton of planning, rechecking, debugging, and of course sleep-deprivation😅. This gave us an insight into how technologies like these are implemented in the industry and what it takes to build a successful start-up.

What's next for Defiquity

We intend to add a ton of new features in the future! Firstly, we want to further optimize our code and increase security so that we can eventually go live on Ethereum Mainnet. We also want to map NFTs to real-world assets and enable the swapping and lending of those assets on our platform.

Built With

Share this project:

Updates