We Michigan Blockchain are submitting this proposal to initiate the deployment of Uniswap v3 onto the Filecoin Virtual Machine (FVM), a programmable EMV-compatible environment built over the Filecoin blockchain and its robust system of decentrally stored data. Considering Filecoin is the de facto storage provider in the blockchain space, it is valuable for Uniswap to attain market share in its data economy early on. We therefore believe that an FVM deployment is an opportune manner by which Uniswap’s multichain vision is furthered.
One of the reasons that peer to peer storage systems like IPFS are difficult to maintain is because the parties involved in the network are not incentivized to expend resources to maintain the integrity of the stored data. Decentralization is not an inherent method for providing a superior storage product. That is why Filecoin was created. The Filecoin blockchain’s economic incentive structure between storage providers (SPs) and users creates a market for SPs to store and maintain data integrity over time. However, the robustness of that data economy must also be high for sustaining data storage in the long run. If SPs, for instance, do not have access to creatively expand their service provision business or efficiently put their capital to work, then their incentive to partake in the Filecoin/IPFS system is reduced.
The FVM’s launch on March 14, 2023 effectively made Filecoin programmable through the introduction of smart contracts. Programmability allows for the creation of dapps that work in tandem with the stored data. If an ecosystem of, say, DeFi applications can be built on the FVM to supplement the efforts of SPs, then the data economy is strengthened many fold. Invariably, DEXs are a rudimentary building block of a crypto economy, and just as they enable higher degrees of liquidity for numerous L1s, they will be able to provide a similar facility for Filecoin’s data economy. Uniswap would, for instance, grant SPs the ability to swap between $FIL tokens that they earn as a reward for providing their services.
Filecoin is the premier decentralized storage protocol built on top of the Interplanetary File System (IPFS). The two entities are distinct but often incorrectly conflated as one. Although Protocol Labs founded–and continues to aid in the development of–both Filecoin and IPFS, the two systems serve distinct purposes. IPFS is not a blockchain but a set of modular data addressing and networking protocols. Using IPFS, files are fragmented, hashed, and distributed amongst numerous nodes. Data distribution in a network of SPs around the world makes the system more secure than a centralized cloud storage system. Centralized servers reduce the control an individual has over their data and increases the surface area for information exploits. The hashed nature of the data allows for a secure manner of locating files using a technique known as content-addressing, which differs from the traditional location-addressing method (HTTP) used by most of the Internet. Even though data on IPFS are stored off-chain (i.e. on hardware devices), they are secure due to the combination of content-addressing and a verifiable zk-proof system present on Filecoin.
IPFS’ system allows for enterprise data centers to pledge their idle network resources like bandwidth and disk drive to secure others’ data. Such a storage system, however, does not function effectively without an incentive structure in place. Monetarily rewarding the entities involved in the file storage and retrieval processes enables the creation of a micro economy, where storage providers (SPs) are paid by users to store their data. Filecoin is the blockchain-based economic layer built on top of IPFS that allows for the exchange of $FIL tokens between SPs and users. Without Filecoin’s incentive structure, the storage provision capabilities of IPFS would not function or scale. Filecoin also allows for the development of a competitive data storage market, where storage prices are more attractive than those issued by incumbent centralized SPs like AWS or Microsoft Azure. By tapping the long tail of data centers, costs for storage, compute, and retrieval can be brought dramatically below the cloud incumbents.
Data storage and retrieval is also simplified through the help of third-party storage helpers. These entities aid in abstracting away much of the protocol’s dealmaking complexities between SPs and users. Instead of interacting directly with Filecoin and IPFS, developers can leverage storage helpers’ API services. Dapps can therefore receive decentralized storage benefits without much hassle. This is one of the reasons why the active number of deals, including those from Filecoin Plus, rose from ~16M to ~33M in 2023 alone. A notable storage helper called NFT.storage allows anybody using NFTs to decentrally store and retrieve their NFT metadata and images on IPFS and Filecoin. Used by platforms like OpenSea and Magic Eden, the helper has experienced over 122M total uploads, accounting for 304.13 TB of data on Filecoin.
SPs are only paid when they submit two types of cryptographic proofs to the Filecoin protocol: Proof of Replication (PoRep) & Proof of Spacetime (PoSt). Collectively, these two proofs can be thought of as a means by which storage is proved. PoRep is initially conducted upon the SP receiving the users data, and it requires the SP to generate a public proof signifying that the hashed data is securely stored and replicated on a hardware device. It is a way to make sure that SP does not lie about the fact that they are storing the given data. PoSt is a process that occurs every 24 hours–it requires SPs to prove that a designated parcel of data is still stored (space) and able to be retrieved by the user whenever they desire (time). Daily spacetime proofs allow for the protocol to ensure data continuity. Currently, the network maintains 12.11 EiBs of storage space, provided by over 4,000 SPs.
Due to the V18 Hygge Filecoin network upgrade in March 2023, smart contract programmability was introduced to the Filecoin blockchain. The FVM is a WASM-based execution environment that has the potential to enable programmable markets for storage, retrieval, compute, and Filecoin subnets, each catering to a new custom service. Foreign runtimes like the EVM are able to function on top of the FVM, allowing for developers to seamlessly program applications on Filecoin. Over time, multiple runtime environments will be introduced to the FVM, but the primary runtime that is currently available is the EVM. Solidity programmers can therefore utilize familiar tools like Hardhat, Foundry, Truffle, and Metamask to create EVM-based dapps on Filecoin, with the Filecoin complexities being abstracted from the developers’ purview. And so, with the incorporation of smart contracts, Filecoin is addressing the L1 market from the vantage point of actually being able to store users’ data; most other blockchains simply do not have the simultaneous storage capabilities and programmability.
Support for numerous VMs will enable FVM to better interact with alternative L1s and increase liquidity transmission between previously siloed chains. Programs deployed on the EVM, MoveVM, JS/SES, or any other VMs will be able to fork onto the FVM. This proposal seeks to create a fork of the Uniswap v3 code and deploy it on the FEVM.
The FVM’s goal is to harbor a robust data economy, and this can be accomplished by launching various services, enabled by smart contract development. Below are some examples:
Perpetual Storage: Applications that allow for the automatic renewal of a deal between a client and the SPs, allowing for a continuous, long-term storage agreement that requires minimal manual intervention on behalf of the client.
Data DAOs: The FVM does not have direct access to the underlying data, but it does allow for that data to be governed. DAOs can be created around a dataset, accessible by a consortium of individuals as opposed to a single entity. Token-gated structures can also allow for better dataset access controls, like determining which entities can read, write, or read+write to a dataset.
Data Monetization: Data can also be tokenized, where certain tokens stand for a portion of a dataset, prescribing a market-determined value to the data underlying the respective tokens. This way, data itself can be collateralized and traded. Users of certain applications can also monetize their data by selling their profile NFTs, which give access to underlying consumer data, to marketing or analytics agencies.
DeFi: A crypto economy is not complete without basic financial applications like DEXs and lending protocols. The “Proposal Motivation” section underscores why DEXs like Uniswap are important. Below are more examples of DeFi initiatives in the crypto data economy. Each of these has the ability to further enhance Uniswap’s position on Filecoin by routing liquidity between these various applications.
One example of a DeFi function is staking. Just like Lido and Rocket Pool allow ETH holders to secure the Ethereum blockchain without running a validator node with high computational and economic fixed costs, a similar model can be applied to Filecoin. A liquid staking protocol on FVM can therefore establish a profit-sharing system between SPs and $FIL holders. An alternative means for SPs to gather more $FIL for collateral purposes is by borrowing the $FIL from a lending protocol–of course, such dapps can also be built on the FVM. Token-gated features on lending dapps can also be enabled to allow for cost-effective $FIL borrowing. If an SP, for instance, has built a track record of reliable data storage with no slashing history, they can be issued an NFT by the lending protocol that gives the SP access to undercollateralized $FIL loans. Since larger amounts of data and longer storage periods require more $FIL, it is important to have seamless access to the token. This example illustrates the utilization of both DeFi and identity on the FVM.
Lending platforms and staking protocols are simply incomplete without a DEX like Uniswap. So, to provide actors in the Filecoin ecosystem with a place to easily swap between assets like $FIL and $stFIL (this asset doesn’t exist yet–just an example), there must be an AMM present. Other creative applications can also be built using Uniswap in the backend for automated asset swaps; the opportunities are very expansive.
Since storage is a vital part of every project, Filecoin has attracted clients of all colors from both the crypto native and web2 world. Internet Archive, a public repository of data from documents and websites to movies and songs, utilizes Filecoin to safeguard its information. The USC Shoah Foundation also leverages Filecoin to store important historical accounts about genocides like the Holocaust. As for other blockchains, Filecoin is used by various L1s and L2s for data storage, largely through storage helpers like NFT.storage.
As of Q1 2023, the Filecoin ecosystem has 484 projects, with a trend of initiatives surpassing the initial project phase and into the accelerator stage and beyond. The Filecoin Foundation recently hosted a hackathon called Space Warp containing over $400k of prizes and accelerator grants for promising projects building on the FVM. This was one of the initiatives to bootstrap the FVM ecosystem. Nearly two months after the FEVM’s launch, there have been 808 contracts deployed with over 130k transactions on the platform. Active contract users have also increased 184.5% since April 1st. Such activity is revitalizing the condition of Filecoin from a stance of developer interest. Over the next few months smart contract deployment is projected to increase heavily, a large shift from the past two years, during which the Filecoin active developer count fell by 11%.
Overall, it is evident that the Filecoin Foundation, Protocols Labs, and their partners are aggregating resources to attract more users to the FVM. The growth thus far has been strong–but it is too early to call it a success. This Uniswap deployment, however, will certainly be another method to attract both developers and users to the FVM.
This proposal has passed the RFC phase without contention. The current temperature check is purposed for assessing the DAO’s desire to deploy on the FVM. If this Snapshot passes, we will commence the finalization of the relevant stakeholders mentioned in the RFC. The temp check is only measuring the community's desire to deploy on the FVM--it is not a vote on the stakeholder list. Stakeholder debates are to take place here on the Uniswap Forums. After the community is content with the stakeholders and has shown a desire to deploy on the FVM (decided by the temp check), the v3 contracts will be deployed on the destination chain. Thereafter, an onchain vote will commence as soon as the contracts have been audited.