Глоссарий / Транзакции и комиссии
Контракт эскроу
- Что такое контракт эскроу?
- Контракт эскроу блокирует биткоины в выходе, который ни одна из сторон сделки не может потратить в одиночку, и освобождает их только тогда, когда обе стороны согласны или назначенный третий участник разрешает спор.
Обычная конструкция представляет собой мультиподпись два из трех: покупатель, продавец и арбитр держат по одному ключу, и любые два из трех могут распорядиться деньгами. Биткоин умеет выражать это с тех пор, как 1 апреля 2012 года был активирован pay-to-script-hash, а ветви возврата с блокировкой по времени доступны с BIP65 в декабре 2015 года. Большинство платформ, которые используют слово «эскроу», ничего из этого не делают.
Как это работает
Контракт эскроу является условием расходования, записанным в самих монетах, а не обещанием, занесенным в базу данных компании.
Транзакция финансирования платит на скрипт, который называет три публичных ключа и порог два. При сделке без споров арбитр не появляется: покупатель и продавец подписывают освобождение вдвоем, а третий ключ остается в ящике. При споре арбитр изучает доказательства и подписывает вместе с той стороной, которая побеждает, и этого достаточно для достижения порога. Одна подпись из трех ничего не двигает, поэтому арбитр, действующий в одиночку, не может забрать монеты. Остающийся риск состоит в сговоре, когда арбитр предоставляет вторую подпись недобросовестной стороне.
У хорошо построенного контракта есть также выход на случай, когда никто ничего не подписывает. OP_CHECKLOCKTIMEVERIFY, действующий начиная с блока 388 381 в декабре 2015 года, позволяет скрипту содержать ветвь, которая возвращает монеты только финансирующей стороне после прохождения согласованной высоты блока. Его относительный родственник OP_CHECKSEQUENCEVERIFY отсчитывает задержку с момента подтверждения финансирования, а не задает фиксированную высоту. Без одного из них контрагент, который перестает отвечать на письма, навсегда замораживает деньги.
Издержки составляют две транзакции, и вторая из них объемная. Скрипт свидетеля два из трех сам по себе занимает 105 байт, поэтому расходование выхода эскроу в segwit стоит примерно 105 виртуальных байт против 68 для обычного входа с одним ключом. Поэтому финансирование и освобождение сделки обходятся почти в 6000 сатоши при 20 sat/vB. Эскроу имеет смысл для сделки стоимостью в сотни долларов и совершенно не имеет смысла для мелких сумм, поэтому лучшие схемы также требуют, чтобы обе стороны заблокировали обеспечительный депозит: мошенничество должно обходиться мошеннику дороже, чем стоит сделка.
Где это встречается
Контракты эскроу появляются везде, где два незнакомца обменивают что-либо на биткоины и ни один не хочет действовать первым.
Одноранговые площадки являются обычным случаем, и есть простая проверка того, настоящий ли эскроу. Запросите адрес. Подлинный контракт финансирует обычный ончейн-адрес, который вы можете вставить в обозреватель блоков и увидеть, как он подтверждается, прежде чем с чем-либо расстанетесь, а скрипт, на который он ссылается, публичен. Если вы получаете только баланс на странице счета, монеты находятся в собственном кошельке платформы, и вы доверяете ее платежеспособности и ее регулятору, а не биткоину. Это различие не академическое: площадка LocalBitcoins хранила средства клиентов таким образом и прекратила работу в феврале 2023 года, а Paxful Holdings признала вину по федеральным обвинениям 9 декабря 2025 года.
Более надежные схемы площадок сохраняют один ключ из трех и остаются неспособными что-либо двинуть без согласия участника сделки. Частные продажи используют ту же форму, с адвокатом или инженером, которому доверяют обе стороны, в роли третьего держателя ключа. Lightning тоже это заимствует: выход финансирования канала представляет собой схему два из двух, которую ни одна сторона не может потратить в одиночку, а блокированные по времени штрафы заменяют арбитра.
Контракт эскроу vs HTLC
Контракту эскроу нужен человек, чтобы разрешить спор; контракту с блокировкой по времени и хешу не нужен никто, потому что арбитром является секрет. HTLC автоматически выплачивает тому, кто раскроет правильный прообраз до установленного срока, и это работает только тогда, когда обе половины сделки находятся в реестрах, способных проверить один и тот же хеш. Банковский перевод нельзя заблокировать за хешем, поэтому любая сделка фиата на биткоин в итоге нуждается либо в арбитре, либо в кастодиане. Контракты эскроу являются тем, к чему прибегают, когда одна сторона сделки происходит вне сети.