Skip to content

freenet/locutus

main
Switch branches/tags
Code

Locutus

Matrix Chat on Discord

The Internet has grown increasingly centralized over the past 25 years, such that a handful of companies now effectively control the Internet infrastructure. The public square is privately owned, threatening freedom of speech and democracy.

Locutus is a software platform that makes it easy to create decentralized alternatives to today's centralized tech companies. These decentralized apps will be easy to use, scalable, and secured through cryptography.

Build Locutus apps with familiar tools like React or Vue.js.

1. News

  • 16th July, 2022: Ian gave a talk on Decentralized Reputation and Trust, watch here
  • 7th July, 2022: Ian gave an introductory talk on Locutus which you can watch on YouTube.

2. Applications

Examples of what can be built on Locutus include:

  • Decentralized email (with a gateway to legacy email via the @freenet.org domain)
  • Decentralized microblogging (think Twitter or Facebook)
  • Instant Messaging (Whatsapp, Signal)
  • Online Store (Amazon)
  • Discussion (Reddit, HN)
  • Video discovery (Youtube, TikTok)
  • Search (Google, Bing)

All will be completely decentralized, scalable, and cryptographically secure. We want Locutus to be useful out-of-the-box, so we plan to provide reference implementations for some or all of these.

3. Components

Decentralized services that can be used by other decentralized services:

3.1 Reputation system

Allows users to build up reputation over time based on feedback from those they interact with. Think of the feedback system in services like Uber, but with Locutus it will be entirely decentralized and cryptographically secure. It can be used for things like spam prevention (with IM and email), or fraud prevention (with an online store).

This is conceptually similar to Freenet's Web of Trust plugin.

3.2 Arbiters

Arbiters are trusted services that can perform tasks and authenticate the results, such as verifying that a contract had a particular state at a given time, or that external blockchains (Bitcoin, Ethereum, Solana etc) contain specific transactions. Trust is achieved through the reputation system.

4. How does it work?

Locutus is a decentralized key-value database. It uses the same small world routing algorithm as the original Freenet design, but each key is a cryptographic contract implemented in Web Assembly, and the value associated with each contract is called its state. The role of the cryptographic contract is to specify what state is allowed for this contract, and how the state is modified.

A very simple contract might require that the state is a list of messages, each signed with a specific cryptographic keypair. The state can be updated to add new messages if appropriately signed. Something like this could serve as the basis for a blog or Twitter feed.

Locutus is implemented in Rust and will be available across all major operating systems, desktop and mobile.

5. Documentation

6. Status

We're working hard and expect an early prototype in August 2022.

You can support our work through a donation.

7. Stay up to date

Twitter Follow

8. Name

Locutus is the development name for this software; it will probably change before launch.

9. Chat with us

We're in #locutus on Discord, and also #freenet-locutus on Matrix. These rooms are bridged so it doesn't matter which you join. If you have questions you can also ask here.

10. Acknowledgements and Funding

In addition to creating the excellent libp2p which we use for low-level transport, Protocol Labs has generously supported our work with a grant.

If you are in a position to fund our continued efforts please contact us on twitter or by email at ian at freenet dot org.

11. License

This project is licensed under either of:

About

Declare your digital independence

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages