This page is also available in other languages:

0. Table of Contents

1. Opening up development and research repos

Good news! After many months building things privately, we are ready to open up a number of codebases and community forums. This is right on schedule as predicted in our Project Roadmap and last update. Read our announcement blog post for more.

In our last big update, we published a high-level roadmap, with upcoming optimistic milestones.

We are pleased to report that – so far – we have hit our first two big milestones on time 🎉🎉, and added a third 🎉:

We started a go-filecoin collaborator & contributor preview in 2018 Q4.

in 2018 Q4. We opened up the go-filecoin codebase in 2019 Q1.

in 2019 Q1. We launched the first public Filecoin devnets in 2019 Q1.

Beyond that, our team has been hard at work in the following areas:

Developing go-filecoin. The main effort to implement the Filecoin Protocol. This is the bulk of our development work.

Developing rust-fil-proofs. Implementations and benchmarking of Proof-of-Replication and Proof-of-Spacetime algorithms, for use in go-filecoin, other filecoin implementations, and other systems.

Writing and refining protocol specs. We need detailed protocol specifications in order to have multiple independent implementations of the protocol, to have a properly decentralized network, and to assess and verify protocol security.

Ancillary product development. There are a couple dozen ancillary products and tools that need to exist around the Filecoin network: things like chain explorers, network stats visualizers, integrations, and so on.

Designing protocol improvements. There are multiple areas of the filecoin protocol that have improved significantly – in particular chain scalability, performance of proofs, and consensus security.

As we make progress, our visibility and estimates grow clearer. To that end, we have adjusted the upcoming milestones as follows:

We have updated the Roadmap document accordingly. Please recall that all our estimates and timelines are optimistic and subject to change. We want to keep the community updated, and give a rough indication of where we are, what’s next, and when we currently (if optimistically) expect to achieve our next milestones.

This update, we are splitting the news into:

demos - new demos shipping today!

- new demos shipping today! go-filecoin - the first implementation of the Filecoin protocol

- the first implementation of the Filecoin protocol rust-fil-proofs - a portable implementation of Filecoin proof systems and other cryptographic components.

We are publishing 2 demos along with this update. The demos show a few of the ways you can get started with testing Filecoin proofs-of-replication (PoReps). PoReps make it possible to ensure that a Filecoin storage miner is storing their clients’ data correctly. They are crucial to the successful operation of the protocol. In the future, we will release more demos of features, go-filecoin installation, and how to use the newly opened devnets and related development tools, such as the network statistics dashboard.

Demo 1: Proof Benchmarks

In this demo, we show how you can run Proof-of-Replication (PoRep) benchmarks on your local machine. You can use these benchmark tools to observe how different parameters affect data replication and PoRep generation and verification times. You can also use these tools to benchmark any variations on implementations of PoRep. The demo shows:

cloning rust-fil-proofs and building the benchmarks

how to run the benchmarking tool for ZigZag-PoRep (our current PoRep implementation)

generating benchmark running times for ZigZag-PoRep on different data sizes: 1MB, 2MB, and 1GB





Demo 2: The Replication Game

In this demo, we describe the Replication Game and how to compete. We show how you can create and submit an entry to the Replication Game, and how to check your results on a leaderboard. More specifically, we show how to:

parse the different parameters that can be passed to the game

run a play script to generate a Replication Game submission from your local machine or rig and post it to the game server

check the Replication Game leaderboard

filter Replication Game leaderboard using the same parameters used to generate your submission





⚙️Portable fil-proofs effort. Implementing Proofs-of-Replication ( PoReps ), Proofs-of-Spacetime ( PoSTs ), and other cryptographic constructions is a significant feat of engineering. In Q3, we decided to split this into a separate endeavor from go-filecoin , in order to (a) increase focus for each effort, (b) work closely with our cryptography researchers in “research-development” mode, and (c) produce an implementation-agnostic library. We decided to write it in Rust, which is a good fit to couple closely with other existing crypto libraries we need (eg Bellman), and to produce code and tooling that is usable to all implementations of the Filecoin Protocol and across a wide variety of systems and devices.



Implementing ( ), ( ), and other cryptographic constructions is a significant feat of engineering. In Q3, we decided to split this into a separate endeavor from , in order to (a) increase focus for each effort, (b) work closely with our cryptography researchers in “research-development” mode, and (c) produce an implementation-agnostic library. We decided to write it in Rust, which is a good fit to couple closely with other existing crypto libraries we need (eg Bellman), and to produce code and tooling that is usable to all implementations of the Filecoin Protocol and across a wide variety of systems and devices. 🏃‍♀️DRGs, ZigZag-PoRep, and optimizing implementations. The main task of the rust-fil-proofs effort is to implement practical and usable PoReps and PoSTs . To achieve this, we needed to implement brand new cryptographic constructions (fresh from the research press), study and optimize the performance of each proof system, and produce tooling that go-filecoin now imports. We discuss the effort in more detail in these research interviews.



The main task of the effort is to implement practical and usable and . To achieve this, we needed to implement brand new cryptographic constructions (fresh from the research press), study and optimize the performance of each proof system, and produce tooling that now imports. We discuss the effort in more detail in these research interviews. ⏱Reaching practical runtimes. PoRep algorithms are meant to be arbitrarily tunable in speed. However, to greatly reduce the size of proofs on chain, we needed to employ constructions that enabled non-interactive and aggregated proofs – namely, verifiable computation systems. In our case, the latest PoRep algorithms use zkSNARKs , and are quite slow. In Q3, we implemented algorithms and got the Filecoin Proving Subsystem working end-to-end. During Q4, we managed to speed up the runtime of PoRep replication by orders of magnitude! Sealing a 1GB sector took ~150hrs in Oct, and we optimized it to 50hrs in Nov, then 16hrs, then just under 1hr in Dec. 🎉 This is right in our acceptable zone, which is great.



algorithms are meant to be arbitrarily tunable in speed. However, to greatly reduce the size of proofs on chain, we needed to employ constructions that enabled non-interactive and aggregated proofs – namely, verifiable computation systems. In our case, the latest algorithms use , and are quite slow. In Q3, we implemented algorithms and got the working end-to-end. During Q4, we managed to speed up the runtime of replication by orders of magnitude! Sealing a 1GB sector took ~150hrs in Oct, and we optimized it to 50hrs in Nov, then 16hrs, then just under 1hr in Dec. 🎉 This is right in our acceptable zone, which is great. 🔬Benchmark Tools. We developed benchmarking tools for a number of proof algorithms and cryptographic components. These can be used to measure the real, practical performance of algorithms with some given operations. These tools are great to have, and can be seen in action in this demo.



We developed benchmarking tools for a number of proof algorithms and cryptographic components. These can be used to measure the real, practical performance of algorithms with some given operations. These tools are great to have, and can be seen in action in this demo. 👾The Replication Game. Last but not least: we made improving replication algorithms into a game! Players in the Replication Game can compete to outperform the default implementation of Proof-of-Replication, by optimizing algorithms, running on better hardware, and so on. Think you can optimize better than the rest? Prove it by beating others in the leaderboard. This is a fun & rewarding way to participate in building Filecoin. Some results may even beat those generated by our current PoRep implementation. We can’t wait to see what you come up with! See how to make a submission to the Replication Game in this demo.

A lot of important improvements have happened in our research team.

Research Interviews and Talks. In an effort to make our work more accessible, we are making a set of interviews with Filecoin researchers and engineers. Check out the first installment of these interviews:

Proof-of-Replication constructions. The best Proof-of-Replication (PoRep**) we have so far is ZigZag-PoRep, introduced in the middle of 2018. During Q3 and Q4, we implemented ZigZag-PoRep, and other PoRep algorithms. Bringing complex cryptographic constructions from theory into practice is a significant feat. Finding practical and application constraints that drive improvements in the theoretical construction is even greater. We achieved this and more with ZigZag-PoRep. We are also setting proof parameter choices based on practical limitations. The research work on PoReps led to novel academic results on Tight Proofs of Space and Replication.

Expected Consensus formalization and implementation. One of the key components of Filecoin’s *Storage Power Consensus *(SPC) is a protocol named Expected Consensus (EC). EC is a protocol inspired by leader-election based proof-of-stake protocols. In the last two quarters, we formalized EC’s properties and studied it in a variety of scenarios. We explored a number of questions through simulation, such as parameter choices, weighing function choices, and incentive compatibility. Significant contributions resulted from this exploration, that changed protocol implementation. Some of this work is of independent interest, and may be published separately. EC is now implemented within go-filecoin’s SPC implementation, and can be seen keeping the Filecoin blockchains stable across our devnets.

VDFs in Proofs-of-Spacetime, and VDF Collaboration. PoReps are not the only proof protocols in Filecoin that improved recently. We also have new constructions for Proofs-of-Spacetime (PoSTs) using recent Verifiable Delay Function (VDF) constructions. This is a significant improvement, as VDFs give PoSTs much stronger timing guarantees than we get from the bare PoReps. This is great because it allows us to have longer PoST verification cycles, and thus to significantly reduce the amount of data accumulated on-chain. This new direction has led to a collaboration with the Ethereum Foundation to drive development, implementation, and optimization of VDFs. Some of Ethereum’s new constructions aim to use VDFs within consensus, a direction Filecoin is also exploring. Ethereum, Filecoin, and a number of next-generation blockchain protocols will benefit greatly from this work. But perhaps the most exciting part is this could yield efficient, world-wide, decentralized, and robust randomness beacons – which would be a major breakthrough in applied cryptography and distributed systems, with wide applicability beyond blockchains.

RFP: Single Secret Leader Election. Over the last couple of years, an important problem has surfaced through our exploration of consensus protocols for Filecoin.. Its solution stands to improve random leader election based protocols, such as Filecoin and many other blockchains, particularly Proof-of-Stake systems. We have called this problem Single Secret Leader Election (SSLE), and it involves electing at most one leader, in a fair, unpredictable, and secret way, from a weighted set of participants. We have posted a new Request For Proposals (RFP) to solve this problem: RFP-6 Single Secret Leader Election. A solution to this problem would constitute a major breakthrough in cryptographic sortition schemes and greatly improve the security, performance, and simplicity of dozens of blockchain protocols, including Filecoin.

We have been preparing to meet the needs of a broad and vibrant Filecoin community. Three examples of this include launching the Filecoin Private Preview, supporting Global Filecoin Meetups and collaborating with leading research, engineering, and blockchain organizations.

The Permissive License Stack. Protocol Labs has developed and adopted a set of open source intellectual property commitments we call the Permissive License Stack. These commitments guarantee that the technology PL is building for Filecoin will be usable by the largest possible number of people and projects.

We’re hopeful that sharing our approach will help our colleagues at other companies and organizations to join us and follow this path forward. You can read more about the Permissive Licensing Stack here.

Engaging with policymakers about the decentralized web. Protocol Labs is a founding member of the Blockchain Association, a new policy advocacy group whose work we believe will advance the goals of the decentralized web. The Blockchain Association has done incredible work educating policymakers, providing critical industry knowledge to improve draft legislation, and promoting productive engagement between the U.S. government and important decentralized software projects. Their writings about decentralization, a recently proposed law in Congress, and a potential administrative law case may interest those following US public policy.

We also support Coin Center, a nonprofit think tank in Washington, DC educating policymakers on the promise of blockchain technology and why it should remain free and open. Our team provided some comments on their important new paper, The Case for Electronic Cash: Why Private Peer-to-Peer Payments are Essential to an Open Society.

In September, the General Counsel of Protocol Labs testified alongside 100 other industry experts to at a briefing hosted by two Congressmen who later introduced a strongly pro-cryptocurrency bill.

7. Filecoin Public Talks & Media

We elected to continue staying out of the public sphere in 2018 and focus on building. That said, our team and our broader Filecoin community gave a few public talks, published a few blog posts and visited a few research groups. Our activity will remain similarly constrained until the lead-up to the launch of the network.

Additionally, we ran a small conference on consensus protocols called ConsensusDay. This is the first installment of what we expect to become a regular event. Consensus throughput is one of the major hurdles in blockchain scalability, and we will only realize the full potential of crypto networks if we can scale operations to match the needs of typical consumer-oriented applications. We need to move orders of magnitude beyond the 7-25 tx/s (that’s Bitcoin and Ethereum) to billions of transactions per second. We believe this improvement will come from a combination of off-chain scalability protocols, sharding, hierarchy, and new directions in consensus protocols. We hope that ConsensusDay can stimulate the field, and draw attention to important problems. All the talks from the first ConsensusDay can be found here.

Filecoin is built on top of and depends heavily on libp2p, a project led by Protocol Labs as well. Therefore we include a compressed update from that project tuned for Filecoin.

Filecoin is built on top of and depends heavily on IPFS, a project also led by Protocol Labs. Many users of IPFS aim to also become users of Filecoin, so IPFS capabilities and use cases greatly inform Filecoin. Therefore, we include a compressed update from that project tuned for Filecoin.

10. Cautionary Notes

We are not announcing the testnet or the mainnet. Instead, we are inviting you to review and contribute to this open source work we believe is so important.

The three devnets are true development networks, and we make no guarantees about performance, stability, and security on the devnets. In fact, we can probably guarantee the opposite.

None of the economics are live and any tokens involved are only for testing. It is not yet possible to claim, sell, or buy actual tokens.

Miners cannot earn actual block rewards.

Exchanges claiming to trade in filecoin or filecoin futures are either fraudulent or very confused. There should not yet be any sales or purchases of devnet filecoin – or any other filecoin.

Nobody should invest in mining hardware based on any specs in the devnet, as these specs will likely change.

Beware of any potential scams anywhere based on claims contrary to the above. We have unfortunately heard of some potentially fraudulent activity in China and Hong Kong. Please review the Anti-Fraud Statement, which strongly recommends avoiding anyone in China or Hong Kong claiming to be commercially or officially affiliated with the Filecoin project (or IPFS or Protocol Labs) at this time.

Please review the Filecoin FAQs.

Many Thanks!

Thank you for all your support so far, and in the future! And thank you in advance for your referrals, ideas, and suggestions. Your help accelerates our progress.

The Filecoin Team

Protocol Labs