mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
initial commit
This commit is contained in:
commit
d4994cde4c
61 changed files with 7044 additions and 0 deletions
87
post/twister-detsentralizovana-platforma-mikroblohiv.md
Normal file
87
post/twister-detsentralizovana-platforma-mikroblohiv.md
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
# twister - децентралізована платформа мікроблогів
|
||||
|
||||
[twister](http://twister.net.co/) (*твістер*, пишеться саме в нижньому регістрі) - це альтернативна пірингова платформа мікроблогів, створена на базі технологій BitTorrent і Bitcoin у 2013 році [@miguelfreitas](https://github.com/miguelfreitas/twister-core) як альтернатива колишньому централізованому сервісу twitter.com
|
||||
|
||||
У 2020 році, розробник платформи [припинив](http://twister.net.co/archives/617) її супровід, але оскільки мережа є децентралізованою, вона все ще продовжує функціонувати у своєму первинному стані, хоча кількість користувачів значно знизилась і наразі мережа близька до колапсу.
|
||||
|
||||
Дана стаття носить історично-інформаційний характер, і створена більше для зацікавлених у децентралізованих мережах користувачів з базовим досвідом програмування мовою C++ та адміністрування Linux, а ніж рядових споживачів сучасного контенту. Також нижче я не описуватиму весь досвід, оскільки наразі працюю над [книгою](https://twisterarmy.github.io/book/) у форматі документації [mdBook](https://devzone.org.ua/topic/introduction-mdbook-documentation) (англійською мовою), яку планую також в релізі перекласти українською.
|
||||
|
||||
## Принцип роботи
|
||||
|
||||
Як згадувалось вище, ядро twister (`twister-core`) по своїй суті є форком `bitcoin-core` з видаленням фактору цифрової валюти як такої, а блокчейн приведено до моделі схожої з [Namecoin](https://uk.wikipedia.org/wiki/Namecoin) - де користувачі зберігають свої дані, замість платіжних транзакцій. Оскільки мережа twister не має власної валюти, мотивація майнингу передбачала рекламні повідомлення у якості "нагороди". Окрім рекламних повідомлень майнерів, блокчейн зберігає мета дані DHT контенту користувачів у часовому порядку та прийняті майнерами запити на їх реєстрацію з рою (swarm).
|
||||
|
||||
Таким чином, і реєстрація і користування для кінцевого користувача задумувалось зробити безкоштовними і такими, що не потребуватимуть жодних обчислювальних потужностей, окрім хіба що, обчислення хешів торентів самих повідомлень (як це працює у звичайному біт-торент клієнті).
|
||||
|
||||
## Випробовування часом
|
||||
|
||||
Звісно, десять років - це не той термін, по якому можна робити висновки, хоча у просторі ІТ й цього часу буває достатньо: у зв'язку зі своєю не прибутковістю та не спекулятивністю, майнинг від самого початку відбувався силами ентузіастів а рекламні повідомлення - містили пусті за змістом дублікати тексту, лише задля підтримки цієї мережі небайдужими користувачами.
|
||||
|
||||
Більшість критики була об'єктивною ще від релізу цієї платформи:
|
||||
* відсутність анонімізації, що ставило під сумнів можливість використання цієї платформи у країнах з цензурою без додаткових обгорток;
|
||||
* низький рівень стійкості до спам атак на мережу - у зв'язку з цим був різкий пік сквотингу юзернеймів, з подальшими намаганнями виправити вразливість на швидкоруч; оскільки атака була здійснена невідомим користувачем, лише задля тестів, ймовірно вона була зупинена лише ним самим а не вирішенням фундаментальних недоліків архітектури;
|
||||
* повідомлення користувачів зберігаються у DHT, щоб зробити блокчейн мінімально "легким" з іншого боку, багато контенту просто втрачено з часом, оскільки блокчейн містить лише мета дані (info-hash) і щоб повідомлення зберігалось на іншому пірі, цей пір (користувач) повинен бути підписаним фоловером.
|
||||
|
||||
В ті роки, мав місце певний "бум" децентралізованих рішень, зокрема з'являлись і такі проекти як OpenBazaar та ZeroNet. Останній, окрім мікроблогінгу, дозволяв хостити свої веб-сторінки у децентралізованому форматі (по типу того, як це було згодом реалізовано в IPFS). Деякі користувачі перебрались на ZN, інші віддавали перевагу більш захищеним платформам накшталт RetroShare.
|
||||
|
||||
У свій час, я теж переключився на інші заняття та коли повернувся - помітив що з усього рою, лишилась буквально пара користувачів. Ще через декілька років, вже не вдавалось під'єднатись, оскільки майже [всі сервісні DNS](https://twisterarmy.github.io/network) були офлайн.
|
||||
|
||||
## Як спробувати
|
||||
|
||||
Наразі, мабуть з великим запізненням, спільнотою розробляється [пакунок Flatpak](https://github.com/twisterarmy/twister/releases/download/0.1.0/twister.flatpak), мабуть це самий простий спосіб запустити twister в сандбокс-режимі, щоб просто подивитись що це таке. Варто зауважити, що при користуванні Flatpak, клієнт падатиме при спробі запустити функцію майнингу, все інше наче працює добре.
|
||||
|
||||
Для тих, хто хоче нативно зібрати повністю робоче ядро під свою систему, напишу коротеньку інструкцію для Linux (на базі [матеріалу з книги](https://twisterarmy.github.io/book/twister-core/twisterarmy/build-on-linux)), оскільки мережа все ще жива і можливо буде комусь цікавою у якості постійної іграшки.
|
||||
|
||||
Наразі є дві опції встановлення: [офіційний twister-core](https://github.com/miguelfreitas/twister-core) та [twister-core від спільноти](https://github.com/twisterarmy/twister-core). Різниця полягає лише в тому, що останній має додаткові DNS вузли для ініціалізації та підтримку IPv6, тобто є більш конективним. Замініть адресу репозиторію у прикладі нижче - вашим вибором!
|
||||
|
||||
### Системні залежності
|
||||
|
||||
**Debian / Ubuntu**
|
||||
|
||||
``` bash
|
||||
sudo apt install git autoconf automake build-essential libtool\
|
||||
libboost-all-dev libssl-dev libdb++-dev libminiupnpc-dev
|
||||
```
|
||||
|
||||
**Fedora**
|
||||
|
||||
``` bash
|
||||
sudo dnf install git autoconf automake libtool make\
|
||||
boost-devel openssl-devel libdb-cxx-devel miniupnpc-devel
|
||||
```
|
||||
|
||||
### Збірка
|
||||
|
||||
Даний приклад підходить для встановлення на `localhost`, при використанні архітектури `amd64`, тому кроки спрощено.
|
||||
|
||||
1. Ядро ([twister-core](https://github.com/twisterarmy/twister-core))
|
||||
- `git clone https://github.com/twisterarmy/twister-core.git`
|
||||
- `cd twister-core`
|
||||
- `./autotool.sh`
|
||||
- `./configure`
|
||||
- `make`
|
||||
2. Клієнт: застосунок не має GUI, тому ставимо Web-UI ([twister-html](https://github.com/twisterarmy/twister-html))
|
||||
- `mkdir ~/.twister`
|
||||
- `echo -e "rpcuser=user\nrpcpassword=pwd\nrpcallowip=127.0.0.1" > ~/.twister/twister.conf` - однією командою створюємо стандартний файл конфігурації для Web-UI; для локального запуску вузла, складні логін/пароль не потрібні
|
||||
- `chmod 600 ~/.twister/twister.conf`
|
||||
- `git clone https://github.com/twisterarmy/twister-html.git ~/.twister/html`
|
||||
3. Запуск
|
||||
- `./twisterd`
|
||||
- відкриваємо у браузері [http://127.0.0.1:28332](http://127.0.0.1:28332)
|
||||
* вказуємо стандартні `user` і `pwd` (спадкова реалізація оригінального Bitcoin RPC API)
|
||||
* далі з'являється діалог вітання із запрошенням перейти на сторінку мережі, де відбуватиметься завантаження блокчейну.
|
||||
|
||||
### Користування
|
||||
|
||||
Коли завантажиться блокчейн, можна спробувати зареєструвати вільний юзернейм (який буде записано в кінець цього ж блокчейну, тобто коли будь який майнер отримає ваш запит і включить його до блоку). Після створення юзера, зберігаємо згенерований приватний ключ, він знадобиться тільки для доступу до акаунту з іншого пристрою або для подальшого бекапу.
|
||||
|
||||
Реєстрація займатиме деякий час. Також, з урахуванням поточного онлайну, деякий час (пара хвилин або навіть годин чи днів) може зайняти ініціалізація DHT процесів, тримайте це діло увімкненим допоки [на сторінці мережі](http://127.0.0.1:28332/network.html) не засвітиться зелений індикатор.
|
||||
|
||||
У списку останніх користувачів, спробуйте знайти активного та щось йому написати. Або напишіть у свою стрічку вітання.
|
||||
|
||||
## Перспективи
|
||||
|
||||
Не стану давати оцінку суб'єктивним поглядом на подальші перспективи цього проекту, оскільки мережа twister є повністю децентралізованою і жодним чином не залежить від моїх висновків. Особисто, мені - вона подобається, на відміну від централізованих сервісів, у тому числі Fediverse, де по суті інстанси є такими само сервер-орієнтованими платформами, але з більш сучасним форматом агрегації (ActivityPub замість RSS).
|
||||
|
||||
Дана мережа обіцяла колапсувати ще п'ять років тому: деякі юзери раз на рік надсилають свій меседж про існування і зникають ще на стільки само. Тим не менше, вона існує у власному вимірі, і коли всі монітори пишуть офлайн, через деякий час виявляється що до неї ще можна під'єднатись.
|
||||
|
||||
Якщо вам подобаються різні екзотичні проекти по типу twister, та ви бажаєте підтримати дану пірингову мережу - доєднуйтесь до користування, щоб продовжити її функціонування - мабуть, в тому і суть роботи по справжньому не залежних соціальних платформ!
|
||||
Loading…
Add table
Add a link
Reference in a new issue