start.1561309699.txt.gz · Last modified: 2019/06/23 13:08 by drirmbda | Draft Newest approved

This is an old revision of the document!


Welcome to the Independent SAFE Network Wiki

The SAFE Network project is vast and complex. While there are great resources available online for study, these resources still tend to be hard to locate and digest. The SAFE Network Forum contains many years-worth of great information but lacks concise and up-to-date summaries which would be convenient for newcomers to catch up.

The purpose of this wiki is to make the SAFE Network project more accessible. This is starting-out as a growing collection of personal notes of the editor trying to thoroughly understand the project, and is intended to evolve into an independent guide to SAFE Network.

All information here is unofficial. You are free to edit and contribute right here as you learn about MaidSafe and SAFE Network yourself. This Wiki fills gaps, referencing existing resources whenever possible. Opinions belong on the Safenet forum.

Before you can start editing your need to through automatic registration. This is needed to avoid spam. There are some rules to follow to keep this fun. The rules page also contains contact information, and legal notices.
Before reading this site you must accept that it is your responsibility to obtain expert judgment and advice before using any information from this site for your particular situation. You accept that you alone are responsible for any losses or damages resulting from using this website.
If you want to find out more about SAFE Network or start contributing, we want to be your guide. For specific topics look at the table on contents on the right. Otherwise pick a subsection based on the desired level of depth you are looking for.

The SAFE Network forum also has a start here page which you may want to have a look at.

Getting up to speed

  1. This is just out - the SAFE Network primer
  2. A sampling of topics made easy SAFE Crossroads
  3. If you've only got 10 minutes 10 key facts
  4. For those familiar with bitcoin / blockchain SAFE Network explained using bitcoin terminology

(a document called SafeNetForDummies is available on Google docs but I lost the link to it)

Contribution ideas

(Marketing, improving documentation, and performing testing?)

Getting up to speed

  1. A write-up of September 2017 can be found here.
  2. The Documentation topic of September 2017 summarizes many concepts here.

Reading this wiki may one day provide an accurate technical introduction but we are only at the beginning. If you are in the process of trying to go beyond the basic level feel free to share your notes on this wiki.

Contribution ideas

(Testing and validation of code and concepts)

  1. Become an ambassador in your region! discussion and pointers. Recognition on the SafeNetwork forum for your work may earn you an official SAFE Ambassador title. See Appendix section People for a list of SAFE Ambassadors.

Getting up to speed

  1. Read all RFCs
  2. Read all Documentation and Code
RFCs

MaidSafe requests input through a public RFC (Request For Comment) process. RFCs are accessible here on GitHub.

The list of RFCs by status can be found in that repository here.

MAIDSafe has internal “pre-RFC” documents on certain topics, which means that the published RFCs provide an incomplete picture of the status of technology development.

Rust Core Libraries Documentation
SAFE Web App
API Documentation

Contribution Ideas

MaidSafe has an RFC process and discussion takes place on the MAID Safe Forum. (Summaries of the issues and resolutions could be added here for each.)

Unsolved questions (still?)

Discussions

(participate in discussion of RFCs)

List of all RFC discussions

Cutting through marketing and hype, we are interested in which of the many good things SAFE Network will do for it's users will matter most to you. Understand what SAFE Network is really about, and why it's worth the wait.

Furthermore, understanding which features are at the core, and which are higher level or add-ons will help to focus development and create a stronger foundation made to last.

The primary goal of SAFE Network is becoming completely autonomous; impossible to change, break or stop by any single entity or group of actors.

The first iteration of the SAFE Network will achieve the following core goals (discussion):

  1. de-centralize ownership of certain network functions so that they cannot be changed or disabled by any group of actors(*3)
    1. function: identity proofing
    2. function: access control
    3. function: communication
    4. function: information storage
  2. protect all information perpetually(*1) from unpermitted access, interception, tampering or deletion
  3. preserve stored information, and end-to-end communications, and global access to these perpetually(*1) and for free(**2)
  4. provide a digital medium of exchange
  • *1) The meaning of perpetual is not clear yet. 30 years?
  • *2) Free, except for the cost of broadband access and the user terminal.
  • *3) That the threshold is to making changes is unclear yet. A majority?

A future iteration is expected to achieve the following additional goals

  1. function: computation

Trustless network, autonomous network, and de-centralized network may be very similar ways to express the same goal.

Open Questions

(List open questions here, along with links to forum discussion, until we find some answers.)

