Тема: Пара ідей для розподіленого обчислення
1. Надійна BitTorrent-подібна файлова система (не BTFS).
Кожен учасник має надати певний об'єм для зберігання інформації в мережі; від об'єму і стабільності носія залежить рейтинг учасника. Початковий рейтинг відповідає 1/3 наданого місця.
Всі дані користувачів з високим рейтингом в системі зберігаються щонайменше на 3 носіях. Якщо носіїв стає 2, дані кимось копіюються до себе.
Дані зберігаються у вигляді (наприклад) 128KB кластерів даних. Кластери ідентифікуються за 1024-bit (128b) хешами; така довжина практично гарантує відсутність колізій. Якщо кілька людей викладають однакову інформацію (популярне відео, наприклад), то їхні рейтинги підвищуються. Якщо кластер не використовується ніким, всі 3 копії видаляються. Якщо рейтинг власника падає, його дані можуть бути видалені.
Кластери шифруються спільним відкритим ключем, причому перші 128 байт лишаються тільки у власника інформації. Решту даних без першого шматка розшифрувати неможливо. Таким чином, якщо кілька людей викладають однакову інформацію, про це відомо з хешу; але яку саме інформацію - знають лише вони, бо лише вони мають початкові байти.
Питання балансування такої мережі, обчислення рейтингу учасників, анонімності доступу і т.д. мені видаються технічними і вирішуваними.
2. Coin@home
Є купа проектів розподіленого обчислення, де можна надати ресурси свого домашнього комп'ютера для вирішення якоїсь спільної задачі, від пошуку позаземних цивілізацій до лікування раку.
З іншого боку, купа ресурсів вкладається зараз у майнінг - фактично, пошук розв'язків складних рівнянь методом перебору, який нікому, крім майнерів, не потрібен. Якби ресурси майнерів були використані на розподілені обчислення, ми б зараз, можливо, вже вилікували малярію та мали б термоядерну енергію.
Я бачу лише одну принципову проблему в коїнізації розподілених обчислень - PoW, proof-of-work. І мені здається, її можна вирішити вибірковими перевірками - якщо хтось стверджує, що розв'язав 128K задач, то достатньо перевірити рішення випадкових 16 з них, щоб прийняти це твердження. Тим більше, що різні сервери будуть перевіряти різні рішення, а одна знайдена помилка призведе до відкидання заявки та/або блокування гаманця.