Что такое лайтнинг – Разъем Lightning: что это такое

Разъем Lightning: что это такое

Компания Apple никогда не стремилась следовать общепринятым стандартам и не раз делала выбор в пользу собственных закрытых разработок. Одним из таких примеров является разъем Lightning, который стал заменой для общепринятого MicroUSB и используется уже больше 6 лет.

Что такое Lightning

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

Lightning был представлен 2012 году и заменил собой ранее использовавшийся 30 контактный разъем. В отличие от своего предшественника, Lightning отличается компактностью и простотой в использовании. В нем используется всего 8 контактов вместо 30 и его можно устанавливать любой стороной. Это позволяет подключить смартфон к кабелю в одно движение и практически не глядя на него.

Несмотря на свою компактность и простоту, у разъема Lightning есть ряд недостатков, которые часто создают проблемы для пользователей. Главным минусом Lightning является то, что это закрытый стандарт компании Apple. Только Apple владеет всеми правами на эту торговую парку и характеристики разъема. Из-за этого стоимость аксессуаров с данным разъемом всегда намного выше, чем стоимость аналогичных устройств с Micro USB.

На данный момент Lightning является основным разъемом компании Apple для подключения мобильных устройств. Сейчас данным разъемом комплектуются такие устройства как iPhone (начиная с iPhone 5), iPad (начиная с iPad 4-го поколения), iPad Mini (начиная с 2 версии), iPad Air, iPad Pro, iPod Nano (7-го поколения) и iPod Touch (начиная с 5-го поколения). Но, похоже, что в ближайшем будущем Apple планирует отказаться от Lightning и перейти на использование USB Type-C. На это указывает тот факт, что в последнем поколении iPad Pro вместо Lightning используется именно USB Type-C, также USB Type-C уже появлялся в ноутбуках Apple MacBook.

Lightning MFi – что это

При обсуждении Lightning кабелей и других аксессуаров Apple часто встречается такой термин как MFi. Данная аббревиатура расшифровывается как Made For iPhone/iPod/iPad и обозначает программу сертификации, которая была запущена компанией Apple еще в 2005 году. Чтобы получить сертификат MFi производитель аксессуаров должен выполнить ряд требований к надежности и качеству изделия. После получения данного сертификата производить может использовать логотип MFi на своей продукции.

Логотип MFi гарантирует пользователю, что данный аксессуар проверен, полностью безопасен и поддерживает все необходимые режимы работы. Например, в случае кабелей, MFi означает, что такой кабель можно использовать как для зарядки устройства, так и для его синхронизации с компьютером. Наличие сертификата проверяется при помощи специального чипа, который размещен внутри устройства. Если такого чипа нет, или он работает неправильно, то пользователь получит сообщение что аксессуар не поддерживается.

Поэтому, при выборе нового кабеля или аксессуара для мобильной техники Apple очень желательно выбирать модель с обозначением MFi. Конечно, это не дает 100 процентной гарантии, что покупка не разочарует, но по крайней мере вероятность этого будет минимальна.

Lightning и наушники

С выходом iPhone 7 компания Apple решила отказаться от использования отдельного 3.5 мм. аудио-разъема и переложила функцию подключения наушников на разъем Lightning. Данное решение подверглось серьезной критике со стороны пользователей. Основной причиной негодования пользователей был тот факт, что для работы их старых нушников с iPhone теперь нужен специальный переходник. Но несмотря на очевидные неудобства, которые вызывает такое решение, у подключения наушников через Lightning-разъем есть ряд преимуществ.

  • Более качественный звук. Наушники с разъемом Lightning потенциально могут обеспечить более качественное звучание, по сравнению с обычными наушниками, которые подключаются через стандартный 3.5 мм. аудио-разъем. Дело в том, что для работы наушников нужен аналоговый сигнал. В смартфонах с 3.5 мм разъемом этот аналоговый сигнал создается цифро-аналоговым преобразователем (ЦАП), который расположен в смартфоне. В то время как Lightning могут получать от смартфона цифровой сигнал и самостоятельно превращать его в аналоговый, с помощью собственного, встроенного в наушники ЦАП. Это позволяет производителю наушников настроить звучание наиболее оптимальным способом.
  • Подавление шума и другие функции. Для реализации шумоподавления наушникам необходим источник питания. Ранее наушники с шумоподавлением обязательно комплектовались собственной батарей, что увеличивало их вес и стоимость. Но, при подключении через Lightning наушники могут получать питание от аккумулятора смартфона. Кроме шумоподавления, наличие питания от батареи смартфона позволяет производителям внедрять в наушники различные дополнительные функции. Например, производитель может установить несколько дополнительных датчиков и превратить наушники в фитнес-трекер.
  • Меньше подделок под EarPods. Любое устройство с разъемом Lightning (даже кабель) включает в себя специальный чип, который используется для проверки данного устройства на совместить. Наличие этого чипа значительно уменьшит вероятность наткнуться на подделку при покупке наушников EarPods.

Что касается мнения Apple, то их главный аргумент – это экономия места внутри корпуса. По словам представителей компании 3.5 мм. аудио-разъем отнимает слишком много пространства внутри корпуса, что не позволяет сделать устройство тоньше.

smartphonus.com

Что такое Lightning Network?

Что заставляет нас о нем говорить?

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

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

Почему блокчейн работает медленно?

Как вы знаете, блокчейн — это реестр, который состоит из блоков. В каждом блоке находится некоторое количество транзакций. Для того, чтобы блок был включен в цепочку, необходимо совершить определённый объем вычислений. Сложность нахождения правильного решения регулируется алгоритмом таким образом, чтобы с учетом теории вероятности все мощности, работающие над задачей, находили решение за 10 минут. Учитывая размер блока (1 Мб), можно вычислить пропускную способность сети: около 7 транзакций в секунду.

Что такое transaction fee?

В сети биткоин обработкой и валидацией транзакций занимаются владельцы вычислительных мощностей — майнеры. Их задача проверить, действительно ли все входные и выходные данные являются подлинными, и включить транзакцию в блок. За найденный блок они получают награду в виде 12.5 BTC, а также комиссионные, оплачиваемые пользователями. Так как количество транзакций превышает пропускную способность сети, формируются очереди из неподтвержденных операций.

Сеть функционирует таким образом, что именно размер transaction fee является инструментом, позволяющим управлять скоростью проведения транзакции. Работают законы рынка: майнеры включают транзакции с наиболее высокими комиссионными в первую очередь.

Именно из-за этого блокчейн работает так медленно. И ситуация лишь усложняется по мере роста популярности технологии: общее число участников растет, в то время как размер блока строго ограничен. Эту проблему и призвана решить Lightning Network (LN).

Что такое Lightning Network?

Lightning Network — концепция существенного увеличения пропускной способности сети биткоина. Создатели LN преследуют цель довести максимальное количество операций в секунду до уровней Visa и Mastercard. Основная идея заключается в том, чтобы записывать в блокчейн не каждую транзакцию, а лишь минимально необходимый для учета набор.

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

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

Как устроены каналы?

Наилучшей аналогией является закрытый сейф, куда 2 человека положили равное количество денег. 

Операция внесения средств на счет регистрируется в блокчейне биткоина, тем самым фиксируя момент открытия канала. С этого момента и до полного закрытия канала внесенные в него средства могут передаваться исключительно внутри него.

Давайте представим, что теперь Цзан желает отправить 2 из 10 внесённых биткоинов Елене. По прошествии времени девушка отправляет 1 биткоин назад. Взаимодействуя внутри выделенного канала связи, пользователи передают друг другу не сами BTC, а право на их владение. Это означает, что при закрытии канала девушка получит 11 BTC, а парень — 9.

Однако свой истинный потенциал технология раскрывает при объединении каналов в сеть — Lightning Network.

Как работает Lightning Network?

LN предлагает заменить механизм передачи ценностей на работу с передачей прав на владение этими ценностями. Это огромный шаг вперед. Давайте рассмотрим конкретный пример.

Допустим, что есть 3 человека, вовлеченные в процесс передачи токенов, и 2 открытых канала: Цзан — Елена и Елена — Зеке. Обратите внимание, что прямое сообщение между мужчинами отсутствует. Представим теперь, что Цзан решил передать 2 биткоина своему товарищу Зеке. При использовании LN парень может попросить Елену использовать существующий канал, а затем возместить ей потраченные средства.

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

Использованный материал 

 

chainmedia.ru

Lightning Network: все технические детали |

Пожалуй, Lightning Network — наиболее ожидаемая технологическая новинка для Биткойна. Предполагается, что эта платежная система, идея которой была придложена год назад, позволит почти бесплатно выполнять огромное количество транзакций вне блокчейна Биткойна, и для этого не придется жертвовать безопасностью.

Как минимум три компании — основанная авторами идеи LN Джозефом Пуном (Joseph Poon) и Тэджем Дрийа (Tadge Dryja) Lightning, а также Blockstream и Blockchain.info — в настоящее время работают над реализацией этой технологии. Однако, кроме вовлеченных в это разработчиков мало кто понимает, как вся эта магия вообще работает. Мы предлагаем своим читателям восполнить этот пробел в своих знаниях.

Чтобы как следует понять концепцию, нужно последовательно изучить все строительные блоки, которы она включает. Для начала давайте разберемся, какие элементы задействованы в создании двунаправленного платежного канала — первой важной составляющей Lightning Network.

Элемент 1: неподтвержденные транзакции

В своей основе биткойн-протокол состоит из транзакций, которые ссылаются на прошлые транзакции и, возможно, на будущие. Каждая транзакция содержит входы с адресами отправителей биткойнов, и выходы с адресами их получателей. Кроме того, входы должны включать требования, которые создатель транзакции должен удовлетворить, чтобы транзакция была успешно выполнена, — иначе говоря, он должен подтвердить, что имеет право распоряжаться биткойнами, хранящимися по соответствующим адресам. Для выходов текущей (и, соответственно, входов следующей) транзакции указываются новые требования.

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

Черным цветом обозначена подтвержденная транзакция. Синяя транзакция может быть отправлена в сеть Алисой, но только в том случае, если подтверждена предыдущая транзакция. Красная транзакция может быть отправлена в сеть Бобом — с тем же условием: если подтверждена предыдущая транзакция. В данном примере Алиса может в любой момент подписать и транслировать в сеть свою неподтвержденную транзакцию, отправив 2 биткойна Бобу, и лишь после этого Боб сможет подписать свою транзакцию, отправляющую 1 биткойн Кэрол.

Элемент 2: механизм защиты от двойной траты

Второй элемент Lightning Network не нуждается в подробных объяснениях, потому что это смысл существования самого Биткойна: защита от двойной траты. Если две транзакции (или, скорее, два входа) ссылаются на один и тот же выход, только одна из них может быть подтверждена майнерами. Важно понимать, что конфликтовать могут даже неподтвержденные транзакции — еще до подтверждения одной из них.

В данном примере Алиса должна выбрать транзакцию, которую она хочет подписать и отправить в сеть. Получить подтвеждения для обеих транзакций она не может.

Элемент 3: мультиподпись

Третий элемент Lightning Network также прост: это адреса с мультиподписями. Так называют биткойн-адреса, для разблокирования которых необходимо несколько закрытых ключей. Условия разблокирования могут быть самыми разными, например 2 ключа из 3, 15 из 15 и т. д. В Lightning Network часто используются мультиподписи по схеме «2 из 2», т. е., чтобы потратить биткойны, хранящиеся по такому адресу, необходимы две подписи, сгенерированные с помощью двух закрытых ключей.

Алиса и Боб создали адрес с мультиподписью, ключ к которому есть и у Алисы, и у Боба. Если кто-либо из них попытается потратить биткойны в одиночку, ничего не выйдет. Имейте в виду, что после добавления подписи к транзакции изменить содержимое транзакции невозможно. Криптографическая подпись — это что-то среднее между транзакцией и печатью (а на самом деле это длинная уникальная строка чисел).

Элемент 4: временные блокировки

Четвертый элемент Lightning Network — это временные блокировки. Они позволяют блокировать биткойны в выходе, чтобы их можно было потратить (включить в следующий вход) лишь спустя какое-то время.

Временные блокировки бывают двух видов: абсолютные, или CheckLockTimeVerify (CLTV), и относительные, или CheckSequenceVerify (CSV). Блокировка CLTV блокирует биткойны до какого-то (более-менее) конкретного момента в будущем: до фактического времени или определенного блока. В CSV вместо этого используется относительное время. Как только выход с CSV записан в блокчейн, должно быть сгенерировано определенное количество блоков, прежде чем эти биткойны можно будет потратить.

В Lightning Network блокировка CSV (обозначенная на рисунке часами) часто используется как задержка.

Элемент 5: хеши и секреты

Криптографические примитивы относятся к фундаментальным блокам самого Биткойна, но в Lightning Network они используются иначе.

Если коротко, то «значение» или «секрет» — это длинная уникальная строка чисел, которую практически невозможно угадать даже на очень мощных компьютерах. Этот секрет можно «хешировать» — преобразовать в другую строку чисел, или «хеш». Хитрость в том, что любой, кто знает значение, может с легкостью получить его хеш, но обратное невозможно: хеширование — однонаправленная операция.

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

В этой статье секрет изображается как цветной ключ, а соответствующий хеш — как замок такого же цвета.

Первая задача: двунаправленные платежные каналы

Идея платежных каналов обсуждалась еще до Lightning Network. Безусловно, обычные платежные каналы полезны, но ограничены: они однонаправленны. Ключевая особенность Lightning Network — это двунаправленные платежные каналы «без доверия».

Открытие канала

Чтобы создать двунаправленный платежный канал, стороны должны сначала согласовать открывающую транзакцию. Эта транзакция определяет объем депозитов, которые должна внести каждая сторона.

Допустим, Алиса хочет отправить Бобу один биткойн. Алиса и Боб собираются платить друг другу часто, поэтому они решают открыть двунаправленный платежный канал (пожалуй, целый биткойн — это многовато для платежного канала, потому что он больше подходит для микроплатежей, но в этом нет ничего невозможного).

Чтобы открыть канал, Алиса и Боб отправляют на адрес с мультиподписью «2 из 2» по 5 биткойнов. Это и есть «открывающая транзакция». Биткойны по этому адресу можно потратить, только если транзакцию подпишут и Алиса, и Боб.

Кроме того, Алиса и Боб создают секрет (строку чисел) и получают ее хеш.

Далее Алиса немедленно создает из открывающей транзакции новую транзакцию. Это так называемая «транзакция-обязательство» (commitment transaction). С ее помощью Алиса отправляет 4 биткойна себе, а оставшиеся 6 — на второй адрес с мультиподписью. Этот адрес немного необычен. Боб может разблокировать его самостоятельно, но только через 1000 блоков, потому что это адрес с CSV-блокировкой. Или же его может разблокировать Алиса, но только указав секрет, хеш от которого сообщил ей Боб (разумеется, Алиса понятия не имеет, каков этот секрет — она знает только его хеш, — так что она пока не может воспользоваться этой возможностью).

Алиса подписывает транзакцию-обязательство, но не транслирует ее в сеть! Вместо этого она отправляет ее Бобу.

Тем временем Боб делает то же самое, но с обратными параметрами: создает транзакцию-обязательство, отправляя 6 биткойнов себе, а 4 — на новый адрес с мультиподписью. Алиса может разблокировать этот адрес через 1000 блоков, а Боб — с помощью секрета Алисы.

Боб подписывает свою транзакцию-обязательство и отправляет ее Алисе.

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

Теперь и Алиса, и Боб могут подписать и отправить в биткойн-сеть обязательства, которые они получили друг от друга. Если Алиса сделает это, Боб немедленно получит 6 биткойнов. Если это сделает Боб, Алиса получит 4 биткойна. В любом случае тот, кто подпишет и отправит в биткойн-сеть соответствующую транзакцию, должен будет подождать 1000 блоков, чтобы разблокировать адрес с мультиподписью и получить доступ к остальным биткойнам.

Однако в действительности ни одна из сторон не подписывает и не транслирует в сеть свою транзакцию, и это самое важное в платежном канале.

Обновление канала

Немного позже Боб хочет вернуть Алисе 1 биткойн. Им нужно обновить состояние канала, и для этого они делают две вещи.

Прежде всего, они повторяют изложенный выше процесс (за исключением открывающей транзакции — она уже записана в блокчейн). В этот раз Алиса и Боб отписывают себе по 5 биткойнов, а оставшиеся 5 отправляют на адреса с мультиподписью. Требования к этим адресам похожи, но использовать они должны новые секреты. Это означает, что Алиса и Боб сообщают друг другу новые хеши. Они подписывают свои транзакции-обязательства и отправляют их друг другу.

Далее Алиса и Боб передают друг другу свои секреты из первого сценария.

После этого Алиса и Боб могут подписать и отправить в сеть полученные транзакции-обязательства. Тот, кто сделает это, сможет получить свои 5 биткойнов через 1000 блоков, а вторая сторона — немедленно.

Но что мешает Бобу вместо этого отправить в сеть старую транзакцию-обязательство? Казалось бы, в этом случае он должен получить 6 биткойнов…

Конечно же, сделать это мешает ему его первый секрет, который он только что передал Алисе. Боб больше не может использовать старую транзакцию-обязательство, потому что Алисе известен его первый секрет. Если бы Боб подписал и отправил в сеть старое обязательство, он немедленно отправил бы 4 биткойна Алисе, а сам смог бы получить свои 6 биткойнов лишь через 1000 блоков. Тем временем Алиса сама смогла бы получить эти 6 биткойнов, потому что ей известен секрет Боба! Ну а поскольку Бобу известен секрет Алисы, это работает и в обратном направлении: если Алиса попытается отправить в сеть свое старое обязательство, Боб сможет забрать все биткойны из данного канала.

Это означает, что Алиса и Боб экономически заинтересованы в том, чтобы соблюдать правила и транслировать в сеть только транзакции с актуальным состоянием канала.

Теперь эту схему двунаправленного платежного канала нужно расширить, чтобы можно было совершать платежи по сети.

Сеть

Допустим, что теперь Алиса хочет отправит 1 биткойн Кэрол. Для этого Алиса и Кэрол могли бы создать платежный канал между собой, но оказывается, что канал есть между Бобом и Кэрол, так что Алиса может заплатить Кэрол через Боба: она может отправить 1 биткойн Бобу, а Боб заплатит Кэрол.

Однако Алиса не доверяет Бобу и Кэрол — она боится, что, если она отправит 1 биткойн Бобу, тот никогда не заплатит Кэрол или же заплатит, но Кэрол заявит, что не получала никаких денег, и Алиса не будет знать, кто из них говорит правду.

Таким образом, Алиса готова заплатить Бобу 1 биткойн, только если будет уверена, что он, в свою очередь, заплатит Кэрол 1 биткойн. Это возможно благодаря нехитрому криптографическому протоколу.

Когда Алиса хочет отправить 1 биткойн Кэрол, она просит Кэрол создать значение (случайную строку чисел) и сообщить ей его хеш. Она также просит Кэрол уведомить Боба, что он может получить это значение за 1 биткойн. Далее Алиса говорит Бобу, что отправит ему 1 биткойн, если он предоставит ей значение, соответствующее хешу, который она получила от Кэрол. Боб принимает предложение Кэрол и отправляет ей 1 биткойн, а за это получает значение. После этого Боб сообщает значение Алисе. Алиса знает, что Боб купил это значение у Кэрол за 1 биткойн, и компенсирует ему его расходы.

Ну, почти все.

В этом упрощенном сценарии посредник в лице Боба все же должен доверять Алисе и Кэрол. Он должен быть уверен, что Кэрол действительно сообщит ему нужное значение в обмен на 1 биткойн, и он также должен быть уверен, что Алиса на самом деле отправит ему 1 биткойн, как только он сообщит ей нужное значение.

Честность такого обмена биткойнов на значения должна быть гарантирована во всей сети. Точнее говоря, если Боб отправляет 1 биткойн Кэрол, он должен иметь гарантию того, что получит 1 биткойн от Алисы. Для этого используются контракты с хешированием и временной блокировкой (HTLC).

Контракты с хешированием и временной блокировкой

Итак, Алиса хочет обменять 1 биткойн на значение у Боба с помощью HTLC (Боб и Кэрол хотят того же самого, но забудем пока об этом). Для этого Алиса отправляет биткойн на новый адрес с мультиподписью, где биткойн блокируется. Разблокировать его можно двумя способами: Боб может сделать это, указав свою подпись и значение, а Алиса — указав только свою подпись. Однако во втором случае действует CLTV-блокировка: Алиса может подписать и отправить в сеть транзакцию только по прошествии, скажем, двух недель.

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

Но на самом деле контракты HTLC необходимы на уровне сети.

Как уже было сказано, HTLC создают не только Алиса с Бобом, но и Боб с Кэрол. Если Кэрол потребует 1 биткойн у Боба, он получит в обмен нужное ему значение — оно будет записано в блокчейн. Ну а если эта сделка будет совершена, Боб гарантированно получит 1 биткойн от Алисы: для этого ему достаточно добавить обнародованное Кэрол значение в HTLC, заключенный с Алисой. Два канала связаны.

