any-sync

module
v0.8.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2025 License: MIT

README

any-sync

any-sync is an open-source protocol designed for the post-cloud era, enabling high-speed, peer-to-peer synchronization of encrypted communication channels (spaces). It provides a communication layer for building private, decentralized applications offering unparalleled control, privacy, and performance.

Core Principles

Each any-sync space (communication channel) is:

  • End-to-end encrypted: Ensuring complete privacy of all messages and data.
  • User-owned: Users maintain full control over their data and connections.
  • Permissionless: Free from centralized lock-in, enabling true decentralization.

Thanks to its local-first design, any-sync achieves better-than-cloud performance when peers are physically close while maintaining global accessibility. At its core, data in any-sync is stored as encrypted Directed Acyclic Graphs (DAGs), representing various formats such as chats, pages, or databases. Its end-to-end encrypted structure ensures that no external entity can view a channel's content.

Use Cases

any-sync enables developers to build private, decentralized alternatives to apps like Telegram, Discord, Notion, or even health-focused tools like Strava and Oura—without centralized infrastructure.

Paired with any-store, it provides a local-first foundation for intelligent apps, including those using LLMs. Developers work with a local object store, while sync, communication, and scaling are handled seamlessly by the protocol—offering privacy, offline support, and strong performance with minimal complexity.

Key Features

  • Encrypted, user-owned channels: Maintain control over communication and data.
  • Permissionless operation: No strict reliance on centralized services.
  • Local-first sync: Functions offline and over peer-to-peer connections.
  • Seamless provider switching: Retain access to channels even when changing sync providers.
  • Speed and security: Combines fast performance with robust security.
  • Scalable infrastructure: Efficiently supports large-scale collaboration, including large groups.

Motivation

Traditional cloud infrastructures give corporations control over servers, causing entire communities to lose their connections and data if servers fail, get hacked, or block users. any-sync aims to bring the same degree of freedom to communication that blockchains brought to finance.

While blockchains excel at global consensus tasks like identity management, access control, or payments, they're not suited for real-time, end-to-end encrypted communication. Storing every encrypted message or document change on every node would be impractical. any-sync fills this gap by adding a fast, flexible communication layer that, paired with a decentralized, strictly ordered list, enables permissionless and zero-knowledge communication at scale.

Operational Benefits

With any-sync:

  • Users can choose and switch providers anytime without losing access or data.
  • Providers cannot read user information, block users, or alter accounts—they only deliver sync and storage.

any-sync channels can scale without practical limits thanks to a Conflict-free Replicated Data Type (CRDT)-based, gas-less mechanism cryptographically signing every change in its DAGs. Each device independently applies and cryptographically verifies CRDT updates, ensuring consistent final states without traditional consensus protocols.

By supporting multiple data formats (chats, pages, databases) and storing files externally (e.g., via IPFS), any-sync provides a flexible foundation for secure, decentralized communication.

Protocol overview

Plese read the overview of protocol entities and design.

Implementation

You can find the various parts of the protocol implemented in Go in the following repositories:

  • any-sync-node — implementation of a sync node responsible for storing spaces and objects.
  • any-sync-filenode — implementation of a file node responsible for storing files.
  • any-sync-consensusnode — implementation of a consensus node responsible for ACL changes monitoring and validation.
  • any-sync-coordinator — implementation of a coordinator node responsible for network configuration management.

Contribution

Thank you for your desire to develop Anytype together!

❤️ This project and everyone involved in it is governed by the Code of Conduct.

🧑‍💻 Check out our contributing guide to learn about asking questions, creating issues, or submitting pull requests.

🫢 For security findings, please email security@anytype.io and refer to our security guide for more information.

🤝 Follow us on Github and join the Contributors Community.


Made by Any — a Swiss association 🇨🇭

Licensed under MIT License.


Made by Any — a Swiss association 🇨🇭

Licensed under MIT License.

Directories

