Long Term R&D: DeFi enhancements (proposal)

1. Summary

This is a motion proposal for the long-term R&D of the DFINITY Foundation, as part of the follow-up to this post: Motion Proposals on Long Term R&D Plans (Please read this post for context).

Decentralized finance is a main use case in the blockchain space. DeFi dapps can be deployed as canister smart contracts on the Internet Computer blockchain to take advantage of the ICs features including scalability and on-chain web support. This proposal recommends adapting the Internet Computer and its ecosystem to further support DeFi applications, the goal is to make it as easy as possible to develop and deploy capable DeFi dapps and participate in the DeFi ecosystem.

2. Discussion lead

Jens Groth

3. How this R&D proposal is different from previous types

Previous motion proposals have revolved around specific features and tended to have clear, finite goals that are delivered and completed. They tended to be measured in days, weeks, or months.

These motion proposals are different and are defining the long-term plan that the foundation will use, e.g., for hiring and organizational build-out. They have the following traits and patterns:

  1. Their scope is years, not weeks or months as in previous NNS motions
  2. They have a broad direction but are active areas of R&D so they do not have an obvious line of execution.
  3. They involve deep research in cryptography, networking, distributed systems, language, virtual machines, operating systems.
  4. They are meant to match the strengths of where the DFINITY foundation’s expertise is best suited.
  5. Work on these proposals will not start immediately.
  6. There will be many follow-up discussions and proposals on each topic when work is underway and smaller milestones and tasks get defined.

An example may be the R&D for “Scalability” where there will be a team investigating and improving the scalability of the IC at various stages. Different bottlenecks will surface and different goals will be met.

3. How this R&D proposal is similar to what we have seen

We want to double down on the behaviors we think have worked well. These include:

  1. Publicly identifying owners of subject areas to engage and discuss their thinking with the community
  2. Providing periodic updates to the community as things evolve, milestones reached, proposals are needed, etc…
  3. Presenting more and more R&D thinking early and openly.

This has worked well for the last 6 months so we want to repeat this pattern.

4. Next Steps

Developer forum intro posted
1-pager from the discussion lead posted
NNS Motion proposal submitted

5. What we are asking the community

  • Ask questions
  • Read 1-pager
  • Give feedback
  • Vote on the motion proposal

Frankly, we do not expect many nitty-gritty details because these are meant to address projects that go on for long time horizons.

The DFINITY foundation’s only goal is to improve the adoption of the IC so we want to sanity-check the projects we see necessary for growing the IC by having you (the ICP community) tell us what you all think of these active R&D threads we have.

6. What this means for the existing Roadmap or Projects

In terms of the current roadmap and proposals executed, those are still being worked on and have priority.

An intellectually honest way to look at this long-term R&D project is to see them as the upstream or “primordial soup” from which more baked projects emerge from. With this lens, these proposals are akin to asking, “what kind of specialties or strengths do we want to make sure DFINITY foundation has built up?”

Most (if not all) projects that the DFINITY foundation has executed or is executing are borne from long-running R&D threads. Even when community feedback tells the foundation, “we need X” or “Y does not work”, it is typically the team with the most relevant R&D area that picks up the short-term feature or project.

Please note:

Some folks gave asked if they should vote to “reject” any of the Long Term R&D projects as a way to signal prioritization. The answer is simple: “No, please, ACCEPT” :wink:

These long-term R&D projects are the DFINITY’s foundation’s thesis at R&D threads it should have across years (3 years is the number we sometimes use internally). We are asking the community to ACCEPT (pending 1-pager and more community feedback of course). Prioritization can come at a separate step.

DeFi enhancements and support

Objective: Expand support for DeFi on the Internet Computer

Background: Decentralized finance is a main use case in the blockchain space. Potential advantages of DeFi include increased security, reliability and availability of financial services, and using smart contracts such financial services may run autonomously in a transparent and predictable way. DeFi dapps can be deployed as canister smart contracts on the Internet Computer blockchain to take advantage of the ICs features including scalability and on-chain web support. This project will adapt the Internet Computer to enhance support for DeFi applications. The goal is to make it as easy as possible to develop and deploy capable DeFi dapps and participate in the DeFi ecosystem.

Current capabilities and related initiatives:

A basic set of capabilities for enabling DeFi on the Internet Computer has been made available or is already planned or worked on in related initiatives. This will, for example, enable advanced DeFi applications, such as decentralized exchanges (DEXs) based on Automated Market Makers (AMMs) or smart contracts that rely on information available in outside services.

Research topics:

First-class DeFi support on the IC requires further functionalities and efforts, for example:

  • Fiduciary subnets with more nodes and stricter security controls on canisters
  • Support for tokenization on SNSs and transfer of the tokens (see also SNS proposal)
  • Atomic transactions
  • Community standards to facilitate DeFi, e.g., a unified IC token standard (a main task of the Foundation in this area is helping coordinate and converge community efforts)
  • Support for ERC20-like and other token standards
    • A unified IC token standard (e.g, an ERC20-like standard or more advanced variant thereof that can be widely adopted by the community)
    • Specifically stablecoin / Fiat integration (this has many use cases, yet is technically just a token integration)
  • Tools to integrate with traditional finance e.g. KYC, tax reporting
  • Increased transparency and control on the IC: verifiable record of interactions with a neuron, timestamps of neuron reward events, ability to deny/accept payments to users/canister subaccounts
  • Token and assets management for ordinary users (custody services) (so users do not need to rely on key management using air-gapped computers)

In addition, it is beneficial to have the following available:

  • Guidance for dapp development, e.g., separating financial logic in immutable contracts from business logic in dapps
  • Tools to support development of secure smart contracts, e.g., formally verifiable canisters

This initiative relates closely to the related initiatives mentioned above, which can be seen as providing some of the foundational building blocks (e.g., oracle functionality or integrations with other blockchains) that are also, but not exclusively, applicable to DeFi.

Skills and expertise: A range of skills are needed here, including insight into both traditional finance and decentralized finance, and design and engineering of the IC & the IC governance and support tooling. Several teams will be involved including the Growth team for building the ecosystem, the Financial Integrations team, the NNS team and the SDK team.

How to work with the community: The community will play a direct role in this initiative in shaping DeFi standards, sharing its experience and best practices from building DeFi dapps and the resulting requirements of the IC. This interaction can take place over existing channels such as the developer forum but different approaches such as forming committees of community members are also in scope.

What we are asking the community:

  • Review comments, ask questions, give feedback
  • Vote accept or reject on NNS Motion
  • Participate in technical discussions as the motion moves forward
7 Likes

Glad to see some practical items listed under the research topics, like an IC token standard and KYC.

Also wanted to highlight that I’ve been helping @lomesh on getting ICP supported on various fiat-to-crypto platforms, notably Wyre. This will allow end users to be able to purchase ICP directly using fiat methods, with KYC automatically handled by the platform.

This is important for dapps on the IC who intend to one day issue tokens, as you can imagine a flow like:

  1. User enters credit card info to purchase 100 tokens of dapp X using USD on some UI
  2. Wyre (for example) converts that USD to an equivalent amount of ICP at the current market price, transfers that ICP to dapp X’s canister, and notifies that canister
  3. Dapp X’s canister converts that ICP to 100 dapp X tokens by calling the token canister and some DEX canister on the IC, and transfers those 100 tokens to the end user

In order for ICP to be officially supported by these fiat-to-crypto platforms, they need to build a strong business case. I’ve already talked to them about my own dapp, but if other dapps who intend to tokenize on the IC can also get involved, it would make our case stronger. Otherwise, ICP might not be supported, which would suck. Please DM me or @lomesh if you’re willing to help.

7 Likes

Fantastic @jzxchiang, thanks for helping!

1 Like

proposal is live!

https://dashboard.internetcomputer.org/proposal/35677

So, This proposal won? :slight_smile:

Yes, almost zero no-votes on this proposal.

It seems people here on the forum agree on the importance of a focussed DeFi strategy for the Internet Computer. :slight_smile:

2 Likes