Интеграция Statechains может повысить гибкость Lightning

Интеграция Statechains может повысить гибкость Lightning

Commerceblock BLIP поддерживает каналы Lightning, построенные на statechains Биткоина, повышая гибкость протокола второго уровня.

В прошлом году я писал о кошельке Mercury Wallet от Commerceblock, реализации как statechains, так и CoinSwaps. Это одновременно новый инструмент микширования, а также первый кошелек для реализации нового решения для масштабирования второго уровня. Команда использовала исходное предложение Рубена Сомсена о statechain с некоторыми изменениями, чтобы заставить его работать без необходимого флага хеша подписи ANYPREVOUT/Eltoo, и интегрировала новый дизайн CoinSwap, позволяющий пользователям смешивать несколько раз без необходимости совершать транзакции в цепочке для каждого смешивания.

Предыстория

Вкратце для тех, кто не в курсе: statechain – это офчейн-механизм для свободной передачи между кем-то, кто полностью офчейн. Первоначальный владелец/пользователь сотрудничает с оператором statechain для создания адреса ECDSA-MPC, в котором закрытый ключ разделяется на части, причем одна половина принадлежит пользователю, а другая половина – оператору, затем создается заблокированная по времени, предварительно подписанная транзакция на снятие средств, которая подписывается оператором перед отправкой средств на новый адрес.

Ни одна из сторон полностью не контролирует закрытый ключ, и у пользователя есть предварительно подписанная транзакция, которая позволяет ему в одностороннем порядке забрать монеты после временной блокировки. Когда пользователь хочет передать statechain, он уведомляет оператора, который затем сотрудничает с получателем. Получатель и оператор генерируют новый набор общих ключей, соответствующих тому же адресу, и генерируют новую предварительно подписанную транзакцию с меньшим временем блокировки, чем предыдущая, а затем оператор удаляет свой старый общий ключ.

Принцип работы криптографии заключается в том, что новый общий ключ оператора будет работать только с общим ключом нового пользователя, поэтому, если они удалят старый, они даже не смогут сотрудничать со старым пользователем, чтобы тратить монеты. Кроме того, поскольку более новая транзакция на снятие средств имеет меньшую временную блокировку, эта транзакция всегда может быть подтверждена раньше, чем транзакция предыдущего владельца. Это ограничивает количество раз, когда statechain может быть передан, прежде чем ее придется закрыть, но если оператор действует честно, это предотвращает кражу средств старыми владельцами.

Канал Lightning поверх Statechains

В настоящее время Commerceblock работает над новым BLIP (предложением по улучшению Bitcoin Lightning), чтобы реализовать дизайн того, что было в первоначальном предложении statechain Сомсена: создание канала Lightning поверх statechain.

Один из недостатков statechain сам по себе заключается в том, что весь UTXO должен передаваться сразу. Если, однако, транзакция вывода средств в statechain направляется в канал Lightning, а не на адрес одного пользователя, то части statechain могут быть переданы через начальное распределение баланса в канале, и этот канал можно будет использовать обычным образом для последующих платежей Lightning.

Процесс начинается с того, что пользователь создает statechain. Создатель и оператор проходят обычный процесс создания сегментированного ключа и подписания резервной транзакции вывода с временной блокировкой, затем создатель (Элис) находит контрагента (Боба), который будет принимать statechain. Элис и Боб используют тот же протокол, что и для создания сегментированного ключа, который Элис создала с оператором statechain, и генерируют свой собственный общий ключ. Затем оба они передают как совокупный открытый ключ, так и свои индивидуальные доли открытого ключа оператору statechain. Это позволяет оператору обратиться к ним за индивидуальной подписью и доказательством, что они согласны с текущим балансом для совместного закрытия, не дожидаясь истечения времени блокировки вывода statechain.

Дальше, с разрешения Боба, Элис и оператор statechain подписывают транзакцию, напрямую проводя statechain в мультиподпись канала Lightning, и обрабатывают создание транзакции канала Lightning. На данный момент адрес statechain по-прежнему контролируется только Элис и оператором, но транзакция, открывающая канал Lightning, теперь находится во владении Боба с меньшим временем блокировки, чем первоначальный вывод statechain, что гарантирует его подтверждение до того, как Элис сможет в одностороннем порядке закрыть statechain для себя. Затем Элис и Боб завершают работу над протоколом, выполняя последнее обновление statechain, создавая окончательную транзакцию statechain с дальнейшим уменьшением временной блокировки, используя их комбинированный ключ с ключом оператора, чтобы выполнить транзакцию снятия, которая переводит средства в канал Lightning. Теперь они оба могут объявить канал Lightning открытым, и протокол завершен.

Улучшение полезности Statechains

Это предложение значительно повысит полезность statechain, ослабив строгую динамику ликвидности их работы. Всякий раз, когда кто-то готов принять statechain, но номинал не соответствует платежу, отправитель может просто открыть между ними канал Lightning и подождать, пока ему не понадобится потратить оставшиеся средства (или получить то, что они отправили обратно), чтобы завершить передачу всего баланса statechain. Такая возможность не только увеличивает полезность statechain, но также увеличивает полезность сети Lightning, если она поддерживается должным образом.

Ребалансировка каналов необходима для узлов в сети, как узлов маршрутизации, так и пограничных узлов, которые просто отправляют и получают транзакции. Когда средства полностью перетекают в одну сторону канала, это делает канал бесполезным для прохождения платежей в одну сторону (если все деньги на вашей стороне, то вы не можете принимать платежи, если на другой стороне, то вы не можете отправить платежи). Это требует перетасовки денег из одного канала в другой, что также способствует разбалансировке каналов на пути к перебалансировке вашего собственного. В конце концов эта динамика доходит до точки, когда все должно быть фактически перебалансировано путем обмена средствами между Lightning и базовым уровнем в сети.

Statechain позволяет перемещать ликвидность с той же свободой, что и внутри цепочки, без необходимости создавать след в цепочке или платить за это комиссию. Допустим, у вас исчерпан канал, и вся ликвидность на другой стороне не оставляет вам способности тратить – но у вас также есть statechain. Он может быть свободно передан любому, кто его примет, и может даже иметь сверху канал Lightning, если вы не отправляете все средства, и его можно использовать для ребалансировки средств в вашем обычном канале на вашей стороне.

Это обеспечивает гораздо большую эффективность с точки зрения того, сколько каналов вам нужно маршрутизировать, чтобы перебалансировать ваш канал (помните, вы способствуете смещению баланса каждого другого канала, через который вы маршрутизируете), в лучшем случае буквально отправляя его напрямую к тому же узлу, с которым у вас открыт канал для перебалансировки. Если вы хотите закрыть канал с одним узлом и открыть его с другим, вы даже можете провести перебалансировку, чтобы у вас был весь баланс канала, и переместить его полностью вне цепочки к новому узлу, если он построен поверх statechain.

Будущее Statechains и Lightning

Обсуждая свои планы, Николас Грегори из Commerceblock сказал: «Наша цель – установить стандартизированный подход к объединению цепочек состояний и технологии Lightning, чтобы облегчить балансировку каналов Lightning вне цепочки за счет использования каналов состояний. Эта спецификация послужит основой для достижения этой цели».

С самого начала statechains всегда предлагалось взаимодействовать с Lightning, чтобы решить вопрос их использования самих по себе: вы должны передать всю ценность всего UTXO. Они также обеспечивают степень гибкости Lightning, которой она не имеет сама по себе, с точки зрения того, как ликвидность управляется и передается по сети.

Теперь, когда Lightning находится на здоровой стадии своего раннего роста, а конкретная реализация цепочек состояний существует уже более года, пришло время подумать о том, как эти две технологии могут взаимодействовать вместе. Lightning как сеть – это система атомарного депонирования переводов между двумя сторонами, которые не связаны напрямую в графе сети. То, как работает каждое соединение на этом графике, строго говоря, не должно иметь значения для отправителей и получателей платежей, пока оно работает.

Statechains и Lightning-каналы могут многое предложить друг другу с точки зрения преимуществ, и все, что нужно сделать, – это разработать стандартизацию их взаимодействия друг с другом.

Это гостевой пост Шиноби. Высказанные мнения являются его собственными и не обязательно отражают точку зрения BTC Inc. или Bitcoin Magazine.

Lightning – общепринятый язык Биткоин-экономики Lightning – общепринятый язык Биткоин-экономики Lightning становится связующим звеном, скрепляющим различные системы, построенные на Биткоине. Рой Шейнфельд 16 июня 2024
Более половины ведущих хедж-фондов США владеют биткоин-ETF Более половины ведущих хедж-фондов США владеют биткоин-ETF Анализ различных типов фондов и учреждений, владеющих биткоин-ETF. Сэм Бейкер 16 июня 2024
В надежных руках: Биткоин строит лучшее будущее В надежных руках: Биткоин строит лучшее будущее Создание систем на основе Биткоина требует тщательного проектирования и работы. Эти аспекты не должны отходить на второй план по отношению к маркетингу и продажам. Виллем Шро 15 июня 2024