Skip to content

Latest commit

 

History

History
410 lines (271 loc) · 59.5 KB

02_getting_started.asciidoc

File metadata and controls

410 lines (271 loc) · 59.5 KB

Починаємо

У цьому розділі ми почнемо з того, з чого починають більшість людей, коли вперше стикаються з Lightning Network - із вибору програмного забезпечення для участі в економіці Lightning Network. На прикладі двох користувачів ми розглянемо звичайний випадок використання Lightning Network. Клієнтка кав’ярні Аліса використовуватиме Lightning-гаманець на своєму мобільному пристрої, щоб купувати каву в кафе Боба. Торговець Боб буде використовувати Lightning-ноду і гаманець для отримання платежів у своєму кафе через Lightning Network.

Lightning-Ноди

Доступ до Lightning Network здійснюється за допомогою програм, які вміють спілкуватися через протокол Lightning Network. Нода Lightning Network (або просто "нода") - це програмний застосунок, що має три важливі характеристики.

По-перше, Lightning-ноди це "гаманці", тобто вони можуть надсилати та отримувати платежі через Lightning Network, як гаманці у мережі Біткоїн. По-друге, ноди повинні взаємодіяти peer-to-peer з іншими Lightning-нодами, утворюючи мережу. Нарешті, Lightning-нодам потрібен доступ до блокчейну Біткоїна (або інших блокчейнів для інших криптовалют) для гарантування безпеки коштів, які беруть участь в платежах.

Користувачі мають найвищий рівень контролю, коли використовують власні Біткоїн- та Lightning- ноди. Також Lightning-ноди можуть використовувати для взаємодії з Біткоїн-блокчейном полегшену Біткоїн-ноду, що відома як Simplified Payment Verification (Спрощена Верифікація Платежів, SPV).

Lightning-Експлорер

Експлорер (Провідник, Explorer) Lightning Network - це корисний інструмент для відображення статистики нод, каналів та об’єму мережі.

Нижче наведено невичерпний перелік (в алфавітно-цифровому порядку):

Tip

Зверніть увагу, що при використанні Lightning-експлорерів, як і випадку з блокчейн-експлорерами, конфіденційність користувачів може постраждати. При необережному використанні, веб-сайт може відстежувати IP-адреси та збирати інформацію про поведінку (наприклад, ноди, якими цікавився користувач).

Також слід зазначити, що оскільки не існує глобального консенсусу ані щодо поточного графу Lightning, ані щодо поточного стану будь-якої існуючої політики каналів, користувачі ніколи не повинні покладатися на Lightning-експлорери для отримання актуальної інформації. Більше того, коли користувачі відкривають, закривають та оновлюють канали, граф змінюється і окремі Lightning-експлорери можуть бути не оновлені до актуального стану. Натомість користувачі мають запускати власну ноду, щоб будувати граф каналів та бути в курсі актуального стану мережі. Lightning-експлорери слід використовувати помірно або для збору статистики Lightning Network.

Lightning-Гаманці

Термін "Lightning-гаманець" є дещо неоднозначним, оскільки він може описувати широкий спектр компонентів у поєднанні з інтерфейсом користувача. До найпоширеніших складових частин Lightning-гаманця належать:

  • Сховище ключів для зберігання секретних ключів.

  • Lightning-нода, що спілкується через peer-to-peer мережу, як було описано вище.

  • Біткоїн-нода, що зберігає блокчейн та спілкується з іншими Біткоїн-нодами.

  • "Карта" нод і каналів, що анонсовані у Lightning Network.

  • "Пліткар", який збирає інформацію про ноди і канали в мережі для побудови "мапи" мережі.

  • Сховище для зберігання інформації про відкриті канали.

  • Менеджер каналів, який може відкривати та закривати канали.

  • Система пошуку шляхів, що може знайти шлях із з’єднаних каналів від джерела до призначення платежу.

Lightning-гаманець може виконувати всі ці функції, будучи "повним" гаманцем, незалежним від сторонніх сервісів. Або одна чи кілька з перерахованих функцій може повністю або частково перекладатися на сторонні сервіси.

Ключова відмінність (гра слів) полягає в тому, виконує гаманець функцію зберігання ключів чи покладає її на сторонній сервіс. В блокчейнах контроль над ключами визначає контроль над монетами, що виражається у вислові "твої ключі - твої монети; не твої ключі - не твої монети". Всякий гаманець, який передає управління ключами на аутсорсинг, називається "кастодіальним" (від англ. "custody" - "зберігання", "охорона"), оскільки сторона, яка зберігає ключі, контролює кошти користувача, а не сам користувач. Відповідно, "некастодіальним" або "само-кастодіальним" називають такий гаманець, що самостійно виконує функцію зберігання ключів, і ключі контролюються лише користувачем. Термін "некастодіальний" гаманець просто означає, що сховище ключів є локальним і знаходиться під контролем користувача. При цьому один або більше функцій гаманця (крім сховища ключів) можуть бути передані довіренним стороннім сервісам.

Блокчейни, особливо відкриті блокчейни, такі як Біткоїн, намагаються мінімізувати або взагалі усунути необхідність довіри до третіх сторін і передати повноваження самим користувачам. Цю модель часто називають "trustless" (без довіри), хоча більш підходящим словосполученням є "модель з мінімізованою довірою". В таких системах користувач довіряє правилам програмного забезпечення замість довіри до третіх осіб. Таким чином питання контролю над ключами є головним фактором при виборі Lightning-гаманця.

Кожен компонент Lightning-гаманця викликає подібні міркування щодо довіри. Якщо всі компоненти перебувають під контролем користувача, тоді довіра до третіх сторін зводиться до мінімуму, забезпечуючи максимальну владу користувача. Звісно, разом із такою владою виникає відповідальність користувача за управління складним програмним забезпеченням.

Кожен користувач повинен враховувати власні технічні навички, перш ніж вирішити, який тип гаманця використовувати. Тим, хто має сильні технічні навички, слід користуватись гаманцем Lightning, який передає всі функції під безпосередній контроль користувача. Тим, у кого менше технічних навичок, але є бажання контролювати свої кошти, слід обрати некастодіальний Lightning-гаманець. Часто довіра у цих випадках стосується конфіденційності. Коли користувачі вирішують передати деякі функції третій стороні, то вони, як правило, частково втрачають конфіденційність, оскільки третя сторона дізнається деяку інформацію про них.

Нарешті, ті, хто прагне простоти та зручності, навіть за рахунок контролю та безпеки, можуть вибрати кастодіальний Lightning-гаманець. Це найпростіший варіант, але він підриває модель довіри криптовалюти і, отже, його слід розглядати лише як сходинку до більшого контролю та незалежності.

Існує багато способів охарактеризувати або класифікувати гаманці. Найважливішими є такі питання:

  • Цей Lightning-гаманець утримує свою повну Lightning-ноду чи він використовує сторонню Lightning-ноду?

  • Цей Lightning-гаманець утримує свою повну Біткоїн-ноду чи він використовує сторонню Біткоїн-ноду? [1]

  • Цей Lightning-гаманець зберігає ключі під контролем користувача, або ключі зберігаються у стороннього кастодіала?

На найвищому рівні абстракції питання 1 і 3 є найбільш елементарними. З цих двох питань ми можемо вивести чотири можливі категорії. Ми можемо розмістити ці чотири категорії в квадранті, як показано в Таблиці Квадрант Lightning-Гаманців. Але пам’ятайте, що це лише один із способів класифікувати Lightning-гаманці.

Table 1. Квадрант Lightning-Гаманців
Повна Lightning-нода Стороння Lightning-нода

Некастодіальний

Q1: Сильні технічні навички, найменша довіра до третіх сторін, потребує найменше дозволів

Q2: Технічні навички нижче середнього, довіра до третіх сторін нижче середнього, потребує деяких дозволів

Кастодіальний

Q3: Технічні навички вище середнього, довіра до третіх сторін вище середнього, потребує деяких дозволів

Q4: Слабкі технічні навички, найбільша довіра до третіх сторін, потребує найбільше дозволів

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

Lightning-гаманці можна встановити на різні пристрої, включаючи ноутбуки, сервери та мобільні пристрої. Щоб запустити повну Lightning-ноду, вам потрібно буде використовувати сервер або настільний комп’ютер, оскільки мобільні пристрої та ноутбуки зазвичай недостатньо потужні в сенсі ємності, швидкості обробки, часу автономної роботи та підключення до мережі.

Категорія "Сторонні Lightning-ноди" може бути поділена на:

  • Легкі: означає, що гаманець не управляє Lightning-нодою і тому має отримувати інформацію про Lightning Network з Інтернету від чиєїсь іншої Lightning-ноди.

  • Ніякі: означає, що не тільки Lightning-нода управляється третьою особою, але й більшою частиною гаманця керує третя особа в клауді. Це "кастодіальний" гаманець, де хтось інший утримує кошти.

Ці підкатегорії використані в таблиці Приклади Популярних Lightning-Гаманців.

Інші терміни, які потребують пояснення в Таблиці Приклади Популярних Lightning-Гаманців у стовпці "Біткоїн-нода":

  • Neutrino: Цей гаманець не управляє Біткоїн-нодою. Натомість, він взаємодіє через протокол "Neutrino" з Біткоїн-нодою, що керується кимось іншим (третьою особою).

  • Electrum: Цей гаманець не управляє Біткоїн-нодою. Натомість, він взаємодіє через протокол "Neutrino" з Біткоїн-нодою, що керується кимось іншим (третьою особою).

  • Bitcoin Core: реалізація повної Біткоїн-ноди.

  • btcd: інша реалізація повної Біткоїн-ноди.

У Приклади Популярних Lightning-Гаманців ми бачимо кілька прикладів популярних на даний момент гаманців для різних типів пристроїв.

Table 2. Приклади Популярних Lightning-Гаманців
Застосунок Пристрій Lightning-нода Біткоїн-нода Сховище ключів

lnd

Сервер

Повна нода

Bitcoin Core/btcd

Некастодіальне

c-lightning

Сервер

Повна нода

Bitcoin Core

Некастодіальне

Eclair Server

Сервер

Повна нода

Bitcoin Core/Electrum

Некастодіальне

Zap Desktop

Настільний комп’ютер

Повна нода

Neutrino

Некастодіальне

Electrum

Настільний комп’ютер

Повна нода

Bitcoin Core/Electrum

Некастодіальне

Eclair Mobile

Смартфон

Легка нода

Electrum

Некастодіальне

Breez Wallet

Смартфон

Повна нода

Neutrino

Некастодіальне

Phoenix Wallet

Смартфон

Легка нода

Electrum

Некастодіальне

Blue Wallet

Смартфон

Ніяка

Ніяка

Кастодіальне

Баланс між складністю та контролем

Lightning-гаманці мають дотримуватися балансу між складністю для користувача та ступнем контролю з його боку. Ті гаманці, що дають користувачеві найбільший контроль над коштами, найвищий ступінь конфіденційності та найбільшу незалежність від сторонніх сервісів, завжди є більш складними та важкими у використанні. По мірі розвитку технології деякі з цих компромісів ставатимуть менш суворими, і користувачі зможуть отримати більший контроль без більшої складності. Наразі різні компанії та проекти випробовують різні варіанти у всьому спектрі відношень складність/контроль та намагаються знайти «солодке місце» для своєї цільової користувацької аудиторії.

Обираючи гаманець, майте на увазі, що навіть якщо ви не бачите цих компромісів, вони все одно існують. Наприклад, багато гаманців намагаються зняти тягар управління каналами з користувачів. Для цього вони запроваджують центральні хаби, до яких автоматично підключаються всі їхні гаманці. Хоча цей компроміс спрощує інтерфейс та досвід взаємодії користувача із системою, він запроваджує єдину точку відмови (Single Point of Failure, SPoF), оскільки ці "хаби" стають необхідними для роботи гаманця. Крім того, якщо покластися на такий "хаб", це може зменшити конфіденційність користувачів, оскільки хаб знає відправника та потенційно (якщо будує маршрут оплати від імені користувача) також одержувача кожного платежу, здійсненого гаманцем користувача.

У наступному розділі ми повернемося до нашої першої користувачки та прослідкуємо за її першим встановленням Lightning-гаманця. Вона обрала гаманець, який є більш складним, ніж прості кастодіальні гаманці. Це дозволить нам продемонструвати деякі складності, які стоять за ним, та ознайомитись із внутрішніми процесами просунутого гаманця з нашого прикладу. Ви можете прийти до висновку, що ваш перший ідеальний гаманець має бути ближчим до "простоти використання", прийнявши деякі компроміси щодо контролю та конфіденційності. Або, можливо, ви більш "досвідчений користувач" і забажаєте запустити власні ноди Lightning та Біткоїн.

Перший Lightning-Гаманець Аліси

Аліса - досвідчений користувач Біткоїна. Вперше ми познайомилися з Алісою в главі 1 "Освоєння Біткоїна" [2], коли вона придбала чашку кави в Кафе Боба за допомогою біткоїн-транзакції. Зараз Аліса прагне експериментувати з Lightning Network. Спочатку вона повинна обрати Lightning-гаманець, який би відповідав її потребам.

Аліса не хоче довіряти зберігання своїх біткоїнів третім особам. Вона дізналася достатньо про криптовалюту, щоб вміти користуватись гаманцем. Також вона хоче мати мобільний гаманець, щоб використовувати його для невеликих платежів. Тому вона обирає гаманець Eclair, популярний мобільний некастодіальний Lightning-гаманець.

Скачування та Встановлення Lightning-Гаманця

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

На жаль, є дуже багато фальшивих гаманців, які вкрадуть ваші гроші, а деякі з них навіть трапляються на надійних та нібито перевірених сайтах програмного забезпечення, таких як магазини застосунків Apple і Google. Незалежно від того, встановлюєте ви перший або десятий свій гаманець, завжди будьте максимально обережні. Шкідливий застосунок може не тільки вкрасти гроші, які ви йому довірите, але й також вкрасти ключі та паролі від інших програм, скомпрометувавши операційну систему вашого пристрою.

У Аліси Android-пристрій і вона використовуватиме Google Play Store для завантаження та встановлення гаманця Eclair. В пошуку Google Play вона знаходить "Eclair Mobile", як показано на зображенні Eclair Mobile в Google Play Store.

Eclair Mobile в Google Play Store

Eclair wallet in the Google Play Store

Аліса помічає на цій сторінці кілька різних елементів, які допомагають їй переконатися, що це, скоріш за все, правильний гаманець "Eclair Mobile", який вона шукала. По-перше, організація "ACINQ" [3] вказана як розробник цього мобільного гаманця, про цю організацію Аліса знає із свого попереднього дослідження. По-друге, гаманець був встановлений "10 000+" разів і має понад 320 позитивних відгуків. Навряд чи це шкідлива програма, яка прокралася до Play Store. По-третє, Аліса переходить на веб-сайт ACINQ (https://acinq.co/). Вона впевнюється в тому, що використовується захищене з’єднання. Для цього вона перевіряє, чи починається адреса з HTTPS або чи зображено перед адресою навісний замок (у деяких браузерах). На веб-сайті вона переходить у розділ "Download" або шукає посилання на магазин застосунків Google. Вона знаходить посилання і клацає по ньому. Вона перевіряє, що це посилання веде на ту ж саму програму в Google App Store. Задоволена проведеним аналізом, Аліса встановлює застосунок Eclair на свій мобільний пристрій.

Warning

Завжди будьте вкрай обережні, встановлюючи програмне забезпечення на будь-який пристрій. Існує багато фальшивих гаманців для криптовалют, які не тільки вкрадуть ваші гроші, але й можуть скомпрометувати всі інші застосунки на вашому пристрої.

Створення Нового Гаманця

Коли Аліса вперше відкриває додаток Eclair Mobile, їй пропонується вибір «Створити новий гаманець» або «Імпортувати існуючий гаманець». Аліса створить новий гаманець, але давайте спочатку обговоримо, чому ці опції представлені тут і що означає «імпортувати існуючий гаманець».

Відповідальність за Зберігання Ключів

Як ми вже згадували на початку цього розділу, Eclair - це некастодіальний гаманець, тобто лише Аліса має право зберігання ключів, які використовуються для управління біткоїнами. Це також означає, що лише Аліса відповідальна за захист і резервне копіювання своїх ключів. Якщо Аліса втратить ключі, ніхто не зможе допомогти їй повернути втрачені назавжди біткоїни.

Warning

За допомогою гаманця Eclair Mobile Аліса зберігає та контролює ключі, а отже, і несе повну відповідальність за збереження та резервне копіювання ключів. Якщо вона втратить ключі, вона втратить біткоїни, і ніхто не зможе допомогти їй оговтатися від цієї втрати!

Мнемонічні Слова

Подібно до більшості біткоїн-гаманців, Eclair Mobile пропонує Алісі мнемонічну фразу (яку також іноді називають "seed" або "seed-фразою") для резервного копіювання. Мнемонічна фраза складається з 24 англійських слів, вибраних програмою випадковим чином, із цієї фоази генеруються всі ключі для гаманця. Мнемонічна фраза може бути використана Алісою для відновлення всіх транзакцій та коштів у гаманці Eclair Mobile на той випадок, якщо мобільний пристрій буде втрачено, пошкоджено або трапиться помилка у програмному забезпеченні.

Tip

Коректним терміном для позначення цих бекап-слів є "мнемонічна фраза". Не дивлячись на те, що загальноприйнятим терміном для цього є "seed", ми уникаємо його використання, так як він є неправильним.

Коли Аліса вирішить "Створити новий гаманець", їй буде показаний екран із її мнемонічною фразою, як показано на скріншоті Мнемонічна Фраза Нового Гаманця.

Мнемонічна Фраза Нового Гаманця

New Wallet Mnemonic Phrase

В Мнемонічна Фраза Нового Гаманця ми навмисно затерли частину мнемонічної фрази, щоб запобігти повторному використанню читачами цієї фрази.

Безпечне Зберігання Мнемонічної Фрази

Алісі потрібно обережно зберігати мнемонічну фразу так, щоб вона не була вкрадена або випадково загублена. Щоб збалансувати ці ризики, рекомендуємо написати дві копії мнемонічної фрази на папері, причому пронумерувати слова, так як порядок слів має значення.

Після того, як Аліса записала мнемонічну фразу і натиснула кнопку "OK, GOT IT", їй буде запропоновано тест, щоб переконатися, що вона правильно записала мнемонічну фразу. Тест просить ввести три-чотири слова із фрази. Аліса не очікувала на тест, але оскільки вона правильно записала мнемонічну фразу, вона проходить його без особливих труднощів.

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

Warning

Ніколи не намагайтеся вигадати власну схему безпеки, яка будь-яким чином відхиляється від рекомендованої найкращої практики в Безпечне Зберігання Мнемонічної Фрази. Не розрізайте мнемонічну фразу навпіл, не робіть скріншоти, не зберігайте її на USB-накопичувачах чи у "хмарі", не шифруйте її та не використовуйте будь-який інший нестандартний метод. Цим ви перехилите баланс таким чином, що зростуть ризики втрати або крадіжки. Багато людей втратили кошти не через крадіжку, а через те, що спробували нестандартне рішення, не маючи достатнього досвіду, щоб збалансувати пов’язані ризики. Рекомендації щодо найкращих практик ретельно збалансовані експертами та підходять для переважної більшості користувачів.

Після того, як Аліса ініціалізує свій гаманець Eclair Mobile, вона побачить коротку довідку, яка висвітлює різні елементи інтерфейсу користувача. Ми не будемо повторювати довідку тут, але ми виконаємо всі кроки, необхідні для того, щоб Аліса купила чашку кави!

Завантаження Біткоїнів у Гаманець

Зараз у Аліси є Lightning-гаманець, але він порожній! Тепер вона стикається з одним із найскладніших аспектів експерименту: вона повинна знайти спосіб придбати трохи біткоїнів і покласти їх до свого гаманця Eclair.

Придбання Біткоїнів

Є кілька способів придбати біткоїни:

  • Обміняти національну валюту (наприклад, долари США) на біткоїни на криптовалютній біржі

  • Придбати біткоїни у друга або знаймого з Біткоїн Мітапа за готівку

  • Знайти Bitcoin-банкомат у своєму районі, який продає біткоїни за готівку

  • Продати товари або послуги за біткоїни

  • Попросити свого работодавця або клієнтів заплатити біткоїнами

Усі ці методи мають різний ступінь складності, і багато з них передбачають сплату комісії. Деякі варіанти також вимагатимуть від Аліси надати документи, що посвідчують особу, щоб відповідати місцевим банківським вимогам. Так чи інакше за допомогою всіх цих методів Аліса зможе отримати біткоїни.

Отримання Біткоїнів

Припустимо, Аліса знайшла місцевий Біткоїн-банкомат і вирішила придбати біткоїни за готівку. Приклад Біткоїн-банкомату, створеного компанією Lamassu, наведено на зображенні Біткоїн-банкомат Lamassu. Такі Біткоїн-банкомати приймають готівку через купюроприймач та надсилають біткоїни на Біткоїн-адресу, відскановану з гаманця користувача за допомогою вбудованої камери.

Біткоїн-банкомат Lamassu

bitcoin atm

Щоб покласти біткоїни у свій гаманець Eclair Lightning, Алісі потрібно надати банкомату біткоїн-адресу з гаманця Eclair Lightning. Після чого банкомат зможе надіслати нещодавно придбані Алісою біткоїни на цю адресу.

Щоб побачити Біткоїн-адресу в гаманці Eclair, Аліса повинна свайпнути до лівої колонки під назвою "YOUR BITCOIN ADDRESS" (див. Біткоїн-адреса Аліси в Eclair), де вона побачить квадратний штрих-код (який називається QR-кодом) та рядок букв і цифр під ним.

Біткоїн-адреса Аліси в Eclair

eclair receive

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

Note

Як і Біткоїн-адреси, так і QR-коди містять додаткову інформацію, що допомагає виявити помилки ручного введення або сканування. Якщо в адресі є помилка, будь-який Біткоїн-гаманець помітить помилку та відмовиться приймати таку адресу.

Аліса може піднести свій смартфон до банкомату і показати його вбудованій камері, як показано на Біткоїн-банкомат сканує QR-код. Вставивши трохи грошей в купюроприймач, вона отримає біткоїни в Eclair!

Біткоїн-банкомат сканує QR-код

bitcoin atm receive

Аліса побачить транзакцію з банкомату на вкладці "TRANSACTION HISTORY" гаманця Eclair. Eclair побачить Біткоїн-транзакцію за кілька секунд, але для того, щоб транзакція була "підтверджена" у блокчейні, знадобиться приблизно одна година. Як ви можете бачити на скріншоті Аліса отримує біткоїни, гаманець Eclair показує "6+ conf" під транзакцією. Це означає, що транзакція отримала необхідний мінімум у шість підтверджень, і тепер кошти готові до використання.

Tip

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

Аліса отримує біткоїни

eclair tx1 btc

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

Подібним чином, коли Аліса виставляє рахунок клієнту за послугу через Інтернет, вона може надіслати своєму клієнту е-мейл або повідомлення у мессенжер зі своєю Біткоїн-адресою або QR-кодом, щоб клієнт міг заплатити Алісі на цю адресу.

Аліса могла б навіть роздрукувати QR-код і наклеїти його на гітару, щоб отримувати чайові під час виступу на вулиці! [4]

Якщо Аліса придбала біткоїни на криптовалютній біржі, вона має «вивести» їх, вказавши свою Біткоїн-адресу на сайті біржі. Після чого біржа відправить біткоїни безпосередньо на її адресу.

З Біткоїна в Lightning Network

Зараз біткоїн Аліси контролюється її гаманцем Eclair, про її біткоїн є відповідний запис у блокчейні Біткоїна. На даний момент біткоїн Аліси знаходиться "on-chain", це означає, що відповідна транзакція була поширена по всій Біткоїн-мережі, перевірена усіма Біткоїн-нодами і "змайнена" (записана) в блокчейн.

До цього часу гаманець Eclair Mobile прцював лише як Біткоїн-гаманець, і Аліса не використовувала функції Lightning Network Eclair. Як і у випадку з багатьма Lightning-гаманцями, Eclair поєднує в собі Біткоїн і Lightning, виступаючи одночасно Біткоїн-гаманцем і Lightning-гаманцем.

Тепер Аліса готова вивести свій біткойн "off-chain", щоб почати користуватися швидкими, дешевими та приватними платежами, які пропонує Lightning Network.

Канали Lightning Network

Свайплячи праворуч, Аліса відкриває вкладку "LIGHTNING CHANNELS". Тут вона може керувати каналами, які з’єднують її гаманець із Lightning Network.

Давайте розглянемо визначення поняття "канал Lightning Network", щоб трохи прояснити ситуацію. По-перше, слово "канал" є метафорою для фінансових відносин між Lightning-гаманцем Аліси та іншим Lightning-гаманцем. Ми використовуємо слово канал, тому що це засіб для гаманця Аліси та іншого гаманця, потрібний щоб обмінюватись багатьма платежами між ними в мережі Lightning (off-chain), не здійснюючи транзакцій у Біткоїн-блокчейні (on-chain).

Гаманець або нода, до якої Аліса відкриває канал, називається її channel peer (партнером по каналу). Після відкриття канал може використовуватись для надсилання багатьох платежів туди-сюди між гаманцем Аліси та її партнером по каналу.

Крім того, партнер Аліси по каналу може переправляти далі платежі через інші канали в Lightning Network. Таким чином, Аліса може направити платіж на будь-який гаманець (наприклад, на Lightning-гаманець Боба), якщо гаманець Аліси зможе знайти життєздатний шлях від каналу до каналу, аж до гаманця Боба.

Tip

Не всі канальні піри є хорошими пірами для маршрутизації платежів. Добре з’єднані піри зможуть маршрутизувати платежі коротшими шляхями до пункту призначення, збільшуючи шанс на успіх. Канальні піри, що мають достатньо коштів на інших каналах, зможуть маршрутизувати більші платежі.

Іншими словами: Алісі потрібен один або кілька каналів, що з’єднують її з однією або кількома нодами в Lightning Network. Їй не потрібен канал безпосередньо до кафе Боба, щоб надіслати Бобу платіж, хоча звісно вона також могла б відкрити і прямий канал. Будь-яка нода у Lightning Network може бути використана для першого каналу Аліси. Чим краще нода з’єднана з іншими нодами, тим більшої кількості людей зможе досягти Аліса. У цьому прикладі, оскільки ми хочемо також продемонструвати маршрутизацію платежів, Аліса не буде відкривати канал безпосередньо до гаманця Боба. Натомість Аліса відкриє канал до ноди, добре зв’язанної з іншими нодами, а потім пізніше використає цю ноду для переправлення свого платежу, направляючи його через будь-які інші ноди, щоб дістатися до Боба.

Спочатку жодних каналів нема, тому Вкладка Lightning Channels, вкладка "LIGHTNING CHANNELS" відображає пустий список. Якщо ви помітили, у правому нижньому куті є символ плюса (+), це кнопка для відкриття нового каналу.

Вкладка Lightning Channels

Lightning Channels Tab

Аліса натискає символ плюса і перед нею відкриваються чотири можливі способи відкриття каналу:

  • Вставити URI ноди

  • Відсканувати URI ноди

  • Випадкова нода

  • Нода ACINQ

"URI ноди" - це універсальний ідентифікатор ресурсу (URI), який ідентифікує конкретну Lightning-ноду. Аліса може вставити його з буфера обміну або відсканувати у вигляді QR-коду. Приклад URI ноди у вигляді QR-коду показано на зображенні URI ноди у вигляді QR-коду, а під ним та ж інформація у текстовому вигляді:

URI ноди у вигляді QR-коду

node URI QR

0237fefbe8626bf888de0cad8c73630e32746a22a2c4faa91c1d9877a3826e1174@1.ln.aantonop.com:9735

Аліса могла б вибрати певну Lightning-ноду або скористатися опцією "Випадкова нода", щоб гаманець Eclair вибрав ноду навмання, але вона вибере опцію "Нода ACINQ" для підключення до однієї із нод від ACINQ, що добре зв’язані з іншими Lightning-нодами.

Вибір ноди ACINQ дещо применшить конфіденційність Аліси, оскільки ACINQ зможе бачити всі транзакції Аліси. Це також створить єдину точку відмови, оскільки Аліса матиме лише один канал, і якщо нода ACINQ стане недоступною, то Аліса не зможе робити платежі. Щоб спочатку все було просто, ми згодимось на ці компроміси. В наступних розділах ми будемо поступово вчитися здобувати більше незалежності та приймати менше компромісів!

Аліса вибирає "Нода ACINQ" і готова відкрити свій перший канал у мережі Lightning.

Відкриття каналу Lightning

Коли Аліса вибирає ноду для відкриття нового каналу, їй пропонується вибрати, скільки біткоїнів вона хоче помістити в цей канал. У наступних розділах ми обговоримо наслідки цього вибору, але наразі Аліса покладе майже всі свої кошти в канал. Оскільки їй доведеться заплатити комісію за транзакцію відкриття каналу, вона вибере суму трохи меншу за її загальний баланс. [5]

Аліса поміщає в свій канал 0,018 BTC з її балансу 0,020 BTC і приймає комісію за замовчуванням, як зображено на Відкриття Каналу Lightning.

Відкриття Каналу Lightning

eclair open channel detail

Як тільки вона натискає "OPEN", її гаманець створює спеціальну транзакцію фінансування (funding), яка відкриває канал Lightning. Транзакція фінансування це "on-chain" транзакція, вона надсилається в Біткоїн-мережу для підтвердження.

Тепер Алісі знову доведеться почекати (див. Очікування Відкриття Каналу Транзакцією Фінансування), щоб транзакція була додана у блокчейн. Як і при попередній транзакції з придбанням біткойна, їй доведеться чекати шість або більше підтверджень (приблизно одну годину).

Очікування Відкриття Каналу Транзакцією Фінансування

Waiting for the Funding Transaction to Open the Channel

Щойно транзакція фінансування отримує необхідні підтвердження, канал Аліси до ноди ACINQ відкритий, профінансований і готовий, як зображено на Канал Відкрито:

Канал Відкрито

Channel is Open

Tip

Ви помітили, що змінилася сума грошей в каналі? Насправді це не так: канал містить ті ж 0,018 BTC, але за час між скріншотами курс BTC змінився, тому сума в USD стала іншою. Ви можете переглядати баланс в BTC або USD, але майте на увазі, що значення USD обчислюються в режимі реального часу і тому змінюються!

Придбання Чашки Кави

Тепер в Аліси нарешті все готово, щоб почати користуватися Lightning Network. Як бачите, потрібно було виконати невелику роботу і трохи почекати підтверджень. Зате подальші дії будуть швидкими та легкими. Lightning Network дозволяє здійснювати платежі, не чекаючи підтверджень, і кошти приходять за лічені секунди.

Аліса хапає смартфон і біжить до кафе Боба поруч. Вона рада спробувати свій новий Lightning-гаманець і зробити з його допомогою покупку!

Кафе Боба

В Боба є простий застосунок PoS-терміналу (Point-of-Sale) для прийому платежів за допомогою Lightning Network. Як ми побачимо в наступному розділі, Боб використовує популярну платформу з відкритим кодом BTCPay Server, яка містить усі необхідні компоненти для електронної комерції та роздрібної торгівлі, такі як:

  • Біткоїн-нода Bitcoin Core

  • Lightning-нода c-lightning

  • Простий PoS-застосунок для планшету

BTCPay Server дозволяє легко встановити все необхідне програмне забезпечення, завантажити фотографії та ціни на товари, а також швидко запустити магазин.

На прилавку в кафе Боба є планшет, на якому запущено PoS-застосунок Боба:

PoS-застосунок Боба

bob cafe posapp

Lightning-інвойс

Аліса вибирає "Cafe Latte", і програма видає їй Lightning-інвойс (також відомий як "платіжний запит"), як показано в Lightning-інвойс за лате Аліси

Lightning-інвойс за лате Аліси

bob cafe invoice

Щоб сплатити інвойс, Аліса відкриває свій гаманець Eclair і на вкладці "TRANSACTION HISTORY", як показано в Аліса Відправляє Кошти, натискає кнопку "Надіслати" (яка схожа на стрілку праворуч).

Аліса Відправляє Кошти

alice send start

Tip

Термін "платіжний запит" може стосуватися запиту на оплату біткоїнами або Lightning-інвойсу, а терміни "інвойс" та "платіжний запит" часто взаємозамінні. Правильним технічним терміном є "Lightning-інвойс", незалежно від того, як це називається у гаманці.

Аліса вибирає опцію "відсканувати платіжний запит" і сканує QR-код, що відображається на екрані планшета (див. Lightning-інвойс за лате Аліси), і їй пропонується підтвердити оплату, як показано на Підтвердження Відправлення Коштів:

Підтвердження Відправлення Коштів

alice send detail

Аліса натискає "PAY", і вже за секунду планшет Боба показує успішну оплату. Аліса здійснила свій перший платіж через Lightning Network! Це було швидко, недорого і легко. Тепер вона може насолоджуватися своїм латте, придбаним із використанням швидкої, дешевої і децентралізованої платіжної системи. І відтепер, коли Алісі хочеться випити кави в кафе Боба, вона обирає товар на екрані планшета Боба, сканує QR-код своїм мобільним телефоном, натискає кнопку оплати і отримує каву, все за кілька секунд і все відбувається без "on-chain" транзакцій.

Висновок

У цьому розділі ми спостерігали за тим, як Аліса завантажила та встановила свій перший Lightning-гаманець, придбала трохи біткоїнів, відкрила свій перший канал Lightning та придбала чашку кави, здійснивши перший платіж у Lightning Network. В наступних розділах ми заглянемо "під ковдру" кожного компонента Lightning Network, і побачимо яким саме чином платіж Аліси дійшов до кафе Боба.


1. Якщо Lightning-гаманець використовує сторонню Lightning-ноду, то ця стороння Lightning-нода вирішує, як їй спілкуватися з мережею Біткоїн. Отже, використання сторонньої Lightning-ноди автоматично означає використання і сторонньої Біткоїн-ноди. Лише в протилежному випадку - коли Lightning-гаманець використовує власну Lightning-ноду - існує вибір "власна Біткоїн-нода" чи "стороння Біткоїн-нода".
2. "Освоєння Біткоїна 2-е видання, глава 1" Андреас М. Антонопулос (https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch01.asciidoc ).
3. ACINQ: Розробники гаманця Eclair Mobile Lightning (https://acinq.co/).
4. Зазвичай не рекомендується повторно використовувати одну і ту ж Біткоїн-адресу для кількох платежів, оскільки всі Біткоїн-транзакції є публічними. Зацікавлений перехожий може відсканувати QR-код Аліси і побачити, скільки чайових Аліса вже отримала на цю адресу в блокчейні Біткоїна. На щастя, Lightning Network пропонує більш приватні рішення для цього, про що далі піде мова в книзі!
5. Гаманець Eclair не має функції автоматичного розрахунку необхідних комісій і розміщення максимальної суми коштів в каналі, тому Аліса має виконати цей розрахунок власноруч.