Decentralized Storage Alliance | Blog

Protocol Design in Action: An Interview with Irene Giacomelli | DSA

Written by Ken Fromm | Nov 25, 2024

Step into the world of cryptography and protocol design with Irene Giacomelli, Protocol Researcher at FilOz, as she shares how she bridges theory and real-world application to tackle the unique challenges of Web3.

 
 
Background

 

We love the title protocol researcher. Can you tell us a bit about your background as well as what a protocol researcher does?

Irene Giacomelli: I came from “theory land” in the sense that I started my job career in academia. I have a master degree in mathematics and PhD in informatics and I spent a few years in academia publishing papers on cryptography before joining the industry. I started with Protocol Labs in 2019. The fun fact is that when I joined it, I didn't know much about blockchain or Web3. I just knew the basic definitions in the space.

I joined to work on the cryptographic aspect of Filecoin – which at that moment in time was still in the design phase. They needed a protocol and cryptographic researcher to understand and overcome the challenge of constructing a blockchain that used useful space as the underlying resource for consensus.

There was no such thing at the time and even today there are few blockchains that use space as a provable resource for consensus. There were people already working on these topics before I joined and I learned a lot from them. I focused on bridging the theory with the real world. Meaning that results from academic papers often need to be adapted to work with the constraints from a real-word protocol like Filecoin. That is a crucial part of being a protocol researcher.

I kept working on Filecoin core protocol even after we launched the network, mainly shipping Filecoin Improvement Proposals (FIPs) and keeping an eye on the security of the network. Now that core protocol is more time-tested, the focus for protocol designers like me has shifted from the initial core work to adding new features and capabilities. We transitioned to where we’re saying, “Let's look at this as a product, as a storage network.” to “What features are needed to increase adoption?” and “What can we build – or even better – what can we unlock so that others can build these types of features for the network?”

The mission of FilOz is to support Filecoin and allow everyone in the ecosystem to be able to use it and improve it. This fits very well with the line of work I was doing. And so in April, I was happy when they asked me to join the team and I was happy to say yes.

 
DESIGNING Web3 PROTOCOLS

 

Let's talk about protocols. What makes working with Web3 protocol so challenging?

Irene Giacomelli: There are a few challenges when you try to design a protocol in Web3. One challenge comes from the fact that web3 protocols need to work in the decentralized world. So here you have a bunch of parties that can collude or create Sybil attacks and there is no trusted central authority to fall back on. Which makes for a design challenge because in classic cryptography it's natural to assume that two different entities – two parties in the protocol – won't collude because they have different interests. In decentralized protocols, this is not the case. You cannot assume this and so you need to evaluate all possible attack vectors. Also, more parties means that the design needs to be built to be able to scale, which is not always trivial.

Another difference is how to use crypto incentives – how to use economic incentives the right way.. In classical cryptography, you usually want to prove that something is impossible to happen or that the probability for it to happen is very low. In protocols with economic incentives, it's not always white on black, there are multiple scenarios that can occur and you rank all these using profit functions. This is a challenge but also a resource – incentives can solve problems that classical methods cannot.

And so you are using incentives to solve problems. So can you give examples?

Irene Giacomelli: Filecoin itself is an example of this, right? In general, we have cryptographic proofs that act as a certificate of the service and that can trigger payments. The great idea of Filecoin is linking that to block mining. So now, storage providers can publish proofs that grant them the right to be elected to create a block and earn the related reward.

You might think of doing the same with retrievals using a proof of delivery , but it's actually impossible to do so in classical cryptography. We actually can prove that such a thing like“proof of delivery” is impossible to exist. This is a known limitation in cryptography that is linked to the well-studied fair-exchange problem. However, with the right incentives, we can design a protocol that overcomes this limitation and provides a workable solution.