Важно отметить, что Боб должен получить значение от Кэрол раньше, чем Алиса получит шанс потребовать свой биткойн обратно, в противном случае он останется со значением, но без денег. Таким образом, HTLC между Бобом и Кэрол должен истекать раньше, чем HTLC между Алисой и Бобом (например, через 10 дней и 2 недели соответственно; по этой же причине в HTLC необходимо использовать блокировку CheckLockTimeVerify (CLTV), а не CheckSequenceVerify (CSV)).

Чтобы Lightning Network была полезной, осталось решить лишь одну задачу: все это должно выполняться вне блокчейна.

Lightning Network

Теперь Алисе, Бобу и Кэрол нужно добавить HTLC в канал, чтобы Боб, купивший у Кэрол значение за 1 биткойн, наверняка мог компенсировать свои расходы, получив биткойн от Алисы.

Как и раньше, Алиса и Боб первым делом создают по одной транзакции-обязательству. Эти транзакции включают обычный выход и выход, указывающий на адрес с мультиподписью, CSV-блокировкой и специальной хеш-блокировкой. Далее Алиса и Боб обмениваются своими старыми секретами, делая старый канал недействительным. После обмена они теоретически могут в любой момент подписать свое обязательство и отправить его в блокчейн.

Все это нам уже известно, а теперь изменение. В этот раз транзакции-обязательства Алисы и Боба включают новый выход с одним биткойном (иначе говоря, балансы распределяются в отношении 4-5-1: 4 биткойна для Алисы, 5 для Боба и 1 для нового выхода).

Этот новый выход соответствует HTLC-контракту, и разблокировать его можно тремя способами.

Прежде всего, этот выход (в обязательстве и Алисы, и Боба) разблокирует биткойн, если последующая транзакция включает подпись и значение Боба. Таким образом, неависимо от того, кто подпишет и отправит в сеть транзакцию-обязательство, — Алиса или Боб — разблокировать этот выход может только Боб, указав нужное значение. Однако между двумя обязательствами есть одно небольшое различие: если Боб решит закрыть канал, будет задействована CSV-блокировка и ему придется подождать 1000 блоков. Если же канал закроет Алиса, он получит 1 биткойн немедленно).

Причина, по которой Бобу придется подождать 1000 блоков, такая же, как и раньше: это позволяет Алисе забрать 1 биткойн в том случае, если Боб попытается подписать и отправить в сеть старое состояние канала. Это приводит нас ко второму способу разблокирования нового выхода: Алиса может «украсть» деньги, если укажет (самый новый) секрет Боба. Но если она попытается смошенничать и отправит в сеть устаревшее состояние канала, Боб сможет получить 1 биткойн, воспользовавшись секретом Алисы (ему даже не придется указывать значение).

Наконец, в любом HTLC обе транзакции-обязательства включают обычную CLTV-блокировку (которая в нашем случае возвращает деньги Алисе). Если Боб не предоставит нужное значение в течение оговоренного периода (например, из-за того, что он не получил его от Кэрол), биткойн будет возвращен Алисе.

Что же мы имеем на текущий момент?

У Алисы и Боба есть по транзакции-обязательству. Если Алиса отправит свое обязательство в блокчейн, она немедленно отправит 5 биткойнов Бобу. Она также может подождать 1000 блоков и забрать 4 биткойна. Кроме того, у Боба есть 2 недели на то, чтобы предоставить значение и забрать 1 биткойн из HTLC-выхода (если он не предоставит значение за 2 недели, Алиса сможет вернуть этот биткойн себе).

Боб может в любой момент отправить свое обязательство в блокчейн и немедленно отправить 4 биткойна Алисе, а также он может подождать 1000 блоков и забрать 5 биткойнов (кроме того, как было сказано чуть выше, он может забрать 1 биткойн из HTLC-выхода, предоставив нужное значение).

И, конечно, если Алиса или Боб попытаются схитрить и отправить в сеть устаревшее состояние канала, честная сторона сможет получить все биткойны в канале.

Фиксация состояния

Итак, теперь Боб гарантированно сможет получить биткойн в обмен на значение (если, конечно, оно у него есть). Для этого ему нужно лишь подписать и отправить в сеть транзакцию-обязательство, которую он получил от Алисы, включить значение в последующую транзакцию и тоже отправить ее в сеть.

Алисе это известно, и она никак не может украсть у Боба его биткойн — даже если она каким-либо образом узнает значение.

Таким образом, Алиса и Боб могут согласовать платежный баланс вне канала. Боб может просто передать значение Алисе, а Алиса обновит состояние канала без HTLC-контракта и тайм-аута. Так они и будут делать, если они заинтересованы в поддержании канала, потому что это проще, чем фиксировать состояние канала в блокчейне.

Закрытие канала

Теперь вам должна быть понятна реальная мощь сети Lightning Network:

Почти все, что мы обсудили в этой статье, никогда не попадет в блокчейн.

Если Алиса и Боб захотят мирно закрыть канал по обоюдному согласию, они могут просто создать транзакцию, переопределяющую все, что произошло после открывающей транзакции. Иначе говоря, если в нашем примере Алиса хочет закрыть канал, она может создать транзакцию, которая выплачивает 4 биткойна ей и 6 Бобу, и попросить Боба подписать эту транзакцию. У Боба нет причин отказывать Алисе, поэтому он почти наверняка пойдет ей навстречу. После подписания и отправки транзакции канал будет закрыт.

Таким образом, в биткойн-сеть будут транслированы лишь открывающая и закрывающая транзакции, даже если между ними Алиса и Боб совершили миллионы платежей друг другу! Насколько это разгружает блокчейн, представьте сами.

Аарон ван Вирдум (Aaron van Wirdum)

Источник: bitcoinmagazine.com

Поделиться ссылкой:

Related

bitnovosti.com

Lightning Network: Как это работает | Обучение

Рассказываем, как Lightning Network улучшит блокчейн.

Блокчейн — это медленно, а к тому же дорого. Если вы отправите кому-то несколько биткоинов (Bitcoin), он получит их только через несколько часов, и комиссия за транзакцию будет немаленькой. Как же тогда блокчейн планирует захватить мир?

Любое предложение, как решить проблему плохой масштабируемости блокчейна, заслуживает внимания, и одно из таких решений — Lightning Network. Но прежде чем перейти к обсуждению этой идеи, давайте поглубже разберемся в проблеме.

Почему блокчейн — это медленно?

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

Прежде чем добавить в реестр нашу страницу-блок, необходимо выполнить специальную операцию, чтобы убедиться, что все согласны с содержанием страницы, и такая операция занимает для каждого блока (в случае биткоина) примерно 10 минут.

Представьте, что вы посылаете своему другу Джо 1 биткоин (BTC). Сделка будет выглядеть примерно так.

Помимо прочего, транзакция содержит информацию об отправителе, получателе, сумме и стоимости транзакции.

Откуда берется стоимость транзакций?

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

В любой момент на текущую страницу можно записать несколько транзакций.

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

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

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

Lightning Network (LN) — потенциальное решение проблемы.

Что такое Lightning Network?

Идея LN заключается в том, что не все транзакции следует записывать в блокчейн.

Представьте, что мы с вами несколько раз переводим деньги друг другу. В таком случае мы можем не регистрировать транзакции в блокчейне.

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

Опираясь на эту идею, мы можем создать сеть платежных каналов, и блокчейн-транзакции будут требоваться редко. Представим себе трех персонажей: Алекса, Елену и Зика.

Если у Алекса и Елены открыт один платежный канал, а у Елены и Зика другой, то Алекс может послать деньги Зику через Елену.

Предположим, Алекс хочет отправить Зику 2 BTC. В этом случае Елена переведет 2 BTC Зику, а Алекс возместит ей 2 BTC.

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

Что такое платежные каналы?

Это похоже на сейф, в который два человека заложили равные суммы, после чего каждый повесил на него свой замок.

Факт депонирования равных сумм записывается в блокчейн в виде открывающей транзакции — после этого платежный канал открыт.

Вся идея заключается в том, что ни один из участников не может сам потратить деньги — ему нужно подтверждение контрагента, так что эти деньги используются только для транзакций между этими двумя лицами.

Итак, представим, что Алекс и Елена задепонировали в сейфе по 10 BTC. И теперь, если Алекс захочет отправить Елене 2 BTC, что ему нужно сделать?

Он передает право собственности на 2 BTC, находящиеся в общем с Еленой сейфе, после чего, если ящик будет разблокирован, Алекс сможет взять из него всего 8 BTC, а Елена уже 12 BTC.

Но они не будут вскрывать сейф, потому что планируют переводить друг другу деньги и будущем.

Теперь, если на следующий день Елена захочет отправить 1 BTC Алексу, она сделает то же самое — передаст ему право на владение одним из ее биткоинов. Если открыть сейф теперь, после двух транзакций, Алекс сможет забрать из него 9 BTC, а Елена — 11 BTC.

Чтобы представить, как выглядят такие транзакции, не регистрируемые в блокчейне, рассмотрим следующую иллюстрацию.

Итак, платежный канал — это просто объединение нескольких транзакций, причем закрыть канал может любой из участников.

Закрытие канала просто означает, что участники вскрывают свою «копилку» и разбирают принадлежащие им средства, а итог навсегда записывается в блокчейн.

Так устроены платежные каналы. Но мы пока не видим их истинного потенциала. По-настоящему мощным средством они становятся, когда два и более таких каналов работают вместе, формируя сеть — Lightning Network.

Как же это работает?

LN перемещает от человека к человеку не биткоины, а «расписки», указывающие, кто владеет биткоинами.

Это очень важное различие — мы рассмотрим его на примере. Представим себе нашу троицу, Алекса, Елену и Зика, причем один платежный канал открыт между Алексом и Еленой, а второй — между Еленой и Зиком. Обратите внимание, что между Алексом и Зиком платежного канала нет.

В такой ситуации, если Алекс хочет передать 2 BTC Зику, он может сделать это с помощью канала Елены и Зика. Как это устроено?

Алекс просит Елену передать «расписку» на 2 BTC Зику по платежному каналу Елена-Зик, а затем возмещает Елене 2 BTC по каналу Алекс-Елена.

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

Подготовила Тая Арянова

ru.ihodl.com

Lightning Network, что такое Lightning Network, сеть Lightning

Давайте разберемся в особенности сети Lightning и выясним, что такое Lightning Network, которая является революционной технологией для функционирования совместимых сетей криптовалют.

Lightning Network — это P2P сеть, технология для создания микроплатежей цифровых валют, таких как Bitcoin, Litecoin или Vertcoin через сеть двунаправленных каналов оплаты без делегирования хранения средств для третьих лиц (ваши средства только блокируются).

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

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

Каналы оплаты Lightning Network позволяют участникам переводить деньги друг другу, без необходимости публиковать все свои транзакции в блочной цепочке.

Особенности Lightning Network

Мгновенные платежи. Молниеносные платежи в сети, не беспокоясь о времени подтверждения блока. Безопасность обеспечивается блочными смарт-контрактами, не создавая транзакцию основанную на блокчейне для отдельных платежей. Скорость платежа измеряется в миллисекундах.

Масштабируемость. Способность проводить до миллиарда транзакций в секунду через сеть.

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

Перекрестные сети. Абонентские свопы с перекрестными цепями могут происходить вне цепи мгновенно с гетерогенными консенсус-логическими цепочками. Пока цепочки поддерживают одну и ту же криптографическую хеш-функцию, можно совершать транзакции через цепочки без передачи доверия к сторонним хранителям. Если у вас есть 1 BTC вы сможете отправит его на кошелек LTC и получите соответствующую сумму.

Безопасность. Учитывая последние новости про контроль агентствами США всех транзакций в блокчейне биткоина и других неанонимных криптовалют, безопасность становится как никогда актуальной. Учитывая, что по желанию пользователей платежи не будут фиксироваться в блокчейне, отслеживание таких транзакций становится более сложным и даже невозможным занятием.

В основе Lightning Network находятся пять элементов:

Неподтверждаемые транзакции. Классическая, основанная на блокчейне операция должна быть подтверждена либо майнерами по средством метода Proof of Work (PoW) либо методом Proof of Stake (PoS). Транзакции проводимые через Lightning Network не должны подтверждаться, вся информация хранится в локальных нодах пользователей и не передается в блокчейн, до момента пока сам пользователь не захочет изменить это покинув канал.

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

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

Система временных блокировок. Отправленная другому пользователю монета, будет заблокирована для избежания повторной траты. При этом Lightning Network будет поддерживать несколько видов блокировок:

  • CheckLockTimeVerify (CLTV) — абсолютное блокирование позволяющее установить время или блок после которого будет снято блокирование;
  • CheckSequenceVerify (CSV) — относительное блокирование позволяет снять блокировку после того как будет сгенерировано установленное число блоков.

Система «секретов», позволяющая создать защиту для передачи транзакции. Получатель должен будет указать специальный, полученный о отправителя, хэш для разблокировки получения транзакции.

Lighning Network – LN – это система, когда два участника могут заблокировать, например 100 биткойнов каждый, после чего переводить между собой мелкие транзакции бесплатно и когда мелочи наберется на 100 биткойнов – ретранслировать в блокчейн, заплатив, например 100 долларов за ретрансляцию в блокчейн.

Получается что сети типа Lightning Network — это третья сторона — «крипто-банк» который хранит биткойны до востребования и делает мгновенные дешевые переводы внутри своей банковской сети. При этом такой такой «крипто-банк» не может «кинуть» клиента. Самое страшное, что может произойти — деньги клиента просто подвиснут до конца срока действия платежного канала. Но потом все равно к нему вернутся.

Расширение возможностей блокчейна по использованию Lightning Network в сетях биткоина и лайткоина основано на внедрении протокола Segregated Witness (SegWit). Так, создатель Litecoin Чарли Ли сообщил, что первая безкомиссионная транзакция, на сумму 0.01 LTC, основанная на Lightning Network была реализована в сети Litecoin 1 сентября.

Если мы предположим, что в блокчейне криптовалюты имеется большая сеть каналов, и все пользователи Bitcoin участвуют в этом процессе, открыв хотя бы один канал в блокчейне криптовалюты, в этой сети можно создать почти бесконечное количество транзакций.

bitcoinweb.ru

Чем же новый стандарт лучше USB?

Apple не перестаёт удивлять своих поклонников различными нововведениями. Так, новые устройства теперь оснащаются док-разъёмами Lightning. В чём же преимущества этого разъёма и почему именно он будет устанавливаться на новинки от Apple? Об этом и многом другом и пойдёт речь в данной статье.

Одним из первых устройств, обладающим новым портом, стал Apple iPhone 5. Но на этом производитель не намерен останавливаться, ведь в Apple всерьёз планируют, чтобы в будущем во всех девайсах данной компании были встроены разъёмы Lightning. Что же в них особенного?

Во-первых, это восьмипиновый (плюс металлическое основание, т.е. девять контактов) разъём, его размер гораздо меньше предшественника (напомню, что на сегодняшний день многие устройства от Apple оснащены 30-контактными разъёмами). Во-вторых, он стал двухсторонним, а это означает, что неправильное подключение кабеля вскоре останется в прошлом. Также Apple обещает фанатам увеличение скорости передачи данных. Помимо всех вышеперечисленных плюсов стоит отметить, что он  стал прочнее и надёжнее, поэтому срок службы таких разъёмов значительно увеличился по сравнению с 30-контактным предшественником.

