Дизайн для Web3: де довіра зустрічається з регуляцією
У лютому 2025 року я сидів поруч із засновницею на демо її біржового дашборда. Вона підтвердила виведення 2,400 USDT і вставила адресу отримувача двічі. Аркуш підтвердження надрукував адресу дрібним сірим текстом, погляд зсунувся на один символ, транзакція пішла за дванадцять секунд. Адреса належала контракту без власника, і гроші лишилися там. Наступного тижня ми перебудували весь процес надсилання.
Я проєктую DeFi та крипто-інтерфейси, де випадковий клік коштує грошей. Банківський застосунок дає лінію підтримки і вікно для оскарження операції. Блокчейн дає хеш і тишу. Ця різниця формує кожен екран, який я віддаю в цій ніші. Довіра вирішує, чи стане відвідувач користувачем. Регуляція вирішує, чи переживе продукт зустріч із банком-партнером, зовнішнім аудитором чи MiCA. Цей гід проходить по зонах, які я закриваю в кожній Web3-збірці: підтвердження для незворотних дій, комісії зрозумілою мовою, платіжні рейки на стейблкоїнах та аудит-трейл, про який питають регулятори.
Чому дизайн для Web3 це дизайн довіри
Користувачі приходять наляканими. Заголовки про крахи бірж і спустошені гаманці задають настрій до завантаження мого першого екрана. Кожне дизайн-рішення або підіймає довіру, або витрачає її. Довіра для мене і є продукт. Інтерфейс служить її доказом.
Ключовий факт: підтверджена транзакція не має скасування. Фінальність в Ethereum настає приблизно за дванадцять секунд, переказ USDT у Tron закривається приблизно за одну хвилину. Помилковий переказ у банківському застосунку перетворюється на дзвінок, форму і зазвичай на повернення. Помилковий переказ у блокчейні перетворюється на урок. Моє завдання полягає в одному: зробити правильну дію легкою і сповільнити користувача рівно там, де гроші залишають систему.
Я ставлю одне запитання кожному екрану: що буде, якщо користувач натисне і помилиться. Якщо відповідь передбачає незворотну втрату, екран отримує посилений патерн із наступного розділу. Якщо відповідь не зачіпає власність користувача, екран лишається легким. Це запитання відсортувало перебудову біржі в Порту: одинадцять екранів із сорока потребували огорожі, решті потрібна ясність.
Патерни підтвердження для незворотних дій
Кожне надсилання, обмін і схвалення вище нульової вартості відкривають аркуш підтвердження. Аркуш називає п'ять фактів простими словами: мітку отримувача, адресу отримувача, суму, мережу і комісію. Адресу показано першими та останніми шістьма символами великим монопросторовим шрифтом. Дрібні сірі рядки розміром в одинадцять пунктів обдурили мою клієнтку-засновницю, тому я ставлю адреси мінімум у шістнадцять пунктів і після додавання в адресну книгу зв'язую рядок із міткою на кшталт «клієнт із Сінгапуру».
Понад аркуш я додаю три запобіжники. Перший: перевірка буфера обміну. Якщо вставлена адреса відрізняється від адреси, на яку натиснув користувач, екран блокує надсилання і показує обидва рядки поруч. Шкідливий код гаманця переписує буфер, ця перевірка ловить підміну. Друге: порогове правило. Перекази вище 500 доларів вимагають повторного набору останніх чотирьох символів адреси. Набір займає чотири секунди і вбиває випадковий зсув. Третє: попередній перегляд симуляції. Застосунок проганяє транзакцію вхолосту і показує результат як баланси до і після. Користувач бачить «ви надсилаєте 2,400 USDT, ви отримуєте 0 ETH, комісія 1.10 долара» до будь-якого підпису.
Там, де рейка дозволяє, я лишаю скасування. Платежі всередині кастодіального реєстру тримаються десять секунд із кнопкою Undo на тості. Схвалення токенів запитують ліміт витрачання замість безліміту. Через півроку після запуску цих патернів на перебудові біржі помилкові перекази впали з трьох за квартал до нуля. Тикети про невірні адреси впали до нуля разом із ними.
Кожне схвалення пише рядок журналу: ім'я актора, мітку часу, хеш навантаження, рішення. Ті самі рядки пізніше відповідають на запитання партнерів і регуляторів, про що говорить фінальний розділ.
Комісії та курси простою мовою
Комісії плутають користувачів сильніше за криптографію. Я показую кожну комісію двічі: у токені і в фіаті. «0.00042 ETH, близько 1.35 долара» працює краще за голе «0.00042 ETH». Я показую вилку з чесним найгіршим випадком: «якщо мережа завантажена, ви платите до 2.10 долара і чекаєте до чотирьох хвилин». Користувачі приймають вилку і зляться на сюрприз у чеку.
Обміни додають просідання ціни. Підтвердження показує три числа: очікувану суму, мінімум, який приймає користувач, і строк дії котирування. Одне речення над числами пояснює механіку: ціни рухаються, поки транзакція чекає. Мінімум захищає користувача від поганого виконання. Я тримаю речення коротшим за двадцять слів. Після додавання трьох чисел і речення в процес обміну запитання про комісії та просідання в підтримці впали на 41 відсоток за місяць. Завершення перших обмінів зросло на дев'ять пунктів.
Екрани прибутковості несуть той самий обов'язок. Поруч із кожною цифрою APR я називаю джерело прибутковості і головний ризик одним рядком. Ставка без джерела читається як маркетинг. Ставка з джерелом читається як факт, який користувач може перевірити.
Рейки USDT і USDC: оплата за дві хвилини без банківського тертя
Стейблкоїнові рейки розв'язують нудну проблему, яку банки продають із націнкою. Моя студія в Лісабоні виставляє рахунок клієнту в Сінгапурі. Переказ SWIFT займає від трьох до п'яти робочих днів і коштує сорок-п'ятдесят доларів комісій на обох кінцях. Переказ USDT у Tron коштує близько одного USDT і закривається приблизно за дві хвилини. Обидві сторони зберігають суму рахунку стабільною, бо один USDT слідує за одним доларом.
Дизайн-робота тут зводиться до вибору і ясності. Платник обирає валюту і мережу; інтерфейс називає те, що приймає отримувач, і попереджає про невідповідність, бо EVM-адреса не отримає нічого від гаманця Tron. Адресна книга зберігає мережу поруч із кожним контактом. QR-коди несуть мережу, тому скан заповнює обидва поля. Суми показуються з локальним еквівалентом поруч із сумою в токені, тому тайський фрилансер бачить бати поруч із USDT.
За останні дванадцять місяців я провів цими рейками близько шістдесяти рахунків. Середнє закриття трималося нижче двох хвилин, сумарні комісії не перевищили двох доларів за рахунок, і жоден платіж не вимагав розмови з банківським клерком. Інтерфейс зробив свою частину: кожен процес рахунку показує мережу, комісію й оцінку часу до підтвердження.
Готовність до регуляції: аудит-трейл, розкриття, робота з даними
Регуляція в цій ніші сходиться до одної вимоги: доведіть, що сталося. MiCA в ЄС, партнери по travel rule і банківська перевірка контрагентів ставлять ті самі три запитання. Хто схвалив кожну дію. Що бачив користувач у момент схвалення. Коли ви видаляєте персональні дані. Я проєктую продукт так, щоб відповіді жили в системі.
Аудит-трейл починається з журналу схвалень із другого розділу: актор, мітка часу, хеш навантаження для кожного надсилання, обміну і схвалення. Я розширюю його на контент: розкриття ризиків несуть версію і дату, інтерфейс показує їх у момент згоди. Рядок журналу зберігає версію, яку бачив користувач. Коли аудитор питає, що читали користувачі перед підтвердженням обміну, відповідає один запит.
Робота з даними тримає ту саму дисципліну. KYC-документи отримують графік зберігання в день надходження. Нічна задача видаляє прострочені записи і пише лічильники видалень по користувачах. Журнали зберігають хеші, оригінали лежать у шифрованому вигляді за break-glass роллю, і кожне читання через цю роль пише власний рядок аудиту. Платіжний стартап, який я консультував, пройшов банківську перевірку за два тижні з таким налаштуванням; їхній попередній стек провалив ту саму перевірку двічі.
Замовте аудит дизайну для Web3
Потрібен другий погляд на ваші процеси надсилання, обміну і приймання платежів: я проводжу аудит дизайну для Web3 і віддаю ранжований список правок протягом одного тижня.