What is perpetual? What is the required size of group of actors to allow changes to the mechanisms of SAFE Network that guarantee the core goals?

Certain goals not included in the previous section, but on the roadmap, could be considered non-essential, or merely good-to-have. This is a list of such goals, and is subject to change:

Independent but important add-ons

  1. multiple identities
  2. de-centralized name resolution
  3. CLI interface and API

Convenient and promoting adoption

  1. SAFE Browser
  2. Language bindings

Nice to have but not as important

  1. RDF Format

Benefits will be the results of SAFE Network achieving its goals. Many individual benefits may not be unique to SAFE Network, but the combination of a large number of them might be.

Relevant to the user

  1. No censorship
  2. Perfect privacy
  3. Full control over own data
  4. No loss of data or access issues ever
  5. No loss of ability to communicate ever
  6. Always on; 100% availability
Cryptocurrency benefits relevant to users
  1. No transaction fees
  2. Anonymous and untraceable transactions
Open Questions

Does permanent availability of published data not contradict having full control over own data?

Relevant to the developer

  1. No need to implement and maintain reliable data storage
  2. No need to implement and maintain basic security measures
  3. No need to implement authentication
  4. Get paid for development of software
  5. Inherently scaling storage infrastructure

Relevant to technical progress

  1. Scalable immutable transaction ledger
  2. Scalable cryptocurrency (without a block chain)

Relevant to our planet

  1. Consensus at low power consumption
  2. Secure cryptocurrency at low power cost (in contrast to PoW)

Official Project Roadmap

  • Alpha 2 - Live! - Interact with a network of MaidSafe vaults using SAFEBrowser - PUT limits apply, minimum forum membership level required.
  • SAFE Fleming - Let's guess August 2019 - PARSEC, Node Ageing, Secure Messaging, and potentially (!) vaults at home and test SafeCoin.
  • SAFE Maxwell - Let's guess May 2020 - test SafeCoin, wallet, vaults at home, farming, identity management, spam handling

RFC Project Board Github

A good architecture of SAFE Network is incredibly important for long-term success. This section will be an attempt to give an accurate overview.

Layers 0-4 will provide the basis for communication, without modification. Internet/Routing (Layer 3) will be based on IPv4 and/or IPv6. Host-to-host Transport (Layer 4) will provide QUIC transport, which is based on UDP (a connection-less service). SAFE Network will not modify anything below and including Layer 3. SAFE Network will add to Layer 4, and functions in Layers 5, 6, and 7:

LAYER 7 - Application: Vaults, SAFE Browser, Authenticator, SDNS, (not sure about SFTP, SNTP, SIMAP) (tentatively placed here until verified)

LAYER 6 - Presentation: “Self-Encryption” (tentatively placed here until verified)

LAYER 5 - Session: Session ID and network entry point selection, Self-Authentication (tentative)

LAYER 4 - Routing: SAFE Network PARSEC Consensus, and Kademlia Distributed Hash Table-based Routing, using QUIC/UDP

Open Questions

Does this mean that if Layers 4 or below would fail on a grand scale, it could disrupt SAFE Network, or even an irrecoverable disruption?

Open Items

Could SAFE Network be split up in smaller parts to speed up development and to make it more robust?

Before Launch
After Launch

Notes on CRUST

  1. CRUST will be replaced by QUIC (originally: Quick UDP Internet Connections), which relies on UDP/IP.

The SAFE Network is a virtual overlay network on the Internet, consisting of SAFE Network Nodes, which correspond to an instance of SAFE Network “Vault” software in the real world. Nodes are dynamically organized by the network as Vaults come, gain trust over time, and leave the network.

SAFE Network Address Space

SAFE Network Nodes exist in the virtual overlay network in a multi-dimensional space called the XOR Space. There is no correlation between geographical distance (or IP address distance) between physical nodes in the real world, and distance between the same nodes in XOR Space. This is the result of how Node IDs are allocated by the SAFE Network. People running a Vault have no control over this process, which is an important security feature.

In XOR space, the distance between Nodes is the XOR of the IDs of the two Nodes, which is read as an unsigned integer. Distance is used for routing in this space and for organizing Nodes into groups, as well as for allocating responsibilities over other entities in SAFE Network XOR space such as “Clients” and units of data (“Chunks”), which also have an ID using which distances to Nodes can be calculated in exactly the same way.