Path Synopsis
mock_accountservice
Code generated by MockGen.
Code generated by MockGen.
acl
mock_acl
Code generated by MockGen.
Code generated by MockGen.
app
debugstat/mock_debugstat
Code generated by MockGen.
Code generated by MockGen.
ldiff
Package ldiff provides a container of elements with fixed id and changeable content.
Package ldiff provides a container of elements with fixed id and changeable content.
ldiff/mock_ldiff
Code generated by MockGen.
Code generated by MockGen.
commonfile
acl/aclclient/mock_aclclient
Code generated by MockGen.
Code generated by MockGen.
credentialprovider/mock_credentialprovider
Code generated by MockGen.
Code generated by MockGen.
deletionmanager/mock_deletionmanager
Code generated by MockGen.
Code generated by MockGen.
deletionstate/mock_deletionstate
Code generated by MockGen.
Code generated by MockGen.
headsync/headstorage/mock_headstorage
Code generated by MockGen.
Code generated by MockGen.
headsync/mock_headsync
Code generated by MockGen.
Code generated by MockGen.
headsync/statestorage/mock_statestorage
Code generated by MockGen.
Code generated by MockGen.
mock_commonspace
Code generated by MockGen.
Code generated by MockGen.
object/acl/list/mock_list
Code generated by MockGen.
Code generated by MockGen.
object/acl/syncacl/mock_syncacl
Code generated by MockGen.
Code generated by MockGen.
Code generated by MockGen.
Code generated by MockGen.
object/tree/objecttree/mock_objecttree
Code generated by MockGen.
Code generated by MockGen.
object/tree/synctree/mock_synctree
Code generated by MockGen.
Code generated by MockGen.
object/tree/synctree/response/mock_response
Code generated by MockGen.
Code generated by MockGen.
Code generated by MockGen.
object/treemanager/mock_treemanager
Code generated by MockGen.
Code generated by MockGen.
object/treesyncer/mock_treesyncer
Code generated by MockGen.
Code generated by MockGen.
objectmanager/mock_objectmanager
Code generated by MockGen.
Code generated by MockGen.
objecttreebuilder/mock_objecttreebuilder
Code generated by MockGen.
Code generated by MockGen.
peermanager/mock_peermanager
Code generated by MockGen.
Code generated by MockGen.
settings/settingsstate/mock_settingsstate
Code generated by MockGen.
Code generated by MockGen.
spacestorage/mock_spacestorage
Code generated by MockGen.
Code generated by MockGen.
spacesyncproto/mock_spacesyncproto
Code generated by MockGen.
Code generated by MockGen.
sync/syncdeps/mock_syncdeps
Code generated by MockGen.
Code generated by MockGen.
syncstatus/mock_syncstatus
Code generated by MockGen.
Code generated by MockGen.
consensus
consensusclient/mock_consensusclient
Code generated by MockGen.
Code generated by MockGen.
coordinator
coordinatorclient/mock_coordinatorclient
Code generated by MockGen.
Code generated by MockGen.
identityrepo
nameservice
nameserviceclient/mock
Code generated by MockGen.
Code generated by MockGen.
net
peer/mock_peer
Code generated by MockGen.
Code generated by MockGen.
pool/mock_pool
Code generated by MockGen.
Code generated by MockGen.
rpc
rpc/limiter/mock_limiter
Code generated by MockGen.
Code generated by MockGen.
transport/mock_transport
Code generated by MockGen.
Code generated by MockGen.
transport/quic/mock_quic
Code generated by MockGen.
Code generated by MockGen.
node
nodeclient/mock_nodeclient
Code generated by MockGen.
Code generated by MockGen.
mock_nodeconf
Code generated by MockGen.
Code generated by MockGen.
paymentservice
paymentserviceclient/mock
Package mock_paymentserviceclient is a generated GoMock package.
Package mock_paymentserviceclient is a generated GoMock package.
testutil
util
crc16
Package crc16 is implementation according to CCITT standards.
Package crc16 is implementation according to CCITT standards.
periodicsync/mock_periodicsync
Code generated by MockGen.
Code generated by MockGen.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL