ПИТАННЯ
П’ятнадцять
найчастіших
Ніхто не віддає гроші програмі, яку не розпитав. Ось ті питання, що виникають до першого платежу, з прямими відповідями — включно з двома, де відповідь незручна.
Основи
Це месенджер чи гаманець?
І те, і те, і одне не прикручене до іншого. Платіж тут — це різновид повідомлення: він приходить у ту переписку, до якої належить, і там же підписується.
Якщо ти ніколи не відкриєш гаманець, у тебе лишиться груповий чат зі наскрізним шифруванням, дзвінками, файлами, теками й голосовими. Якщо відкриєш — гроші живуть у тих самих кімнатах, що й люди, які їх ділять.
Чи треба щось знати про крипту, щоб цим користуватися?
Щоб надіслати повідомлення — геть нічого.
Щоб ділити гаманець, потрібні дві речі. Тримай свої двадцять чотири слова в надійному місці й зрозумій одне правило: гроші рухаються, коли за них підписалося досить учасників. Усе інше бере на себе застосунок — адреса, записана один раз, стає іменем, і поле «кому платити» питає людину, а не шістдесят чотири знаки.
На яких платформах він працює?
macOS, iOS, Android, веб і розширення для браузера. Скрізь однаковий інтерфейс: те, чого навчився на телефоні, ти вже знаєш на комп’ютері.
Чи можна користуватися і взагалі не чіпати гаманець?
Так. У грошах тут немає нічого обов’язкового. Група без гаманця — це груповий чат, і вона ним і лишається, доки хтось не відкриє в ній гаманець.
Гроші
Хто тримає гроші групи?
Ніхто. У цьому вся річ.
У групового гаманця немає власника: ключ кожного підписанта створений на його власному пристрої і там же лишається, а адреса зібрана з усіх одразу. Щоб вивести з нього гроші, потрібно стільки підписів, про скільки домовилася група, — будь-які двоє з трьох, будь-які п’ятеро з дев’яти, як поставили. Доки не підписало досить, платіж — це запит.
Хто платить комісію мережі?
Гаманець, з якого йдуть гроші. Скільки це коштуватиме, у картці підпису не написано: у більшості мереж комісія невідома, доки ті, хто підписує, не зберуть транзакцію, а число, вигадане раніше, було б здогадом про чужі гроші. Там, де комісія платиться тією ж монетою, яку надсилаєш, надсилання всього залишку може не лишити, чим платити, — і про це сказано просто там, де вводиться сума.
Які мережі й монети?
Bitcoin, Ethereum, BNB, Tron і Solana, разом із токенами на них. Вони лежать в одному списку під спільним балансом.
Кожна монета каже, у якій вона мережі, і це зроблено навмисно, а не для краси: USDT у Tron і USDT в Ethereum — не одні й ті самі гроші, і список, де вони одним рядком, — це список, з якого рано чи пізно надішлють не в ту мережу.
Що відбувається, коли хтось іде з групи?
Для розмови: ключі у всіх змінюються в той момент, коли змінюється склад, тому той, хто пішов, не прочитає того, що скажуть далі. Не тому, що сервер стежить за словами — їх він прочитати не може, — а тому, що ключ, який у нього був, більше нічого не відкриває. Хто в кімнаті — це якраз та частина, яку сервер бачить: зміни складу йдуть відкрито, і саме тому він може відмовити в записі тому, кого там уже немає.
Для грошей: хто підписує — частина правила, яке поставила група, і на зміну цього правила потрібна та сама згода, що й на витрату за ним.
Чи можете ви заморозити або скасувати платіж?
Ні, і ніхто тут теж. Ключа, який тримали б за тебе, немає, тому нема чого вилучати й нема на що натискати. Платіж, який пішов у мережу, уже в ланцюжку.
Натомість у групи є крок до: платіж, який не набрав кворуму, не відбувся, і будь-який підписант може просто не підписувати.
Приватність і власне господарство
Чи може сервер читати мої повідомлення?
Ні. Він розставляє повідомлення по порядку й переносить дзвінки — а переносить він шифротекст. Ключі, які його відкрили б, створені на пристроях у кімнаті й ніколи їх не покидали.
Це справедливо і для запитів на платіж, і для розмови навколо них.
Те, що сервер таки тримає, варто назвати: сервер, який щось несе, неминуче щось і зберігає. На повідомлення — до якої групи воно належить, який пристрій його надіслав, момент надходження, розмір і сам шифротекст. Ще він тримає, коли пристрій востаннє виходив на зв’язок, — присутність, і ось її можна вимкнути. Нічого з цього не є змістом і ні на що змістовне не перетворюється.
Скільки все це зберігається і на скількох людей розраховано?
Буфер надолуження — тридцять днів за замовчуванням, і це число насправді одне продуктове рішення, записане явно: стільки пристрій може не виходити на зв’язок, перш ніж йому доведеться знову входити до своїх груп. Старе йде помісячно, відкиданням розділу, а не видаленням рядків.
Налаштування федерації за замовчуванням розраховані приблизно на сотню людей і по пару пристроїв на кожного, і кожне з цих чисел — рядок у файлі налаштувань, а не межа протоколу. Груповий гаманець на Bitcoin бере до п’ятнадцяти ключів із будь-яким порогом між; на інших мережах стеля — їхня власна.
Шифрування ви вигадали самі?
Ні. Це MLS, опублікований як RFC 9420, і той самий стандарт використовують інші месенджери — у цьому й сенс назвати його, а не описати своїми словами.
Що MLS робить важливого саме для групи — це складна частина: коли хтось входить або виходить, ключі в усіх змінюються цієї ж миті, а не при наступній зручній нагоді.
А якщо я загублю телефон?
Твої двадцять чотири слова повертають, хто ти, і кожну адресу, на яку тобі можуть заплатити. Постав застосунок в іншому місці, введи слова — і особистість, і гроші знову твої.
З історією відповідь інша, і вона незручна. Переписки переїжджають із пристрою, який у тебе ще є, на новий — а не з фрази. Якщо загублений пристрій був єдиним, історія, що на ньому лежала, втрачена. Це рішення, а не недогляд: резервна копія, яку відкривала б сама фраза, була б постійним доступом до всього, що ти колись казав, збереженим не в тебе й не відкликуваним ніким.
Практична відповідь — завести застосунок на другому пристрої до того, як він знадобиться.
Вихідний код відкритий?
Поки що вихідний код закритий. Ми повідомимо, коли він стане відкритим.
Чи можу я підняти свій сервер?
Так — для запуску власного сервера є Docker. Його можна розгорнути на сервері компанії, спільноти або на домашньому комп’ютері.
Твої пристрої говорять із тим сервером, який веде кімнату, де ти є, — а не лише зі своїм. Це не витік, а задум: пристрій доводить, хто він, свідченням, яке будь-який сервер може перевірити і жоден не може видати. Тому зайти на другий сервер — не послуга, яку має зробити перший, і жодній парі серверів не треба довіряти одне одному, щоб ти був у кімнаті в будь-якого з них. Те, через який хтось увійшов, не вирішує, у яких кімнатах він може бути. Якщо сервер впаде, його люди переходять на інший і продовжують.
ПОЧНИ ТУТ
Забери ключі
з собою
Гаманець — це месенджер, і обидва вони твої, щоб збирати й тримати самому.