Lightning Network je pravděpodobně nejočekávanější technologická inovace, která bude nasazena na bitcoiny. Platební vrstva, kterou poprvé navrhli Joseph Poon a Tadge Dryja asi před rokem, slibuje podporu prakticky neomezeného počtu transakcí mimo řetězec mezi uživateli, a to téměř bez nákladů – při využití zabezpečení nabízeného bitcoiny.

Nejméně tři společnosti – Poon a Dryja Blesk, Blockstream a Blockchain – v současné době pracují na implementaci technologie. Ale jen málo lidí mimo tuto malou technologickou linii plně pochopí, jak je nastavena „budoucnost mikroplatby“, která posílí schopnosti bitcoinu.

V této třídílné sérii, Bitcoin Magazine vytyčuje základní stavební kameny Lightning Network a ukazuje, jak do sebe zapadají, aby realizovaly tuto nadcházející vrstvu protokolu.

První část této série se zabývala základními stavebními kameny a vysvětlila, jak se používají k vytvoření obousměrných platebních kanálů. Tato druhá část vysvětluje, jak se obousměrné platební kanály mění v síť.

Síť

V předchozím článku Alice a Bob založili obousměrný platební kanál. Nyní chce Alice zaplatit jeden bitcoin třetí osobě, Carol.

Aby to mohli udělat, mohli si Alice a Carol otevřít platební kanál mezi sebou. Ale ve skutečnosti to nemusí. Jak se ukázalo, Bob a Carol již mají společný kanál, takže Alice může jednoduše zaplatit Carol prostřednictvím Boba.

Konkrétně Alice může zaplatit Bobovi jeden bitcoin a Bob může zaplatit Carol jeden bitcoin.

Alice však ve skutečnosti nedůvěřuje Bobovi – ani Carol. Bojí se, že pokud zaplatí Bobovi, Bob vlastně nikdy nezaplatí Carol. Nebo snad Bob vůle zaplatit Carol, ale Carol bude tvrdit, že nikdy nedostala peníze, a Alice by nevěděla, koho vinit.

Alice proto chce zajistit, aby Bobovi zaplatila pouze jeden bitcoin, -li také platí Carol jeden bitcoin. Toho je dosaženo (částečně) jednoduchým kryptografickým trikem.

Když chce Alice poslat Carol bitcoin, řekne Carol, aby vytvořila hodnotu (náhodný řetězec čísel) a poslala jí hash. Alice také říká Carol, aby vyměnila původní hodnotu s Bobem za bitcoin.

Alice mezitím vezme hash z Carol, otočí se k Bobovi a řekne Bobovi, že mu dá bitcoin, pokud jí poskytne odpovídající hodnotu (kterou má pouze Carol).

Bob se tedy obrátí na Carol a dá Carol za tuto hodnotu jeden bitcoin.

Poté se Bob otočí zpět k Alici s hodnotou. Alice ví, že Bob musel získat hodnotu od Carol výměnou za bitcoin, a proto dochází k závěru, že Carol získala její bitcoin. Takže Alice může Bobovi s jistotou dát bitcoin.

Všichni jsou šťastní.

Studna… téměř všichni jsou šťastní.

V tomto „naivním“ scénáři musí prostředník Bob stále důvěřovat Alici a Carol. Bob musí důvěřovat Carol, aby mu skutečně dala hodnotu poté, co jí poslal bitcoin, a Bob musí věřit Alici, aby mu skutečně dala bitcoin, jakmile jí dá hodnotu.

Obchody bitcoin za hodnotu proto musí být v síti absolutně zaručeny. Konkrétněji: -li Bob dává Carolinu bitcoin, že musí mít zaručeno, že získáte bitcoin zpět od Alice.

To je místo, kde Hash Time-Locked Contracts (HTLCs) přicházejí.

Hašujte časově omezené smlouvy

Alice a Bob tedy chtějí vyměnit bitcoin za hodnotu prostřednictvím HTLC. (A Bob a Carol také chtějí výměnu bitcoinů za stejnou hodnotu – ale zatím to nevadí.)

Aby to udělala, Alice místo toho, aby Bobovi poslala bitcoin přímo, odešle bitcoin na novou (a opět: funky) multisig adresu. Bitcoiny uzamčené na této adrese lze odemknout dvěma různými způsoby.

První možností je, aby Bob zahrnul svůj podpis a hodnota.

Druhou možností je, aby Alice zahrnula svůj vlastní podpis. Tato možnost má však časový zámek CLTV: Alice může transakci podepsat a vyslat až poté, co – řekněme – uplynuly dva týdny.

To znamená, že Bob má dva týdny na to, aby vytvořil následnou transakci, do které zahrnul svůj podpis a hodnotu, a vyslal ji, aby poslal bitcoin z funky multisig adresy sám sobě. Jako takový je tento obchod zaručen. Bob může pouze tvrdit Alicin bitcoin, pokud uvede hodnotu: jeho vysíláním v bitcoinové síti je veřejně viditelné, aby ho Alice viděla.

A pokud Bob neposkytne hodnotu včas, pro Alici existuje „alternativa časového limitu“, jak získat své bitcoiny zpět. Jednoduchý.

Zpět do sítě, protože právě proto je toto nastavení HTLC nutné.

Jak již bylo zmíněno, HTLC založili nejen Alice a Bob, ale také Bob a Carol. Tak, -li Carol si nárokuje své bitcoiny od Boba, Bobe vůle získat hodnotu na oplátku; bude to vidět na blockchainu.

Proto, -li to se stane, Bob je zaručeno, že dostane bitcoin také od Alice. Bob může převzít hodnotu, kterou Carol veřejně zviditelnila na blockchainu, zahrnout ji do svého HTLC s Alice a také si za sebe bitcoin nárokovat. Oba kanály jsou efektivně propojeny.

Jako poslední detail je důležité, aby Bob získal hodnotu od Carol před Alice může získat zpět své bitcoiny od Boba. Pokud Bob dostane hodnotu pouze od Carol po Alice si už vzala zpět záda, Bob je přece jen zaseknutý uprostřed. Časový limit v HTLC Boba a Carol proto musí vypršet před vyprší časový limit v HTLC Alice a Boba. (Například po přesně deseti dnech, namísto dvou týdnech. To je také důvod, proč HTLC potřebují CheckLockTimeVerify (CLTV) – a ne CheckSequenceVerify (CSV).)

A konečně je třeba vyřešit ještě jeden problém: aby byla Lightning Network užitečná, musí být vše dosaženo mimo řetězec. O tom, jak se to děje, pojednává třetí a poslední článek této série.