We Michigan Blockchain are submitting this proposal to deploy Uniswap v3 on the Filecoin Virtual Machine (FVM), a programmable EMV-compatible environment built over the Filecoin blockchain and its robust system of decentrally stored data. The temperature check for this proposal passed with 28M (~99.9%) YES votes and 4.6k (~0.01%) NO votes–the proposal stakeholders were agreed upon via the RFC.
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. More DeFi use cases are mentioned in the “How the FVM is Enabling a Data Economy” section.
The following list of stakeholders is present to transparently communicate which entities and individuals are involved in proposal creation and implementation.
Proposer: Michigan Blockchain
Deployer: Axelar
Bridge Provider: Axelar
Target Chain: Filecoin (specifically, the FVM)
Proposal Sponsor: Michigan Blockchain
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.
Mere storage provision, however, is not a useful metric in and of itself because there must be demand present for the supplied storage. Although Q1 saw a decline in total storage provided, there was a 105% increase in the utilization rate, which is a more significant figure for displaying network activity.
Every SP has to collateralize a bond of $FIL tokens. Malicious and reckless SP behavior is thwarted by subjecting the bond to slashing; block rewards are also slashed in similar circumstances. Inability to generate a PoSt proof therefore has monetary consequences. The current stake that Filecoin SPs have put forth as collateral amounts to ~ 144M FIL tokens.
The other side of the Filecoin data economy is the retrieval system. Users must pay retrieval providers using $FIL to retrieve their data from the storage providers. Current systems like Filecoin Saturn enable a decentralized Content Delivery Network (CDN) for data retrieval. This process is continually being iterated to be made more efficient.
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.
The approval of this proposal by Uniswap governance will lead the stated Uniswap v3 contracts to be deemed as the canonical deployment on the FVM. As is the case with all canonical v3 deployments, this deployment will be subject to Ethereum Layer 1 Uniswap Protocol governance and control. The text record of the uniswap.eth ENS subdomain titled v3-deployments.uniswap.eth will be amended to include the reference to the stated v3 contracts on the FVM.
Uniswal V3 contracts have been deployed on Filecoin at the following addresses:
UniswapV3Factory | 0xB4C47eD546Fc31E26470a186eC2C5F19eF09BA41
Multicall2 | 0xffd927d6F17495B28635DD49d24638e97BD8c8b8
ProxyAdmin | 0xe9901ae78efB4386B1132009E310d08bCB445Bf5
TickLens | 0x76c001ad9E527FEfA8Fa822a987Ad44ce720BAeD
NFTDescriptor | 0xe909B0cAE57EE7EFF56A5Ca7fc4b66CF4F7C2D38
NonfungibleTokenPositionDescriptor | 0x22850a17032F40778C0C0a3fDd96905950a39f89
DescriptorProxy | 0xf0198aAa4a8792e2a4a6e6Fb3039e4B1C71f15bB
NonfungibleTokenPositionManager | 0x4cd986dD509fbB6A695aE971d5C56c8795f640ee
V3Migrator | 0x409af45457D4779828BFBCbe7aA653C38Edb9Ed9
V3Staker | 0x915362b5450acbBc9F8044191aE7E35c86F2fE51
QuoterV2 | 0xE45C06922228A33fFf1ED54638A0db78f69F9780
SwapRouter02 | 0xcAb04058e60020d65D18D4B3DFF2cA1445D7099f
Axelar Interchain Governance Executor is deployed at the following address:
InterchainProposalSender (Mainnet) | 0x1f8A4d195B647647c7dD45650CBd553FD33cCAA6
InterchainProposalExecutor (Filecoin) | 0xFf3b2DA1379cc67cc2755194604713f10b820b0E
This proposal has passed the RFC and temperature check phases. The relevant Uniswap v3 contracts have also been deployed on the FVM. If this onchain vote passes, this deployment will be officially recognized as a canonical v3 deployment through an amendment to the v3deployments.uniswap.eth subdomain. The front-end integration for this deployment will most likely be handled by a third-party Uniswap interface like Oku Trade--not by Uniswap Labs.