Our long term partnership with Filecoin

At Keyko, we love it when we can have an impact on a big project. And our long term relationship with top 30 Blockchain project Filecoin is a good example of what happens when a client with a clear vision trusts us to come up with robust solutions.

We’ve been working with Filecoin and Protocol Labs teams for over three years on a variety of jobs, but we wanted to highlight two projects we’re particularly proud of: Fil+ with Protocol Labs and Content Moderation with Murmuration Labs.


Case 1: Filecoin Plus — Web3 incentives with a Web2 feel


Filecoin was launched with the vision to create a decentralized network for file storage. Initially, they focused on rolling out a network of storage providers. Then, in a second phase they needed to attract users, i.e. people or organizations who wanted to store their data on all those decentralized hard drives. And that’s why the team devised an incentive scheme called Filecoin Plus aka Fil+.


In Filecoin’s own words:


“After all, adoption is more than just technology. Client needs and legitimate use cases will shape the goods and services produced on Filecoin.”


We couldn’t agree more.

Photo by Rob Sheahan on Unsplash


What is Filecoin Plus?


Fil+ is a program to help incentivize the storage of real data through DataCap, single use credits that represent GBs of storage.


Rather than just hand out DataCap credits, the intricacies of Fil+ lie in the fact that this is done through a social layer of trust and due diligence, done by real people.


Approved notaries can make a case for DataCap by pitching to Root Keyholders, say, the board. If approved, they can reach out to clients, who can pitch their storage needs and use case. After due diligence, notaries can hand out DataCap credits, which also benefit Storage Providers.


In short: verified data stored by verified clients will benefit storage providers as well as the network.


And the impact of Fil+ has been very positive.


When one of our team recently met a famous VC in Silicon Valley, the following conversation ensued:


“Did you just say your team built Fil+”
“Well, thanks. It’s one of the apps that works effortlessly and it’s had a superb impact on Filecoin usage, something like 1800% user increase.”
“Pleasure. Glad we could help.”


So what did Keyko do?


The team came to us with a clear concept, clear specs and an infrastructure to build on. The Filecoin core protocol is a solid piece of engineering and the team had already included ‘storage incentive’ as a production-ready function in the core code.


So, our brief was to build on that in three ways:


  • Create a governance flow, with different levels of authority.
  • Ensure transparency, with on-chain provenance
  • Create a user-friendly web application


In the MVP, the Filecoin team had started using GitHub as a way to register applications (as GitHub issues). So in our first version, our key job was to combine Lotus, the Go implementation of the Filecoin network, with the GitHub API and create a bot that would simplify the application and approval process.


It worked, but we felt that relying on the GitHub bot came with stability trade offs. So, for version 2, we suggested a new architecture, which minimized the role of the bot and used JSON files. Thankfully, the Filecoin team agreed and gave us the green light to implement this new backbone.


The result is https://filplus.fil.org/#/landing, a web application that manages the full DataCap request flow, both for Filecoin clients justifying their pitch to receive DataCap credits, as well as for Notaries to get chosen and verify those DataCap requests.


How to make Web3 invisible


The above description sounds so easy, doesn’t it? But believe us: it definitely wasn’t easy to get there.


Building a user-friendly, reliable and transparent application on top of a very robust Web3 protocol, based on transparency and security is quite a challenge. Back at Keyko HQ, our engineers often reminisce about the following example, which is typical for these kinds of projects.


The user story was clear and sounded simple: as a Notary, I need the ability, in certain cases, to remove DataCap.


In the original implementation, the process for this was cumbersome: notaries were required to use the CLI. This obviously limits the kind of non-technical profiles that you want to attract for this type of role.


To tackle this problem, we took into consideration three distinct areas:


Current State — The existing Fil+ application worked with the Ledger wallet hardware, something that doesn’t interact or lend itself towards executing CLI commands.


The User — Notaries are used to signing with their Ledger device, something that is not readily available to the CLI commands making the existing process unfamiliar and difficult to follow.


The Requirement — Create a simpler, user friendly method for removing DataCap, which requires signatures from multiple parties, two notaries as well as from a Root Keyholder.


Talk about compounding difficulty!


But we made it work; it involved some serious analysis of the CLI command code and the code used in the Lotus nodes, but we integrated the whole signing procedure for this exceptional user story into a standard Web2 frontend.


Those are the kind of things that make us happy and proud.


What we brought to the table in this Filecoin project was a combination of a few things that are close to Keyko’s heart:

  • Focus on creating a seamless user experience
  • The flexibility to work within given technical restrictions
  • The capacity to understand Filecoin’s core architecture
  • The drive to improve things & deliver on those ideas


Point in case: who can argue with 1800% user increase?


Case 2: Murmuration Labs, Data and Content moderation


A second Filecoin project we worked on addresses a totally different problem, with different tech partners.


Photo by Agence Olloweb on Unsplash


In 2022, the team at Murmuration Labs got a grant to explore the possibilities of content moderation. Data isn’t just neutral and Filecoin is actively developing a way to flag content that could pose an issue for the storage provider. They have to adhere to local laws and content can be deemed inappropriate or violating copyright rules for example.


As a trusted Filecoin partner with a deep knowledge of the Filecoin Protocol and with governance experience, they got us on board to make that crucial connection between Lotus (the core protocol) and the front end application layer.


Why is this difficult?


Simply put, if you make a button for a ‘normal’ website or an app, the underlying behavior is fairly simple and there are plenty of libraries you can use.


But, if you make a button for a Web3 dapp, you put a blockchain (and governance) train in motion and that is a whole different kettle of fish.


We like to think we added value in two ways.


First, we dug into the actual flag/ approval flows. With Filecoin’s ambition to be as decentralized as possible, the process of ‘removing content’ is more than a binary yes or no. It involves different nuanced steps such as flagging, challenging, deciding, incentive withdrawal and ultimately removing the content.


Then, once we’d mapped out the different flows, we wrote a series of apps that simplified the smart contract interactions, L1 calls and on-chain governance of all these processes. To be honest: ‘simplify’ is not the right word. But because we had taken time to understand the whole process, we implemented the right tech solutions to make it as sturdy and invisible as possible.


The result is 3 different applications for 3 different users of Filecoin.


  • There’s a deny-list management and sharing app for Storage providers. This also publishes the public badbits-list from Protocol Labs, making it seamless for Storage providers to block content if necessary.
  • There’s a governance app for Assessors. They can deal with flagged content or complaints.
  • There’s a dashboard app for the community. Transparency is crucial to Filecoin, so this app shows various statistics. Plus, it includes a complaints portal that allows anyone to flag content that exists in the Filecoin storage network.


We 💜 Filecoin 💜 Us


At Keyko we are proud of this long term partnership we have established with Filecoin, Protocol Labs and Murmuration Labs. We take pride in everything we build and as a team of engineers there is no better feeling than seeing a product grow in capabilities and adoption over time. Our team of engineers continue to work within the Fil+ and Murmuration Labs teams pushing forward the capabilities and contributing to the long term success of both products.


Follow us on Medium for more articles like this.