The ImPossible Network
12 years of research and development is coming to fruition as we put together the final building blocks of what some said was impossible: Secure Access For Everyone.
LATEST UPDATE29 August 2019
Vault Phase 1
The final piece of the puzzle is complete and we now have the SAFE CLI, SAFE Client Libs, SAFE Vault and SAFE Browser.
SAFE Network Forum
Subscribe for updates:
Phase 1 Vaults
This Phase 1 Vault release is primarily to showcase the Network features to Consumers (people using the Network to browse, share data, etc.) and Creators (developers or those publishing content). It allows users to test out features such as SAFE CLI and SAFE Client Libs, as well as introducing the new data types.
It’s easy to use. Just download a Vault binary which will run locally on your computer. Details and links can be found in this forum post.
SAFE Fleming Network
The next major milestone for the SAFE Network. Whilst the Shared Vault Network will continue to function, this will be a standalone Network that will enable individuals to run Vaults - decentralised storage from home computers. The release of Fleming will be notable for many reasons, not least the fact that with data storage, the Network will now also contain Test Safecoin.
The ability to log into a decentralised network without the permission or existence of a third party
MaidSafe invented the technology that lets someone log into a decentralised network securely without requiring the involvement of a third party. The Shared Vault Network is the only place in the world today that you can see this in action.
Data is encrypted on your computer before being stored on the Network: no keys or passwords ever leave your machine
Invented by MaidSafe, this is the process by which any file to be stored in the Network is first broken into chunks, hashed, and then encrypted. These chunks are then themselves encrypted using the hash of another chunk from the same file.
Otherwise known as Sharding, this allows the Network to scale by splitting responsibilities for specific Network functions.
Ensures that the Network can scale by managing the responsibilities and locations of each node without requiring any human intervention. This also acts as a security measure to ensure that an attacker cannot choose their location or responsibilities.
Ensures a message can be sent between nodes in different Disjoint Sections
Ensures that a message can be sent between nodes in different Disjoint Sections. In this early iteration, each message contains signatures of the members of the Disjoint Sections but does not yet verify the signatures themselves.
Asynchronous consensus algorithm
Ensures that a global decentralised, permissionless Network can reach agreement about events that are permitted and the order in which they are to be recorded. A DAG-based algorithm that achieves the highest standard of security possibile, invented by MaidSafe in such a way that it ensures it is mathematically certain that every part of the Network will reach eventual agreement. In Fleming, we’ll be releasing a highly asynchronous version of PARSEC, with full asynchronicity to come later.
A decentralised system for ranking the behaviour, performance and abilities of nodes on the Network that requires no human intervention.
Each node on the SAFE Network is given an age by the Network itself. The node age increments every time that a node moves between Disjoint Sections, with only the most senior (Elders) entitled to vote during the PARSEC consensus algorithm.
Dig into the detail in the RFC, and join the discussion on the forum.
Read the RFC
Secure Message Delivery
Trusted communication between nodes - messages with authenticated source
Ensures messages are sent and signed in such a way that lets nodes rely on the contents of each message despite having no previous relationship with the sender. This solves a problem faced by many existing blockchain-based projects and is essential when you have a Network that will autonomously move nodes around as required.
Read the RFC
Reliable Message Delivery
Communication guaranteeing the successful delivery of messages.
Ensures that all sent messages will be successfully delivered to their destinations, even when some nodes responsible for the delivery are failing.
Read the RFC
The low-level language which users connecting to SAFE will use for all network communications
Software that lets computers communicate in an encrypted manner on the SAFE Network. The software provides the infrastructure for messages to travel whilst the Routing layer of the Network sets the rules about which directions those messages can travel in.
Preventing malicious nodes subverting the consensus algorithm, PARSEC
The way that nodes identify malicious nodes that are damaging the Network within a Disjoint Section and the mechanism by which they agree to eject that node, or mitigate the risk.
Read the RFC
Test Safecoin & Wallet
Allow the Network to charge, and a user to send and receive payments to a wallet, in units called Test Safecoins
Safecoin is the incentive mechanism that encourages individuals to provide the computing resources that the Network requires: storage, broadband, and CPU resources.
The process of providing resource and receiving Safecoin in return
Individuals who choose to supply the resources that the Network requires have the opportunity to be rewarded with Safecoin. This work ensures that the Network rewards those who provide it with valuable resources.
Vaults From Home
The ability for anyone to download software and run Vaults from home, creating decentralised storage for the Network
Decentralised data storage is a key element of the SAFE Network. This release will enable nodes to participate regardless of the resources they offer.
Published and Unpublished Data Types
Allow the network to store Published and Unpublished data via AppendOnlyData or MutableData types
Published data refers to content that is published (made available) for everyone such as websites, blogs, or research papers. For such public content, it becomes important to retain a history of changes. History must not be allowed to be tampered with and the published data must remain forever. Unpublished data is data that is not desired to be made public such as personal data or organisations’ data stored on the network
Unpublished ImmutableData Data Type
Enhance ImmutableData to make it an unpublished or published, with the difference that unpublished can be deleted
There are many times when a user will require to create Immutable Data to store private content. As long as this content is not published (made available for others) this will be deleteable by the data owner only.
SAFE Maxwell Network
The release of SAFE Maxwell builds on top of Fleming and enables the network to upgrade, improves security and sets the ground work for switching test SAFE Coin to real SAFEcoin.
Ability to handle spam attacks
Spam includes nodes attempting to carry out activities that they shouldn’t or valid activities at a scale that is intended to choke the Network. The Network should be able to withstand a reasonable volume of such attacks.
Ability for users to create and manage multiple identities for use on the network
Users will be able to create multiple identities in the Network. Each identity can be used as required by the User and each should be independent unless the User explicitly wants to connect them. This helps protect identity and privacy.
The ability for the Network to upgrade itself, with no harm caused
The Network will have the ability to upgrade itself in order to allow features and improvements to disseminate throughout the Network. The upgrades must be done in a way such that they don’t cause harm to the Network.
This is an important stage in the evolution of the Network as it means that new software can then continue to be rolled out onto the existing Network without disrupting the existing functionality.
Upcoming Network Features
The following list represents network work that remains to be completed. The order should not be seen as fixed in any way as in certain cases, work will be carried out in parallel by different teams.
A trusted executable environment within existing computers
Creates an area within the hardware of a computer that is a secure, trusted environment that stands separate from the rest of the computer. It functions like a mini-computer inside existing computers that cannot be opened.
Allow the network to grow and scale in a sustainable way
The Network allows controlled growth to ensure that the majority of decision-makers are healthy nodes that follow the rules of the Network. This growth should be sustainable in order to avoid unnecessary mergers between Sections.
Ability for the network to restart after a catastrophe
In the event of a catastrophic outage, the Network should be able to rebuild itself because it maintains the integrity of essential data (such as chain history) which enables it to start functioning again on the basis of the last known state of the Network.
The Network will have native support for RDF, enabling data to be compatible with the Semantic Web
Ensures that data on the SAFE Network is stored in such a way that the format can be understood by other Semantic Web projects, such as Solid.
Read the RFC
Obfuscating stored data
All data stored within a Vault on an individual’s computer must be entirely encrypted and unreadable
Ensures that even the smallest piece of data that is stored in a Vault cannot be read by the person controlling the computer on which it is stored.
Replace our concrete coin with a common coin to make PARSEC fully asynchronous
Common coin is a device that nodes can use to generate a “random” binary value (true or false). Every time a node flips the coin, all other nodes are guaranteed to observe the same value for their coin flip. Also, the value must be unpredictable, which means that no malicious node can know the outcome before a honest node has observed it.
Apps and User Experience
LATEST VERSION V0.15.2
The latest release includes some of the beginnings of the Perpetual Web, as well as the Authenticator: enabling you to securely sign in to the SAFE Network, and manage access and permissions of SAFE Apps.
The Perpetual Web
The SAFE Network is designed to ensure that public data is permanent and can never be deleted. Individuals and groups can choose to keep their data private, but once it’s been published, it will remain permanently available. This milestone aims to showcase the incredible power of this facet of the Network, by building out the User Experience, and iterating on it right through to launch.
Enhancements to the browser designed specifically to take advantage of the functionalities of the Perpetual Web
The SAFE Browser functionality will be extended to incorporate new features that are unique to the Perpetual Web, such as the ability to roll-back through the version history of any SAFE website or asset.
Mobile version of SAFE browser which is limited to browsing published data from the SAFE Network
Enables individuals to access the SAFE Network directly by using a browser on their mobile phone
Streamlined publishing of SAFE sites and Perpetual Data
A suite of tools which provides the necessary functionality to add data to the SAFE Network, publish perpetual data, and manage Public Names. This will supersede the Web Hosting Manager.
An advanced CLI to manage accounts and data
A command line tool to manage data on the SAFE Network. It will allow the user to store data on the network and manage accounts, identities, and permissions. This is the tool that the frontend apps and features—such as the Data Manager—will build upon.
Public Name System
Content stored should be accessible with human-readable URLs, via a decentralised domain name system: the Public Name System
A domain name system translates numerical IP addresses into a format that can be read by humans (eg. http//22.214.171.124 resolves to Google.com). The current web relies on a centralised organisation to maintain that record. The SAFE Network requires this process to be outside the control of a single party in order to avoid censorship and repression.
Read the RFC
If we want a world in which individuals can communicate freely whenever they choose, privacy is essential. This milestone aims to deliver just that.
Send secure private messages between clients
One of the most sought after features of the SAFE Network: secure, private, instant messaging.
Ability for users to create and manage multiple identities
Improves the user experience for individuals as they switch between the identities (or profiles) that they choose to represent themselves with on the SAFE Network, without the need to create multiple accounts.
Find, connect and stay up-to-date with other SAFE Network users
Enables SAFE users to find and connect with other people across a range of applications in a consistent way.
Take Control of Your Data
The SAFE Network turns the current data ownership model on its head. Personal information will no longer be stored on corporate servers. Self Authentication gives you complete control over your data. You can grant (and revoke) permission for apps to use your data at any time and prevent any unauthorised company or third party ever gaining access.
Fine-grained management of your personal data
The extension of the Data Manager tool to allow fine-grained control by individuals over their private and unpublished data.
Support storing and querying RDF resources in SAFE-Core
Ensures that the SAFE Network understands a way of describing the architecture of data that is understood by other projects, such as Solid
Read the RFC
Add native support for SPARQL to allow searching of data
Enhances the functionality of SAFE by adding SPARQL support to SAFE Client Libs and SAFE Vault. This ensures that the Network can understand a well-known semantic query language, and enables users to search.
Tools to enable collaboration through sharing and group permissions on private unpublished data
Manage sharing and permissions of private, unpublised data and files, for collaboration between individuals and groups.
A way of sharing and accessing SAFE Network files without the need for a Public Name
Create a system of standardised URL’s on the SAFE Network that are based on the XOR address of the content being referenced. Ensures that individuals can access and locate data and files in a more user-friendly manner.
The New Digital Economy
The new digital economy is all about ensuring that you no longer pay for your digital life with data. Instead, you use a cryptocurrency that’s integral and distributed by the SAFE Network. You earn value in return for providing resources to the Network.
Test Safecoin Wallet
Transact using Test Safecoins
Users will be able to use Test Safecoin in the Network, allowing an ecosystem to built around the SAFE incentive mechanism. The ability to create multiple wallets, associate them with an identity, and also one-time-use wallets to enable anonymous transactions, will all be part of this.
Vault User Interface
Easily set up, run, and manage a Vault
Users will see greatly-improved Vault User Experience. Anyone providing storage to the Network can expect to see a number of usability improvements, making it easy to offer resources and start farming on everyday home computers and devices.