Сегодня я хочу рассказать вам о таком интересном проекте как Twister.
Twister — это сервис микроблогинга (аналогичный твиттеру), но его отличает несколько очень интересных технологий которые были использованы одновременно.
А именно: Bitcoin Block Chain, Bittorrent DHT, Bittorrent Swarm.
Другими словами — это полностью анонимный, децентрализованный сервис микроблогинга который вобрал в себя всё лучшее от Bittorrent и Bitcoin.
Сейчас происходит бум децентрализованных сервисов, Bitcoin, Bittorrent, Bitmessage, мессенджер Tox, их объединяет общая идея — быть независимыми от всех, быть неподконтрольными.
Создатель Twister, Miguel Freitas, считает, что микроблоги осуществляли огромную помощь в различных акциях протеста в множестве государств. Но, к сожалению, политика «информационной безопасности» государств идет в разрез со свободой слова, и под давлением тех или иных структур, начали удаляться неправильные сообщения или целые учетные записи.
Ну и конечно, иногда государство требует произвести деанонимизацию — от компаний — получив все записи о заходах пользователя.
Именно идея отсутствия свободы слова в удобном формате и побудили его создать данный сервис.
Что должен включать в себя удобный способ распространения информации?
— Интерфейс который будет понятен большинству пользователей
— Поддержка мобильных устройств
— Защита от глобального контроля и шпионажа
— Нормальные имена пользователей (Сравнение Twister и Bitmessage)
Автор данного мессенджера в своем whitepaper проводит сравнение с существующими федеративными социальными сетями и таким приложением как Bitmessage.
К сожалению, все эти свойства ранее не встречались ни в одном из сервисов или протоколов.
А теперь давайте поговорим из чего состоит Twister.
Что и для чего используется
Bitcoin Block Chain
Цепочка блоков от системы Bitcoin используется для хранения регистрационной информации, другими словами, когда вы регистрируетесь в системе — данные о вас рассылаются всем. Это позволяет защитить вас от кражи вашего ника в системе и не позволяет другим людям, под видом вас, публиковать ложную информацию.
Обратите внимание, что цепочка блоков отличается от Bitcoin.
Bittorrent DHT
Данная технология используется для рассылки ваших сообщений в сеть, передачи личных сообщений и другого контента который может быть в сети.
Как только вы напишите пост — он будет разослан в DHT сеть и сохранен у вас для дальнейшего распространения.
Обратите внимание, что каждый участник сети не хранит все данные сети (есть вероятность того, что если у вас мало подписчиков, что информация из вашего блога будет недоступна при отсутствии подключения у вас с интернетом)
Bittorrent Swarm
Swarm — рой
Данная технология используется для практически моментального обновления информации среди подписчиков или людей находящихся рядом.
Она работает параллельно с DHT, что позволяет решить одну и ту же проблему различными способами, дополнительно разгрузив основную DHT сеть от запросов.
Генерация новых блоков
Дочитав до этого места вы возможно спросите, "Но постойте, генерация блоков в сети bitcoin требует много вычислительных ресурсов, кто этим занимается и какая награда? "
Вы правы, по умолчанию вы не генерируете новые блоки в сети, но вы можете начать их генерировать, а в качестве награды вы получите возможность отправить рекламное сообщение которое будет отображено всем пользователям сети.
Интерфейс для пользователя
Twister — состоит из двух частей — демона и веб интерфейса.
Веб интерфейс по API запрашивает информацию с локального демона, разделение на две части позволяет реализовать различные интерфейсы к Twister.
Оригинальный интерфейс выглядит вот так:
Ещё
Особенности и состояние сети
— По аналогии с Bitcoin — если вы потеряете секретный ключ — вы потеряете доступ к своему аккаунту без возможности восстановления.
— Сейчас в среднем в сети около 500 активных узлов и около 18000 блоков в цепочке.
— Все что есть в твиттере есть и тут — указание пользователя через знак @, хэштеги, поиск по хештегам и пользователям, поддержка описание учетной записи, возможность загрузить аватар.
Данные возможности могут звучать смешно, но не забывайте — это P2P децентрализованная система, в ней все намного сложнее реализовать, чем при традиционном клиент-серверном подходе.
Проект очень молодой и активно развивается.
Сейчас нет готовой, скомпилированной версии Twister, но каждый может скомпилировать себе свой twister.
Инструкция по сборке: OS X, Windows, Linux
Более быстрая установка для OS X
1) В консоли следует ввести brew install boost miniupnpc openssl berkeley-db4
Если у вас не установлен brew — установить
2) echo -e «rpcuser=user\nrpcpassword=pwd» > "/Users/${USER}/.twister/twister.conf"
chmod 600 "/Users/${USER}/.twister/twister.conf"
3) В любой папке введите git clone git@github.com:miguelfreitas/twister-html.git
Затем ln -s twister-html /Users/${USER}/.twister/html
4) Скачайте скомпилированный вариант для OS X https://mega.co.nz/#!SU4CiBAa!RKVLfX4BJq4t0JCqFZK7UHuBEURlTcLKIasF8SAmU4Q
5) Запустите его командой ./twisterd -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
6) Откройте браузер http://localhost:28332/home.html
Если у вас не установлен brew — установить
2) echo -e «rpcuser=user\nrpcpassword=pwd» > "/Users/${USER}/.twister/twister.conf"
chmod 600 "/Users/${USER}/.twister/twister.conf"
3) В любой папке введите git clone git@github.com:miguelfreitas/twister-html.git
Затем ln -s twister-html /Users/${USER}/.twister/html
4) Скачайте скомпилированный вариант для OS X https://mega.co.nz/#!SU4CiBAa!RKVLfX4BJq4t0JCqFZK7UHuBEURlTcLKIasF8SAmU4Q
5) Запустите его командой ./twisterd -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
6) Откройте браузер http://localhost:28332/home.html
Ссылки
Официальный сайт twister.net.co
Официальный репозиторий github.com/miguelfreitas/twister-core
Веб интерфейс github.com/miguelfreitas/twister-html.git
Whitepaper arxiv.org/pdf/1312.7152v1.pdf
Сейчас происходит русификация интерфейса, помочь и посмотреть можно тут github.com/iShift/twister-html