Podobné články

Jak přední implementace blesku bitcoinu rozšiřují funkcionalitu

Vývojáři stojící za předními firmami v oblasti Lightning Network LND, CLN a LDK popsali, jak v rámci Bitcoinu 2022 posouvají 2. vrstvu kupředu

Lightning Network se nemůže přesně rozvětvit jako samotný Bitcoin, ale začíná se rozvětvovat. Minimální životaschopný protokol byl původně specifikován v dokumentech BOLT na počátku, než se v hlavní síti Bitcoinu skutečně něco rozběhlo, ale to byl jen výchozí bod. V protokolu je stále mnoho rozšíření, která je třeba vybudovat, a oblastí s nevyřešenými problémy se škálováním. Obecně lze říci, že samotný protokol Lightning má před sebou ještě dlouhou cestu, pokud jde o vyřešení stávajících problémů a získání dostatečné robustnosti a škálovatelnosti, aby mohl sloužit jako globální transakční síť nad Bitcoinem.

Součástí důvodů pro systémy druhé vrstvy jako řešení škálování Bitcoinu je kromě zřejmé skutečnosti, že blockchainy se neškálují, také vytvoření prostoru pro snadnější experimentování. Pokud jde o druhé vrstvy, jako je Lightning, není třeba, aby všichni souhlasili se změnou, aby bylo možné vyzkoušet něco nového. Dokud to, co děláte, funguje s funkcemi základní vrstvy podporované Bitcoinem, mohou se od ní oddělit třeba jen dva lidé a hrát si s novými funkcemi, aniž by se museli starat o to, zda to všichni ostatní podporují. Tuto větší svobodu než základní vrstva Bitcoinu začínají využívat různé implementace a někteří členové týmů Core Lightning (CLN), Lightning Network Daemon (LND) a Lightning Dev Kit (LDK) se zúčastnili velmi zajímavého panelu na konferenci Bitcoin 2022, kde diskutovali o některých rozdílných prioritách, které jednotlivé týmy přijímají, pokud jde o rozšiřování souboru funkcí jejich klientů Lightning.

LND

LND, provozovaný společností Lightning Labs, je nejrozšířenější implementací Lightningu v síti, v současné době je backendem populárních peněženek, jako jsou Breez, Blixt, Zap a vlastní Lightning App společnosti Lightning Lab, než na ní ukončila vývoj. Pohání také významné podniky, jako jsou Bitrefill a Hodl Hodl. Jedním z největších nedostatků LND byla obrovská rychlost růstu jeho databáze stavu kanálů (která se v příští verzi optimalizuje), ale stále je to současný lídr balíčku na síti.

Tým Lightning Labs se obecně zaměřil na poskytování vlastních zpeněžitelných služeb, které mají pomoci odstranit nedostatky vlastní protokolu Lightning jako jádru jeho obchodního modelu. Pokud jde o současný plán v nejbližší době, společnost LND upřednostnila jako hlavní prioritu svého vývojového úsilí dvě různé věci.

První je implementace Taproot, která umožní novou strukturu transakcí pro kanály (nezapomeňte, že vše, co kanál je, je soubor předem podepsaných transakcí), aby se položil základ pro budoucí zlepšení ochrany soukromí. Jedním z nich je přechod z hash timelock kontraktů (HTLC) na point timelock kontrakty (PTLC). V současné době HTLC zaručují, že platba buď proběhne úspěšně, nebo neúspěšně pro každý skok na trase platby; předobraz hashlocku je uvolněn a zaručuje, že platba proběhne pro všechny, nebo neproběhne a je všem vrácena. PTLC dosahují stejné věci pomocí podpisů adaptérů místo hashů, což znamená, že každý hop na cestě nemá stejný hash, který by mohl identifikovat jednu platbu přes více hopů, pokud jedna osoba provozuje více uzlů na platební cestě. Ačkoli to v žádném případě není zázračné řešení ochrany soukromí v síti, je to stavební kámen směrem ke komplexní ochraně soukromí, jakmile budou implementována další řešení.

Dalším krokem po implementaci kanálů Taproot pro Lightning je aktualizace kanálů živých v síti, aby je bylo možné používat. V době psaní tohoto článku je k dispozici 82 697 veřejných kanálů Lightning. Při téměř nejefektivnějším využití blokového prostoru obsahujícího přibližně 3 300 transakcí by bylo potřeba 25 bloků pouhých uzávěrek kanálů, aby se všechny uzavřely, a dalších 25 bloků, aby se znovu otevřely jako kanály Taproot.

Předpokládejme, že soukromých kanálů je dvakrát více než veřejných. To by znamenalo, že k uzavření a opětovnému otevření všech stávajících kanálů Lightning jako kanálů Taproot bude třeba celkem asi 150 bloků za předpokladu, že bloky nebudou zaplněny žádnými dalšími transakcemi. Ve skutečnosti však tyto bloky nebudou zaplněny pouze transakcemi Lightning, takže tento proces by mohl trvat týden nebo déle, než se celá síť zacyklí a aktualizuje. LND plánuje zavést funkci nazvanou „aktualizace kanálů za běhu“, kdy místo uzavírání stávajících kanálů a otevírání nových jednoduše utratíte stávající stav kanálu (předem podepsanou transakci) do nového místo do výstupů, které by kanál na řetězci uzavřely. To je sice spojeno s cenou transakce navíc pro nespolupracující uzavření, ale umožnilo by to provozovatelům uzlů využívat nové funkce založené na Taprootu, aniž by museli uzavírat stávající kanály.“

Je zřejmé, že implementace Taro bude pravděpodobně v určitém okamžiku po tomto vývoji na prvním místě, ale implementace zcela nového protokolu tokenů na nejvyšší vrstvě bude pravděpodobně trvat nějakou značnou dobu. Vzhledem k dalším funkcím, které by bylo dobré implementovat, stejně jako ke každodenní práci na optimalizaci stávajících funkcí uzlu, si myslím, že nelze říct, za jak dlouho to spatří světlo světa.=

CLN

CLN (dříve c-lightning), byl, navzdory mnoha zprávám, které v té době tvrdily opak, první implementací Lightningu, která byla v roce 2018 spuštěna na mainnetu. Celá architektura CLN byla postavena na myšlence modularity, aby bylo možné různé části uzlu (například část zpracovávající klíče a podepisování) snadno vyměňovat a přizpůsobovat. Existuje dokonce systém zásuvných modulů určený pro uživatele, aby si mohli napsat vlastní přizpůsobené chování pro rozhraní s CLN a změnit způsob, jakým uzel funguje v určitých situacích nebo v reakci na konkrétní události.

Ukázkovým příkladem je platební funkce, která je dokonce implementována jako zásuvný modul pro výchozí platební chování dodávané s CLN. Jedná se o část uzlu, která se stará o zjišťování platebních cest a jejich odesílání. K dispozici je velký katalog zásuvných modulů, od automatizované správy uzlů pomocí CLBOSS, zásuvných modulů watchtower a automatizované logiky sondování až po dynamické prořezávání jádra Bitcoinu, které zajišťuje, že CLN má vždy k dispozici bloky, které potřebuje k synchronizaci. Velký seznam zásuvných modulů najdete zde.

Hlavním cílem CLN byla vždy modularita a flexibilita a tým plánuje posunout tento cíl na další úroveň díky softwarovému zásobníku Greenlight. Greenlight dále oddělí funkčnost různých částí uzlu do té míry, že uživatelé budou moci ukládat a spravovat své klíče a podpisové operace na různých (a dokonce na více) zařízeních, odkud skutečný backend uzlu zpracovávající kanály a další data může běžet někde jinde, buď v cloudu, nebo dokonce na zařízení hostovaném doma. Společnost Breez Wallet dokonce plánuje přejít na používání CLN/Greenlight a rozdělit různé funkce své peněženky do samostatných aplikací, aby využila svobody, kterou tato architektura umožňuje. Samostatné aplikace pro streamování podcastů, obecné používání peněženky, systémy PoS, všechny připojené ke stejnému uzlu. To dokonce otevírá dveře pro příjem plateb, když je mobilní peněženka offline, což je v mnoha případech použití Lightningu zásadní problém. Samostatné podepisovací zařízení by mohlo být ponecháno doma neustále online a naprogramováno tak, aby podepisovalo pouze aktualizace kanálu, když zvyšují jeho zůstatek. Problém je vyřešen, už se nemusíte starat o to, abyste měli neustále otevřený telefon, abyste mohli přijímat finanční prostředky.

Další prioritou CLN bude navázat na práci Niftynei na kanálech s dvojím financováním. V současné době při otevření kanálu Lightning poskytuje financování UTXO pouze jedna strana kanálu, takže veškerá likvidita v kanálu zůstává na straně této strany. CLN v současné době podporuje duální financování, kdy obě strany kanálu mohou v transakci financování přispět UTXO, což umožňuje, aby kanál začínal ve vyváženém stavu, kdy obě strany mají finanční prostředky. V návaznosti na tuto funkci se v současné době pracuje na implementaci splicingu, dlouho diskutované funkce protokolu.

