23 августа официальный сайт CKB опубликовал информацию о Fiber Network, основанной на CKB. Как только эта новость распространилась, она сразу же вызвала оживленные обсуждения в сообществе и привела к резкому росту цены CKB на 30% всего за один день. Главная причина такой сильной реакции на новость заключается в убедительной привлекательности Fiber Network и во многих улучшениях, которые были внесены в традиционную сеть Сеть Lighting, представленную CKB.**
Например, Fiber может нативно поддерживать множество типов активов, таких как CKB, BTC, стабильные монеты и т.д., причем комиссионные за CKB значительно меньше, чем за BTC, а время отклика быстрее, что позволяет Fiber достичь прорыва в UX. А на уровне конфиденциальности и безопасности Fiber также внесла много улучшений.
Кроме того, сети Fiber и BTC Lighting могут взаимодействовать друг с другом, образуя более крупную P2P-сеть. На предыдущих внеочередных мероприятиях официальные лица CKB даже заявили, что установят 100 000 физических узлов в сетях Fiber и Lighting для совершенствования и развития P2P-платежной сети. Нет сомнений, что это беспрецедентная история.
Если официальная визия CKB будет реализована в будущем, это будет огромная благоприятная информация как для сети Lighting, так и для экосистемы CKB и даже BTC. Согласно данным mempool, в текущей сети Lighting размещено более 3 миллиардов долларов США, количество узлов составляет около 12 тысяч, и между ними построено почти 50 тысяч платежных каналов.
А на spendmybtc.com мы также видим, что все больше и больше торговцев поддерживают платежи через Сеть Lighting , как только признание BTC становится все более сильным, потенциал роста решений для платежей вне блокчейна, таких как Сеть Lighting и Fiber, будет только увеличиваться.
С целью систематического изучения технического решения Fiber, книга ‘Geek Web3’ написала исследовательский отчет об общей схеме Fiber. Как решение, основанное на CKB, и реализация сети Lighting, принцип Fiber в целом согласуется с BTC Lighting, но во многих деталях он оптимизирован.
Общая архитектура Fiber включает четыре основные части: платежный канал, WatchTower, многошаговая маршрутизация и междоменные платежи. Давайте сначала подробно рассмотрим наиболее важную часть - “платежный канал”.
Основа сети Lighting и Fiber: платежные каналы
Сущность платежного канала заключается в перемещении транзакций/сделок для обработки вне блокчейна, а затем в последующей отправке окончательного состояния на в блокчейне для “Поселок”. Поскольку транзакции мгновенно завершаются вне блокчейна, часто можно избежать ограничений производительности основного блокчейна, такого как BTC и т.д.
Предположим, что Алиса и Боб открыли канал, в котором они сначала создали мультисиг-счет в блокчейне, положили туда некоторое количество денег, например, по 100 юаней каждый, в качестве баланса каждого из них вне блокчейна. Затем стороны могут проводить несколько транзакций в канале, и когда они выходят из канала, они синхронизируют конечный баланс в блокчейне через мультисиг-счет, который выплачивает обе стороны, т.е. «Поселок».
Например, если каждая сторона начинает с 100 юаней, затем Элис переводит 50 юаней Бобу, затем Элис снова переводит 10 юаней Бобу, а затем Боб переводит 30 юаней Элис, то балансы обеих сторон будут изменены на - Элис - 70, Боб - 130. Легко заметить, что сумма балансов обеих сторон остается неизменной, и пример с бусинами на рисунке может хорошо объяснить этот момент.
Если одна из сторон выйдет из канала, текущий баланс Алисы: 70/Боба: 130 будет синхронизирован в блокчейне, 200 юаней на мультиподписном счете будут переведены каждому в соответствии с их балансом, и Поселок будет завершен. Этот процесс выглядит просто, но в реальной жизни необходимо учитывать множество сложных ситуаций.
Сначала вы фактически не знаете, когда другая сторона хочет выйти из канала. Возьмем пример выше, Боб может выйти после завершения второго перевода или даже после первого, и платежный канал не будет настаивать на этом, участникам разрешено свободно выходить. Для этого необходимо предположить, что кто-то может выйти в любое время, и любая сторона может подать итоговый баланс в блокчейне для Поселок.
Поэтому есть настройка «обещанная сделка», которая используется для объявления остатков обеих сторон канала. При каждом переводе генерируется соответствующая «обещанная сделка». Если вы хотите выйти из канала, вы можете представить в блокчейне последнюю «обещанную сделку», чтобы извлечь свои деньги из мульти-счета.
Мы можем сделать вывод, что обещанные сделки используются для расчетов остатков обеих сторон в канале в блокчейне, и любая сторона в любое время может вывести последнюю обещанную сделку на цепочку, а затем выйти из канала.
**Однако здесь есть важный сценарий злоупотребления: Боб может отправить устаревший баланс и обещанную сделку в блокчейн, например, после создания Commit Tx3 на рисунке выше, баланс Боба составляет 130, но Боб, чтобы извлечь выгоду для себя, отправляет устаревший Commit Tx2 в блокчейн, заявляя, что его баланс составляет 160, а эта информация о балансе не является в реальном времени, это типичные «Двойные расходы».
Для предотвращения подобных ситуаций с двойными расходами необходимы соответствующие меры наказания, именно разработка мер наказания является ключевым аспектом всего 1-к-1 платежного канала, понимание которого действительно позволяет понять сам платежный канал. В рамках дизайна канала, если одна из сторон отправит устаревшее состояние и Commit Tx на в блокчейне, это не приведет к желаемому результату, а наоборот, другая сторона сможет изъять все средства.
Здесь используются два очень важных понятия: «несимметричная обязательственная сделка» и «отзыв Секретного ключа». Сначала мы объясним, что такое несимметричная обязательственная сделка. На примере Commit Tx3, который мы рассмотрели ранее, ниже приведена схема сделки на обязательство:
Эта сделка обязательства создана Бобом и отправлена Элис, чтобы она самостоятельно ее обработала. Как показано на рисунке, это перевод BTC, заявляющий, что 70 долларов переводятся на счет Alice, 130 долларов на счет Боба, но условия разблокировки денег «асимметричны», они более строгие для Alice и более выгодны для Боба.
**После того, как Алиса получит обязательство от Боба, она может приложить свою собственную подпись, чтобы выполнить мультиподпись 2/2. Затем Алиса может активно отправить “обязательственную транзакцию” на цепочку блоков, чтобы выйти из канала, **если она этого не сделает, она может продолжать совершать транзакции в канале.
Здесь мы должны отметить: ** Эта сделка была заключена Бобом по его собственной инициативе, в которой условия неблагоприятны для Алисы, Алиса может только принять/отвергнуть, и мы должны найти способ оставить Алисе некоторую автономию. ** В дизайне платежного канала только сама Алиса может поместить в триггер вблокчейне “невыгодную для себя” транзакцию обязательства, т.к. транзакция обязательства должна составлять 2/2 мультиподписи, а Боб имеет только свою подпись после локального построения транзакции, а не подпись Алисы.
В то время как Алиса может «получать только подпись Боба, но не отправлять свою подпись ему», это похоже на договор, неблагоприятный для вас, требующий двойной подписи от вас и другой стороны, которая подписывает сначала и передает вам документ, а затем вы можете не давать другой стороне получить подпись. Если вы хотите, чтобы договор вступил в силу, подпишите его, а затем сделайте его публичным, если не хотите, чтобы он вступил в силу, не подписывайте его или не делайте его публичным. Очевидно, что в приведенном выше случае Алиса имеет способ ограничить Боба.
Затем перейдем к главному: каждый раз, когда происходит перевод в канале, появляется пара обязательственных сделок, которые имеют две похожие зеркальные версии, как показано ниже. Элис и Боб могут каждый создать обязательственную сделку, выгодную для себя, в которой они объявляют баланс/сумму, которую они должны получить при выходе, а затем отправить содержимое сделки на обработку друг другу.
Интересно, что сумма, получаемая при выходе, в этих двух заявлениях о сделке, одинакова, но условия вывода разные, и вот отсюда происходит асимметричная сделка с обязательствами, о которой говорилось ранее.
Ранее мы объяснили, что ** каждая обещанная сделка должна быть подписана двумя из двух для вступления в силу. ** Сделки, выгодные для Боба, которые он локально конструирует, не удовлетворяют 2/2 подписи, тогда как сделки, удовлетворяющие 2/2 подписи, находятся в руках Алисы. Боб не может их отправить, только Алиса может это сделать, что создает равновесие. То же самое справедливо и в обратную сторону.
Таким образом, Alice и Bob могут только активно подтверждать сделки, которые невыгодны для них самих. Если один из двух субъектов подтвердит Commit Tx на цепочке и транзакция будет выполнена, то канал будет закрыт. Вернемся к сценарию «Двойные расходы», о котором мы говорили в самом начале. Что произойдет, если кто-то подтвердит устаревшую сделку на цепочке?
Здесь стоит упомянуть о чем-то, что называется “отмена Секретный ключ”. Если, например, Боб отправит устаревшую обязательство транзакцию на цепь, Алиса сможет забрать у Боба его долг, используя отмену Секретный ключ.
Мы посмотрим на эту картину, предположим, что последняя обязательство сделка - Commit Tx3, Commit Tx2 истек, если Боб отправит просроченный Tx2 в блокчейне, Алиса сможет забрать деньги у Боба, используя секретный ключ отмены Tx2 (Алисе нужно действовать в пределах временной блокировки).
Однако для последней транзакции Tx3 Алиса не имеет секретного ключа отзыва, и только после появления Tx4 в будущем Алиса сможет получить секретный ключ отзыва Tx3. Это связано с особенностями криптографии на основе открытого и закрытого ключей и UTXO, и в данной статье не будет подробно объясняться реализация принципа отзыва секретного ключа.
Мы можем запомнить вывод: Боб, если посмеет отправить просроченную сделку на цепь, Алиса сможет забрать его деньги, используя отзывнойСекретный ключ в качестве наказания. С другой стороны, если Алиса поступит плохо, Боб тоже сможет наказать ее таким же образом. Таким образом, однократный платежный канал может эффективно избежатьДвойные расходы, при условии, что все участники являются рациональными и не посмеют поступить плохо.
Относительно платежного канала, Fiber на основе CKB в сравнении с BTC Lightning Network имеет значительные улучшения и может нативно поддерживать передачу/сделки различных типов активов, таких как CKB, BTC и RGB++ стейблкоины, в то время как Lightning Network может нативно поддерживать только BTC. После выпуска актива Taproot BTC Lightning Network останется неспособной нативно поддерживать не-BTC активы, а сможет поддерживать стейблкоины только косвенно.
(Источник изображения: Dapangdun)
Кроме того, из-за того, что Fiber зависит от основной блокчейн CKB Layer1, расходы на открытие и закрытие каналов намного ниже, чем в сети Lighting BTC, и не снижают много комиссий у пользователей, что представляет собой явное преимущество в UX.
**В предыдущем тексте упоминается проблема отзыва Секретного ключа: участники канала должны постоянно наблюдать за другими, чтобы предотвратить подачу устаревших обязательств на цепь. Но никто не может гарантировать онлайн 24 часа в сутки. Что делать, если вас нет в сети, а ваш партнер поступает злонамеренно?
В этом отношении Fiber и BTC Сеть Lighting оба имеют дизайн WatchTower, который будет круглосуточно отслеживать деятельность в блокчейне для помощи пользователям. Как только в канале появится просроченная обещанная транзакция, WatchTower немедленно ее обработает, чтобы обеспечить безопасность канала и средств.
Конкретное объяснение следующее: для каждой истекшей обязательной сделки Алиса или Боб могут заранее создать соответствующую сделку наказания (используя открытый текст Секретного ключа для отмены истекшей обязательной сделки и заявление получателя в своем имени) и отправить открытый текст наказания WatchTower. Как только WatchTower обнаружит, что кто-то отправил истекшую обязательную сделку на цепочку блоков, он также отправит наказание на цепочку блоков, чтобы наказать его.
Для защиты конфиденциальности участников канала Fiber разрешает пользователям отправлять WatchTower лишь “хэш просроченной обязательной сделки+Открытый текст штрафной сделки”, таким образом WatchTower изначально не знает Открытый текст обязательной сделки, а знает только её хэш. Только если кто-то действительно представит просроченную обязательную сделку на в блокчейне, WatchTower увидит Открытый текст, а затем мгновенно представит штрафную сделку на цепи. Таким образом, если никто не действует злонамеренно, WatchTower не увидит записей о сделках участников канала (даже если увидит, то только одну из них).
Здесь мы хотим упомянуть оптимизацию Fiber по сравнению с Биткойн Сеть Lighting. Вышеупомянутый механизм наказания, связанный с отменой секретного ключа, называется «LN-Penalty», и у LN-Penalty Биткойн Сети Lighting есть явные недостатки: WatchTower должен сохранять все устаревшие хэши обязательственных сделок и соответствующие отмены секретных ключей, что создает значительное хранилище давления.
Еще в 2018 году сообщество BTC предложило решение под названием «eltoo» для решения вышеуказанной проблемы, но для его поддержки требуется форк BTC. Идея заключается в том, что после того, как истекшие обещания транзакции оказываются на блокчейне, самая последняя обещанная транзакция может наказать их, таким образом, пользователю нужно сохранять только самую последнюю обещанную транзакцию. Однако до сих пор операционный код SIGHASH_ANYPREVOUT не был активирован, и этот план все еще не может быть реализован.
В то время как ** Fiber реализует протокол Daric, изменяя дизайн секретного ключа отмены, чтобы один и тот же секретный ключ отмены мог использоваться для нескольких просроченных обязательственных сделок. Это позволяет существенно снизить нагрузку на хранение WatchTower и клиентов пользователей. **
Транспортная система в сети: маршрутизация множественных переходов и HTLC/PTLC
Например, у Алисы и Кена нет канала, но есть канал между Кеном и Бобом, а у Боба и Алисы есть канал, Боб может выступать в качестве промежуточного узла между Алисой и Кеном, чтобы между Алисой и Кеном была передача. И ** “многоузловой маршрут” относится к построению пути передачи через нескольких посредников. **
“Мультипрыжковая маршрутизация” может увеличить гибкость и охват сети. Однако отправитель должен знать состояние всех общедоступных узлов и каналов. **В Fiber все общедоступные каналы, то есть структура сети, полностью открыты, **любой Узел может узнать информацию о сети, которой владеют другие Узлы. Поскольку состояние всей Сети Lighting постоянно меняется, Fiber будет использовать алгоритм Дейкстры для нахождения кратчайшего маршрута, чтобы минимизировать количество посредников, а затем установить путь для перевода между двумя сторонами.
**Однако внутри должна быть решена проблема доверия Узла: ** как вы гарантируете его честность, например, как было упомянуто ранее, между Alice и Ken есть посредник Bob, и Alice сейчас хочет перевести 100 юаней Ken, Bob в любой момент может удержать эти деньги. Для этого должны быть меры предосторожности от действий посредника, HTLC и PTLC используются для решения таких проблем.
Предположим, что Алиса должна заплатить Даниэлю 100 долларов, но у них нет прямого канала. Алиса обнаруживает, что может оплатить Даниэлю через посредников Боба и Кэрол. В этом случае необходимо использовать HTLC в качестве платежного канала. Сначала Алиса отправляет запрос Даниэлю, затем Даниэль отправляет Алисе хеш r, но Алиса не знает, какому Открытому тексту R соответствует r.
После этого Алиса, в своем канале с Бобом, создает условия платежа с помощью HTLC: Алиса готова заплатить Бобу 102 блока, но Боб должен назвать ключ R в течение 30 минут, иначе Алиса вернет деньги. Точно так же Боб создает HTLC с Кэрол: Боб готов заплатить Кэрол 101 блок, но Кэрол должна назвать ключ R в течение 25 минут, иначе Боб вернет деньги.
Carol создает HTLC в канале с Daniel так же, как и раньше: Carol готова заплатить 100 юаней, но Daniel должен сообщить ей открытый текст R в течение 20 минут, иначе деньги будут возвращены Carol.
Дэниел понимает, что ключ R, который просит Кэрол, на самом деле является тем, чего хочет Алиса, потому что никому, кроме Алисы, нет дела до содержимого R. Таким образом, Дэниел сотрудничал с Кэрол и рассказывал ей, что такое R, и получал от Кэрол 100 баксов, чтобы Алиса достигла своей цели: дала Кэрол 100 баксов.
После этого несложно представить, что Кэрол сообщает ключ R Бобу и получает 101 доллар; Боб передает ключ R Элис и получает 102 доллара. ** Наблюдая за выигрышем и проигрышем всех, мы видим, что у Элис уходит 102 доллара, а у Боба и Кэрола чистая прибыль 1 доллар, а у Даниэля 100 долларов. Здесь 1 доллар, который заработали Боб и Кэрол, - это комиссия, которую они взяли у Элис. **
Даже если кто-то из участников платежного пути, например, Кэрол, не предоставит Бобу нижестоящему ключу R, это не причинит ущерба Бобу: после истечения времени Боб может отозвать созданный HTLC. То же самое относится и к Элис.
Но сеть Lighting также имеет проблемы: путь не должен быть слишком длинным, если путь слишком длинный или слишком много посредников, это может привести к падению надежности платежа: некоторые посредники могут быть оффлайн или у них может не хватать средств для создания определенного HTLC (как в случае с каждым посредником в предыдущем примере, где каждому посреднику требуется как минимум 100 юаней). Поэтому добавление каждого промежуточного узла в путь повышает вероятность ошибки.
Кроме того, HTLC может утечка конфиденциальной информации. Хотя луковая маршрутизация может надлежащим образом защитить конфиденциальность, например, шифруя информацию о маршруте каждого шага, кроме инициатора Алисы, каждый человек знает только соседних участников, но не знает полного пути. Однако на самом деле HTLC все равно может быть выведен связь. Мы смотрим на этот путь с божественной перспективы.
Предположим, что Боб и Дэниел - это два узла, контролируемых одним субъектом, и каждый день они получают много HTLC от людей. Они обнаружили, что после каждого HTLC, отправленного Алисой и Кэрол, Секретный ключ, который им необходимо узнать, всегда одинаковый, а следующий узел, связанный с Дэниелом, всегда знает содержимое Секретного ключа R. Таким образом, Дэниел и Боб могут догадаться, что между Алисой и Ив существует путь оплаты, потому что они всегда связаны с одним и тем же Секретным ключом, и, исходя из этого, можно сделать вывод о связи между Алисой и Ив и осуществить наблюдение.
Для этого Fiber использует PTLC, который улучшает конфиденциальность на основе HTLC, каждый PTLC в платежном маршруте разблокируется с помощью разных Секретный ключ, и нельзя определить их взаимосвязь, просто наблюдая за Секретный ключ, требуемым для PTLC. Совмещение PTLC с маршрутизацией через луковицы делает Fiber идеальным решением для конфиденциальных платежей.
Кроме того, традиционная Сеть Lighting подвержена “атаке циклической замены” (replacement cycling attack), которая может привести к краже активов посредника в платежном маршруте. Это обнаружение даже заставило разработчика Антуана Риара покинуть работу над Сеть Lighting. До сих пор BTC Сеть Lighting не приняла фундаментальных мер по решению этой проблемы, что стало серьезной проблемой.
В настоящее время официальный CKB может позволить Fiber решить вышеуказанную атаку, модифицируя пул транзакций. Поскольку альтернативные атаки цикла транзакций и их решения довольно сложны, в данной статье не планируется продолжать объяснения, заинтересованные лица могут прочитать следующие статьи BTCStudy и изучить соответствующие материалы от официального CKB.
В целом, как в аспекте конфиденциальности, так и в аспекте безопасности, Fiber в целом улучшилась по сравнению с традиционной Сеть Lighting.
Кросс-цепочечные атомарные платежи между Fiber и BTC Lighting сети
С использованием HTLC и PTLC, Fiber может осуществлять междоменные платежи с помощью BTCСеть Lighting и обеспечивать “атомарность” междоменных операций, то есть все этапы междоменной связи либо полностью успешны, либо полностью неудачны, без частичного успеха и частичного неудачи.
После обеспечения кросс-атомарной безопасности можно гарантировать, что кросс-домен не приведет к потере имущества, что позволит связать Fiber и BTC Сеть Lighting. Например, можно создать платежный маршрут в гибридной сети, состоящей из Fiber и Сети Lighting, и непосредственно перевести деньги пользователям BTC Сети Lighting на Fiber (только для получателей BTC). Кроме того, в Fiber можно обменять CKB и RGB++ на эквивалентный BTC в BTC Сети Lighting.
Мы кратко объясним принцип: предположим, что Алиса запустила Узел в сети Fiber, а Боб запустил Узел в сети BTC Lighting, Алиса хочет передать некоторые деньги Бобу, она может сделать это через посредника Ингрид, работающего в разных сетях Fiber и BTC Lighting в качестве пути для передачи средств.
Если Боб хочет получить 1 BTC, Алиса может договориться с Ингрид о курсе обмена, например, обменять 1 CKB на 1 BTC. Алиса может отправить Ингриду 1,1 CKB через Fiber, а затем Ингрид отправит 1 BTC Бобу через сеть Lighting, оставив 0,1 CKB в качестве комиссии.
Конкретный способ действий здесь, на самом деле, заключается в установлении платежного пути между Алисой и Бобом через Ингрид, то есть Алиса—>Ингрид—>Боб, после чего будет использоваться HTLC. По сути, как уже было сказано ранее, для того чтобы Боб получил деньги, он должен сообщить Ингрид содержание ключа R. Как только Ингрид получит ключ R, она сможет разблокировать деньги, закрепленные у Алисы в HTLC.
Следует отметить, что кросс-цепочечные операции, произведенные в BTC Сети Lighting и Fiber, являются атомарными, что означает, что либо оба HTLC будут разблокированы, и кросс-цепочная оплата будет успешно выполнена, либо они не будут разблокированы, и кросс-цепочная оплата не будет выполнена, и не будет ситуации, когда Элис передаст деньги, а Боб не получит их.
(На самом деле посредник Ingrid может не разблокировать HTLC Alice, зная ключ R, но это нанесет ущерб именно посреднику Ingrid, а не пользователю Alice, поэтому дизайн Fiber безопасен для пользователей)
Этот метод позволяет осуществлять операции перевода между различными сетями P2P без необходимости доверять третьей стороне и практически без внесения каких-либо изменений.
Другие преимущества Fiber по сравнению с BTC Lighting сети
Ранее мы упоминали, что ** Fiber поддерживает оригинальные активы CKB и активы RGB ++ (в особенности устойчивые монеты), что дает ему огромный потенциал в сфере мгновенных платежей и делает его более подходящим для повседневных мелких платежей. **
Кроме того, у сети BTC Lighting есть основная проблема - управление ликвидностью. Вы, возможно, помните, что мы говорили в самом начале, общий баланс в платежном канале является фиксированным. Если баланс одной из сторон исчерпан, она не сможет перевести деньги другой стороне, пока та не отправит ей деньги, в этом случае необходимо внести дополнительные средства или открыть новый канал.
Кроме того, если речь идет о сложной многоразовой сети, то недостаточный баланс некоторых промежуточных Узел может привести к невозможности осуществления перевода средств, что в свою очередь может привести к сбою всего пути оплаты. Это одна из болезней Сети Lighting, решением которой является, в основном, эффективное внедрение Ликвидностьи для обеспечения постоянного внесения средств в большинство Узлов.
Однако, в сети BTCСеть Lighting шаги по инъекции Ликвидности, открытию или закрытию канала осуществляются на цепи BTC. Если комиссии BTC-сети очень высокие, это может негативно сказаться на UX платежного канала. Предположим, вы хотите открыть канал с объемом в 100 долларов, но операция по созданию канала стоит 10 долларов. Таким образом, при инициализации этого канала вам придется потратить 10% своих средств, что не может быть принято большинством людей. То же самое относится и к работе по инъекции Ликвидности.
У Fiber есть очень значительные преимущества. Во-первых, TPS CKB намного выше, чем у BTC, и комиссии могут достигать уровня центов; во-вторых, чтобы решить проблему недостатка Ликвидности, из-за которой невозможно осуществить перевод, Fiber планирует сотрудничать с Mercury layer, чтобы предложить новое решение, которое позволит избавиться от операций в блокчейне при внедрении Ликвидности, решив проблемы UX и затрат.
Таким образом, мы систематически проанализировали общую технологическую архитектуру Fiber, и ее сравнение с BTC Network Lighting в целом подведено на рисунке выше. Поскольку Fiber и Network Lighting включают в себя слишком много разнообразных знаний, один простой пост может быть недостаточным, чтобы охватить все аспекты. В будущем мы выпустим серию статей на тему Network Lighting и Fiber, оставайтесь на связи.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Разбор системы Fiber: великий эксперимент по прививке Сеть Lighting на CKB
23 августа официальный сайт CKB опубликовал информацию о Fiber Network, основанной на CKB. Как только эта новость распространилась, она сразу же вызвала оживленные обсуждения в сообществе и привела к резкому росту цены CKB на 30% всего за один день. Главная причина такой сильной реакции на новость заключается в убедительной привлекательности Fiber Network и во многих улучшениях, которые были внесены в традиционную сеть Сеть Lighting, представленную CKB.**
Например, Fiber может нативно поддерживать множество типов активов, таких как CKB, BTC, стабильные монеты и т.д., причем комиссионные за CKB значительно меньше, чем за BTC, а время отклика быстрее, что позволяет Fiber достичь прорыва в UX. А на уровне конфиденциальности и безопасности Fiber также внесла много улучшений.
Кроме того, сети Fiber и BTC Lighting могут взаимодействовать друг с другом, образуя более крупную P2P-сеть. На предыдущих внеочередных мероприятиях официальные лица CKB даже заявили, что установят 100 000 физических узлов в сетях Fiber и Lighting для совершенствования и развития P2P-платежной сети. Нет сомнений, что это беспрецедентная история.
Если официальная визия CKB будет реализована в будущем, это будет огромная благоприятная информация как для сети Lighting, так и для экосистемы CKB и даже BTC. Согласно данным mempool, в текущей сети Lighting размещено более 3 миллиардов долларов США, количество узлов составляет около 12 тысяч, и между ними построено почти 50 тысяч платежных каналов.
А на spendmybtc.com мы также видим, что все больше и больше торговцев поддерживают платежи через Сеть Lighting , как только признание BTC становится все более сильным, потенциал роста решений для платежей вне блокчейна, таких как Сеть Lighting и Fiber, будет только увеличиваться.
С целью систематического изучения технического решения Fiber, книга ‘Geek Web3’ написала исследовательский отчет об общей схеме Fiber. Как решение, основанное на CKB, и реализация сети Lighting, принцип Fiber в целом согласуется с BTC Lighting, но во многих деталях он оптимизирован.
Общая архитектура Fiber включает четыре основные части: платежный канал, WatchTower, многошаговая маршрутизация и междоменные платежи. Давайте сначала подробно рассмотрим наиболее важную часть - “платежный канал”.
Основа сети Lighting и Fiber: платежные каналы
Сущность платежного канала заключается в перемещении транзакций/сделок для обработки вне блокчейна, а затем в последующей отправке окончательного состояния на в блокчейне для “Поселок”. Поскольку транзакции мгновенно завершаются вне блокчейна, часто можно избежать ограничений производительности основного блокчейна, такого как BTC и т.д.
Предположим, что Алиса и Боб открыли канал, в котором они сначала создали мультисиг-счет в блокчейне, положили туда некоторое количество денег, например, по 100 юаней каждый, в качестве баланса каждого из них вне блокчейна. Затем стороны могут проводить несколько транзакций в канале, и когда они выходят из канала, они синхронизируют конечный баланс в блокчейне через мультисиг-счет, который выплачивает обе стороны, т.е. «Поселок».
Например, если каждая сторона начинает с 100 юаней, затем Элис переводит 50 юаней Бобу, затем Элис снова переводит 10 юаней Бобу, а затем Боб переводит 30 юаней Элис, то балансы обеих сторон будут изменены на - Элис - 70, Боб - 130. Легко заметить, что сумма балансов обеих сторон остается неизменной, и пример с бусинами на рисунке может хорошо объяснить этот момент.
Если одна из сторон выйдет из канала, текущий баланс Алисы: 70/Боба: 130 будет синхронизирован в блокчейне, 200 юаней на мультиподписном счете будут переведены каждому в соответствии с их балансом, и Поселок будет завершен. Этот процесс выглядит просто, но в реальной жизни необходимо учитывать множество сложных ситуаций.
Сначала вы фактически не знаете, когда другая сторона хочет выйти из канала. Возьмем пример выше, Боб может выйти после завершения второго перевода или даже после первого, и платежный канал не будет настаивать на этом, участникам разрешено свободно выходить. Для этого необходимо предположить, что кто-то может выйти в любое время, и любая сторона может подать итоговый баланс в блокчейне для Поселок.
Поэтому есть настройка «обещанная сделка», которая используется для объявления остатков обеих сторон канала. При каждом переводе генерируется соответствующая «обещанная сделка». Если вы хотите выйти из канала, вы можете представить в блокчейне последнюю «обещанную сделку», чтобы извлечь свои деньги из мульти-счета.
Мы можем сделать вывод, что обещанные сделки используются для расчетов остатков обеих сторон в канале в блокчейне, и любая сторона в любое время может вывести последнюю обещанную сделку на цепочку, а затем выйти из канала.
**Однако здесь есть важный сценарий злоупотребления: Боб может отправить устаревший баланс и обещанную сделку в блокчейн, например, после создания Commit Tx3 на рисунке выше, баланс Боба составляет 130, но Боб, чтобы извлечь выгоду для себя, отправляет устаревший Commit Tx2 в блокчейн, заявляя, что его баланс составляет 160, а эта информация о балансе не является в реальном времени, это типичные «Двойные расходы».
Для предотвращения подобных ситуаций с двойными расходами необходимы соответствующие меры наказания, именно разработка мер наказания является ключевым аспектом всего 1-к-1 платежного канала, понимание которого действительно позволяет понять сам платежный канал. В рамках дизайна канала, если одна из сторон отправит устаревшее состояние и Commit Tx на в блокчейне, это не приведет к желаемому результату, а наоборот, другая сторона сможет изъять все средства.
Здесь используются два очень важных понятия: «несимметричная обязательственная сделка» и «отзыв Секретного ключа». Сначала мы объясним, что такое несимметричная обязательственная сделка. На примере Commit Tx3, который мы рассмотрели ранее, ниже приведена схема сделки на обязательство:
Эта сделка обязательства создана Бобом и отправлена Элис, чтобы она самостоятельно ее обработала. Как показано на рисунке, это перевод BTC, заявляющий, что 70 долларов переводятся на счет Alice, 130 долларов на счет Боба, но условия разблокировки денег «асимметричны», они более строгие для Alice и более выгодны для Боба.
**После того, как Алиса получит обязательство от Боба, она может приложить свою собственную подпись, чтобы выполнить мультиподпись 2/2. Затем Алиса может активно отправить “обязательственную транзакцию” на цепочку блоков, чтобы выйти из канала, **если она этого не сделает, она может продолжать совершать транзакции в канале.
Здесь мы должны отметить: ** Эта сделка была заключена Бобом по его собственной инициативе, в которой условия неблагоприятны для Алисы, Алиса может только принять/отвергнуть, и мы должны найти способ оставить Алисе некоторую автономию. ** В дизайне платежного канала только сама Алиса может поместить в триггер вблокчейне “невыгодную для себя” транзакцию обязательства, т.к. транзакция обязательства должна составлять 2/2 мультиподписи, а Боб имеет только свою подпись после локального построения транзакции, а не подпись Алисы.
В то время как Алиса может «получать только подпись Боба, но не отправлять свою подпись ему», это похоже на договор, неблагоприятный для вас, требующий двойной подписи от вас и другой стороны, которая подписывает сначала и передает вам документ, а затем вы можете не давать другой стороне получить подпись. Если вы хотите, чтобы договор вступил в силу, подпишите его, а затем сделайте его публичным, если не хотите, чтобы он вступил в силу, не подписывайте его или не делайте его публичным. Очевидно, что в приведенном выше случае Алиса имеет способ ограничить Боба.
Затем перейдем к главному: каждый раз, когда происходит перевод в канале, появляется пара обязательственных сделок, которые имеют две похожие зеркальные версии, как показано ниже. Элис и Боб могут каждый создать обязательственную сделку, выгодную для себя, в которой они объявляют баланс/сумму, которую они должны получить при выходе, а затем отправить содержимое сделки на обработку друг другу.
Интересно, что сумма, получаемая при выходе, в этих двух заявлениях о сделке, одинакова, но условия вывода разные, и вот отсюда происходит асимметричная сделка с обязательствами, о которой говорилось ранее.
Ранее мы объяснили, что ** каждая обещанная сделка должна быть подписана двумя из двух для вступления в силу. ** Сделки, выгодные для Боба, которые он локально конструирует, не удовлетворяют 2/2 подписи, тогда как сделки, удовлетворяющие 2/2 подписи, находятся в руках Алисы. Боб не может их отправить, только Алиса может это сделать, что создает равновесие. То же самое справедливо и в обратную сторону.
Таким образом, Alice и Bob могут только активно подтверждать сделки, которые невыгодны для них самих. Если один из двух субъектов подтвердит Commit Tx на цепочке и транзакция будет выполнена, то канал будет закрыт. Вернемся к сценарию «Двойные расходы», о котором мы говорили в самом начале. Что произойдет, если кто-то подтвердит устаревшую сделку на цепочке?
Здесь стоит упомянуть о чем-то, что называется “отмена Секретный ключ”. Если, например, Боб отправит устаревшую обязательство транзакцию на цепь, Алиса сможет забрать у Боба его долг, используя отмену Секретный ключ.
Мы посмотрим на эту картину, предположим, что последняя обязательство сделка - Commit Tx3, Commit Tx2 истек, если Боб отправит просроченный Tx2 в блокчейне, Алиса сможет забрать деньги у Боба, используя секретный ключ отмены Tx2 (Алисе нужно действовать в пределах временной блокировки).
Однако для последней транзакции Tx3 Алиса не имеет секретного ключа отзыва, и только после появления Tx4 в будущем Алиса сможет получить секретный ключ отзыва Tx3. Это связано с особенностями криптографии на основе открытого и закрытого ключей и UTXO, и в данной статье не будет подробно объясняться реализация принципа отзыва секретного ключа.
Мы можем запомнить вывод: Боб, если посмеет отправить просроченную сделку на цепь, Алиса сможет забрать его деньги, используя отзывнойСекретный ключ в качестве наказания. С другой стороны, если Алиса поступит плохо, Боб тоже сможет наказать ее таким же образом. Таким образом, однократный платежный канал может эффективно избежатьДвойные расходы, при условии, что все участники являются рациональными и не посмеют поступить плохо.
Относительно платежного канала, Fiber на основе CKB в сравнении с BTC Lightning Network имеет значительные улучшения и может нативно поддерживать передачу/сделки различных типов активов, таких как CKB, BTC и RGB++ стейблкоины, в то время как Lightning Network может нативно поддерживать только BTC. После выпуска актива Taproot BTC Lightning Network останется неспособной нативно поддерживать не-BTC активы, а сможет поддерживать стейблкоины только косвенно.
(Источник изображения: Dapangdun)
Кроме того, из-за того, что Fiber зависит от основной блокчейн CKB Layer1, расходы на открытие и закрытие каналов намного ниже, чем в сети Lighting BTC, и не снижают много комиссий у пользователей, что представляет собой явное преимущество в UX.
Круглосуточная безопасность: WatchTower Наблюдатель
**В предыдущем тексте упоминается проблема отзыва Секретного ключа: участники канала должны постоянно наблюдать за другими, чтобы предотвратить подачу устаревших обязательств на цепь. Но никто не может гарантировать онлайн 24 часа в сутки. Что делать, если вас нет в сети, а ваш партнер поступает злонамеренно?
В этом отношении Fiber и BTC Сеть Lighting оба имеют дизайн WatchTower, который будет круглосуточно отслеживать деятельность в блокчейне для помощи пользователям. Как только в канале появится просроченная обещанная транзакция, WatchTower немедленно ее обработает, чтобы обеспечить безопасность канала и средств.
Конкретное объяснение следующее: для каждой истекшей обязательной сделки Алиса или Боб могут заранее создать соответствующую сделку наказания (используя открытый текст Секретного ключа для отмены истекшей обязательной сделки и заявление получателя в своем имени) и отправить открытый текст наказания WatchTower. Как только WatchTower обнаружит, что кто-то отправил истекшую обязательную сделку на цепочку блоков, он также отправит наказание на цепочку блоков, чтобы наказать его.
Для защиты конфиденциальности участников канала Fiber разрешает пользователям отправлять WatchTower лишь “хэш просроченной обязательной сделки+Открытый текст штрафной сделки”, таким образом WatchTower изначально не знает Открытый текст обязательной сделки, а знает только её хэш. Только если кто-то действительно представит просроченную обязательную сделку на в блокчейне, WatchTower увидит Открытый текст, а затем мгновенно представит штрафную сделку на цепи. Таким образом, если никто не действует злонамеренно, WatchTower не увидит записей о сделках участников канала (даже если увидит, то только одну из них).
Здесь мы хотим упомянуть оптимизацию Fiber по сравнению с Биткойн Сеть Lighting. Вышеупомянутый механизм наказания, связанный с отменой секретного ключа, называется «LN-Penalty», и у LN-Penalty Биткойн Сети Lighting есть явные недостатки: WatchTower должен сохранять все устаревшие хэши обязательственных сделок и соответствующие отмены секретных ключей, что создает значительное хранилище давления.
Еще в 2018 году сообщество BTC предложило решение под названием «eltoo» для решения вышеуказанной проблемы, но для его поддержки требуется форк BTC. Идея заключается в том, что после того, как истекшие обещания транзакции оказываются на блокчейне, самая последняя обещанная транзакция может наказать их, таким образом, пользователю нужно сохранять только самую последнюю обещанную транзакцию. Однако до сих пор операционный код SIGHASH_ANYPREVOUT не был активирован, и этот план все еще не может быть реализован.
В то время как ** Fiber реализует протокол Daric, изменяя дизайн секретного ключа отмены, чтобы один и тот же секретный ключ отмены мог использоваться для нескольких просроченных обязательственных сделок. Это позволяет существенно снизить нагрузку на хранение WatchTower и клиентов пользователей. **
Транспортная система в сети: маршрутизация множественных переходов и HTLC/PTLC
Например, у Алисы и Кена нет канала, но есть канал между Кеном и Бобом, а у Боба и Алисы есть канал, Боб может выступать в качестве промежуточного узла между Алисой и Кеном, чтобы между Алисой и Кеном была передача. И ** “многоузловой маршрут” относится к построению пути передачи через нескольких посредников. **
“Мультипрыжковая маршрутизация” может увеличить гибкость и охват сети. Однако отправитель должен знать состояние всех общедоступных узлов и каналов. **В Fiber все общедоступные каналы, то есть структура сети, полностью открыты, **любой Узел может узнать информацию о сети, которой владеют другие Узлы. Поскольку состояние всей Сети Lighting постоянно меняется, Fiber будет использовать алгоритм Дейкстры для нахождения кратчайшего маршрута, чтобы минимизировать количество посредников, а затем установить путь для перевода между двумя сторонами.
**Однако внутри должна быть решена проблема доверия Узла: ** как вы гарантируете его честность, например, как было упомянуто ранее, между Alice и Ken есть посредник Bob, и Alice сейчас хочет перевести 100 юаней Ken, Bob в любой момент может удержать эти деньги. Для этого должны быть меры предосторожности от действий посредника, HTLC и PTLC используются для решения таких проблем.
Предположим, что Алиса должна заплатить Даниэлю 100 долларов, но у них нет прямого канала. Алиса обнаруживает, что может оплатить Даниэлю через посредников Боба и Кэрол. В этом случае необходимо использовать HTLC в качестве платежного канала. Сначала Алиса отправляет запрос Даниэлю, затем Даниэль отправляет Алисе хеш r, но Алиса не знает, какому Открытому тексту R соответствует r.
После этого Алиса, в своем канале с Бобом, создает условия платежа с помощью HTLC: Алиса готова заплатить Бобу 102 блока, но Боб должен назвать ключ R в течение 30 минут, иначе Алиса вернет деньги. Точно так же Боб создает HTLC с Кэрол: Боб готов заплатить Кэрол 101 блок, но Кэрол должна назвать ключ R в течение 25 минут, иначе Боб вернет деньги.
Carol создает HTLC в канале с Daniel так же, как и раньше: Carol готова заплатить 100 юаней, но Daniel должен сообщить ей открытый текст R в течение 20 минут, иначе деньги будут возвращены Carol.
Дэниел понимает, что ключ R, который просит Кэрол, на самом деле является тем, чего хочет Алиса, потому что никому, кроме Алисы, нет дела до содержимого R. Таким образом, Дэниел сотрудничал с Кэрол и рассказывал ей, что такое R, и получал от Кэрол 100 баксов, чтобы Алиса достигла своей цели: дала Кэрол 100 баксов.
После этого несложно представить, что Кэрол сообщает ключ R Бобу и получает 101 доллар; Боб передает ключ R Элис и получает 102 доллара. ** Наблюдая за выигрышем и проигрышем всех, мы видим, что у Элис уходит 102 доллара, а у Боба и Кэрола чистая прибыль 1 доллар, а у Даниэля 100 долларов. Здесь 1 доллар, который заработали Боб и Кэрол, - это комиссия, которую они взяли у Элис. **
Даже если кто-то из участников платежного пути, например, Кэрол, не предоставит Бобу нижестоящему ключу R, это не причинит ущерба Бобу: после истечения времени Боб может отозвать созданный HTLC. То же самое относится и к Элис.
Но сеть Lighting также имеет проблемы: путь не должен быть слишком длинным, если путь слишком длинный или слишком много посредников, это может привести к падению надежности платежа: некоторые посредники могут быть оффлайн или у них может не хватать средств для создания определенного HTLC (как в случае с каждым посредником в предыдущем примере, где каждому посреднику требуется как минимум 100 юаней). Поэтому добавление каждого промежуточного узла в путь повышает вероятность ошибки.
Кроме того, HTLC может утечка конфиденциальной информации. Хотя луковая маршрутизация может надлежащим образом защитить конфиденциальность, например, шифруя информацию о маршруте каждого шага, кроме инициатора Алисы, каждый человек знает только соседних участников, но не знает полного пути. Однако на самом деле HTLC все равно может быть выведен связь. Мы смотрим на этот путь с божественной перспективы.
Предположим, что Боб и Дэниел - это два узла, контролируемых одним субъектом, и каждый день они получают много HTLC от людей. Они обнаружили, что после каждого HTLC, отправленного Алисой и Кэрол, Секретный ключ, который им необходимо узнать, всегда одинаковый, а следующий узел, связанный с Дэниелом, всегда знает содержимое Секретного ключа R. Таким образом, Дэниел и Боб могут догадаться, что между Алисой и Ив существует путь оплаты, потому что они всегда связаны с одним и тем же Секретным ключом, и, исходя из этого, можно сделать вывод о связи между Алисой и Ив и осуществить наблюдение.
Для этого Fiber использует PTLC, который улучшает конфиденциальность на основе HTLC, каждый PTLC в платежном маршруте разблокируется с помощью разных Секретный ключ, и нельзя определить их взаимосвязь, просто наблюдая за Секретный ключ, требуемым для PTLC. Совмещение PTLC с маршрутизацией через луковицы делает Fiber идеальным решением для конфиденциальных платежей.
Кроме того, традиционная Сеть Lighting подвержена “атаке циклической замены” (replacement cycling attack), которая может привести к краже активов посредника в платежном маршруте. Это обнаружение даже заставило разработчика Антуана Риара покинуть работу над Сеть Lighting. До сих пор BTC Сеть Lighting не приняла фундаментальных мер по решению этой проблемы, что стало серьезной проблемой.
В настоящее время официальный CKB может позволить Fiber решить вышеуказанную атаку, модифицируя пул транзакций. Поскольку альтернативные атаки цикла транзакций и их решения довольно сложны, в данной статье не планируется продолжать объяснения, заинтересованные лица могут прочитать следующие статьи BTCStudy и изучить соответствующие материалы от официального CKB.
В целом, как в аспекте конфиденциальности, так и в аспекте безопасности, Fiber в целом улучшилась по сравнению с традиционной Сеть Lighting.
Кросс-цепочечные атомарные платежи между Fiber и BTC Lighting сети
С использованием HTLC и PTLC, Fiber может осуществлять междоменные платежи с помощью BTCСеть Lighting и обеспечивать “атомарность” междоменных операций, то есть все этапы междоменной связи либо полностью успешны, либо полностью неудачны, без частичного успеха и частичного неудачи.
После обеспечения кросс-атомарной безопасности можно гарантировать, что кросс-домен не приведет к потере имущества, что позволит связать Fiber и BTC Сеть Lighting. Например, можно создать платежный маршрут в гибридной сети, состоящей из Fiber и Сети Lighting, и непосредственно перевести деньги пользователям BTC Сети Lighting на Fiber (только для получателей BTC). Кроме того, в Fiber можно обменять CKB и RGB++ на эквивалентный BTC в BTC Сети Lighting.
Мы кратко объясним принцип: предположим, что Алиса запустила Узел в сети Fiber, а Боб запустил Узел в сети BTC Lighting, Алиса хочет передать некоторые деньги Бобу, она может сделать это через посредника Ингрид, работающего в разных сетях Fiber и BTC Lighting в качестве пути для передачи средств.
Если Боб хочет получить 1 BTC, Алиса может договориться с Ингрид о курсе обмена, например, обменять 1 CKB на 1 BTC. Алиса может отправить Ингриду 1,1 CKB через Fiber, а затем Ингрид отправит 1 BTC Бобу через сеть Lighting, оставив 0,1 CKB в качестве комиссии.
Конкретный способ действий здесь, на самом деле, заключается в установлении платежного пути между Алисой и Бобом через Ингрид, то есть Алиса—>Ингрид—>Боб, после чего будет использоваться HTLC. По сути, как уже было сказано ранее, для того чтобы Боб получил деньги, он должен сообщить Ингрид содержание ключа R. Как только Ингрид получит ключ R, она сможет разблокировать деньги, закрепленные у Алисы в HTLC.
Следует отметить, что кросс-цепочечные операции, произведенные в BTC Сети Lighting и Fiber, являются атомарными, что означает, что либо оба HTLC будут разблокированы, и кросс-цепочная оплата будет успешно выполнена, либо они не будут разблокированы, и кросс-цепочная оплата не будет выполнена, и не будет ситуации, когда Элис передаст деньги, а Боб не получит их.
(На самом деле посредник Ingrid может не разблокировать HTLC Alice, зная ключ R, но это нанесет ущерб именно посреднику Ingrid, а не пользователю Alice, поэтому дизайн Fiber безопасен для пользователей)
Этот метод позволяет осуществлять операции перевода между различными сетями P2P без необходимости доверять третьей стороне и практически без внесения каких-либо изменений.
Другие преимущества Fiber по сравнению с BTC Lighting сети
Ранее мы упоминали, что ** Fiber поддерживает оригинальные активы CKB и активы RGB ++ (в особенности устойчивые монеты), что дает ему огромный потенциал в сфере мгновенных платежей и делает его более подходящим для повседневных мелких платежей. **
Кроме того, у сети BTC Lighting есть основная проблема - управление ликвидностью. Вы, возможно, помните, что мы говорили в самом начале, общий баланс в платежном канале является фиксированным. Если баланс одной из сторон исчерпан, она не сможет перевести деньги другой стороне, пока та не отправит ей деньги, в этом случае необходимо внести дополнительные средства или открыть новый канал.
Кроме того, если речь идет о сложной многоразовой сети, то недостаточный баланс некоторых промежуточных Узел может привести к невозможности осуществления перевода средств, что в свою очередь может привести к сбою всего пути оплаты. Это одна из болезней Сети Lighting, решением которой является, в основном, эффективное внедрение Ликвидностьи для обеспечения постоянного внесения средств в большинство Узлов.
Однако, в сети BTCСеть Lighting шаги по инъекции Ликвидности, открытию или закрытию канала осуществляются на цепи BTC. Если комиссии BTC-сети очень высокие, это может негативно сказаться на UX платежного канала. Предположим, вы хотите открыть канал с объемом в 100 долларов, но операция по созданию канала стоит 10 долларов. Таким образом, при инициализации этого канала вам придется потратить 10% своих средств, что не может быть принято большинством людей. То же самое относится и к работе по инъекции Ликвидности.
У Fiber есть очень значительные преимущества. Во-первых, TPS CKB намного выше, чем у BTC, и комиссии могут достигать уровня центов; во-вторых, чтобы решить проблему недостатка Ликвидности, из-за которой невозможно осуществить перевод, Fiber планирует сотрудничать с Mercury layer, чтобы предложить новое решение, которое позволит избавиться от операций в блокчейне при внедрении Ликвидности, решив проблемы UX и затрат.
Таким образом, мы систематически проанализировали общую технологическую архитектуру Fiber, и ее сравнение с BTC Network Lighting в целом подведено на рисунке выше. Поскольку Fiber и Network Lighting включают в себя слишком много разнообразных знаний, один простой пост может быть недостаточным, чтобы охватить все аспекты. В будущем мы выпустим серию статей на тему Network Lighting и Fiber, оставайтесь на связи.