Yamfore Development Update #5

Yamfore
5 min readMar 28, 2023

Contents

I. Introduction | II. Progress | III. Conclusion

I. Introduction

This is the fifth development blog detailing the development progress of Yamfore. This development blog aims to update the community on the team’s progress and provide greater transparency throughout the development of Yamfore.

II. Progress

As most members of the community are already aware, the team is gearing up for launch of the community public testnet in just a few days from now. We’ve illustrated some exciting changes / milestones we’ve made as a team in this blog post.

General Progress

> The staking script is functionally complete

> The minting script is functionally complete

> The treasury script is functionally complete

> Oracle data standards examined and being tested now

> Arbitrage script in active development

> Initial design thoughts about the CBLP staking portal have been crystallized

UX/UI Preview Conclusion

We’d first like to take a moment to thank everyone that participated in the Yamfore UX/UI preview and provided feedback. This was an integral aspect in the lead up to the public testnet and all relevant feedback has been gathered and implemented in the upcoming testnet.

The UX/UI experience of a decentralized application is critical when it comes to the enjoyment / utilization of the application. A decentralized application with a poor user experience is subject to unnecessary friction and many leave many individuals unwilling to utilize the services of the decentralized application no matter how compelling of a service it offers. Please note the user interface & experience of Yamfore will always be constantly improving based on community feedback.

Public Testnet Expectations

Although the release of the public testnet is a significant milestone in the lead to the eventual mainnet launch, it’s important that the community is made aware of some important matters, and expectations are set appropriately going into the testnet launch.

Although Cardano’s smart contract development ecosystem is improving drastically with better tooling, documentation, established design patterns and accessibility, there still remains a significant gap in comparison to other more established ecosystems eg: Ethereum, Solana, Polygon etc

This by no means is to take away from the brilliance of Cardano as a smart contract development platform ( eg: eUTXO , liquid non-custodial staking, deterministic settlement etc) but it’s also important to view things from a unbiased lens, always highlighting the strengths and drawbacks of any system. With all this said, some further context is added in regards to the design decisions we’ve made as a team, and we’ve discussed below:

Nill Batching Solution

The team has chosen to forgo any kind of off-chain batching solution for transaction processing. This was done for numerous reasons, mainly boiling down to simplicity and decentralization. The Yamfore protocol is targeting a niche audience within the crypto lending / borrowing space, and thus can only service a handful of participants at a time regardless. This eliminates the need for any extensive batching system and keeps the off-chain aspect of the Dapp significantly more straightforward and resilient.

Due to this design choice, occasional transaction clashes might occur aka contention. If multiple users attempt to spend from the same treasury UTXO, contention will occur prompting the user of the failed transaction to sign and resubmit their transaction once more. We believe this is a minor inconvenience in the grand scheme of things, and the benefits significantly outway the drawbacks.

Below is an excellent summary of the issues with batching systems, written by the fantastic team at Optim.Finance

https://optim-labs.medium.com/transaction-chaining-on-cardano-cdc38c1c73dc

“ As you might already know, the Cardano blockchain is based on the eUTXO model. This means that, unlike account-based blockchains such as Ethereum, there’s no shared global state, and all transactions occur in parallel to each other (concurrently). While this design choice brings a wide array of benefits, such as determinism, lower transaction fees and less MEV/front-running, it has also brought its fair share of difficulties to dApps that need access to a global state (such as DEXs).

As such, Cardano DEXs like Minswap or Sundaeswap have resorted to “batching” — a solution where one or a series of off-chain sequencers are in charge of aggregating (or batching) a number of UTXOs, before they are submitted on chain and executed. This off-chain batching model presents a series of outsized problems for a DeFi dApp, namely:

  • Centralization: this batching model means that batchers can decide to stop processing orders and can stop the trading or the adding/withdrawing of liquidity on the DeFi dApp at any time, which is antithetical to the spirit of decentralization.
  • Custodiality: related to the former, since batchers can stop the withdrawal of liquidity, this also means they have control over your funds (whether or not to let you withdraw it) once you have provided them to the DeFi protocol.
  • Batcher Extractable Value (BEV): batchers can constantly sandwich attack users because they can reorder the transactions freely. They can extract BEV for free, and with no repercussions (as batchers have no competition). ”

CBLP Staking Portal, ADA Exchange Pool and Oracles:

The CBLP Staking Portal, ADA Exchange Pool and Orcfax oracle integration will still be a work in progress at the time of testnet launch. These features will be rolled out in the upcoming weeks as the testnet continues running.

From day 1 community members will still be able to open up a loan position, hold their position till appreciation, or choose to pay off the difference to close their loan position and redeem their deposited $tCBLP assets immediately, thus the core finance loop of Yamfore remains on full display from day 1.

Mainnet Timeline Expectations

As a small team with limited resources, but dedicated to our goal, it’s important that we convey to the community our limitations and set expectations appropriately from the get go. Although there will be rapid iteration and improvement during the testnet phase of Yamfore, community members should be prepared for a lengthy auditing process and finalization process, before official mainnet launch.

Yamfore takes a very novel approach to lending / borrowing that has never been attempted before, thus there’s no established design patterns the team can learn from and quickly build from. Therefore it’s prudent for sufficient time to be taken during the last steps to ensure that the platform as whole is sound for real usage and general safety. This could easily result in a delay from our estimated roadmap timelines.

III. Conclusion

In conclusion, the community public testnet represents a significant and exciting step in the development of the Yamfore protocol. It’s truly been a heck of a ride, from conceiving the idea on a piece of paper to now being only a couple of days away from previewing a working MVP on testnet to the community. Finally, we’d like to take a moment to thank our passionate community for their constant feedback and support, it’s truly been invaluable to the team.

Follow us:
🌎 Website: https://yamfore.com/
📚 Gitbook: https://yamfore.gitbook.io/yamfore/
🐦 Twitter: https://twitter.com/yamfore
🔊 Discord: https://discord.gg/FK5qtrmRE7
🖥️ GitHub: https://github.com/Yamfore
🤖 Reddit: https://www.reddit.com/user/yamfore/
📧 Email: contact@yamfore.com

--

--