Open Grant Proposal: Freenet 2 initial prototype
Name of Project: Freenet 2
Proposal Category: app-dev
Proposer: sanity
Technical Sponsors: Max Inden, Dietrich Ayala
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT and APACHE2 licenses?: Yes
Project Description
Freenet2 is a distributed, decentralized, key-value store in which keys are cryptographic contracts which determine what values are valid under that key.
The store is observable, allowing applications built on Freenet2 to listen for changes to values and be notified immediately. The cryptographic contracts are specified in web assembly.
This key-value store serves as a foundation for decentralized, scalable, and trustless alternatives to centralized services, including email, instant messaging, and social networks, many of which rely on closed proprietary protocols.
Freenet2 is implemented in Rust on top of the libp2p library and will be available across all major operating systems, Desktop and mobile.
Value
The Internet has grown increasingly centralized over the past 25 years, such that a handful of companies now effectively control the Internet infrastructure. This happened because building decentralized applications is much more difficult than building their centralized equivalents.
Freenet2's purpose is to make it easy to build decentralized services and also to provide reference implementations of the most popular services such as email and instant messaging.
We're building Freenet2 on the Rust implementation of libp2p meaning our developers will contribute improvements to this project, including code, testing, and more general feedback. benefitting systems built on libp2p, including FileCoin.
Our "chainless" smart contract approach will result in learnings for IPFS-native applications and FileCoin's smart contract initiative.
Lastly, our deployment of a libp2p application to the major mobile platforms will inform other IPFS on mobile efforts, particularly the low-bandwidth, low-power, and variable connectivity challenges of mobile.
Risks
This is an ambitious project, network effects can make it very difficult to compete with centralized incumbents. However, our team has a track record of disruptive innovation and there has never been greater public concern about centralized control of the Internet.
Deliverables
Working software for Windows, Mac, and Linux on Desktop, and on Android and IOS - with a convenient installer. The software will support decentralized email out-of-the-box while providing a platform for future applications.
Development Roadmap
| Milestone |
Date |
Deliverables |
Cost |
| 1 |
Nov 30th, 2021 |
Low-level networking & infrastructure, Ring topology. Key-value store. Get/put/subscribe protocols. |
$20,000 |
| 2 |
January 31st, 2022 |
Web Assembly Contracts, WebSocket API. Web interface. |
$30,000 |
| 3 |
March 31st, 2022 |
Decentralized email service prototype |
$15,000 |
| 4 |
May 31st, 2022 |
Launch |
$10,000 |
Total Budget Requested
Total Cost: $75,000. We can accept grants in FIL.
Maintenance and Upgrade Plans
Our plan is to continue growing our team while raising funding both from organizations and from individuals by offering
@freenet.org email accounts in return for recurring donations. If successful these will fund future development indefinitely.
Team
Team Members
Ian Clarke
Nacho Duart
Team Member LinkedIn Profiles
https://www.linkedin.com/in/iancjclarke/
Team Website
Source code https://github.com/freenet/locutus
Technical design: https://github.com/freenet/locutus/issues
Relevant Experience
Ian Clarke
Ian designed Freenet, the first distributed, decentralized peer-to-peer network, first released in March 2000. Freenet pioneered many concepts, including small-world networks, cryptographic contracts, and distributed web-of-trust.
In 2003 Ian co-founded Revver, which by 2005 was the 4th most popular online video website, and the first to share
advertising revenue with video creators. As CTO, Ian recruited an engineering team of 10 developers.
Ian has also worked extensively on distributed systems including the Swarm framework, and other areas including applying machine learning to online advertising.
As CTO of OneSpot, Ian recruited and managed teams of 12 developers to build a sophisticated ad targeting engine which
outperformed Google Adwords in head-to-head comparisons.
Ignacio Duart
Ignacio Duart has been doing software engineering professionally for 7 years, lately on traditional “big data” systems, and has been a Open Source contributor for around 5 years.
In particular relevant to this project, has been doing Open Source systems programming in Rust since around 2015 (1.0 release) and has extensive familiarity with its ecosystem. Experience spans different areas: distributed systems and computing (main contributor of a distributed computing framework, Vega, based on Apache Spark), agent-based architectures and p2p network models (working on an experimental simulation framework, SimAg), work on scientific computing and ML framework implementation and bindings (eg. Tensorflow Rust bindings, implementation and ports of the GNU Scienfitic Library), familiarity with webassembly, database and compiler design amongst other things working on a query language and execution engine implemented in Rust.
Team code repositories
https://github.com/freenet/
Additional Information
Open Grant Proposal: Freenet 2 initial prototype
Name of Project: Freenet 2
Proposal Category:
app-devProposer: sanity
Technical Sponsors: Max Inden, Dietrich Ayala
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT and APACHE2 licenses?: Yes
Project Description
Freenet2 is a distributed, decentralized, key-value store in which keys are cryptographic contracts which determine what values are valid under that key.
The store is observable, allowing applications built on Freenet2 to listen for changes to values and be notified immediately. The cryptographic contracts are specified in web assembly.
This key-value store serves as a foundation for decentralized, scalable, and trustless alternatives to centralized services, including email, instant messaging, and social networks, many of which rely on closed proprietary protocols.
Freenet2 is implemented in Rust on top of the libp2p library and will be available across all major operating systems, Desktop and mobile.
Value
The Internet has grown increasingly centralized over the past 25 years, such that a handful of companies now effectively control the Internet infrastructure. This happened because building decentralized applications is much more difficult than building their centralized equivalents.
Freenet2's purpose is to make it easy to build decentralized services and also to provide reference implementations of the most popular services such as email and instant messaging.
We're building Freenet2 on the Rust implementation of libp2p meaning our developers will contribute improvements to this project, including code, testing, and more general feedback. benefitting systems built on libp2p, including FileCoin.
Our "chainless" smart contract approach will result in learnings for IPFS-native applications and FileCoin's smart contract initiative.
Lastly, our deployment of a libp2p application to the major mobile platforms will inform other IPFS on mobile efforts, particularly the low-bandwidth, low-power, and variable connectivity challenges of mobile.
Risks
This is an ambitious project, network effects can make it very difficult to compete with centralized incumbents. However, our team has a track record of disruptive innovation and there has never been greater public concern about centralized control of the Internet.
Deliverables
Working software for Windows, Mac, and Linux on Desktop, and on Android and IOS - with a convenient installer. The software will support decentralized email out-of-the-box while providing a platform for future applications.
Development Roadmap
Total Budget Requested
Total Cost: $75,000. We can accept grants in FIL.
Maintenance and Upgrade Plans
Our plan is to continue growing our team while raising funding both from organizations and from individuals by offering
@freenet.org email accounts in return for recurring donations. If successful these will fund future development indefinitely.
Team
Team Members
Ian Clarke
Nacho Duart
Team Member LinkedIn Profiles
https://www.linkedin.com/in/iancjclarke/
Team Website
Source code https://github.com/freenet/locutus
Technical design: https://github.com/freenet/locutus/issues
Relevant Experience
Ian Clarke
Ian designed Freenet, the first distributed, decentralized peer-to-peer network, first released in March 2000. Freenet pioneered many concepts, including small-world networks, cryptographic contracts, and distributed web-of-trust.
In 2003 Ian co-founded Revver, which by 2005 was the 4th most popular online video website, and the first to share
advertising revenue with video creators. As CTO, Ian recruited an engineering team of 10 developers.
Ian has also worked extensively on distributed systems including the Swarm framework, and other areas including applying machine learning to online advertising.
As CTO of OneSpot, Ian recruited and managed teams of 12 developers to build a sophisticated ad targeting engine which
outperformed Google Adwords in head-to-head comparisons.
Ignacio Duart
Ignacio Duart has been doing software engineering professionally for 7 years, lately on traditional “big data” systems, and has been a Open Source contributor for around 5 years.
In particular relevant to this project, has been doing Open Source systems programming in Rust since around 2015 (1.0 release) and has extensive familiarity with its ecosystem. Experience spans different areas: distributed systems and computing (main contributor of a distributed computing framework, Vega, based on Apache Spark), agent-based architectures and p2p network models (working on an experimental simulation framework, SimAg), work on scientific computing and ML framework implementation and bindings (eg. Tensorflow Rust bindings, implementation and ports of the GNU Scienfitic Library), familiarity with webassembly, database and compiler design amongst other things working on a query language and execution engine implemented in Rust.
Team code repositories
https://github.com/freenet/
Additional Information