Clients need to connect to Nodes to access the SAFE Network and the appropriate node is decided based on distance. Chunks are managed by groups of Nodes, which are also determined by distance. Chunks of data derive their ID from a hash of the contents of the chunk.

  • Entities in XOR Space: Vault Nodes, Clients, Chunks (other?)
  • XOR Space addresses length: 256 bits

Organization of Entities

The XOR space is dynamically subdivided by a sectioning algorithm into a growing number of dis-joint XOR sub-spaces as the number of Nodes grows. The sub-spaces are called “Sections”. Nearby Sections of Nodes watch over each other, and within each Section a hierarchy of Nodes exists based on Age, which determines the level of trust, responsibility of a Node, and the power it has over other Nodes.

Sections run PARSEC consensus algorithms to make decisions, and sign decisions using a group signature so that neighboring Sections can verify them. Decisions (and events) are stored in Data Chains.

  • Algorithms: Sectioning, … (other TBD)
  • Section group size and split threshold: 8 (typical number which may be changed in the future)
  • Consensus threshold: 5 out of 8 (62.5% (of “quorum size”?))
  • Information held by Sections: Data Chains (of a Section, or a neighboring Section), Routing Table (
In this section we will try to separate out and have a closer look at the mechanisms that will keep the SAFE Network working as intended. Each of these need to be checked for possible weaknesses that could lead to disastrous malicious attacks.

Self-configuration of the network

SAFE Network will create a routed overlay network (OSI Layer 4) on top of an Internet of interconnected computing devices. All aspects from the overlay routing upwards should be de-centralized, consensus-based, and completely autonomous.

Maintaining the rules

All transactions or decisions are consented according to the rules of the network and recorded in a transaction ledger that acts as the ground truth to base future transactions on.

Incentive system to provide storage space

SafeCoin RFC-0057 Safecoin Revised

Incentive system to secure network integrity

Incentive system to secure perpetual access

Medium of exchange

SAFE Network will have a native cryptocurrency as a medium of exchange, primarily for providing incentives to entities supporting the network, and for charging network users appropriate amounts for their usage. It is called SafeCoin. To raise funding for the project a token called MAID has been created. MAID will be exchanged for SafeCoin at the launch of the SafeNet. MAID, and the economical aspects of SafeCoin are covered in a separate Section below.

Self-Authentication

Self-Encryption

Decentralized Consensus

MaidSafe claims a world's first decentralized, asynchronous, Byzantine Fault Tolerant consensus mechanism that works in permission-less networks and that is open source.

PARSEC GitHub parsec repo

Decentralized Applications

Open Items

Major network upgrades

(How to essentially reboot SAFE Network to fix issues requiring it, without loosing data?)

Minor network upgrades

(How to tweak and maintain code?)

After Launch
One special mechanism regulating the network involves SafeCoin, a medium of exchange within the network, but with a reach well beyond it. This section is intended to consider this from an Economist's viewpoint.

(MAID creation to fund development)

(scenarios impacting the value of MAID at conversion to SafeCoin)

At this time it is expected that one MAID token will be exchanged for son SafeCoin.

Source: this, Project-Safe whitepaper April 2014(outdated??)

  • Pre-launch supply (MAID): 452 M (452,552,412 units)
  • Investor allocation: 226 M
  • Maximum supply: 678 M

5% of total supply [of 678M??] goes to early investor/family

5% of total supply [of 678M??] goes to dev team

(money supply, economic output, inflation)

  • SafeCoin will be almost infinitely divisible

SafeCoin supply

(following needs confirmation.) 4/2017, authoritative April 2017

  • Pre-launch supply (MAID): 452 M (452,552,412 units) - slightly* over 10% (10.5%) of total supply, available at day 1
  • Early investor allocation: 215 M - (about?) 5% of total supply available at day 1
  • Maximum supply: 4.3B (4,294,967,295; 2^32-1)

*) Slighyly more by a few million due to error at MAID sale. @neo

SafeCoin creation

(following needs confirmation.)

4/2017, authoritative April 2017,@neo

SafeCoin goes to

  • Farmers - Depending on supply of available but unused storage; the (instantaneous) farming rate.
  • Network maintenance - Every GET on average pays core devs 5% of farming rate
  • App developers - Every GET due to an App pays 10% of farming rate
  • PtP (Pay the Provider - under discussion) - Every GET for specific data could pay 10% of farming rate

Farming rate is explained in RFC-0012.

SafeCoin destruction

@polpolrene

