Как работает сеть Lightning, простым языком

Тема в разделе "Общий раздел", создана пользователем filchef, 5 май 2017.

  1. filchef

    filchef Активный пользователь



    Например, вы и я хотим открыть платёжный канал в сети Lightning. Как это сделать?


    Кладём деньги в Lightning
    Мы оба отправляем 0,05 BTC на общий 2-из-2 адрес мультиподписи. Для этого необходимо совершить транзакцию на блокчейне Биткойна.

    В качестве “таблицы баланса”, мы оба создаём транзакцию мультиподписи, которая платит 0,05 BTC вам, и 0,05 BTC мне. Я подписываю одну транзакцию выплаты и даю её вам. Если вы хотите, чтобы она сработала, вам нужно всего лишь добавить вашу собственную подпись и распространить её в сети Биткойна. И наоборот, вы даёте мне вашу копию транзакции с выплатой, которую вы подписали, а я – нет.

    Такие “таблицы баланса” являются обычными биткойн-транзакциями с мультиподписью 2-из-2, просто они ещё не действительны, так как каждой не хватает одной подписи. Стоит заметить, что эти односторонние транзакции блокируют выплаченные средства выполняющей стороны на некоторое время.

    Платёж
    Теперь, я хочу выплатить вам 0,01 BTC. Мы оба создаём новую транзакцию выплаты (“табличку баланса”) как и ранее, однако эта означает, что вы получаете 0,06 BTC, а я получаю 0,04 BTC. Каждый из нас получает транзакцию, подписанную другим, как это делалось в прошлый раз.

    Чтобы убедиться, что никто из нас не использует старую транзакцию, которая была уже подписана, мы оба создаём “анти-чит” транзакцию: это такая транзакция, которая тратит выходы от нашей первой взаимной выплаты.

    Т.е. когда я пытаюсь активировать (уже недействительную) “табличку баланса” 0,05 – 0,05, эти мои выплаченные средства в текущий момент заморожены на несколько блоков вперёд. Это даёт вам время распространить “анти-чит” транзакцию, в которой я подписался, что мои выходы в размере 0,05 BTC отправляются прямиком к вам.

    Всё же, для меня вполне безопасно давать такую транзакцию вам, да и всей сети, так как “анти-чит” может быть активирован исключительно в качестве ответа на мошенническое использование старой таблички баланса. Кстати, такой анти-чит механизм является одной из причин, по которой Lightning нуждается в исправлении проблемы пластичности транзакций (transaction milleability), входящем в состав SegWit.

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

    Сетевой платёж
    Отлично, теперь я и вы можем отправлять деньги туда и обратно тысячи раз, мгновенно, но без добавления транзакций в блокчейн Биткойна. Однако, с другой стороны, если кто-то из нас когда либо попробует надуть другого, он будет доставлен в суд “удалённо”, посредством решения, результатом которого станет его собственный убыток от диспута на блокчейне. Достаточно хитроумно, но вполне применимо.

    Согласно теории шести рукопожатий, все люди соединены со всеми другими посредством всего нескольких последовательных связей. Предположим, что вы хотите отправить деньги Бобу, ведь он бариста и только что приготовил вам чашку кофе. Боб является другом Элис, а у меня с Элис имеется платёжный канал. Для примера, давайте представим, что в каждом платёжном канале находится 2 биткойна, по одному на каждого. У вас нет прямого канала с Бобом.

    Наша “сеть” выглядит так:

    Вы <-- 1BTC ----- 1BTC --> Я <-- 1BTC ----- 1BTC --> Элис <-- 1BTC ----- 1BTC --> Боб

    Теперь, поскольку у вас нет прямого платёжного канала с Бобом (это было бы неэффективно, случись вам создавать платёжный канал с каждым бизнес-партнёром, которого вы встретите), вы направляете свой платёж через сеть. Вместо простого написания обновления к табличке баланса между Бобом и вами, как я описал ранее, всё становится синхронным усилием: ваш кошелёк находит такой путь от вас к Бобу, у которого а) достаточная ликвидность, б) наименьшие комиссии и в) наименьшее количество промежуточных шлюзов. Чтобы совершить платёж, каждый вовлечённый платёжный канал обновляет свой баланс. С платежом в 0,01 BTC за чашку кофе, происходит обновление нашей сети:

    Вы <-- 0.99BTC ----- 1.01BTC --> Я <-- 0.99BTC ----- 1.01BTC --> Элис <-- 0.99BTC ----- 1.01BTC --> Боб

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

    Теперь, представьте, что у вас есть платёжный канал не только со мной, но, возможно, дюжина платёжных каналов с другими пользователями!

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

    Компромиссы
    • В сети Лайтнинг, за одну транакцию вы не можете получить сумму большую, чем сумма значений балансов всех ваших платёжных каналов;
    • Ваши транзакции не хранятся на блокчейне целую вечность (что значит – больше платёжной приватности), но с другой стороны, вы постоянно используете один адрес, что позволяет лицам, знающим владельца адреса, мониторить ваш баланс (меньше персональной приватности);
    • Мгновенные транзакции! Однако, ваши деньги заморожены в платёжном канале, который вам понадобится сперва закрыть на блокчейне, если вы хотите совершить обычную Биткойн-транзакцию с этими деньгами;
    • Меньшие комиссии! Транзакции в Лайтнинг не требуют полной комиссии для майнеров блокчейна, но если вы проводите средства через чужие платёжные каналы, они могут захотеть получить вознанаграждение в обмен на ликвидность, которую предоставляют вам. Так или иначе, из-за того, что другие узлы Лайтнинга будут соревноваться за право провести ваш платёж, операция будет стоить куда меньше, чем за полноценную транзакцию на блокчейне.

    Источник
     
    okela, Jerar и btcpapa нравится это.
  2. filchef

    filchef Активный пользователь

    10 января 2017 был выпущен альфа-релиз Lightning Network Daemon версии 1.0 (lnd). Этот релиз знаменует собой важную веху развития Lightning Network, а также Биткойна в целом. В этой версии управляющая программа lnd представляет функционально полную реализацию Lightning Network, которая готова для открытого тестирования разработчиками.
     
  3. painter

    painter Случайных совпадений не бывает Проверенный

    И пусть простит меня админ ) . Понять , простить и отпустить ... filchef вы где взяли , такой СМАЙЛИК ! ?? я все сразу забыла , что прочитала , когда на весь экран , такая лыба ))) . Не провоцируйте меня больше , с моим заводным характером посмеяться ... Я так и письну еще случайно ...:)
    Чет я не пойму ... на сеть можно влиять ... причем весьма легко :(
     
    Jerar нравится это.
  4. filchef

    filchef Активный пользователь

    Нет на сет не можно влият потому что когда она с много клонов закритие одного канала не может повлият - разница между самостоятелного закрития и консенсусного закрития канала состоится в том что при самостоятелного закрития ваши средства наличны когда транзаакция потвердится в основны блокчейн биткоина а знаем что основная сет поддерживаается минерам и транзаакции изполняются медлено и ограничены по обем до 1МВ на блок на кажые 10 минут и когда минеры обрабатыват ее зависит от комисии и от количество ожидаючих транзакциях.С другой стороны при консенсусного закрытия канала как я понял необходимост от ожидание транзакции нет оба стороны одноовременно закрывают канал и открывают нов или делают транзакции в основны блокчейн - думааю открытие и закрытие етих каналов будет автоматизировано с подходящий для редогого юзера интерфейс.
     
  5. avida_dollars

    avida_dollars новичок

  6. okela

    okela Продвинутый крипто-юзверь Проверенный

    Познавательная статейка. Надо внимательнее потом перечитать.