Designing a dataflow editor with TypeScript and React
This is a design report – a story about the tradeoffs and challenges that we encountered while building a medium-complexity React component in TypeScript. These include
state modeling (“making illegal states unrepresentable”) basic type-level programming in TypeScript DX patterns for generically typed React components DX patterns for reusable controlled components using a Redux-like action/dispatch state paradigm These topics all deal with the external interface and TypeScript typings; lower-level implementation challenges (like optimizing drag interactions and sharing state between React and D3) have been left to a future post.
ResNetLab presentations at Devfolio's ETH India 2021 Fellowship
Hot off the heels of ETHDenver, the largest Ethereum community event in North America, the Devfolio team who ran the hackathon platform for the event asked if we’d be interested in doing an IPFS training for another of their programs: the Devfolio Ethereum India Fellowship.
SnarkPack: How to aggregate SNARKs efficiently
A guided dive into the cryptographic techniques of SnarkPack
This post exposes the inner workings of SnarkPack, a practical scheme to aggregate Groth16 proofs, a derivation of the Inner Pairing Product work of Bünz et al.
Decentralized Energy Project recap
Three years ago, we set out to apply the decentralization ethos to the power grid — a complex, sprawling network with some parts dating back over a century. That was the beginning of the Decentralized Energy Project, an effort within AbstractionLab.
CryptoComputeLab announces proofs release 6.1.0
Today we’re proud to announce the recent release of rust-fil-proofs v6.1.0. This release contains a number of significant re-factors and performance optimizations, but we’d like to dig deeper into a couple of them to show some of the real-world impacts.
AbstractionLab Update: notes from the frontier
The independent researchers of the AbstractionLab tackle ambitious projects with huge potential to drive breakthroughs in computing, communication, and decentralization. They are the scout ship pilots exploring the farthest reaches of the adjacent possible.
ResNetLab 2020 in review: we love it when a plan comes together
We hope you spent some fantastic time with your loved ones during the holiday season. With the time to pause, rest, and reflect – and with the goal of kicking off 2021 in the best way possible – we decided to capture ResNetLab’s 2020 highlights, share what we’ve learned, and describe what we will be focusing on in 2021.
Beyond Swapping Bits: project review (and preview!)
If you have been following along for the past three months (1, 2, 3, 4), you know that we in ResNetLab started the Beyond Bitswap project with one goal in mind: to drive speed-ups for file-sharing in IPFS.
Announcing the Protocol Labs Associate Research Program Manager (ARPM) summer program
Protocol Labs is currently accepting applications for its Associate Research Program Manager (ARPM) ten-week summer program (2021). The ARPM experience is an opportunity for undergraduate students to learn to support and grow research programs; drive research initiatives; and engage in meta-research analyses, exploring high-level ways to improve the efficacy and impact of scientific research.
Teaching Bitswap nodes to jump
By now you may have heard about ResNetLab’s research endeavour to drive speed-ups on file transfers: Beyond Swapping Bits. Our recent blog post, “Honey, I shrunk our libp2p streams”, considers how adding compression to libp2p could lead to significant bandwidth savings.
A research perspective on Filecoin, part two
In Part One, we traced the intellectual and technological history of modern implementations of distributed ledger technology. Now let’s take a stroll through the technological landscape around the time of Filecoin’s release:
A research perspective on Filecoin
The Filecoin network is launching in the middle of a revolution in internet architecture, where vulnerable centralized services dependent on trusted parties are being replaced with resilient decentralized solutions based on verifiable computation, and internet services are being relocated from inefficient central monoliths to the far reaches of the network by peer-to-peer markets.
"Two ears, one mouth": how to leverage bitswap chatter for faster transfers
As part of ResNetLab’s research endeavour to drive speed-ups on file transfers, Beyond Swapping Bits, we present a new contribution to IPFS Bitswap protocol. We argue that Bitswap is currently discarding a wealth of information that could be used to its benefit, improving retrieval success and minimizing the latency to retrieve content.
Honey, I shrunk our libp2p streams
Today we’re excited to share the story of how we decided to explore compression for libp2p streams and ended up achieving up to a 75% decrease in bandwidth use when performing an IPFS file exchange.
A brief history of (re)building the Internet
The Internet began life as a military network engineered for resilience in the face of a nuclear attack. That’s right—the same network you use to check on your friends and share cat photos has at its core a structural pattern intended to survive a nuclear exchange long enough to mutually assure destruction with the USSR.
Introducing the Filecoin Economy
Filecoin provides a blockchain-based marketplace that promises to revolutionize the global storage economy. The Filecoin marketplace delivers a totally new and secure way for anyone in the world to buy and sell storage. We’re excited to share an overview of how the storage economy works on the Filecoin Network.
Hello from the Decentralized Energy Project!
We’re two materials scientists here at Protocol Labs, and we’re working to improve the electricity grid.
Why, you may be thinking, does a distributed file storage company have a project related to the energy grid?
SourceCred: an introduction to calculating cred and grain
You may not know that Protocol Labs is a supporter of an open-source governance and sustainability project called SourceCred. As a participant in a small SourceCred meetup last month, I learned enough about the underlying algorithm that I wrote up an explainer for their documentation repo and thought it might be interesting to share it here as well.