Как только Apple продемонстрировала миру новый стандарт, у многих пользователей сразу возник вопрос: а почему Apple решила создать что то новые, ведь многие компании с успехом используют универсальный USB-разъём? Всё дело в том, что использование USB-разъёма не позволяет большинству док-станций работать. Это означает, что через него можно только заряжать и синхронизировать устройство. К тому же для зарядки новых iPad требуется как минимум 2А тока, что может обеспечить только Lightning. Етот стандарт превосходит своего универсального конкурента практически по всем параметрам. Именно поэтому Apple и решила его использовать несмотря на то, что переход потребует довольно продолжительного времени.

Помимо нового стандарта компания также разработала адаптер для подключения аксессуаров, использующих 30-контактный разъём. Приобрести его можно отдельно.

Из всего вышесказанного можно сделать вывод, что Apple соблюдает свои традиции, предлагая миру свои альтернативы технологиям конкурентов. На этот раз он ничуть не хуже своего универсального конкурента — USB- и намного лучше старшего 30-контактного брата. Его широкое распространение – лишь вопрос времени.


Автор материала: Колесников А.В.

xodoki.net

Что такое Lightning Network? |

Блокчейны медленны, а потому дорогостоящи. Если бы вы должны были отправить кому-нибудь несколько BTC, вы бы получили их примерно через пару часов, к тому же, вам пришлось бы заплатить за транзакцию. С такой славой Blockchain вряд ли захватит мир.

Любая идея, которая может решить проблему не масштабируемости блокчейнов, заслуживает внимания, времени и усилий. Сеть Lightning (с англ. «молния», т.е. молниеносная сеть) – одна из таких идей. Но прежде чем мы поймем, каково решение, нам нужно понять проблему.

Почему блокчейны медленны?

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

Представьте, вы посылаете 1 BTC своему другу Джо. Транзакция будет выглядеть примерно так:

Типичная транзакция

Помимо прочего транзакция содержит информацию об отправителе, получателе, сумме и стоимости транзакции.

Комиссия за транзакцию

За транзакцию можно заплатить, чтобы стимулировать майнеров как можно скорее включить вашу транзакцию в блок. Нет никакой установленной цены, все целиком зависит от вас: сколько вы готовы заплатить, чтобы ускорить процесс. Чем выше плата, тем быстрее проходит сделка.

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

Если сделок с более высокой комиссией, чем ваша, хватает для заполнения блока, то придется ждать очереди – от нескольких минут до нескольких часов. Иногда – дней.

Вот почему блокчейны такие медленные и в какой-то мере дорогие для начинающих пользователей. В идеале, полноценное принятие всеми технологии Blockchain будет означать большее количество транзакций. Однако по мере роста их количества сеть будет все более медленной, что является препятствием для принятия. Такой вот парадокс.

Lightning Network (LN) – потенциальное решение проблемы.

Снова: Что такое Lightning Network?

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

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

Используя эту идею канала платежей, можно создать сеть каналов платежей, поэтому транзакции в блокчейне будут требоваться гораздо реже.

Представьте себе трех персонажей – Костя, Лена и Захар. Если у Кости и Лены открыт платежный канал между собой, тогда Костя может отправить деньги Захару через Лену.

Представим, что Костя хочет отправить 2BTC Захару; Лена отправит 2 BTC Захару, а Костя возместит ей 2 BTC.

Вот в чем заключается идея сети Lightning. Поскольку вы нечасто будете касаться блокчейна, транзакции будут проводиться молниеносно.

Что такое платежный канал?

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

Платежный канал, или Канал оплаты

Идея блокировки денег в такой коробке заключается в том, что никто не может тратить суммы из коробки без второго человека. Средства в этой коробке используются для взаимодействия между собой.

Представьте, что Костя и Лена образовали пул в 10 BTC от каждого в общей коробке. И теперь, если Костя хочет отправить 2 BTC Лене, как он это сделает?

Для этого он передал обещание владеть двумя своими биткоинами в общей с Леной коробке. После передачи обещания, если ящик будет разблокирован, Костя сможет взять из него 8 BTC, а Лена – претендовать на 12 BTC.

Передача обещания

Но они не откроют коробку, потому что хотят продолжать транзакции между собой. В этом прелесть данной договоренности.

Если на следующий день Лена должна отправить 1 BTC Косте, она сделает то же самое – передаст обещание владения одним из ее биткоинов Косте. После этих двух транзакций, если ящик открыт, Костя может претендовать на 9 BTC, а Лена может получить 11 BTC.

Чтобы представить, как выглядят транзакции вне цепи, посмотрите на рисунок:

Off-chain транзакция

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

Закрытие канала – означает открыть коробку и забрать средства. Открытие происходит в блокчейне, и в нем навсегда будет записано, кто и каким количеством средств из этой коробки владеет.

…И все довольны

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

Lightning Network в действии

LN работает, перемещая ценность от владения биткоинами в сторону обещания владения биткоинами.

Это огромный шаг. Используем пример. Есть три человека – Костя, Лена и Захар. Между Костей и Леной открыт канал оплаты, а между Леной и Захаром открыт еще один платежный канал. Обратите внимание, у Кости и Захара нет платежного канала.

В такой ситуации, если Костя хочет передать Захару 2 BTC, он может использовать канал между Леной и Захаром. Как это выглядит?

Костя просит Лену передать обещание на 2 BTC Захару в платежном канале Лена-Захар, затем он возмещает Лене 2 BTC на канале Костя-Лена.

Два платежных канала в действии

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

Вот что такое Lightning Network.

Загрузка…

jlc-blog.ru

Обновлено: 16.04.2019 — 10:21

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *