Search
Write a publication
Pull to refresh

Solomon Deal: как мы строим систему гарантирования сделок на TON без посредников

Как Telegram-бот, смартконтракт на Tact и теория игр позволяют заключать безопасные сделки в децентрализованной среде

TL;DR

  • Бот написан на Python, работает поверх Telegram

  • Смартконтракты на языке Tact в сети TON

  • Арбитраж между пользователями с мотивацией по теории игр

  • Судьи выбираются случайно, голосуют анонимно, получают награду

  • Средства хранятся только в смартконтракте, бот не имеет доступа

  • Бэкэнд — это сам Telegram-бот с возможностью fail-safe восстановления

Почему это вообще нужно?

Криптовалюты за последние годы доказали свою состоятельность как средство хранения стоимости и спекуляции. Но как средство обмена — по-прежнему работают слабо. Главная причина — отсутствие доверительного слоя: нет привычных гарантий, судов, посредников. Если кто-то кого-то обманул, то в децентрализованной среде — это почти всегда необратимо.

В фиатной системе роль "гаранта" берёт на себя государство. В блокчейне же — эта роль должна быть перераспределена. Мы решили попробовать построить этот слой заново: на основе смартконтрактов, Telegram и игрового баланса мотиваций.

Архитектура решения

Бэкенд: Python-бот, работающий в Telegram. Почему Telegram?

  1. Встроенное хранилище (файлы, чат-история, логика общения)

  2. Безопасность (двухфакторка, аудит Telegram API)

  3. Нет необходимости в покупке DNS и выделенного сервера с белым IP, или аренды VPS

Смартконтракты: написаны на языке Tact, развёрнуты в сети TON. Исходники контракта открыты и доступны для аудита: verifier.ton.org

Взаимодействие с блокчейном реализовано через два механизма:

  • tonconnect — используется для взаимодействия с кошельками пользователей (предложение подписать и отправить транзакцию)

  • pytoniq — Python-библиотека для прямого взаимодействия с liteserver: чтение блоков, анализ транзакций, отправка собственных транзакций

Модель безопасности и хранения средств

Ключевая идея: ни бот, ни сервер не имеют доступа к средствам. Все деньги, относящиеся к сделке, проходят только через смартконтракт.

Судейская оплата (небольшие суммы) обрабатывается централизованно — чтобы избежать накладных расходов на комиссии и реализовать массовую рассылку выплат без дорогих операций на уровне блокчейна.

Если бот или сервер по каким-то причинам недоступен:

  • При заключении сделки пользователи получают инструкцию на случай отказа сервера

  • Смартконтракт включает таймер, по завершению которого средства можно разблокировать вручную, если управление смартконтрактом через бот невозможно

Разрешение споров: распределённый арбитраж

Как работает:

  1. В случае конфликта обе стороны присылают свои версии (текст, сканы, PDF, видео)

  2. Рандомно выбирается набор судей из числа зарегистрированных

  3. Судьи голосуют, не зная друг друга. Механизм — Soft Majority Voting (SMV)

  4. После последнего голоса результат отправляется в смартконтракт, и средства автоматически перечисляются победившей стороне

Мотивация:

  • Судьи получают награду за участие

  • Если судья голосует против большинства, его рейтинг уменьшается в 2 раза

  • Но рейтинг восстанавливается с каждым последующим делом (механизм "прощения")

  • Потери за ошибку размазаны на 8 последующих дел, чтобы не демотивировать участвовать

Как оформляется сделка?

  • Пользователи могут описывать условия простым текстом или прикладывать документы

  • Ни текст, ни документы не анализируются автоматически

  • Смартконтракт выступает только как условный хранитель средств, который получает извне команду: "перечислить A или B"

  • Таким образом судьи не могут украсть средства, и вся логика спора отделена от самого контракта

Сложности и находки

Работа с TON и Tact — это одновременно увлекательно и сложно. Документации по многим библиотекам либо нет, либо она устарела. Периодически приходится идти напрямую к разработчикам — и, к счастью, они действительно открыты к диалогу. Несколько багов нами были найдены прямо в приложениях кошельков и библиотек.

Что дальше?

Возможные направления развития и создание следующих модулей:

  • Маркетплейс

  • Волонтерскую организацию

  • Нечто похожее на интернет государство

Tags:
Total votes 3: ↑3 and ↓0+3
Comments6

Articles