# 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](СПЕЦИФИКАЦИЯ.md) | Техническая документация | | [WHITEPAPER.md](WHITEPAPER.md) | Концепция и архитектура | | [contracts.py](contracts.py) | Исходный код модуля | --- ## Интерфейс ### Команда создания ``` /contract @user 100 условие сделки ``` Это единственная команда. Всё остальное — через кнопки. ### Inline-кнопки | Кнопка | Описание | |--------|----------| | ✅ Одобрить | Голос ЗА создание | | ❌ Отклонить | Голос ПРОТИВ создания | | ✅ Принять контракт | Сторона Б принимает | | ✅ Условия выполнены! | Запустить голосование за завершение | | ✅ Подтверждаю | Голос ЗА завершение | | ❌ Не вижу | Голос ПРОТИВ завершения | --- ## Статусы контракта ``` DRAFT → PENDING → ACCEPTED → COMPLETION_VOTING → COMPLETED ↓ ↓ ↓ REJECTED ↓ CANCELLED (свидетели голосуют) ``` --- **Montana Protocol Ɉ**