The decentralized storage LF has transitioned to an open license

The release of LF 1.1.0 is now available, a decentralized replicable key/value data storage. The project is developed by ZeroTier, which creates a virtual Ethernet switch that enables connecting hosts and virtual machines hosted by different providers into a single virtual local area network where participants exchange data in a P2P manner. The project's code is written in C. The new release is notable for transitioning to the MPL 2.0 (Mozilla Public License).

Previously, LF code was available under the BSL (Business Source License), which is not open due to discrimination against certain categories of users. The BSL license was proposed by the co-founders of MySQL as an alternative to the Open Core model. The essence of BSL is that the code for extended functionality is initially available for modification, but for a certain period, it may be used for free only under additional conditions, whereby a commercial license must be purchased to circumvent these conditions.

LF is a fully decentralized system and allows deploying a unified key-value data storage over an arbitrary number of nodes. Data is stored in a synchronized state across all nodes, and all changes are fully replicated among all nodes. All nodes in LF are equal to each other. The absence of separate nodes coordinating the storage operation eliminates a single point of failure, and having a complete copy of the data on each node prevents information loss if individual nodes fail or are disconnected.

No special permissions are required to connect to the new node network—anyone interested can launch their own node. The data model in LF is based on a directed acyclic graph (DAG), simplifying synchronization and allowing for various strategies for conflict resolution and security. Unlike systems based on distributed hash tables (DHT), the IF architecture is originally designed for use in unreliable networks where constant node availability is not guaranteed. LF is mentioned as suitable for creating highly resilient storage systems that hold relatively small volumes of critically important data, which rarely change. For example, LF is suitable for key stores, certificates, identification parameters, configuration files, hashes, and more. domain names.

To protect against overload and abuse, a restriction on the intensity of write operations to the shared storage is implemented based on proof of work— to gain the ability to save data, a participant in the storage network must complete a certain task that is easy to verify but resource-intensive to compute (similar to how blockchain and CRDT-based systems are scaled). The computed values are also used as markers in conflict resolution.

Alternatively, a certification authority can be launched within the network to issue participants cryptographic certificates, granting the right to add entries without proof of work and providing priority in conflict resolution. By default, the storage is available without restrictions for the connection of any participants, but optionally, based on the certificate system, isolated private storages can be created, where participants may only include nodes certified by the network owner.

Key features of LF:

  • Ease of deploying your own storage and connecting to existing public storage networks.
  • Lack of a single point of failure and the ability to involve anyone willing in maintaining the storage.
  • High access speed to all data and the ability to access data that remains on its own node even after network connectivity is lost.
  • A universal security model that allows for the combination of various conflict resolution mechanisms (local heuristics, weight based on performed work, taking into account the trust level of other nodes, certificates).
  • A flexible API for data queries that allows specifying multiple nested keys or value ranges. The ability to bind multiple values to a single key.
  • All data is stored in encrypted form, including keys, and is verified. The system can be used to organize the storage of confidential data on untrusted nodes. Records whose keys are unknown cannot be determined through brute force (without knowing the key, it is impossible to obtain associated data).

Notable limitations include a focus on storing small, rarely changing data, the lack of locks and guaranteed data consistency, high requirements for CPU, memory, disk space, and bandwidth, and a constant increase in storage size over time.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster