COMPAX

ПИТАННЯ

П’ятнадцять
найчастіших

Ніхто не віддає гроші програмі, яку не розпитав. Ось ті питання, що виникають до першого платежу, з прямими відповідями — включно з двома, де відповідь незручна.

Основи

Це месенджер чи гаманець?

І те, і те, і одне не прикручене до іншого. Платіж тут — це різновид повідомлення: він приходить у ту переписку, до якої належить, і там же підписується.

Якщо ти ніколи не відкриєш гаманець, у тебе лишиться груповий чат зі наскрізним шифруванням, дзвінками, файлами, теками й голосовими. Якщо відкриєш — гроші живуть у тих самих кімнатах, що й люди, які їх ділять.

Чи треба щось знати про крипту, щоб цим користуватися?

Щоб надіслати повідомлення — геть нічого.

Щоб ділити гаманець, потрібні дві речі. Тримай свої двадцять чотири слова в надійному місці й зрозумій одне правило: гроші рухаються, коли за них підписалося досить учасників. Усе інше бере на себе застосунок — адреса, записана один раз, стає іменем, і поле «кому платити» питає людину, а не шістдесят чотири знаки.

На яких платформах він працює?

macOS, iOS, Android, веб і розширення для браузера. Скрізь однаковий інтерфейс: те, чого навчився на телефоні, ти вже знаєш на комп’ютері.

Чи можна користуватися і взагалі не чіпати гаманець?

Так. У грошах тут немає нічого обов’язкового. Група без гаманця — це груповий чат, і вона ним і лишається, доки хтось не відкриє в ній гаманець.

Гроші

Хто тримає гроші групи?

Ніхто. У цьому вся річ.

У групового гаманця немає власника: ключ кожного підписанта створений на його власному пристрої і там же лишається, а адреса зібрана з усіх одразу. Щоб вивести з нього гроші, потрібно стільки підписів, про скільки домовилася група, — будь-які двоє з трьох, будь-які п’ятеро з дев’яти, як поставили. Доки не підписало досить, платіж — це запит.

Хто платить комісію мережі?

Гаманець, з якого йдуть гроші. Скільки це коштуватиме, у картці підпису не написано: у більшості мереж комісія невідома, доки ті, хто підписує, не зберуть транзакцію, а число, вигадане раніше, було б здогадом про чужі гроші. Там, де комісія платиться тією ж монетою, яку надсилаєш, надсилання всього залишку може не лишити, чим платити, — і про це сказано просто там, де вводиться сума.

Які мережі й монети?

Bitcoin, Ethereum, BNB, Tron і Solana, разом із токенами на них. Вони лежать в одному списку під спільним балансом.

Кожна монета каже, у якій вона мережі, і це зроблено навмисно, а не для краси: USDT у Tron і USDT в Ethereum — не одні й ті самі гроші, і список, де вони одним рядком, — це список, з якого рано чи пізно надішлють не в ту мережу.

Що відбувається, коли хтось іде з групи?

Для розмови: ключі у всіх змінюються в той момент, коли змінюється склад, тому той, хто пішов, не прочитає того, що скажуть далі. Не тому, що сервер стежить за словами — їх він прочитати не може, — а тому, що ключ, який у нього був, більше нічого не відкриває. Хто в кімнаті — це якраз та частина, яку сервер бачить: зміни складу йдуть відкрито, і саме тому він може відмовити в записі тому, кого там уже немає.

Для грошей: хто підписує — частина правила, яке поставила група, і на зміну цього правила потрібна та сама згода, що й на витрату за ним.

Чи можете ви заморозити або скасувати платіж?

Ні, і ніхто тут теж. Ключа, який тримали б за тебе, немає, тому нема чого вилучати й нема на що натискати. Платіж, який пішов у мережу, уже в ланцюжку.

Натомість у групи є крок до: платіж, який не набрав кворуму, не відбувся, і будь-який підписант може просто не підписувати.

Приватність і власне господарство

Чи може сервер читати мої повідомлення?

Ні. Він розставляє повідомлення по порядку й переносить дзвінки — а переносить він шифротекст. Ключі, які його відкрили б, створені на пристроях у кімнаті й ніколи їх не покидали.

Це справедливо і для запитів на платіж, і для розмови навколо них.

Те, що сервер таки тримає, варто назвати: сервер, який щось несе, неминуче щось і зберігає. На повідомлення — до якої групи воно належить, який пристрій його надіслав, момент надходження, розмір і сам шифротекст. Ще він тримає, коли пристрій востаннє виходив на зв’язок, — присутність, і ось її можна вимкнути. Нічого з цього не є змістом і ні на що змістовне не перетворюється.

Скільки все це зберігається і на скількох людей розраховано?

Буфер надолуження — тридцять днів за замовчуванням, і це число насправді одне продуктове рішення, записане явно: стільки пристрій може не виходити на зв’язок, перш ніж йому доведеться знову входити до своїх груп. Старе йде помісячно, відкиданням розділу, а не видаленням рядків.

Налаштування федерації за замовчуванням розраховані приблизно на сотню людей і по пару пристроїв на кожного, і кожне з цих чисел — рядок у файлі налаштувань, а не межа протоколу. Груповий гаманець на Bitcoin бере до п’ятнадцяти ключів із будь-яким порогом між; на інших мережах стеля — їхня власна.

Шифрування ви вигадали самі?

Ні. Це MLS, опублікований як RFC 9420, і той самий стандарт використовують інші месенджери — у цьому й сенс назвати його, а не описати своїми словами.

Що MLS робить важливого саме для групи — це складна частина: коли хтось входить або виходить, ключі в усіх змінюються цієї ж миті, а не при наступній зручній нагоді.

А якщо я загублю телефон?

Твої двадцять чотири слова повертають, хто ти, і кожну адресу, на яку тобі можуть заплатити. Постав застосунок в іншому місці, введи слова — і особистість, і гроші знову твої.

З історією відповідь інша, і вона незручна. Переписки переїжджають із пристрою, який у тебе ще є, на новий — а не з фрази. Якщо загублений пристрій був єдиним, історія, що на ньому лежала, втрачена. Це рішення, а не недогляд: резервна копія, яку відкривала б сама фраза, була б постійним доступом до всього, що ти колись казав, збереженим не в тебе й не відкликуваним ніким.

Практична відповідь — завести застосунок на другому пристрої до того, як він знадобиться.

Вихідний код відкритий?

Поки що вихідний код закритий. Ми повідомимо, коли він стане відкритим.

Чи можу я підняти свій сервер?

Так — для запуску власного сервера є Docker. Його можна розгорнути на сервері компанії, спільноти або на домашньому комп’ютері.

Твої пристрої говорять із тим сервером, який веде кімнату, де ти є, — а не лише зі своїм. Це не витік, а задум: пристрій доводить, хто він, свідченням, яке будь-який сервер може перевірити і жоден не може видати. Тому зайти на другий сервер — не послуга, яку має зробити перший, і жодній парі серверів не треба довіряти одне одному, щоб ти був у кімнаті в будь-якого з них. Те, через який хтось увійшов, не вирішує, у яких кімнатах він може бути. Якщо сервер впаде, його люди переходять на інший і продовжують.

ПОЧНИ ТУТ

Забери ключі
з собою

Гаманець — це месенджер, і обидва вони твої, щоб збирати й тримати самому.