5.0 KiB
Montana Contracts
Система контрактов с AI-арбитром
Что это?
Montana Contracts — система контрактов где Юнона (AI) выступает арбитром. Проверяет условия и следит за исполнением. Условия пишутся на обычном языке.
Важно: Даже если в группе есть реальный нотариус — он не имеет особого веса. Последнее слово всегда за Юноной.
Архитектура
Контракты_Contracts/
├── contracts.py ← ИСХОДНИК (source of truth)
├── README.md
├── СПЕЦИФИКАЦИЯ.md
└── WHITEPAPER.md
бот/
├── contracts.py ← СИМЛИНК → ../Контракты_Contracts/contracts.py
├── montana_db.py ← БД контрактов, escrow
├── junomontanaagibot.py ← Команда /contract
└── deploy_nodes.sh ← Деплой на 5 узлов
Узлы Атлантов (серверы):
├── amsterdam
├── moscow
├── almaty
├── spb
└── novosibirsk
Быстрый старт
1. Создай группу в Telegram
Меню ☰ → Новая группа → Добавь участников сделки
2. Добавь Юнону
Найди @junomontanaagibot → Добавь в группу
3. Создай контракт
/contract @получатель 500 условие сделки
4. Участники голосуют кнопками
Юнона покажет карточку контракта с кнопками:
- ✅ Одобрить — голос ЗА
- ❌ Отклонить — голос ПРОТИВ
5. Юнона проверяет
Если условия выполнимы и кворум достигнут — контракт одобрен.
6. Сторона Б принимает
Появляется кнопка ✅ Принять контракт — только для Стороны Б.
7. После исполнения — Bitcoin Pizza Style
Когда условия выполнены, нажмите ✅ Условия выполнены!
Юнона запускает голосование. Все участники группы голосуют за валидность:
- ✅ Подтверждаю — вижу что условия выполнены
- ❌ Не вижу — не вижу исполнения
Доказательства: Публикуйте в группу фото, видео-кружки, документы — свидетели должны видеть факт исполнения.
Веса голосов:
- Юнона = 2 голоса
- Свидетель = 1 голос
При кворуме (>50%) + одобрении Юноны → контракт завершён, escrow переведён.
Роль Юноны
| Функция | Описание |
|---|---|
| Валидатор | Проверяет выполнимость условий |
| Арбитр | Может отклонить сомнительные контракты |
| Помощник | Объясняет как улучшить условия |
| Последнее слово | Даже с кворумом может отказать |
Юнона не нотариус в юридическом смысле. Это AI-арбитр протокола Montana.
Документация
| Файл | Описание |
|---|---|
| СПЕЦИФИКАЦИЯ.md | Техническая документация |
| WHITEPAPER.md | Концепция и архитектура |
| contracts.py | Исходный код модуля |
Интерфейс
Команда создания
/contract @user 100 условие сделки
Это единственная команда. Всё остальное — через кнопки.
Inline-кнопки
| Кнопка | Описание |
|---|---|
| ✅ Одобрить | Голос ЗА создание |
| ❌ Отклонить | Голос ПРОТИВ создания |
| ✅ Принять контракт | Сторона Б принимает |
| ✅ Условия выполнены! | Запустить голосование за завершение |
| ✅ Подтверждаю | Голос ЗА завершение |
| ❌ Не вижу | Голос ПРОТИВ завершения |
Статусы контракта
DRAFT → PENDING → ACCEPTED → COMPLETION_VOTING → COMPLETED
↓ ↓ ↓
REJECTED ↓ CANCELLED
(свидетели
голосуют)
Montana Protocol Ɉ