Splicing by umožnil otevřít a zavřít kanál v rámci jedné transakce a přidat tak další prostředky nebo odebrat některé, ale ne všechny prostředky v kanálu. To by byla obrovská výhra pro likviditu kanálů. Představte si, že s někým otevřete kanál, aby mohl získat prostředky, a zjistíte, že jste mu přidělili desetkrát větší částku, než potřeboval. Splicing by vám umožnil odstranit přebytek, aniž byste narušili schopnost svého kolegy přijímat prostředky, a alokovat své bitcoiny někam, kde je to produktivnější. To je obrovská výhra jak pro běžné uživatele, tak pro poskytovatele služeb Lightning (LSP) a směrovací uzly. Všem by to umožnilo efektivněji využívat svou likviditu, aniž by se uzavřel kanál pro druhou stranu.

LDK

Lightning Dev Kit není ani tak implementace Lightning uzlu a spíše knihovna, kterou lze použít ke konstrukci Lightning uzlu. Poskytuje kód pro každou izolovanou část uzlu Lightning, logiku směrování, správu kanálů, logiku pro sledování stavu blockchainu k ověření, zda jsou kanály otevřené, prostě všechno.

Blue Wallet pracuje na implementaci založené na LDK a kolem LDK se buduje také zcela nová implementace Lightningu Sensei. Cash App dokonce postavil uzel úplně od nuly. Když se začala zabývat integrací Lightning, chtěla hluboce integrovat chování svých uzlů Lightning s backendem, který zpracovává zůstatky uživatelů Cash App. Žádná existující implementace by neumožňovala snadnou integraci v takovém rozsahu, a tak si pomocí LDK upravili vlastní

Tým LDK se ve srovnání s ostatními implementacemi Lightningu pouští do mnohem odlišnějšího úsilí. Jak již bylo uvedeno dříve, nejedná se ve skutečnosti o implementaci, ale spíše o sadu nástrojů, pomocí které si můžete sami vytvořit implementaci s přizpůsobeným chováním. Jako taková ve skutečnosti neupřednostňuje žádné konkrétní sady funkcí před jinými. Cílem LDK je široce podporovat všechny standardní funkce protokolu Lightning a umožnit tvůrcům, aby ve svých vlastních aplikacích využívali nebo nevyužívali všechny standardizované funkce libovolným způsobem.

The Road Ahead

Velkou součástí návrhu Lightning bylo usnadnění nativních plateb na internetu za digitální služby, ale uživatelská zkušenost tohoto cíle se ve skutečnosti nezhmotnila svižným a snadným způsobem.

Na řešení tohoto problému pracovaly společnosti LND, CLN a LDK. Web Assembly (WASM) je nový jazyk a binární formát, který má usnadnit efektivnější a lehčí programy spouštěné ve webovém prohlížeči. LND i LDK mají binární soubory WASM pro své uzly a CLN plánuje implementovat nástroje pro správu klíčů, které budou běžet v jazyce WASM a které se budou moci vzdáleně připojit k uzlu Lightning, a navázat tak na svou práci na projektu Greenlight. Ačkoli při správě klíčů ve webovém prohlížeči je třeba zvážit bezpečnostní otázky, dny bezproblémové integrace Lightningu na webu se blíží.

Lightning jako protokol a síť má před sebou ještě dlouhou cestu, pokud jde o řešení otevřených problémů a vymýšlení způsobů, jak vytvořit aplikace, které budou pro koncové uživatele snadné a intuitivní, ale práce postupuje kupředu. Nepochybně bude chaotičtější, protože různé týmy se rozcházejí a zaměřují se na řešení různých problémů a rozšiřování funkcí různými směry, ale k pokroku nepochybně dochází. Můžeme jen doufat, že se věci nerozdělí natolik, aby došlo k roztříštění sítě a softwarové kompatibility. Cesta, která nás čeká, bude vskutku velmi zajímavá.

Tento příspěvek napsal jako host Shinobi. Vyjádřené názory jsou výhradně jeho vlastní a nemusí nutně odrážet názory společnosti BTC Inc. nebo Bitcoin Magazine.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Diskuze

{{ reviewsTotal }} Review
{{ reviewsTotal }} Reviews
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}