SafeCoins are destroyed/consumed by the network at:

  • Account creation (address/ID)
  • Domain name purchase
  • PUT of data (immutable data will be much less expensive than mutable data)

What determines the exchange value of SafeCoin

Since SAFE Coin will regulate availability of (secure and perpetual decentralized) storage, it may be expected to be as stable as that commodity. However, speculation and application for predominantly other uses might change the situation significantly.

Dealing with MAID and SAFE Network tokens is much more complicated than dealing with cash. This should be a guide to make things easier.

What is MAID

MAID is a token that exists in the OMNI layer on the Bitcoin Blockchain.

What is SafeCoin

SafeCoin will be the native medium of exchange within SAFE Network, and is supposed to replace MAID at the time of launch of the network.

Warning: SafeCoin is NOT this.

Exchanges trading MAID

As a general rule, do not leave large amount of MAID (or any other coins) on an exchange.

  • HitBTC: MAID/BTC, MAID/ETH, MAID/USDT. Consider the high level of complaints on social media about losing access to funds. MaidSafe does seem to have some leverage over HitBTC and could help get issues resolved.

Storing MAID offline

(what do you need to join.)

(how to start using apps.)

(how to start app software development)

(this will be the area of the tinkerers. How-to's, experiments, etc.)

Community SAFE Network

(deeper questions)

Perpetuity

(What does it mean to store information forever? What is forever? What is the scope of SAFE Network, and what will be needed to achieve true perpetual storage?)

A list of measures against which to measure “perpetuity”

Freedom

Equitable Access

Misuse of SafeNet

This section answers some questions that we could not easily find elsewhere. You can first check the official FAQ.

Terminology

(sorted)

Clearnetwork : Refers to the Internet as we know it today, which is what SAFE Network will replace.

MaidSafe : “Massive Array of Internet Disks, Secure Access For Everyone”, the name of the entity leading the development of the SAFE Network.

MVP : Minimum Viable Product: As defined in 2016, not the final product with messaging and SafeCoin, but a working network for storage, that may not guarantee perpetual data storage yet as it would be un-paid. In 2019 the meaning has changed see here, and replaced by a concrete roadmap.

PARSEC : Protocol for Asynchronous, Reliable, Secure and Efficient Consensus: An open sourced library

SAFE Network : “Secure Access for Everyone Network”, the name of the new Internet.

(what has happened in the past 13 years?)

  • Founding of MaidSafe Foundation and MaidSafe Inc.
  • Raising of funding using MAID
  • The PARSEC Milestone (May 2018)

Tidbits

  • Sigmoid x was a company that was later folded into MaidSafe.
  • MaidSafe has sponsored work at Strathclyde University in the past.

(who are those people on the forum and what are their interests? Categories? Who are most well-known? Ranking by date of first post?)

MAIDSafe Team on the SAFE Network Forum

SAFE Network Forum Moderator Team

Official SAFE Ambassadors: @dimitar (Bulgaria); @Sotros25 (US); @oetyng (Sweden)

Community Doers

(Somewhat arbitrary and incomplete list of people and their projects. Add your SAFE Network community heros here.)

@happybeing since April 2014 and still active, eg SAFEDrive

@dimitar since August 2014, eg First SAFE Ambassador (Bulgaria)

(this is incomplete - work in progress)

Starting point: Google scholar, “maidsafe” and “David Irvine” as search terms.

Relevant forum posts: March 2018, [https://safenetforum.org/t/safe-network-dev-update-june-20-2019/29010/81|June 2019]]

Non-peer-reviewed
Peer Reviewed

(probably peer-reviewed)

Mentions of MAID/ICO

(list not reviewed)

(This is a community best effort list. Do not rely on this information for any purpose, do your own research and obtain your professional advice.)

Applications Pending
Granted and Assigned to Sigmoid Solutions
Granted and Assigned to MaidSafe Foundation

(similar projects and status, failures, successes)

  • Napster (P2P file sharing) 1999
  • Freenet (distributed publishing) 2000
  • BitTorrent (P2P file sharing)
  • Bitcoin (decentralized trust and digital ledger) 2009

Archive

Github Archive (Deprecated/archived repositories)

(Note that some information may have become outdated and incorrect.)

Safenetwork.org 'Community' Links

Safenetwork.org 'Documentation' Links

Introductions by MaidSafe and community

SAFE Crossroads Intelligent and simple.

Fundamental Principles

App Directory

David's Blog

Miscellaneous

Introductions by third parties