P2MR
Это позволяет создавать сложные логические условия доступа к средствам (включая мультиподписи, пороговые схемы и состояния смарт-контрактов), объединяя их в компактную криптографическую структуру, которая подтверждается одним хешем в блокчейне.
В контексте майнинга и архитектуры блокчейна (особенно в протоколах, развивающих идеи Биткоина, таких как RGB или элементы проекта Simplicity), P2MR представляет собой эволюцию стандартных скриптов.
1. Проблема классических подходов
В стандартной транзакции Биткоина выходы (UTXO) обычно защищены скриптом, который определяет, кто может потратить монеты.
- P2PKH (Pay-to-Public-Key-Hash): Требует подписи от одного конкретного приватного ключа.
- P2SH (Pay-to-Script-Hash): Позволяет записать хеш скрипта (например, мультиподписи 2-of-3) в блокчейн, а полный скрипт раскрывается при трате.
Недостаток P2SH: При трате средств весь скрипт (со всеми публичными ключами и условиями) попадает в блокчейн, загромождая его и раскрывая всю структуру условий всем наблюдателям.
2. Как работает P2MR
В модели P2MR в блокчейн записывается не скрипт и не хеш скрипта, а корень дерева Меркла(Merkle Root).
- Дерево Меркла: Строится из множества возможных условий траты (скриптов, преференций, подписей участников). Каждое условие является листом дерева.
- Корень: Криптографический хеш, который "сжимает" всю совокупность условий в одну строку фиксированной длины (32 байта).
- Спаендинг (Трата): Когда пользователь хочет потратить монеты, он предоставляет не всеусловия, а только одно (то, которое выполняет) плюс криптографическое доказательство (Merkle Path).
- Это доказательство (цепочка хешей) позволяет майнеру или любому валидатору проверить, что данное конкретное условие действительно является частью изначального набора условий (корня), без необходимости знать все остальные возможные условия.
3. Значение для майнинга и проекта
Для проекта по майнингу криптовалют понимание P2MR важно по следующим причинам:
- Конфиденциальность (Privacy): Майнеры, видящие транзакцию в мемпуле, видят только корень (который выглядит как случайный хеш) и доказательство Меркла для конкретного условия траты. Они не видят альтернативных способов потратить эту монету. Это усложняет анализ блокчейна и идентификацию мультиподписных схем.
- Эффективность (Scalability): P2MR позволяет создавать сложные смарт-контракты и каналы состояний (например, в Lightning Network или RGB) без захламления базового слоя блокчейна. Поскольку в блокчейн попадает только 32 байта корня вместо потенциально килобайтов скрипта, нагрузка на дисковое пространство майнеров снижается.
- Гибкость: P2MR позволяет реализовывать логику "ИЛИ". Например, средства могут быть потрачены либо ключом A, либо ключом B, либо сложным смарт-контрактом после наступления определенного времени. Все эти три варианта "упаковываются" в один UTXO.
Сравнение с классическими методами
| Характеристика | P2PKH (классика) | P2SH (мультиподпись) | P2MR (продвинутый) |
|---|---|---|---|
| Данные в блокчейне | Публичный ключ (хеш) | Хеш скрипта | Корень Меркла (32 байта) |
| Раскрытие данных | При трате (полный ключ) | При трате (весь скрипт) | При трате (скрипт + доказательство пути) |
| Приватность условий | Низкая | Средняя | Высокая (видны только выполненные условия) |
| Сложность логики | Простая (один ключ) | Средняя (ограниченная глубина скриптов) | Высокая (деревья решений, оркестрация) |
Вывод:
Pay-to-Merkle-Root (P2MR) — это механизм адресации и блокировки средств, при котором выход транзакции закреплен за корнем дерева Меркла. Данный подход позволяет создавать масштабируемые и приватные смарт-контракты на уровне протокола, минимизируя объем данных, записываемых в блокчейн, и скрывая от внешних наблюдателей полную логику доступа к средствам до момента их фактической траты. Для майнеров это означает снижение требований к хранилищам (за счет меньшего веса транзакций) и усложнение проверки связей между адресами.
Лучшие посты














