MaidSafe – интересная распределённая система передачи и хранения данных. Мне понравилась эта идея и я захотел поделиться с общественностью. Компания MaidSafe зарегистрирована в Шотландии, и разрабатывает свой проект при поддержке спонсоров.
Обзор платформы
MaidSafe состоит из двух главных компонентов – сеть и клиентские приложения. Сеть находится в разработке, и планируется к выходу к концу 2014 года (уже доступны исходники для компиляции на github. Также готовятся к выпуску приложения, которые на примере покажут использование SAFE API и позволят всем создавать свои собственные приложения.
Сеть SAFE
Сеть SAFE (Secure Access for Everyone, безопасный доступ для всех. БезДоДляВ? ВсеБезДоз?) – полностью распределённый сервис для работы с данными. Сеть обрабатывает как статические, так и динамические данные, включая коммуникации. Данные либо шифруются на клиенте, либо подписываются цифровой подписью клиента. В любом случае, сеть не имеет возможности расшифровывать данные, проходящие по ней. Можно представить себе это как децентрализованный сервер, работающий вместо типичных серверов httpd, ssh, scp, ftp, smtp, pop3, imap, и т.п.
Сеть SAFE создаётся из неиспользуемых места на диске, мощностей CPU и сетевых возможностей обычных компьютеров. Скорее всего, эти компьютеры будут принадлежать пользователям системы, но это не обязательно. Каждый компьютер будет, по сути, майнить кредиты, которые потом сможет обменять на товары и услуги. Эти кредиты называются safecoin.
Клиентские приложения
Клиенты сети получают к ней доступ посредством инновационных идей:
1. самошифрующиеся данные
2. доступ и создание криптографически безопасных идентификационных ключей на децентрализованных серверах открытых ключей
3. само-аутентификация
Приложение может получать доступ, хранить, менять данные, и общаться по сети. Приложение позволяет анонимно подключаться к сети, и не может запретить людям это делать. Данные представлены клиентам как виртуальные диски, либо как данные для приложений, которые они обрабатывают, либо как коммуникационные данные, которые приложения обрабатывают в зависимости от нужд.
Примеры клиентских приложений: облачное хранилище, шифрованный обмен сообщениями, сайты, кошельки для криптовалют, обработка любых документов любых форматов, распределённые базы данных, совместная обработка документов, подписание документов и контрактов, торговые сделки и т.д. и т.п. Клиенты могут получать доступ к любому сервису, который представлен в интернете, и предлагать множество уникальных сервисов, недоступных сейчас, при централизованной архитектуре.
Обеспечивая доступ к сети, клиенты заботятся, чтобы пользователям пришлось вводить пароль только один раз. Клиент содержит множество ключей с паролями и может автоматически «входить» в любые сервисы сети. То есть, к примеру, вы сможете зарегистрироваться на веб-сайте, просто нажав кнопку «Присоединиться».
Цифровое голосование, новостная агрегация, передача секретной информации – возможно всё это и многое другое!
Свойства распределённой сети
Видение проекта – замена существующей сети из небезопасных серверов полностью распределённой, безопасной и приватной сетью. Сетью, где никто посторонний не может перехватить, скопировать, украсть и продать какие-либо данные.
Платформа предлагает распределённую сеть, позволяющую разработчикам создавать быстрые и безопасные приложения любого вида. Без необходимости приобретать API-ключи и строить инфраструктуру, разработчики не несут финансовых рисков и могут приобретать покупателей очень недорого.
Нет серверов – нет датацентров.
Сервер нельзя взломать.
Никакой цензуры в сети и контроля DNS.
DOS-атаки неэффективны из-за системы «оппортунистического кэширования».
Хранение данных без ограничения объёма, бесплатно и без транзакций.
Никаких администраторов – только пользователи.
Сеть настраивается автоматически в реальном времени.
Приватность и защита данных обеспечиваются тысячами алгоритмов, работающих на сотнях узлов.
Сеть сама решает, где хранить данные.
Исчезает необходимость планирования сети и резервирования мощностей
Никаких датацентров и админов.
Данные шифруются на лету, незаметно для пользователей.
Автоматическое удаление дубликатов данных.
Автоматическое реплицирование и восстановление.
Географическое распределение данных, позволяющее восстановить их даже при массовых отказах местных сетей.
Криптографические подписи данных.
Ни у кого не доступа к чужим данным, если они специально не расшарены.
Полная защита от перехвата паролей (они не передаются по сети).
Как минимум три разных области с разными ключами и ID, без связи между ними.
Вход в систему по имени, пин-коду и паролю.
Хранение, получение и изменение данных с отдельным ID.
Общение с другими через отдельный ID.
Более сложные системы шаринга через создание дополнительных цепочек ключей.
Создание приватных шарингов для друзей и коллег.
Создание любого количества публичных шарингов данных (веб-сайты).
Системы микроблоггинга.
Социальные сети.
Делитесь, чем угодно – музыкой, программами, фотками.
Возможна работа больших приложений на слабых устройствах.
Автоматическое распределение процессорной мощности, места на диске и памяти.
Поддержка контроля версий позволяет откаты, автоматическое и ручное слияние данных.
Приложения
Приведённые примеры приложений – малая толика того, как можно использовать сеть SAFE. Можно использовать всё, что работает в интернете сейчас, и ещё больше.
— социальные сети
— прослушивание музыки
— просмотр фильмов
— VOIP
— шаринг любых данных
— безопасное хранение данных
— чаты
— финансовые приложения
— цифровое голосование
— медицинские записи
— магазины приложений
— безопасная почта
— блоги
Лицензирование
Как и сегодняшний интернет, система MaidSafe не может никому принадлежать и никем контролироваться – она наша, она принадлежит всем (прим. перев: к сожалению, с интернетом всё не совсем так, в этом и смысл таких сетей). MaidSafe полностью анонимна, безопасна и недоступна вторжению любого рода, её нельзя контролировать и ею нельзя владеть. Эта система имеет открытый код, распространяемый под лицензией GPL3. Мы не владеем им, его может использовать кто угодно (и так будет всегда), и любой может создать свою версию проекта.
Но MaidSafe не против прибыли. Отличные продукты не существуют без отличных людей и компаний, у которых есть инвесторы.
Наша лицензия содержит условие, позволяющее создавать приложения под лицензиями, отличными от GPL, при условии отчислений в размере 1%. Эти отчисления помогут в развитии сети и в получении возврата инвестиций. 1% — достаточно небольшая сумма, чтобы поощрить создание приложений бизнесменами, предпринимателями и инноваторами, и является намного меньшим барьером, по сравнению с существующими сейчас сервисами. Сравните с 30% отчислением в Apple Store, к которому прибавлена ежегодная абонентская плата.
MaidSafe не будет оценивать клиентские приложения и банить те, кто не подходит под какие-то стандарты качества. Всё проще. Мы позволим рынку оценивать качество приложения – плохие приложения не будут использоваться. Мы уверены, что такой подход будет поощрять разработчиков сотрудничать с нами. GPL и коммерческая лицензия обеспечивает разработчиков патентной защитой для их программ. Открытые исходники позволят сторонним разработчикам проверять нашу работу и не верить нам на слово.
Safecoin
Safecoin будет внутренней валютой сети, и механизмом стимулирования и вознаграждения пользователей и разработчиков, а также способом доступа к ресурсам сети. Пользователи, предоставившие ресурсы их компьютеров, называются Фермерами (Farmers), и получают за ресурсы safecoin. Разработчики называются Строителями (Builders), и зарабатывают safecoin пропорционально количеству использования созданных ими приложений (прим. перев. – так и хочется включить сюда рейнджеров). Разработчики, улучшающие код самой сети SAFE, исправляя ошибки и добавляя новые функции, также будут награждаться через safecoin. В случае фермеров и строителей safecoin будут создаваться самой сетью и распределяться автоматически. Награда внутренних разработчиков будет определяться голосованием.
Safecoin существуют только внутри сети SAFE, они будут храниться в кошельках пользователей, и их можно использовать, покупая сетевые ресурсы – увеличенное место для хранения, доступ к сетевым приложениям. Время распространения safecoin не задано. В отличие от многих криптовалют, распространение safecoin поддерживается информацией, и их количество прямо соотносится с количеством предоставляемых сетью ресурсов.
В таблице представлены попытки предсказать распространение монет, основанные на предсказании таких параметров, как количество узлов, количество данных на узле и количестве попыток сохранения данных.
Большая популярность сети приведёт к созданию большого количества ресурсов, что в свою очередь приведёт к генерации большого количества моент. Если потребонсть будет низка, всё будет наоборот. По логике, не должно быть избытка монет, который мог бы привести к их инфляции и уменьшению ценности.
Верхняя граница количества монет – 4.3 миллиарда. В данный момент около 10% монет выпущено посредством промежуточной валюты под названием MaidSafeCoin, продажа которой была проведена в апреле. В сети SAFE safecoin обрабатываются специальным менеджером транзакций.
![](https://habrastorage.org/files/4f5/6c5/395/4f56c5395aab4f14a2319dbe814a7902.png)
Это аналог blockchain, только в этом случае цепочки не полные, сохраняются только данные о текущем и предыдущем владельцах. В этом смысле можно сказать, что safecoin – это цифровая валюта. (Прим. перев: Да, и в России, Эквадоре и Боливии, это, наверно, будет запрещено.)
Строители
На картинке представлена структура библиотек MaidSafe.
Теперь у разработчиков есть действующая бизнес-модель, привязанная к открытым исходникам, и работает она при помощи safecoin. Закодировав свой id в приложение, вы автоматически будете получать вознаграждения, когда ваше приложение будет использоваться другими людьми.
Доступ разработчиков к сети будет бесплатным, примеры приложений будут доступны в ближайшее время. Документация по API доступна здесь
MaidSafe начинает организацию групп разработчиков, которые децентрализуют разработку сети и базу знаний, и позволят организовать мировое сообщество разработчиков. За дополнительной информацией обращайтесь на сайт
Причины для разработки на платформе MaidSafe:
— ваши приложения будут доступны всем
— никаких API-ключей – скачивай и разрабатывай
— минимальная стоимость приобретения пользователей и никаких расходов на инфраструктуру
— приложения, в реальном времени приспосабливающиеся к изменяющимся запросам
— безопасность, приватность и анонимность для всех пользователей
Фермеры
Сеть создаётся путём использования простаивающих ресурсов компьютеров. Фармеры, по аналогии с майнерами Bitcoin, зарабатывают монеты, предоставляя ресурсы своих компьютеров (место на диске, процессорная мощность и сетевое подключение).
Каждый может стать фермером, скачав приложение для сети SAFE и запустив его в режиме хранилища (vault). Никаких сложностей с настройкой – скачал и запустил. Сеть подстраивается автоматически.
Сеть хранит данные, распределяя их случайным образом среди узлов. Фермеры вознаграждаются, когда с их узла запрашиваются данные. Система работает по принципу «доказательства наличия ресурсов» Proof of Resource (P.O.R), проверяя, что ресурс, выделенный ей фермером, действительно доступен для использования. Постоянные проверки описаны на диаграмме.
![](https://habrastorage.org/files/975/968/81b/97596881b58648c9ba143bfa0d632d26.png)
Фермер предоставляет ресурсы сети -> сеть проверяет и измеряет ресурсы -> нужно предоставлять больше ресурсов, чем используешь сам -> сеть сохраняет данные и распределяет safecoin –> фермеры получают safecoin.
Если вы решите заделаться фермером, вы сможете это сделать в конце 2014, когда сеть запустится. Ресурсов необходимо предоставлять больше, чем используешь для себя. Например, фермер, предоставляя сети 10 Гб места и использующий 10 Гб места, ничего не заработает. Фермер, предоставляющий 100 Гб и использующий 10 Гб, заработает.
Каждому узлу сеть назначает ранг, который тем больше, чем больше ресурсов узел предоставляет, и чем больше времени он доступен в сети.
В настоящий момент мы не можем оценить скорость, с которой будут зарабатываться монеты, т.к. на это влияет слишком много переменных. В ближайшие месяцы мы начнём тестирование сети и будем публиковать данные, полученные при тестах, что позволит точнее оценить возможности фермерства. Так как сеть случайно выбирает узлы для хранения данных, по-видимому выгоднее будет поддерживать несколько обычных компьютеров, чем одну мощную «ферму». Для дальнейших дискуссий на эту тему можно обратиться к форуму сети.