I worked on this at CryptoNet Lab (Protocol Labs), and the result was retriev.org. This is a retrieval insurance protocol that uses crypto incentives to ensure guaranteed delivery in decentralized storage networks like Filecoin. It’s something that I hope to work more on after a few of these more near-term projects are completed.

What motivates you to do protocol research and design?

Irene Giacomelli: For me in particular it’s to see something that I worked on in theory as a protocol design go live. Let's say I design or co-design a protocol with a set of drawings and instructions, detailing what it should do and how it should work. That’s nice, but what I really care about is that this can go into the dev pipeline and be implemented and be used – so that what I designed really makes an impact.

 

RECENT WORK

 

What problems are you working on now, especially when it comes to opening up new opportunities for the network?

Irene Giacomelli: We are working on exactly what you said – opening up new opportunities. In this case we are working on shipping a new proof system. What we have today on Filecoin is a proof system based on two pieces. First we have the PoRep (Proof of Replication) that allows a storage provider to prove that they have your data encoded in an incompressible form. Then we have repeated PoSt (Proof of Spacetime), which allows storage providers to prove that the encoded data is kept stored for a specific amount of time. The incompressibility property is expensive to achieve but it's needed for consensus. Indeed, in Filecoin, consensus power is proportional to the “spacetime” (i.e. space through time) resource that is committed to the network.

We are adding a new proof system that while it doesn't offer incompressibility guarantees and cannot be used for consensus, it is much more efficient to generate and it can still be used to prove data possession to both the network and clients. This allows the Filecoin network to offer different types of storage services and business models.

For example, with the new proof system, storage providers can store data in an unencoded format for fast retrievals, which is not possible (without additional copies) with the current PoRep + PoSt system. This opens up new use cases for the network and new markets for storage providers.

What's this new proof called?

Irene Giacomelli: It’s called PDP – Proof of Data Possession and it is not necessarily a new concept. This has been known in the literature and used in classic client-server storage systems. What we are doing at FilOz is – and this goes back to what we're discussing about challenges for web3 protocols – is taking care of solving the challenges and making this protocol scalable to be shipped via smart contracts on a blockchain and used by applications and other protocols as a native proof.

 
SOLVING REAL PROBLEMS

 

What other things excites you about the space? Are there other proofs? Are there other protocol elements that really excite you?

Irene Giacomelli: Retrievability for sure. It's something that I would like to see improved for Filecoin. Another interesting open problem is designing a decentralized protocol for reporting performance metrics without a trusted authority. This could apply to retrievals as well as other services. Typically, a centralized entity tests providers and reports on their performance but decentralization removes this option. In Web3, there is no single entity that is testing.

The members of a network can perform tests but there are few problems with this. For example, how do you handle cases where nodes report different values for the same metric? How can we ensure the network doesn’t collude with providers? So a colleague and I worked on this for a little time with an academic researcher’s help on this. But it's still an open problem and I think it is a really exciting problem for both academic research and practical Web3 solutions.

What should the community know about you and the other protocol researchers and core devs?

Irene Giacomelli: That what we care about is solving the real problems. We always try to talk with storage providers and possible clients and people who are interested in using Filecoin to better understand the problems. Our goal is to keep expanding Filecoin so that there are many meaningful and practical storage applications and supporting protocols.

They should ask us about a feature or complain to us if one is missing. Let us know the pain points they are having because we like to solve these issues. Because in principle, as a protocol designer, I could just design a beautiful protocol that solves a random problem, right?

There are beautiful protocols everywhere and I can get excited about these because they are actually beautiful theory work, but if they're not used and if they don't solve a real problem of Filecoin, we miss the real occasion to perform.

As a group, we all like to work on proofs and protocols that go in the direction of solving real problems and getting real use.

 

Contact Irene or follow her work at:
Website: https://www.filoz.org
X: https://x.com/Irene_2911 
LinkedIn: https://www.linkedin.com/in/igiacomelli

Filecoin Slack: @irene
GitHub: https://github.com/irenegia