About
People
Research
Outreach
Blog

Nicola Greco

Research Scientist / CryptoLab

Education

MS/PhD in Computer Science, on leave

Massachusetts Institute of Technology

BSc in iComputer Science, 2015

University College London

Nicola is working to re-decentralize the web. He is a researcher at Protocol Labs, a PhD student (on leave) at MIT advised by Tim Berners-Lee, and friend at Berkman Center. He writes and advances research on ways to re-decentralize the web, focusing on technical, political, and social aspects of decentralized systems.

Areas of Expertise

Distributed Systems

Latest work

2020.7.1 / Talks

Vector Commitment Techniques and Applications to Verifiable Decentralized Storage

Vector commitments with subvector openings (SVC) allow one to open a committed vector at a set of positions with an opening of size independent of both the vector's length and the number of opened positions. We continue the study of SVC with two goals in mind: improving their efficiency and making them more suitable to decentralized settings. We address both problems by proposing a new notion for VC that we call incremental aggregation and that allows one to merge openings in a succinct way an unbounded number of times. This property leads to faster generation of openings via preprocessing and a method to generate openings in a distributed way. We then proceed to realize SVC with incremental aggregation. We provide two constructions in groups of unknown order. The first one, similarly to that of Boneh et al. (which supports only one-hop aggregation), has constant-size public parameters, commitments and openings. As an additional feature for this construction we propose efficient arguments of knowledge of subvector openings which immediately yields a keyless proof of storage with compact proofs. For our second construction, we propose an incremental aggregation method for the SVC of Lai-Malavolta; this has linear-size parameters but faster openings. Finally, we address a problem closely related to that of SVC: storing a file efficiently in completely decentralized networks. We introduce and construct verifiable decentralized storage (VDS), a cryptographic primitive that allows to check the integrity of a file stored by a network of nodes in a distributed and decentralized way. Our VDS constructions rely on our new vector commitment techniques.

2020.2.17 / Publications

Vector Commitment Techniques and Applications to Verifiable Decentralized Storage

Vector commitments with subvector openings (SVC) [Lai-Malavolta and Boneh-Bunz-Fisch, CRYPTO'19] allow one to open a committed vector at a set of positions with an opening of size independent of both the vector’s length and the number of opened positions.

2020.1.15 / Publications

Single Secret Leader Election

In a Single Secret Leader Election (SSLE), a group of participants aim to randomly choose exactly one leader from the group with the restriction that the identity of the leader will be known to the chosen leader and nobody else.

2018.10.15 / Publications

Scaling Proof-of-Replication for Filecoin Mining

A proof-of-replication (PoRep) is a proof system that a server can use to demonstrate to a network in a publicly verifiable way that it is dedicating unique resources to storing one or more replicas of a data file.

2018.6.28 / Talks

Good SNARKs Are Here Needed

Nicola Greco (Filecoin Research) talks about SNARKs at Zcon0.

2017.8.31 / Publications

Decentralized Infrastructure for File Storage

How might we incentivize a peer-to-peer network to store users’ files? The purpose of this research is to combine ideas from existing peer-to-peer file sharing systems, blockchain technology and Proofs-of-Storage to create an incentivized decentralized storage network, where every participant can earn a reward for storing and serving files or pay the network to store or retrieve their own.

2017.7.27 / Publications

Proof of Replication

We introduce Proof-of-Replication (PoRep), a new kind of Proof-of-Storage, that can be used to prove that some data D has been replicated to its own uniquely dedicated physical storage. Enforcing unique physical copies enables a verifier to check that a prover is not deduplicating multiple copies of D into the same storage space.