Глоссарий / Lightning и layer 2
PTLC
Другие названия: Контракт с блокировкой по времени на точке.
- Что такое PTLC?
- Контракт с блокировкой по времени на точке (PTLC) привязывает платеж к точке эллиптической кривой, а не к хешу, поэтому каждый переход на маршруте Lightning видит другую блокировку и не может распознать один и тот же платеж дважды.
Контракты с блокировкой по времени на точке выполняют ту же задачу, что и HTLC, но без общего хеша: каждый переход получает собственную блокировку, производную от точки кривой. Они опираются на адаптерные подписи Schnorr, которые стали применимы в биткоине, когда Taproot активировался в блоке 709 632 в ноябре 2021 года. Для плательщика выигрыш в том, что маршрутизирующие узлы больше не могут заметить один и тот же платеж, проходящий через две их машины.
Как это работает
Адаптерная подпись представляет собой подпись, в которой намеренно отсутствует одна часть, и эта отсутствующая часть является секретом платежа.
Начните с получателя, который выбирает секретное число и публикует только соответствующую ему точку кривой. По правилам Schnorr из BIP340 плательщик может построить подпись, недействительную саму по себе, но становящуюся действительной в тот момент, когда к ней добавляется это секретное число. Публикация завершенной подписи тем самым раскрывает число, а раскрытие числа позволяет предыдущему переходу завершить собственную подпись и забрать свои деньги. Эффект домино тот же, что у HTLC, но ничего не хешируется и ничего не передается сообща.
Конфиденциальность обеспечивается подстройкой. Плательщик добавляет случайное смещение к точке на каждом переходе и сообщает каждому узлу его смещение внутри луковичного пакета, поэтому третий и седьмой переходы видят две несвязанные точки для одного платежа. Это закрывает утечку по корреляции, а также закрывает атаку «червоточина», при которой два сговаривающихся перехода на одном маршруте пропускают честные узлы между ними и присваивают их комиссии за маршрутизацию. Ни одно из этих исправлений невозможно, пока один хеш проходит весь путь.
Есть дополнительное преимущество, важное в спорах. При контракте на хеше прообраз доказывает, что платеж состоялся, но ничего не говорит о том, кто его сделал, поэтому это слабое доказательство. Контракт на точке дает подпись, которую мог создать по этому счету только собственный ключ плательщика, а это доказательство платежа в обычном смысле слова.
Где это видно
PTLC пока не применяются, и честно сказать об этом является целью этой статьи.
Taproot дал необходимые компоненты, и каналы Taproot уже выпущены в основных реализациях Lightning, но эти каналы по-прежнему маршрутизируют контракты на хеше. Оставшаяся работа касается протокольной инфраструктуры: полезные нагрузки луковичного пакета, несущие подстройки для каждого перехода, обновленные транзакции обязательств и согласие между реализациями, которые все должны взаимодействовать. Пока это не сделано, любой кошелек, называющий себя приватным в Lightning, говорит о луковичной маршрутизации, а не о несвязываемых переходах.
Для того, кто покупает биткоин, это означает немногое и конкретное. Если вы держите баланс в Lightning и вам важно, чтобы крупный оператор маршрутизации не мог составить картину ваших расходов, PTLC являются тем обновлением, которое стоит искать в примечаниях к выпуску вашего кошелька. Ничего в ваших ключах, резервной копии сид-фразы или ончейн-биткоинах не меняется, когда они появятся.
PTLC vs HTLC
PTLC и HTLC дают одну и ту же гарантию, атомарный многошаговый платеж, и различаются тем, что узнают промежуточные узлы. Контракт на хеше передает один идентификатор по всему маршруту; контракт на точке дает каждому переходу значение, которое тому кажется случайным. Практическое прочтение: HTLC составляют сегодняшний Lightning, и они работают нормально, PTLC строго лучше по конфиденциальности и по доказательству платежа, а переход представляет собой задачу спецификации и реализации, а не консенсуса биткоина, потому что Taproot уже выполнил часть, касающуюся консенсуса.