Bitcoin Forum

Local => Polski => Topic started by: Rath_ on January 11, 2021, 10:26:26 AM



Title: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 11, 2021, 10:26:26 AM
Z uwagi na szalejącą cenę Bitcoina, a co za tym idzie - szaleją również opłaty za transakcje, myślę, że warto by było powrócić do tematu Lightning Network.

Na sam początek mogę polecić Wam portfel BlueWallet (https://bluewallet.io/). Środki "on-chain" są pod pełną kontrolą użytkownika, zaś środki "off-chain" zarządzane są przez osobę postronną. Nie trzeba martwić się otwieraniem kanałów oraz ich odpowiednim balansowaniem. Odbieranie płatności przy użyciu Lightning Network jest możliwe zaraz po utworzeniu portfela - nie ma konieczności jego wcześniejszego doładowania. Każdemu chętnemu mogę przesłać 1000 satoshi do wykorzystania w dowolny sposób (https://lightningnetworkstores.com/). Chętnych proszę o wygenerowanie wezwania do zapłaty ("invoice") i przesłanie go pod tym tematem.

Przydatne tematy:

- Basics of the Lightning Network (https://bitcointalk.org/index.php?topic=4940536.msg44524521#msg44524521)/Podstawy Lightning Network - wyjaśnienia, portfele (https://bitcointalk.org/index.php?topic=5064967.msg47668754#msg47668754) (tłumaczenie starej wersji oryginału),
- The Lightning Network FAQ (https://bitcointalk.org/index.php?topic=5158920.msg51615708#msg51615708)/Częste pytania dotyczące sieci Lightning Network (https://bitcointalk.org/index.php?topic=5065801.msg47711638#msg47711638) (tłumaczenie starej wersji oryginału),
- Electrum Lightning Network walkthrough (https://bitcointalk.org/index.php?topic=5259973.msg54732922#msg54732922)/Przewodnik do sieci Electrum Lightning (https://bitcointalk.org/index.php?topic=5275924.msg55198816#msg55198816).

Jeżeli macie jakieś pytania, na które nie mogliście znaleźć odpowiedzi w powyższych tematach, to z chęcią na nie odpowiem poniżej.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 11, 2021, 02:09:04 PM
Co to znaczy srodki on-chain (i analogicznie off-chain), oczywiście w kontekscie Lightning network?


Title: Re: Lightning Network - ogólna dyskusja
Post by: cygan on January 11, 2021, 02:58:44 PM
ładny ciekawy wątek.👍
ale prawdopodobnie jeszcze w tym roku pojawi się kolejna aktualizacja Bitcoin'a. będzie to aktualizacja 'schnorr/taproot', która pozwoli na jeszcze szybsze transakcje, ale także pozwoli na smart contracts i multi-sig.
https://bithub.pl/kryptowaluty/bitcoin/smart-kontrakty-na-bitcoinie-coraz-blizej-krok-milowy-w-aktualizacji-schnorr-taproot/ (https://bithub.pl/kryptowaluty/bitcoin/smart-kontrakty-na-bitcoinie-coraz-blizej-krok-milowy-w-aktualizacji-schnorr-taproot/)
https://bitcoin.pl/czy-soft-fork-bitcoina-w-2020-roku-jest-mozliwy/?PageSpeed=noscript (https://bitcoin.pl/czy-soft-fork-bitcoina-w-2020-roku-jest-mozliwy/?PageSpeed=noscript)


Title: Re: Lightning Network - ogólna dyskusja
Post by: lokas0506 on January 11, 2021, 03:55:28 PM
Koszt transakcji szczególnie przy tak wysokich cenach ETH to troche jak podcinanie gałęzi na której się siedzi może jesteśmy gotowi na 7 k a wraz z wejsciem ETH 2.0 i lightning network będzie nowy Bull Run już tym razem do 250 k bo przecież BTC będzie tak tani paypal wprowadzi możliwość kupna dla całego świata a z całkowitą ilością 21 mln - te na  zawsze utracone cena faktycznie może osiągnąć bezprecedensowe szczyty


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 11, 2021, 03:59:45 PM
Co to znaczy srodki on-chain (i analogicznie off-chain), oczywiście w kontekscie Lightning network?

Środki "on-chain", to najprościej mówiąc monety znajdujące się na zwykłych adresach, które mogą zostać przesłane za pomocą zwykłej transakcji do drugiej osoby. Środki "off-chain" są znacznie trudniejsze do wytłumaczenia ze względu na mnogość rozwiązań. Lightning Network opiera się na kanałach płatniczych, które działają dzięki specjalnym kontraktom (https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts). W bardzo dużym skrócie, monety, które znajdują się na adresie kanału płatniczego, są liczone jako środki "off-chain". Na te środki nałożone są pewne ograniczenia, aby ograniczyć możliwość oszustw.

ale prawdopodobnie jeszcze w tym roku pojawi się kolejna aktualizacja Bitcoin'a. będzie to aktualizacja 'schnorr/taproot', która pozwoli na jeszcze szybsze transakcje, ale także pozwoli na smart contracts i multi-sig.

Co ciekawe, Schnorr/Taproot pozwolą na tworzenie transakcji multisig, które nie będą się niczym różniły od zwykłych transakcji. Dzięki temu, nie będzie już można odróżnić zwykłej transakcji od transakcji otwierającej/zamykającej kanał. Obecnie jest to możliwe. Lightning Network pozwala na przesyłanie transakcji w mniej niż sekundę (zdarza się, że transakcja wydłuża się do kilku/kilkunastu sekund). Dopóki średni czas pomiędzy nowymi blokami będzie wynosił około 10 minut, to transakcje "on-chain" nie przebiją transakcji "off-chain" pod względem szybkości. Oczywiście, mają one też masę wad, więc niekoniecznie muszą być dobrym wyborem w każdej sytuacji.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 11, 2021, 04:50:54 PM
Czyli po prostu srodki off-chain (teraz mi sie przypomnialo pojecie transakcji on-chain i off-chain)
to sa srodki umieszczone w kanale platnosci (taka lepsze wersja zdeponowania środków na gieldzie)..
Czy jest dostępny explorarer kanalow?


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 11, 2021, 06:17:23 PM
Czy jest dostępny explorarer kanalow?

Tak, najpopularniejszym i zdecydowanie najbardziej intuicyjnym jest 1ml.com (https://1ml.com/). Wybierz lub wyszukaj jakiś węzeł i powinieneś zobaczyć listę kanałów powiązanych z tym węzłem. Część portfeli, a w szczególności portfele mobile, tworzą kanały prywatne, których żaden eksplorator nie pokaże.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 12, 2021, 10:01:25 PM
To kto w takim razie ma wtedy dostep do listy transakcji w takich portfelach?
Czy jest możliwość zeby w ramach kanalu LN wszystkie transakcje byly calkowicie niejawne (tak jak np w zcash shielded albo xmr?)


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 13, 2021, 07:28:03 PM
To kto w takim razie ma wtedy dostep do listy transakcji w takich portfelach?

Jeżeli kanał jest publiczny, to każdy jest w stanie sprawdzić wyłącznie obecne saldo obu uczestników. Niezależnie od rodzaju kanału, tylko jego uczestnicy mają dokładną listę transakcji.


Czy jest możliwość zeby w ramach kanalu LN wszystkie transakcje byly calkowicie niejawne (tak jak np w zcash shielded albo xmr?)

Wszystkie transakcje są niejawne. Nie ma centralnego rejestru transakcji. W przypadku gdy płatność jest przekazywana przez kilka węzłów, to węzły, które pośredniczą w procesie, wiedzą tylko: od kogo dostały płatność oraz komu i ile mają przekazać. Im dłuższa ścieżka jaką musi przebyć transakcja, tym większa prywatność. Co raz więcej portfeli wspiera "multi-part payments", które umożliwiają dzielenie transakcji na mniejsze kawałki i wysyłanie ich przez różne ścieżki (kilka różnych kanałów), co także zwiększa prywatność.

Zdaję sobie sprawę, że to dalej może brzmieć niezrozumiale. Czy rozumiesz co mam na myśli przez "ścieżki" i "przekazywanie płatności"?


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 13, 2021, 10:14:54 PM
Mysle ze tak, dzieki.
Natomiast transakcje w ramach kanalu odbywaja sie poza lancuchem bitcoina.
Czy  jest mozliwe "podpiecie" do takiego kanalu  adresu ktory nie  jest w blockchainie?
Bo rozumiem, ze normalnie odbywa sie to tak ze na starcie kanalu adres A ma jakis bilans i B ma jakis bilans
I po zamknięciu kanalu nowe bilanse sa rowne stanowi poczatkowemu plus przeprowadzone operacje?


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 14, 2021, 12:47:55 PM
Czy  jest mozliwe "podpiecie" do takiego kanalu  adresu ktory nie  jest w blockchainie?

Nie za bardzo wiem jak może wyglądać adres, który nie jest na blockchainie. Mógłbyś podać jakiś przykład? Lightning Network jest ściśle powiązane z blockchainem ze względu na specjalne kontrakty, o których wspomniałem na początku, więc odpowiedź prawdopodobnie brzmi nie.

Bo rozumiem, ze normalnie odbywa sie to tak ze na starcie kanalu adres A ma jakis bilans i B ma jakis bilans

Obecnie tylko jedna osoba może wpłacić środki, które będą wykorzystywane przez kanał. Osoba A przesyła środki na adres multisig, który wymaga podpisów osób A i B do wydania środków. Po każdej transakcji "off-chain", uczestnicy podpisują nową transakcję "on-chain", która pozwala na zamknięcie kanału bez udziału drugiej osoby.

I po zamknięciu kanalu nowe bilanse sa rowne stanowi poczatkowemu plus przeprowadzone operacje?

Po zamknięciu kanału (są dwa możliwe sposoby, żeby to zrobić), środki ze wspólnego adresu multisig zostają przesłane na adresy obu uczestników kanału. Jeżeli któryś z uczestników ma otrzymać 546 satoshi lub mniej, to te drobne zostaną dodane do opłaty transakcyjnej (ze względu na dust limit (https://wiki.ion.radar.tech/tech/bitcoin/dust-limit)). Jeżeli saldo którejś ze stron wynosiło 0, to transakcja zamykająca kanał będzie miała tylko jedno wyjście.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 14, 2021, 09:58:41 PM
a tak trochę sobie rozkminiałem nad wykorzystaniem ewentualnym LN do prywatności na wzór monero czy zcasha - gdzie w ramach kanału moznaby dodać adres, który  bylby niejawny - w sensie nie tylko jego saldo ale rowniez sam adres (oczywiście dla wszystkich poza właścicielem kluczy prywatnych ;)


Title: Re: Lightning Network - ogólna dyskusja
Post by: cygan on January 15, 2021, 06:33:07 PM
Czy jest dostępny explorarer kanalow?

Tak, najpopularniejszym i zdecydowanie najbardziej intuicyjnym jest 1ml.com (https://1ml.com/). Wybierz lub wyszukaj jakiś węzeł i powinieneś zobaczyć listę kanałów powiązanych z tym węzłem. Część portfeli, a w szczególności portfele mobile, tworzą kanały prywatne, których żaden eksplorator nie pokaże.

dodatkowo do 1ml.com (https://1ml.com/) mogę również polecić tego tez dobrego eksploratora
BitcoinVisuals (https://bitcoinvisuals.com/lightning)


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 15, 2021, 07:50:45 PM
Fajne te statystyki! Tylko, ze widać, ze od roku praktycznie nie  wzrosla ilosc btc zdeponowanych (?) w kanałach..
W USD to wyglada oczywiscie duzo lepiej, tylko czy patrzec na USD czy BTC oceniajac rozwoj technologi? ;)
I tutaj przechodzimy do pytania - jak postrzegacie oplacalnosc uruchomienia wlasnych kanalow?:p (na początek z jakas czastka setnych btc..)


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 15, 2021, 08:33:07 PM
a tak trochę sobie rozkminiałem nad wykorzystaniem ewentualnym LN do prywatności na wzór monero czy zcasha - gdzie w ramach kanału moznaby dodać adres, który  bylby niejawny - w sensie nie tylko jego saldo ale rowniez sam adres (oczywiście dla wszystkich poza właścicielem kluczy prywatnych ;)

Bardzo dobry pomysł! Niektóre implementacje pozwalają na wydłużenie ścieżki płatności w celu zwiększenia prywatności. Dodajmy do tego dzielenie płatności na mniejsze części i wyślijmy je przez inne ścieżki, żeby praktycznie uniemożliwić ich śledzenie. Po zamknięciu kanału, będzie widoczny tylko transfer do drugiego uczestnika. W przyszłości, to może być ciekawa alternatywa dla tradycyjnych mixerów i CoinJoin.

I tutaj przechodzimy do pytania - jak postrzegacie oplacalnosc uruchomienia wlasnych kanalow?:p (na początek z jakas czastka setnych btc..)

Raczej jest to mało opłacalna zabawa w tym momencie. Jest parę dużych węzłów, które zbudowały swoją pozycję głównie na byciu promowanym przez pierwsze strony akceptujące płatności Lightning Network, ale tylko kilka z nich zarabia jakieś znaczące kwoty.

Tak przy okazji, w przyszłym tygodniu zamierzam zamówić Raspberry Pi 4 i zewnętrzny dysk SSD, żeby postawić pełny węzeł Bitcoin oraz prawdopodobnie c-lightning. Czy bylibyście zainteresowani tym jak wygląda cały/częsciowo proces konfiguracji?


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 15, 2021, 11:43:22 PM
No wlasnie ja tak myślę pod katem, zeby wyrobic sobie "renomę".. (bardziej skupić sie na niezawodnym dzialaniu niz na dostarczaniu jakiegos olbrzymiego kanalu na kilka btc..

@wezla ja jak najbardziej bym z chęcią na ten temat poczytal /poogladal ;)


Title: Re: Lightning Network - ogólna dyskusja
Post by: cygan on January 22, 2021, 08:38:44 PM
2go lutego odbędzie się spotkanie aktywacji taproot'a prowadzone na irc
wszyscy zainteresowani są zaproszeni do kanału

Quote
In an effort to get this closer to the finish line we are organizing a
meeting on IRC on the ##taproot-activation channel on Tuesday 2nd February
at 19:00 UTC. The primary objective will be to finalize the revised BIP 8
activation method but general questions or discussion on Taproot activation
are welcome too. There is lots of prior context so please do sufficient
pre-reading in advance of attending if you would like to participate.
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-January/018370.html (https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-January/018370.html)


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 22, 2021, 09:59:09 PM
@wezla ja jak najbardziej bym z chęcią na ten temat poczytal /poogladal

Wygląda na to, że nieprędko będę w stanie podzielić się jakimikolwiek szczegółami. Ciągle walczę z pełnym węzłem, który po raz kolejny uszkodził mi pliki znajdujące się w folderze "chainstate". Po raz kolejny muszę czekać aż zakończy się reindeksacja bloków, co trwa u mnie około 8 godzin (na głównym komputerze, a nie na "malince"). W najgorszym wypadku skuszę się na gotowca i zamiast z c-lightning będę korzystał z LND, które jest popularniejsze wśród gotowych rozwiązań.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 22, 2021, 10:48:36 PM
Łamiąca wiadomość!!
Pierwsza z  największych gield kryptowalut, OK coin ogłosiła wprowadzenie obsługi  Lightning Network!
https://blog.okcoin.com/2021/01/22/okcoin-integrates-lightning-network-for-99-lower-fees-and-near-instant-transaction-for-off-chain-deposits-withdrawals/
To moze byc przełom!


Title: Re: Lightning Network - ogólna dyskusja
Post by: vjudeu on January 25, 2021, 07:49:48 AM
Apropo zastosowania Lightning Network w praktyce: co myślicie o postawieniu kasyna w Lightning Network? Warto? Nie warto? Chodzi generalnie o coś takiego: gracz i kasyno blokują swoje środki używając adresu 2-of-2 multisig, no i mogą pomiędzy sobą przesuwać monety. W przeciwieństwie do scentralizowanego kasyna są dwa stany kont: jeden gracza, a drugi kasyna. Wpłaty i wypłaty mogłyby być realizowane zarówno przez LN, jak i przez transakcje on-chain. No i wtedy zamiast scentralizowanej stronki, gdzie są poszczególne zakłady, to każdy zakład byłby realizowany za pomocą transakcji z konta przegranego na konto zwycięzcy. Co o tym sądzicie? Opłaca się coś takiego w ogóle stawiać?


Title: Re: Lightning Network - ogólna dyskusja
Post by: malevolent on January 25, 2021, 07:52:02 PM
Pierwsza z  największych gield kryptowalut, OK coin ogłosiła wprowadzenie obsługi  Lightning Network!

Pierwszy był Bitfinex w 14 miesięcy temu:

https://support.bitfinex.com/hc/en-us/articles/360039801053-Lightning-Network-BTC-LNX-Deposits-Withdrawals
https://www.bitfinex.com/posts/440
https://ln.bitfinex.com/

Opłaca się coś takiego w ogóle stawiać?

Scentralizowane tak:
https://lightningnetworkstores.com/

Ze zdecentralizwanych z LN coś takiego kojarzę, ale nie korzystałem no i nie jest to BTC:
https://bitcointalk.org/index.php?topic=2078449


Title: Re: Lightning Network - ogólna dyskusja
Post by: cygan on January 26, 2021, 04:30:20 PM
...

Na sam początek mogę polecić Wam portfel BlueWallet (https://bluewallet.io/)...


poszukałem trochę więcej w necie i udało mi się znaleźć te portfele wspierane przez lightning network:

  • Lightning Labs (https://lightning.engineering) 👉 portfel dla full nodes i mobilnych portfeli
  • ACINQ (https://github.com/ACINQ) 👉 oferuje znane portfele eclair (desktop) und eclair-mobile (mobile)
  • Thor (od bitrefill) (https://www.bitrefill.com/thor-lightning-network-channels/?hl=en) 👉 portfel, który może łatwo budować kanały przez bitrefill
  • Electrum (https://electrum.org/) 👉 prawdopodobnie najpopularniejszy portfel desktopowy z funkcjonalnością lightning, aczkolwiek dość ograniczony do tej pory


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 27, 2021, 05:24:36 PM
  • Lightning Labs (https://lightning.engineering) 👉 portfel dla full nodes i mobilnych portfeli

Akurat portfel Lightning Labs (https://play.google.com/store/apps/details?id=engineering.lightning.LightningMainnet&hl=en_US&gl=US) nie jest już wspierany od końca zeszłego roku. Phoenix (https://play.google.com/store/apps/details?id=fr.acinq.phoenix.mainnet&hl=pl&gl=US) jest dobrą alternatywą na telefony z Androidem dla osób, które chcą mieć trochę większą kontrolę nad kanałami.

  • Thor (od bitrefill) (https://www.bitrefill.com/thor-lightning-network-channels/?hl=en) 👉 portfel, który może łatwo budować kanały przez bitrefill

To akurat nie jest portfel, a usługa, która pozwala wynająć kanał przychodzący na 30 dni. W momencie gdy otwierasz kanał do kogoś, to nie masz możliwości otrzymywania monet przez ten kanał, bo wszystkie dostępne środki w tym kanale znajdują się po Twojej stronie. Żeby móc w ogóle otrzymywać płatności przy użyciu Lightning Network, to musisz mieć chociaż jeden kanał ze środkami, które w jakiejś części znajdują się po stronie drugiego uczestnika kanału. W kanałach przychodzących, wszystkie środki od początku znajdują się po stronie drugiego uczestnika, więc możliwe jest otrzymywanie płatności, jeżeli ktoś posiada taki kanał (pod warunkiem, że osoba wysyłająca monety będzie w stanie znaleźć ścieżkę do tego kanału).

Zarządzanie kanałami jest bardzo skomplikowane, dlatego początkującym polecam BlueWallet, który bierze to na siebie.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 27, 2021, 07:42:36 PM

Zarządzanie kanałami jest bardzo skomplikowane, dlatego początkującym polecam BlueWallet, który bierze to na siebie.
Paczam sobie  tego Blue Walleta;
Mam tam takie cos:
lndhub://ciag_znakow:xxxxxxxxx
Czy to służy jako backup?
Oraz pkt 2. Aby w ogole zaczac tego uzywac musze doladowac swoj kanal tak?
Widze, ze adres ma po prostu format bech32 ? A czy ktos w ramach LN moze mi przesłać srodki wczesniej?


Ok widze, ze komunikaty z walleta sa lekko mylace, udalo mi sie zrobic invoice.
Wyglada to tak:

Code:
lnbc1u1psprsklpp5vg3h3msrrz4p43dnqjhvpdcfegcxpgka57rwpgvvvhxrlm42esgqdqdgf6xxhm5v9kxkcqzpgxqyz5vqsp5k6zyrhwhwu6wlcppqg3y3lftcfrshe4k7gynr0af3fslqd04tfzq9qy9qsqjrp36qrgx250jjrjkwjetvmzgzupthf9xmv3x8efd6nnefnh0kp9pf654njxdwz7v3474xsj3eua9zy2td2rjdkjlpplcjeg46xwzscpe8e8nr

Czy wchodząc na to widac rowniez tytul przelewu, ktory ustawilem, czy jest to tylko informacja dla mnie?


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 27, 2021, 09:22:47 PM
lndhub://ciag_znakow:xxxxxxxxx
Czy to służy jako backup?

Tak. Jest to backup, który w tym momencie może być przywrócony tylko w BlueWallet.

Oraz pkt 2. Aby w ogole zaczac tego uzywac musze doladowac swoj kanal tak?
Widze, ze adres ma po prostu format bech32 ? A czy ktos w ramach LN moze mi przesłać srodki wczesniej?

W przypadku BlueWallet, nie musisz się martwić kanałami, więc powinieneś być móc w stanie otrzymywać płatności bez wcześniejszego doładowania portfela Lightning. Jeżeli chcesz doładować ten portfel, to wystarczy, że wyślesz transakcję na podany adres bech32.

Czy wchodząc na to widac rowniez tytul przelewu, ktory ustawilem, czy jest to tylko informacja dla mnie?

Tytuł przelewu jest zakodowany w tym invoice. Jest on widoczny dla każdej osoby, która go dostanie. Spróbuj wkleić swój invoice na tej stronie (https://lightningdecoder.com/) i zobaczysz jakie jeszcze inne informacje jesteś w stanie z niego wyciągnąć. Nie usunąłeś może przypadkiem tego portfela? Z chęcią opłacę ten invoice, żebyś mógł się pobawić.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 27, 2021, 09:35:53 PM
lndhub://ciag_znakow:xxxxxxxxx
Czy to służy jako backup?

Tak. Jest to backup, który w tym momencie może być przywrócony tylko w BlueWallet.
Kolejna rzecz do zapisania, masakra, w sumie liczyłem trochę, że będę mógł wykorzystać mnemonica z jakiegoś innego mało używanego walleta...
No ale z drugiej strony, plus jest taki, że się z niczym nie pomyli ;)
Aczkolwiek tutaj pytanie: co się stanie w takim razie z moim portfelem w razie jak BlueWallet zniknie? Czy jest inny sposób wykonania backupu?
Czy w ogóle może wtedy środki znikną w ogóle?
Oraz pkt 2. Aby w ogole zaczac tego uzywac musze doladowac swoj kanal tak?
Widze, ze adres ma po prostu format bech32 ? A czy ktos w ramach LN moze mi przesłać srodki wczesniej?

W przypadku BlueWallet, nie musisz się martwić kanałami, więc powinieneś być móc w stanie otrzymywać płatności bez wcześniejszego doładowania portfela Lightning. Jeżeli chcesz doładować ten portfel, to wystarczy, że wyślesz transakcję na podany adres bech32.
Ten podany adres jest adresem kanału? Czy ja przelewając tam środki otwieram kanał? Czy jak to wygląda?

Czy wchodząc na to widac rowniez tytul przelewu, ktory ustawilem, czy jest to tylko informacja dla mnie?

Tytuł przelewu jest zakodowany w tym invoice. Jest on widoczny dla każdej osoby, która go dostanie. Spróbuj wkleić swój invoice na tej stronie (https://lightningdecoder.com/) i zobaczysz jakie jeszcze inne informacje jesteś w stanie z niego wyciągnąć. Nie usunąłeś może przypadkiem tego portfela? Z chęcią opłacę ten invoice, żebyś mógł się pobawić.

Byłoby miło, z góry dzięki i w ogóle dzięki za próby pomocy w ogarnianiu LN ;-)


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on January 27, 2021, 09:54:15 PM
Aczkolwiek tutaj pytanie: co się stanie w takim razie z moim portfelem w razie jak BlueWallet zniknie? Czy jest inny sposób wykonania backupu?
Czy w ogóle może wtedy środki znikną w ogóle?

Nie ma żadnego innego sposobu. Zwróć uwagę na to, że BlueWallet jest portfelem typu custodial (jeżeli chodzi o środki off-chain). Oznacza to, że środki są pod ich pełną kontrolą. Takie rozwiązanie ma masę minusów, ale w zamian dostajesz portfel, który bezproblemowo pozwala Ci na korzystanie z Lightning Network. Po prostu wysyłasz monety na odpowiedni adres i nie przejmujesz się tym ile kanałów i do kogo powinieneś otworzyć oraz czy będziesz w stanie odebrać od kogoś płatność.

W przypadku zwykłego portfela Lightning wygląda to trochę inaczej. Przykładowo, Electrum tworzy backupy kanałów, które pozwalają wyłącznie na ich bezpieczne zamknięcie w celu odzyskania monet. Jest to najlepsze rozwiązanie. Zakładając, że dałoby się wykonać taki backup kanału, że po jego przywróceniu można by nadal korzystać z kanału, to jeżeli byś przywrócił przypadkowo stary backup, to drugi uczestnik mógłby automatycznie zamknąć kanał poprzez rozesłanie karnej transakcji ("penalty transaction"), która pozbawiłaby Cię wszystkich środków.

Ten podany adres jest adresem kanału? Czy ja przelewając tam środki otwieram kanał? Czy jak to wygląda?

Nie, ten adres po prostu należy do BlueWallet. Mają zapewne kilka swoich węzłów, które są całkiem nieźle połączone z resztą sieci poprzez masę kanałów o różnej wielkości. Przesyłając środki na ich adres zawierasz z nimi umowę, że dostaniesz ich równowartość do wydania przez ich węzły.

W przypadku zwykłych portfeli Lightning, środki trafiają bezpośrednio na adres kanału, który po odpowiedniej liczbie potwierdzeń transakcji zostaje otwarty.

Byłoby miło, z góry dzięki i w ogóle dzięki za próby pomocy w ogarnianiu LN ;-)

Opłacone bez problemów w mniej niż sekundę. Pytaj śmiało o co chcesz ;)


Title: Re: Lightning Network - ogólna dyskusja
Post by: wwzsocki on January 28, 2021, 04:51:23 AM
Z tego co widzę, to Lightning Network jest jeszcze lata świetlne od masowej adopcji.

Jeżeli nie powstaną jakieś łatwe w użyciu apki, które bezproblemowo będą pozwalały na otwieranie kanałów i przesyłanie BTC, to jeszcze jest jakaś szansa.

Czytam waszą dyskusję i nie jeden by się już poddał w połowie tej operacji. cholernie skomplikowane, mało informacji.

Nawet już wprawieni w bojach, jak @Adamvp, napotykają na problem za problemem.

Dobrze, że Bitcoin dał sobie radę i pomimo, że LN zupełnie nie spełniło pokładanych w nim oczekiwań, to cena idzie do góry, a kapitalizacja bije rekordy.


Title: Re: Lightning Network - ogólna dyskusja
Post by: vjudeu on January 28, 2021, 08:05:11 AM
Quote
Z tego co widzę, to Lightning Network jest jeszcze lata świetlne od masowej adopcji.
To prawda, sieć LN to nadal jeden wielki eksperyment, zanim to wszystko okrzepnie, to minie trochę czasu. No i też spodziewam się, że będzie taki problem, jak z Bitcoinem, to znaczy zawsze to będzie kwestia szukania balansu pomiędzy wygodą a bezpieczeństwem. Odpalanie własnego HUBa będzie podobne do posiadania własnego pełnego węzła, zapewni pełną kontrolę nad wszystkim, no ale byle Kowalski tego nie użyje, bo to będzie za trudne. Natomiast większość pewnie będzie trzymać środki w jakichś serwisach, gdzie twórcy aplikacji będą sami zarządzać kanałami. Z jednej strony fajnie, a z drugiej to już wtedy nie jest takie do końca P2P, bo wtedy sporo zależy od tego, na ile sensownie taki serwis będzie tymi kanałami zarządzał.

Quote
Czytam waszą dyskusję i nie jeden by się już poddał w połowie tej operacji. cholernie skomplikowane, mało informacji.
Bo to się dopiero rozwija, to jest nadal w powijakach. Działa, ale żeby to wszystko obsłużyć, to trzeba trochę w tym pogrzebać i trochę o tym poczytać, aby coś sensownego uzyskać. Chociaż to też zależy od tego, czego oczekujesz. Bo zwykle nie trzeba sobie zapisywać jakichś dziwnych cyferek, tylko się skanuje kod QR i gotowe. Natomiast jeśli coś nie działa, no to warto odczytać sobie taki kod QR i zobaczyć, co w trawie piszczy. Bo wiesz, zakładając, że na przykład dwie osoby używają Phoenix wallet, no to jedna generuje kod QR, druga go skanuje i jak wszystko idzie dobrze, to przelew wchodzi. Także to nie jest aż tak skomplikowane, kwestia tego, co chcesz zrobić.

Quote
Dobrze, że Bitcoin dał sobie radę i pomimo, że LN zupełnie nie spełniło pokładanych w nim oczekiwań, to cena idzie do góry, a kapitalizacja bije rekordy.
BTC on-chain działać musi, choćby po to, aby dało się otwierać i zamykać kanały, tego nie przeskoczysz. Natomiast jeśli mempool będzie częściej zapchany, to niejako wymusi przerzucenie się na LN, bo w końcu ludzie stwierdzą, że on-chain fee jest za wysokie. Z drugiej strony, masowa adopcja LN może sprawić, że górnicy mniej na tym zyskają (bo będzie mniej transakcji on-chain) i wtedy mempool może się odkorkować, żeby jednak zachęcić ludzi do przesuwania monet on-chain. Jakby nie patrzeć, górnicy BTC zarabiają na LN tylko przy otwieraniu lub zamykaniu kanałów, cała reszta monet leci w kanałach, całkowicie ich pomijając.

Także cóż, to wszystko to kwestia balansu: wygoda czy bezpieczeństwo? Gdzieś granicę musisz postawić, żeby nie iść w skrajną wygodę (banki) i w skrajne bezpieczeństwo (jest tak bezpiecznie, że aż sam ledwo to odbezpieczasz). No i też część problemów wynika po prostu z tego, że różne portfele działają różnie. Z czasem pewnie to się jakoś ustandaryzuje, na razie to miejscami jest po prostu wolna amerykanka, bo ludzie eksperymentują z różnymi rozwiązaniami i próbują ustalić, co jest w porządku, a czego przeciętny Kowalski nie ogarnie.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 28, 2021, 09:54:22 AM
Z tego co widzę, to Lightning Network jest jeszcze lata świetlne od masowej adopcji.

Jeżeli nie powstaną jakieś łatwe w użyciu apki, które bezproblemowo będą pozwalały na otwieranie kanałów i przesyłanie BTC, to jeszcze jest jakaś szansa.

Czytam waszą dyskusję i nie jeden by się już poddał w połowie tej operacji. cholernie skomplikowane, mało informacji.

Nawet już wprawieni w bojach, jak @Adamvp, napotykają na problem za problemem.

Dobrze, że Bitcoin dał sobie radę i pomimo, że LN zupełnie nie spełniło pokładanych w nim oczekiwań, to cena idzie do góry, a kapitalizacja bije rekordy.


Bez przesady, sam mechanizm jest  dobry, natomiast mnie zmylil troche interfejs tego portfela (sprzeczne komunikaty), no i pozny wieczór to też nie jest najlepsza pora  na rozkminianie nowosci :p
Na poprzedniej stronie masz info o integracji LN przez gielde OKcoin, więc mysle, ze jestesmy dosłownie o krok od mainstreamowej integracji ;)


Title: Re: Lightning Network - ogólna dyskusja
Post by: garlonicon on January 28, 2021, 01:36:03 PM
Żeby dobrze zrozumieć sieć Lightning Network, warto zacząć od podstaw, czyli od tego, w jaki sposób Lightning Network wygląda on-chain. Sama koncepcja bierze się stąd, że przetwarzanie wszystkich możliwych transakcji przez wszystkie pełne węzły zostało uznane za niewydajne i niepotrzebne. Jak łatwo zauważyć, mempool potrafi się zapchać, rozmiar oczekujących transakcji dochodzi do nawet ponad stu bloków naprzód, co sprawia, że opłaty stale rosną, bo ludzie nie chcą czekać w nieskończoność na pierwsze potwierdzenie.

Z tego powodu powstał pomysł utworzenia kanałów płatności, dzięki czemu dowolne dwa podmioty mogłyby wymieniać się monetami bez konieczności każdorazowego wykonywania transakcji on-chain. Założenie jest takie, że na początku dwie strony blokują swoje monety na wspólnym adresie 2-of-2 multisig (co powoduje otwarcie kanału), a następnie obie strony tworzą transakcję wydającą współdzielone monety z powrotem na osobne adresy (co powoduje zamknięcie kanału).

Portfel Bitcoin Core oprócz głównej sieci (mainnet) oraz sieci testowej (testnet), umożliwia także uruchomienie lokalnej sieci testowej (regtest), gdzie samodzielnie można tworzyć całkowicie dowolne transakcje. Umożliwia to sprawdzenie, co jest, a co nie jest możliwe w Bitcoinie oraz oswojenie się z tymi monetami bez konieczności ryzykowania od razu prawdziwych pieniędzy.

Aby odpalić sieć regtest, należy uruchomić klienta Bitcoin Core z poziomu konsoli, podając odpowiedni argument:
Code:
bitcoin-qt -regtest
To powinno wystarczyć, przy starcie powinniśmy ujrzeć jasnoniebieski kolor zamiast pomarańczowego oraz napis "regtest" w tytule okna. Od razu możemy zauważyć, że jesteśmy daleko w tyle za siecią, Genesis Block jest gdzieś w roku 2011 zamiast 2009, a nasz klient z nikim się nie łączy i nie pobiera żadnych bloków z sieci. Tutaj sami jesteśmy górnikami i możemy generować do 15 tysięcy monet zamiast 21 milionów, co powinno wystarczyć nam do wszelakich zastosowań. Otwórzmy więc konsolę (Window -> Console lub domyślnie CTRL+T) i wygenerujmy nowy adres:
Code:
getnewaddress
bcrt1qxae40vjtrtzu4cy3tnswf6xmpk3rlg7k5uqynk
Skoro już mamy swój adres, to możemy coś wykopać, w regteście trudność jest minimalna i umożliwia tworzenie setek bloków na sekundę:
Code:
generatetoaddress 101 bcrt1qxae40vjtrtzu4cy3tnswf6xmpk3rlg7k5uqynk
Naszym oczom powinna się ukazać lista z hashami wygenerowanych bloków. Poza konsolą w głównym oknie możemy zauważyć, że mamy 50 monet, a 5000 czeka na kolejne potwierdzenia. Każdy nowy blok musi uzyskać 100 potwierdzeń, aby górnik mógł wydać swoje monety, stąd 101 bloków pozwala nam dostać cokolwiek. Teraz możemy uzyskać kolejny adres, żeby sprawdzić, czy nasze monety rzeczywiście da się wydać.
Code:
getnewaddress "Alice"
bcrt1q4zuu8hra39kxpcpktag67492e9r346a69wfuwl
Same adresy możemy również generować z poziomu interfejsu graficznego, podobnie z wysyłaniem transakcji. Jak do tej pory, jedynie generowanie bloków musimy wykonać z konsoli, bo z założenia to nie jest coś, co przeciętny użytkownik robi, więc ta opcja została usunięta z okienkowej wersji klienta. Żeby jednak nie wykonywać transakcji z samym sobą, możemy uruchomić drugiego klienta, wtedy nasze testy będą bardziej realistyczne:
Code:
bitcoin-qt -regtest -choosedatadir -port=12345
Opcja "-choosedatadir" sprawia, że możemy wybrać sobie osobny folder, w którym nasz drugi węzeł będzie trzymał wszystkie dane, zaś "-port" umożliwia zmianę numeru portu, gdyż jeśli oba węzły są uruchomione na jednym komputerze, to nie mogą jednocześnie używać tego samego portu. Ponieważ w regteście domyślnie węzły się ze sobą nie łączą, musimy zrobić to ręcznie w konsoli (CTRL+T), wpisując:
Code:
addnode "127.0.0.1" "add"
Od tej pory, w prawym dolnym rogu powinniśmy zobaczyć w obu klientach, że liczba połączeń wynosi jeden. Oprócz tego, węzeł niebędący górnikiem powinien pobrać wszystkie bloki od swojego sąsiada. Załóżmy, że drugi węzeł też ma jakiś adres, na przykład:
Code:
getnewaddress "Bob"
bcrt1qqfw2atr0kledrcu5r6xztsxwxg63n7lct9yj9v
Mamy zatem dwa węzły, jeden to "Alice" (również jako górnik), a drugim jest "Bob", jako zwykły użytkownik. Moglibyśmy mieć trzy węzły (albo i więcej), wtedy nasze testy byłyby jeszcze bardziej realistyczne, bo górnik nie musiałby być jednym z użytkowników, no ale myślę, że na początek dwa węzły nam wystarczą. Idźmy dalej z dwoma węzłami, chcemy mieć wspólny adres należący do obu węzłów tak, aby nie musiały sobie ufać i mogły wymieniać się monetami tak, jak w Lightning Network. Żeby utworzyć adres 2-of-2 multisig, potrzebujemy kluczy publicznych. Sprawdźmy zatem, jakie te klucze są:
Code:
getaddressinfo "bcrt1q4zuu8hra39kxpcpktag67492e9r346a69wfuwl"
{
  "address": "bcrt1q4zuu8hra39kxpcpktag67492e9r346a69wfuwl",
  "scriptPubKey": "0014a8b9c3dc7d896c60e0365f51af54aac9471aebba",
  "ismine": true,
  "solvable": true,
  "desc": "wpkh([085ffa1d/0'/0'/1']02a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe)#kjdtmlkf",
  "iswatchonly": false,
  "isscript": false,
  "iswitness": true,
  "witness_version": 0,
  "witness_program": "a8b9c3dc7d896c60e0365f51af54aac9471aebba",
  "pubkey": "02a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe",
  "ischange": false,
  "timestamp": 1611830525,
  "hdkeypath": "m/0'/0'/1'",
  "hdseedid": "194bc24b7b521ce16031bfba670eb31bf1b20eea",
  "hdmasterfingerprint": "085ffa1d",
  "labels": [
    "Alice"
  ]
}
Analogicznie postępujemy z drugim węzłem:
Code:
getaddressinfo "bcrt1qqfw2atr0kledrcu5r6xztsxwxg63n7lct9yj9v"
{
  "address": "bcrt1qqfw2atr0kledrcu5r6xztsxwxg63n7lct9yj9v",
  "scriptPubKey": "0014025caeac6fb7f2d1e3941e8c25c0ce323519fbf8",
  "ismine": true,
  "solvable": true,
  "desc": "wpkh([995aa32b/0'/0'/0']0313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf1)#dvwjdqdn",
  "iswatchonly": false,
  "isscript": false,
  "iswitness": true,
  "witness_version": 0,
  "witness_program": "025caeac6fb7f2d1e3941e8c25c0ce323519fbf8",
  "pubkey": "0313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf1",
  "ischange": false,
  "timestamp": 1611831683,
  "hdkeypath": "m/0'/0'/0'",
  "hdseedid": "8c58a942c276db10c49500ca0827f7df170fc5e3",
  "hdmasterfingerprint": "995aa32b",
  "labels": [
    "Bob"
  ]
}
Teraz mamy już wszystko, aby utworzyć adres 2-of-2 multisig:
Code:
createmultisig 2 "[\"02a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe\",\"0313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf1\"]" "bech32"
{
  "address": "bcrt1q8md79rv8v2tsf0rjzxprfl0l48qtu05j5e83hctyxhgka79pfk8qxrth0n",
  "redeemScript": "522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae",
  "descriptor": "wsh(multi(2,02a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe,0313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf1))#42ssa8ux"
}
Na razie jako typ adresu wybieramy Segwit, czyli "bech32", w przyszłości możliwe, że użyjemy tutaj adresu Taproot. Skoro już mamy adres, to moglibyśmy po prostu wysłać nasze monety na wspólne konto. W przypadku Lightning Network w praktyce najpierw jedynie tworzymy transakcję, natomiast wysyłamy ją później. Chodzi o to, że gdyby na przykład Alice wysłała do wspólnego kanału swoje monety otwierając go, to nie mogłaby go później zamknąć bez odpowiedniej transakcji! Zatem żeby zrobić to tak, jak należy, to musimy utworzyć najpierw obie transakcje, a dopiero później wysłać pierwszą z nich (bo nie chcemy od razu przecież zamykać kanału). Do utworzenia transakcji z poziomu konsoli potrzebujemy przede wszystkim hashu poprzedniej transakcji i numeru wyjścia, przy którym są nasze monety. Jesteśmy to w stanie uzyskać z poziomu interfejsu graficznego, klikając przycisk "Transactions". Prawym kliknięciem możemy zaznaczyć naszą transakcję i wybrać "Copy raw transaction". To nam wystarczy, aby w konsoli podejrzeć szczegóły transakcji:
Code:
decoderawtransaction "0200000000010196a5f1f57f44c91b15fd2974cb7c0f294cdaac342dcad1c20aa36349616d39f50000000000fdffffff0192f1052a01000000160014a8b9c3dc7d896c60e0365f51af54aac9471aebba0247304402204e1fb465daa4d33d58776aed215d437d8dc9d95623e7775c44c6c35e738ca17c0220029f92a0b8ba047defa89605bdf76dd52046b6a8f386878932616334caa55508012102a3cd82ea50a125b2f86bed870dc96220f80a95a64bbab0dc269af02c4abe211665000000"
{
  "txid": "1538679909fc2030ea9420b737cbad55ff129ea96dbedfe9379898f39cf0d261",
  "hash": "0bfed83cf0de3a4e8a0b5f5e5279dc0783bb35f093e76c692a9694dde39e6868",
  "version": 2,
  "size": 191,
  "vsize": 110,
  "weight": 437,
  "locktime": 101,
  "vin": [
    {
      "txid": "f5396d614963a30ac2d1ca2d34acda4c290f7ccb7429fd151bc9447ff5f1a596",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "304402204e1fb465daa4d33d58776aed215d437d8dc9d95623e7775c44c6c35e738ca17c0220029f92a0b8ba047defa89605bdf76dd52046b6a8f386878932616334caa5550801",
        "02a3cd82ea50a125b2f86bed870dc96220f80a95a64bbab0dc269af02c4abe2116"
      ],
      "sequence": 4294967293
    }
  ],
  "vout": [
    {
      "value": 49.99999890,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 a8b9c3dc7d896c60e0365f51af54aac9471aebba",
        "hex": "0014a8b9c3dc7d896c60e0365f51af54aac9471aebba",
        "reqSigs": 1,
        "type": "witness_v0_keyhash",
        "addresses": [
          "bcrt1q4zuu8hra39kxpcpktag67492e9r346a69wfuwl"
        ]
      }
    }
  ]
}
W ten sposób możemy zaglądać w dowolne transakcje, wystarczy, że będziemy mieli dane szesnastkowe transakcji (wzięte choćby z jakiegoś block explorera) i już możemy patrzeć na wszelkie szczegóły, które nas interesują. Stąd widać wyraźnie, że musimy podać "1538679909fc2030ea9420b737cbad55ff129ea96dbedfe9379898f39cf0d261" jako hash transakcji oraz zero jako numer wyjścia. Natomiast co do wyjść, to jedno nam wystarczy jako przykład, po prostu wrzucamy wszystko na nasz wspólny adres, czyli "bcrt1q8md79rv8v2tsf0rjzxprfl0l48qtu05j5e83hctyxhgka79pfk8qxrth0n". Piszemy zatem:
Code:
createrawtransaction "[{\"txid\":\"1538679909fc2030ea9420b737cbad55ff129ea96dbedfe9379898f39cf0d261\",\"vout\":0}]" "[{\"bcrt1q8md79rv8v2tsf0rjzxprfl0l48qtu05j5e83hctyxhgka79pfk8qxrth0n\":49.99999000}]"
020000000161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e00000000
Jeśli ta transakcja rzeczywiście miałaby się wydarzyć, to opłata byłaby zależna od tego, jak bardzo mempool jest zapchany. Moglibyśmy tutaj dać minimalną opłatę, ale to wymagałoby policzenia rozmiaru transakcji, więc sobie to na razie darujemy i zaokrąglimy kwotę do równych tysięcy satoshi. Chodzi nam głównie jednak nie tyle o tą transakcję, ile o kolejną, która pozwoli zamknąć kanał. Potrzebujemy zatem hasha transakcji i numeru wyjścia. Mamy już dane szesnastkowe transakcji, więc możemy ją zdekodować:
Code:
decoderawtransaction "020000000161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e00000000"
{
  "txid": "2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85",
  "hash": "2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85",
  "version": 2,
  "size": 94,
  "vsize": 94,
  "weight": 376,
  "locktime": 0,
  "vin": [
    {
      "txid": "1538679909fc2030ea9420b737cbad55ff129ea96dbedfe9379898f39cf0d261",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 49.99999000,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 3edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e",
        "hex": "00203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e",
        "reqSigs": 1,
        "type": "witness_v0_scripthash",
        "addresses": [
          "bcrt1q8md79rv8v2tsf0rjzxprfl0l48qtu05j5e83hctyxhgka79pfk8qxrth0n"
        ]
      }
    }
  ]
}
Dzięki adresom typu Segwit nie musimy martwić się o ID transakcji, bo dołączenie podpisów tego nie zmieni (w starszych adresach tak nie jest). Zatem możemy śmiało zbudować kolejną transakcję, która wypłaci Alice wszystkie środki (bo po stronie Boba niczego nie ma). Wygenerujmy nowy adres Alice, żeby go nie używać ponownie:
Code:
getnewaddress "Alice"
bcrt1qywzj7g9sdw7dlm4h5k82yevuqcr5utwzt3j5k9
Znów zaokrąglamy sobie fee i możemy utworzyć kolejną transakcję:
Code:
createrawtransaction "[{\"txid\":\"2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85\",\"vout\":0}]" "[{\"bcrt1qywzj7g9sdw7dlm4h5k82yevuqcr5utwzt3j5k9\":49.99998000}]"
0200000001850fe338cbfe3caca2be004fe1ba7afdf6a49d2fb7391acb4fe81f1b2a840c2c0000000000ffffffff0130ea052a0100000016001423852f20b06bbcdfeeb7a58ea2659c06074e2dc200000000
Teraz z kolei przy składaniu podpisów zaczynamy od transakcji zamykającej kanał. Chodzi o to, aby nie otworzyć kanału nie mając kompletu podpisów. Do tego oprócz danych szesnastkowych transakcji do podpisu, potrzebujemy również danych poprzedniej transakcji. Żeby łatwiej posługiwać się wspólnym adresem, możemy go zaimportować jako watch-only (gdyż nie mamy obu kluczy prywatnych, zarówno Alice, jak i Bob mają jedynie swoje klucze).
Code:
importmulti "[{\"desc\":\"wsh(multi(2,02a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe,0313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf1))#42ssa8ux\",\"timestamp\":\"now\",\"watchonly\":true,\"label\":\"AliceAndBob\"}]"
Import wspólnego adresu spowoduje, że portfel sam załatwi część rzeczy za nas i nie będziemy musieli podawać wszystkiego w konsoli. Każda ze stron może złożyć podpis, tyle informacji w zupełności wystarcza, zacznijmy od Alice, choć nie ma to większego znaczenia:
Code:
signrawtransactionwithwallet "0200000001850fe338cbfe3caca2be004fe1ba7afdf6a49d2fb7391acb4fe81f1b2a840c2c0000000000ffffffff0130ea052a0100000016001423852f20b06bbcdfeeb7a58ea2659c06074e2dc200000000" "[{\"txid\":\"2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85\",\"vout\":0,\"scriptPubKey\":\"00203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e\",\"redeemScript\":\"522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae\",\"amount\":49.99999000}]"
{
  "hex": "02000000000101850fe338cbfe3caca2be004fe1ba7afdf6a49d2fb7391acb4fe81f1b2a840c2c0000000000ffffffff0130ea052a0100000016001423852f20b06bbcdfeeb7a58ea2659c06074e2dc2040047304402201354bae6297085d01db2f2a3edb3a9f3f0e3c30da3d345801078be1d3d43270a022071cae276ede6229cd97cb54680e0f5462b8a11ca87b123739f1410ef3ee2cb4b010047522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae00000000",
  "complete": false,
  "errors": [
    {
      "txid": "2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85",
      "vout": 0,
      "witness": [
        "",
        "304402201354bae6297085d01db2f2a3edb3a9f3f0e3c30da3d345801078be1d3d43270a022071cae276ede6229cd97cb54680e0f5462b8a11ca87b123739f1410ef3ee2cb4b01",
        "",
        "522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae"
      ],
      "scriptSig": "",
      "sequence": 4294967295,
      "error": "CHECK(MULTI)SIG failing with non-zero signature (possibly need more signatures)"
    }
  ]
}
Teraz z kolei Bob może wziąć sygnaturę od Alice i dokończyć całość, uzyskując kompletną transakcję:
Code:
signrawtransactionwithwallet "02000000000101850fe338cbfe3caca2be004fe1ba7afdf6a49d2fb7391acb4fe81f1b2a840c2c0000000000ffffffff0130ea052a0100000016001423852f20b06bbcdfeeb7a58ea2659c06074e2dc2040047304402201354bae6297085d01db2f2a3edb3a9f3f0e3c30da3d345801078be1d3d43270a022071cae276ede6229cd97cb54680e0f5462b8a11ca87b123739f1410ef3ee2cb4b010047522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae00000000" "[{\"txid\":\"2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85\",\"vout\":0,\"scriptPubKey\":\"00203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e\",\"amount\":49.99999000}]"
{
  "hex": "02000000000101850fe338cbfe3caca2be004fe1ba7afdf6a49d2fb7391acb4fe81f1b2a840c2c0000000000ffffffff0130ea052a0100000016001423852f20b06bbcdfeeb7a58ea2659c06074e2dc2040047304402201354bae6297085d01db2f2a3edb3a9f3f0e3c30da3d345801078be1d3d43270a022071cae276ede6229cd97cb54680e0f5462b8a11ca87b123739f1410ef3ee2cb4b014730440220194262dbb1be43f0f5ccdf7e0e3af7864153493dc435e9350d77f50c30b7cf8a02204303e0604e049ea6220aebb597442a58ad52f46ca1df73adac6da593646721520147522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae00000000",
  "complete": true
}
Zatem ostatecznie obie strony dysponują kompletną transakcją i obie strony mogą ją zdekodować:
Code:
decoderawtransaction "02000000000101850fe338cbfe3caca2be004fe1ba7afdf6a49d2fb7391acb4fe81f1b2a840c2c0000000000ffffffff0130ea052a0100000016001423852f20b06bbcdfeeb7a58ea2659c06074e2dc2040047304402201354bae6297085d01db2f2a3edb3a9f3f0e3c30da3d345801078be1d3d43270a022071cae276ede6229cd97cb54680e0f5462b8a11ca87b123739f1410ef3ee2cb4b014730440220194262dbb1be43f0f5ccdf7e0e3af7864153493dc435e9350d77f50c30b7cf8a02204303e0604e049ea6220aebb597442a58ad52f46ca1df73adac6da593646721520147522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae00000000"
{
  "txid": "f650b54f0c53e479f1bed78e469bed20654eda910a420314ed386af93257e485",
  "hash": "076f5442855c4b73470cfcf7b09d02cb8421ddda248552a62715111682fe5536",
  "version": 2,
  "size": 302,
  "vsize": 137,
  "weight": 548,
  "locktime": 0,
  "vin": [
    {
      "txid": "2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "",
        "304402201354bae6297085d01db2f2a3edb3a9f3f0e3c30da3d345801078be1d3d43270a022071cae276ede6229cd97cb54680e0f5462b8a11ca87b123739f1410ef3ee2cb4b01",
        "30440220194262dbb1be43f0f5ccdf7e0e3af7864153493dc435e9350d77f50c30b7cf8a02204303e0604e049ea6220aebb597442a58ad52f46ca1df73adac6da5936467215201",
        "522102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe210313fc2401362129bd664490e21070d8ffd48d4e38837ec1b3ee9df1156dccadf152ae"
      ],
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 49.99998000,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 23852f20b06bbcdfeeb7a58ea2659c06074e2dc2",
        "hex": "001423852f20b06bbcdfeeb7a58ea2659c06074e2dc2",
        "reqSigs": 1,
        "type": "witness_v0_keyhash",
        "addresses": [
          "bcrt1qywzj7g9sdw7dlm4h5k82yevuqcr5utwzt3j5k9"
        ]
      }
    }
  ]
}
Ponieważ Bob nie wkłada do kanału żadnych swoich monet, Alice musi wypuścić pierwszą transakcję, aby kanał mógł zostać otwarty. Podpisuje ją zatem:
Code:
signrawtransactionwithwallet "020000000161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e00000000"
{
  "hex": "0200000000010161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e0247304402206bc49093755da7513e832786d16d4c9cbaee25a9addd97a2f45b99ca93ec081702205b91ab034b269ac019cf855b0a94a73dd5f4ce1f62bf3545b006783dcf237ada012102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe00000000",
  "complete": true
}
Możemy rzucić okiem, że ID transakcji jest nadal identyczne, choć jej hash oczywiście się zmienia po dodaniu sygnatur:
Code:
decoderawtransaction "0200000000010161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e0247304402206bc49093755da7513e832786d16d4c9cbaee25a9addd97a2f45b99ca93ec081702205b91ab034b269ac019cf855b0a94a73dd5f4ce1f62bf3545b006783dcf237ada012102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe00000000"
{
  "txid": "2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85",
  "hash": "b1acecf6673e10695ab1bb57c5705a9cd03505193fa8da15d3df00763647ff1d",
  "version": 2,
  "size": 203,
  "vsize": 122,
  "weight": 485,
  "locktime": 0,
  "vin": [
    {
      "txid": "1538679909fc2030ea9420b737cbad55ff129ea96dbedfe9379898f39cf0d261",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "304402206bc49093755da7513e832786d16d4c9cbaee25a9addd97a2f45b99ca93ec081702205b91ab034b269ac019cf855b0a94a73dd5f4ce1f62bf3545b006783dcf237ada01",
        "02a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe"
      ],
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 49.99999000,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 3edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e",
        "hex": "00203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e",
        "reqSigs": 1,
        "type": "witness_v0_scripthash",
        "addresses": [
          "bcrt1q8md79rv8v2tsf0rjzxprfl0l48qtu05j5e83hctyxhgka79pfk8qxrth0n"
        ]
      }
    }
  ]
}
Przed wysłaniem transakcji, Alice może sprawdzić, czy taka transakcja będzie zaakceptowana przez inne węzły. Może to być przydatne przy ustawianiu fee tak, aby było możliwie minimalne:
Code:
testmempoolaccept "[\"0200000000010161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e0247304402206bc49093755da7513e832786d16d4c9cbaee25a9addd97a2f45b99ca93ec081702205b91ab034b269ac019cf855b0a94a73dd5f4ce1f62bf3545b006783dcf237ada012102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe00000000\"]"
[
  {
    "txid": "2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85",
    "allowed": true
  }
]
Wszystko jest w porządku, zatem Alice wysyła pierwszą transakcję i otwiera w ten sposób kanał:
Code:
sendrawtransaction "0200000000010161d2f09cf3989837e9dfbe6da99e12ff55adcb37b72094ea3020fc09996738150000000000ffffffff0118ee052a010000002200203edbe28d87629704bc72118234fdffa9c0be3e92a64f1be16435d16ef8a14d8e0247304402206bc49093755da7513e832786d16d4c9cbaee25a9addd97a2f45b99ca93ec081702205b91ab034b269ac019cf855b0a94a73dd5f4ce1f62bf3545b006783dcf237ada012102a04782a942b08c9aaadfd1529f47520959eda975c1f2ff174d28a415f8b367fe00000000"
2c0c842a1b1fe84fcb1a39b72f9da4f6fd7abae14f00bea2ac3cfecb38e30f85
No i mamy to. Krok po kroku dotknęliśmy Lightninga od strony czysto technicznej. Dalej wystarczy, że Alice i Bob wspólnie zmienią transakcję zamykającą na jakąś inną, starczy zamienić tam kwoty i będzie dobrze. Trzeba także dołożyć transakcję kary, żeby zapobiec wypuszczeniu starej transakcji przez drugą stronę. Oprócz tego, w praktyce transakcja zamykająca trzymana przez obie strony wygląda tak, że wiadomo dokładnie, kto zamknął kanał jednostronnie, bo jedna strona dostaje środki natychmiast, a druga strona ma je zablokowane (czas takiej blokady jest określony z góry przez obie strony w momencie tworzenia kanału). Tutaj mamy najprostszy możliwy przykład transakcji zamykającej kanał za zgodą obu stron, żeby uzyskać przykłady z życia wzięte, należałoby to jeszcze rozbudować.

Myślę, że na początek ten wpis i tak jest dość techniczny, bardziej złożone rzeczy można ewentualnie powyjaśniać po przetrawieniu tego.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 28, 2021, 05:30:50 PM
@Rath_ jeszcze taka kwestia,  bo mam potwierdzenie, ze moje invoice zostalo oplacone:
https://i.ibb.co/T88JKQn/20210128-182803.jpg (https://ibb.co/HzzRNcM)
Ale to wszystko co potrafie znalezc w tym portfelu, czy to jest tak z definicji, czy to tylko takie ograniczenie konkretnie BlueWallet, ze nie widac zrodla platnosci?
I 2) czy takie invoice jest jednorazowego uzytku? Co jakbym chcial otrzymywac np dajmy na to dotacje przez LN?
PS. Zrobiłem sobie test i wyslalem 10sat  na profil z tippin.me  ale minelo juz kilka minut  a saldo dalej sie nie powiększyło
(Na bluewallet odjelo)

Ok wlasnie sie zaktualizowalo


Title: Re: Lightning Network - ogólna dyskusja
Post by: garlonicon on January 28, 2021, 06:26:20 PM
Quote
Ale to wszystko co potrafie znalezc w tym portfelu, czy to jest tak z definicji, czy to tylko takie ograniczenie konkretnie BlueWallet, ze nie widac zrodla platnosci?
Jak to mówią niektórzy na forum: "there is no from address". Ogólnie rzecz biorąc, nie powinieneś wiedzieć, skąd jest dana moneta. Jednym z założeń Bitcoina jest to, żebyś tego nie wiedział, bo to adres odbiorcy, a nie nadawcy ma tutaj znaczenie (odwrotnie niż w banku, gdzie zawsze patrzysz skąd przelew przyszedł). Jak w Bitcoinie ktoś użyje CoinJoin, to wiesz doskonale, które wyjście transakcji jest Twoje, ale z którego wejścia masz monety? Nie wiadomo, wszyscy mają je od wszystkich w ramach danej transakcji, tak to działa.

Quote
czy takie invoice jest jednorazowego uzytku?
Powinno być. To trochę tak, jak z adresami: podajesz komuś adres i w zasadzie to nie powinieneś używać ponownie tego samego. Poza tym, invoice w LN ma coś takiego, jak czas wygaśnięcia, jeśli minie, to wtedy ryzykowne jest używanie takiego invoice, bo nie wiadomo, czy odbiorca nadal to przechowuje.

Quote
Co jakbym chcial otrzymywac np dajmy na to dotacje przez LN?
W sumie można byłoby zrobić invoice bez terminu ważności, no ale wiesz, kanały się zmieniają. Jak długo planujesz mieć otwarty jeden i ten sam kanał? Jeśli ktoś inny obsługuje Twoje kanały, no to jak się stan sieci pozmienia, jedne kanały znikną, a drugie powstaną, no to płatność nie przejdzie.

Quote
PS. Zrobiłem sobie test i wyslalem 10sat  na profil z tippin.me  ale minelo juz kilka minut  a saldo dalej sie nie powiększyło
(Na bluewallet odjelo)
Odejmuje od razu, bo swoje środki są zwykle traktowane jako "zaufane". Jak sam coś wysyłasz, no to wiesz, że wysłałeś. Najwyżej jak transakcja nie dojdzie, to wtedy masz stan oznaczony jako "error", ale tak, to raczej powinno dojść. Zresztą, masz prosty portfel, gdzie kanałami zarządza ktoś inny, więc w zasadzie to oni dbają o to, żeby to pchnąć. Może miałeś pecha i routing się nie udał, czasem tak bywa. Bez ścieżki od A do B nie da się przelać środków, w najgorszym wypadku wtedy trzeba to pchać on-chain, choć portfele LN unikają tego, o ile to możliwe.

Quote
Ok wlasnie sie zaktualizowalo
Cieszę się, że działa. Jeśli chodzi o LN, no to ja tam głównie korzystałem z BlueWallet i z Phoenix wallet. Ten pierwszy jest dość prosty, raczej przyjazny nowym, ale wielu szczegółów technicznych tam nie zobaczysz. W Phoenix wallet widać nieco więcej, bo możesz sobie obserwować kanały i jak się uprzesz, to nawet odnajdziesz on-chain swoją transakcję. Z kolei jak sam postawisz HUB-a, to widać wszystko jak na dłoni. No ale co kto lubi, popróbuj różnych portfeli, pobaw się drobnymi kwotami, przywykniesz. A jak nie chcesz pchać prawdziwych BTC, no to możesz pokusić się o jakąś sieć testową, chociaż akurat w LN to może nie być aż tak proste, jak postawienie regtesta w Core.


Title: Re: Lightning Network - ogólna dyskusja
Post by: wwzsocki on January 28, 2021, 06:59:39 PM
ciach ale tylko dla tego że długie  ;)

Super tutorial, zasługuje na te merirty, świetnie napisany i można spokojnie krok po kroku przetestować sobie LN.

Rozumiem, że nadal potrzebuję portfel BTC i cały łańcuch, czy może nie? Jesteś jakiś portfel do LN?

Dawno nie miałem portfela BTC, więc zastanawia mnie jak to zostało rozwiązane, jeżeli trzeba mieć cały blockchain, to potrzeba pewnie od cholery miejsca i czasu do pełnej synchronizacji?


Title: Re: Lightning Network - ogólna dyskusja
Post by: garlonicon on January 28, 2021, 07:27:44 PM
Quote
Rozumiem że nadal potrzebuję portfel BTC i cały łańcuch, czy może nie?
Jest tam opisany portfel Bitcoin Core. Po prostu to wyjaśnia, jak działa LN z punktu widzenia on-chain. Tylko tyle i aż tyle. A ponieważ to są testy, w dodatku takie, które widzisz tylko u siebie i nie dzielisz się nimi z innymi, no to łańcuch początkowy jest pusty, a później to już sam decydujesz, ile ma ważyć i jak złożony ma być.

Quote
Jesteś jakiś portfel do LN?
Jak już wspomniałem, do prawdziwych monet LN jest BlueWallet, jest Phoenix wallet i jest też program do stawiania własnych HUB-ów, czyli na przykład LND (Lightning Network Daemon). Jeśli chcesz działać na całkowicie własnym łańcuchu, to potrzebujesz tego ostatniego.

Quote
Dawno nie miałem portfela BTC, więc zastanawia mnie jak to zostało rozwiązane, jeżeli trzeba mieć cały blockchain, to potrzeba pewnie od cholery miejsca i czasu do pełnej synchronizacji?
Nie trzeba mieć całego blockchaina, żeby używać LN. W ogóle nie trzeba mieć całego blockchaina, żeby używać Bitcoina on-chain. Jeśli umiesz tworzyć transakcje ręcznie w konsoli, tak jak w tutorialu, to też to zadziała i możesz używać portfela Core tak, jak portfeli SPV (jest to nawet zalecane, żeby mieć taki portfel offline i to z niego podpisywać transakcje, a weryfikować z osobnego węzła jako watch-only, gdzie możesz mieć cały łańcuch). Jeśli jednak chcesz używać portfela Bitcoin Core zgodnie z zaleceniami, to powinieneś pobrać i zweryfikować cały blockchain, ale wystarczy to zrobić tylko jeden raz. Nie musisz nawet trzymać na dysku całego łańcucha, od nowszych wersji pruning jest domyślnie ustawiony na 2 GB, więc trzymasz bloki jedynie z ostatnich około dwóch tygodni. Jeśli masz zbiór UTXO, to tyle wystarczy, później klient już ufa sam sobie i pamięta, kto ile ma monet. Bazując na tym, klient jest w stanie weryfikować kolejne bloki. Tyle w kwestii pełnego węzła, można też polegać na węzłach SPV, wtedy jest deczko mniej bezpiecznie, no ale to też zadziała. Portfele BlueWallet oraz Phoenix wallet łączą się z serwerami Electrum, czyli w zasadzie używają węzłów SPV i to im wystarczy, aby obsłużyć LN.

Także nie, pełny węzeł nie jest obowiązkowy, to jest kwestia balansu między wygodą, a bezpieczeństwem, którą możesz przesunąć nieco bardziej w stronę wygody i nic się złego nie stanie, bo nadal bezpieczeństwo jest na dość wysokim poziomie. Poza tym, z założenia LN służy do małych kwot, więc stawianie pełnego węzła tylko po to, żeby przesłać parę satoshi nie jest konieczne. Niemniej jednak, ja mam pełny węzeł, bo tak, jak wspomniałem: to jest coś, co robisz raz. Raz pobierasz cały blockchain, później tylko trzymasz kilka, góra kilkanaście GB i masz nadal pełny węzeł, który nikomu nie musi ufać, więc myślę, że warto go sobie postawić.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on January 28, 2021, 11:49:56 PM
W kwesti tej identyfikacji odbiorcy, też by mi chodziło  o to, na ile nie widzę  nadawcy bo tak jest rozwiazana techniczne sieć, a na ile portfel to ukrywa (a np. wlasciciel portfela - zakładajac ze typ portfela z ktorym mamy do czynienia  to custodial - może sobie wszystko  tam podglądać bez ograniczen?)


Title: Re: Lightning Network - ogólna dyskusja
Post by: garlonicon on January 29, 2021, 06:37:59 AM
To znaczy tak: jeśli zrozumiesz, jak LN wygląda on-chain, no to zrozumiesz też, jak wygląda off-chain. Sam Bitcoin on-chain wygląda tak, że masz transakcję. Masz wejścia i wyjścia w ramach pojedynczej transakcji. Mając jedno ze swoich wyjść nie wiesz, które wejście należy do nadawcy. Po prostu w ramach jednej transakcji wszystkie wejścia są używane do utworzenia wszystkich wyjść, do tego dochodzi opłata za całą transakcję (obliczona niejawnie jako suma wejść minus suma wyjść) i jeśli wszyscy nadawcy podpiszą taką transakcję, to nie wiadomo, co jest czyje, można jedynie zgadywać na podstawie adresów, kwot, i tak dalej.

Idąc dalej: transakcja otwierająca kanał w LN wygląda tak, że co najmniej jedna z dwóch stron musi włożyć monety do kanału i co najmniej jedna z dwóch stron musi je wyjąć z powrotem. Jeśli Alice ma kanał z Bobem, to można zrobić tak, żeby Alice mogła przesyłać monety do Boba. Wtedy początkowo wszystkie środki są po stronie Alice i stopniowo kolejne transakcje przekazują coraz większe kwoty na konto Boba, tworząc kolejne transakcje zamykające kanał, w których to Bob ma coraz więcej monet, a Alice coraz mniej.

I teraz sprawa wygląda następująco: jeśli masz własny, niezależnie postawiony węzeł (gadający bezpośrednio z siecią LN), no to musisz znać transakcję otwierającą kanał (żeby stwierdzić, że kanał został prawidłowo otwarty) oraz transakcję zamykającą kanał jednostronnie (żeby samemu móc go zamknąć w razie gdyby druga strona nagle wyparowała). Oprócz tego musisz przechowywać transakcje kary, czyli takie, które wyślesz w razie gdyby druga strona zamknęła kanał ze starym stanem kont. BlueWallet sporo rzeczy ukrywa, więc po prostu masz balans konta oraz listę invoice wraz z kwotami, natomiast o płynność kanałów i o całą resztę dbają twórcy portfela. Phoenix wallet pokazuje nieco więcej i na przykład jesteś w stanie zlokalizować transakcję otwierającą kanał. Same portfele przechowują więcej transakcji niż pokazują, wygoda polega między innymi na tym, że nie musisz wszystkiego tutaj widzieć i wszystkiego ręcznie sprawdzać.

Natomiast co do lokalizowania nadawcy, to zwróć uwagę na to, że aby płatność się udała, to trzeba zbudować ścieżkę na przykład od Alice do Zacka. Po drodze mogą być różne węzły, na razie da się ustalić, którędy dokładnie płatność idzie, ale w przyszłości nie musi tak być. Można na przykład zrobić tak, żeby konkretną kwotę puścić wieloma kanałami jednocześnie, wtedy to będzie tak, jak z tymi transakcjami on-chain, gdzie masz wiele wejść. Które są czyje? Nie wiadomo. Także cóż: jeśli używając Bitcoina próbujesz ustalić nadawcę, to używasz tego niezgodnie z przeznaczeniem. Założenie jest takie, że jeśli chcesz, aby ktoś coś wpłacił on-chain, no to podajesz tej osobie adres i jeśli na niego coś przyjdzie, to zakładasz, że to właśnie od tego nadawcy pochodzi (bo nikomu innemu tego nie pokazujesz). Analogicznie w przypadku invoice: dajesz to konkretnemu nadawcy i wtedy wiesz, kto to jest. A skoro wkleiłeś invoice publicznie na forum, no to możesz się domyślać, że Rath to opłacił, no ale 100% pewności nie masz.


Title: Re: Lightning Network - ogólna dyskusja
Post by: Airbuxf on February 01, 2021, 09:22:51 AM
Jeszcze nie zacząłem reaserchu ale mam pytanie, czy w LN da się zrobić coś na kształt papierowego portfela wygenerowanego ręcznie/offline bez jakiegokolwiek instalowania czegokolwiek i czy taki portfel będzie mógł funkcjonować w sieci czy jak oto właściwie wygląda? nie bijcie jak jest już to gdzieś napisane


Title: Re: Lightning Network - ogólna dyskusja
Post by: vjudeu on February 01, 2021, 10:14:02 AM
Tak, na przykład Phoenix wallet umożliwia zapisanie 12 słów, dzięki którym możesz później odzyskać swój portfel (Settings -> Recovery phrase -> Display seed). Aha, no i taka ciekawostka przy okazji: nawet jeśli LN działa głównie na aplikacjach mobilnych, to są emulatory (na przykład LDPlayer), które umożliwiają korzystanie z tych portfeli na zwykłym komputerze.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on February 02, 2021, 09:35:00 PM
Wydaje mi sie, ze jednak nie, ale mogę sie mylic.
Przynajmniej w sensie, ze mozna sobie wygenerowac offline walllet i na niego wysłać, bo zeby odebrać kase w LN to trzeba byc online (albo skorzystać z pośrednika)
No i tez sama natura kanałów, które moga sie zamykac stosunkowo szybko 🤔


Title: Re: Lightning Network - ogólna dyskusja
Post by: vjudeu on February 03, 2021, 07:32:11 AM
Quote
zeby odebrać kase w LN to trzeba byc online (albo skorzystać z pośrednika)
Jeśli używasz BlueWallet lub Phoenix wallet, to korzystasz z pośrednika. W ich FAQ są wymienione dokładnie przypadki, w których musisz im zaufać (choćby przez chwilę) i w których zaufanie nie jest wymagane. Żeby nie ufać absolutnie nikomu, to musisz mieć własnego HUB-a, no ale wtedy to jest mniej wygodne.

No i to też jest kwestia tego, co dokładnie chcesz zapisać na tym papierowym portfelu. Klucze prywatne? Nie ma problemu, seed właśnie do tego służy. Stan kanałów? Tu już gorzej, bo jedne kanały się otwierają, inne zamykają, tego zapisywać nie warto, chyba że planujesz mieć jeden i ten sam kanał otwarty bardzo długo.

Także cóż, to czy backup jest możliwy zależy od konkretnej sytuacji. Jeśli na przykład ze znajomym otworzycie sobie wspólny kanał, który będzie otwarty bardzo długo, to jak najbardziej backup jest możliwy. A jeśli ten kanał będzie jednokierunkowy (albo jak zrobicie dwa kanały jednokierunkowe), no to watchtowery nie będą potrzebne, bo druga strona będzie mogła zamknąć kanał ze starym stanem kont, ale będzie to nieopłacalne, bo najnowsza transakcja zawsze będzie dawała najwięcej monet.


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on February 11, 2021, 04:29:16 PM
W końcu udało mi się postawić własny węzeł oparty o LND. Zajęło mi to tak dużo czasu, bo na początku miałem problemy z węzłem BTC, który nie mógł wczytać plików znajdujących się w folderze "chainstate". Okazało się, że winowajcą był zasilacz mojego Raspberry Pi i po jego wymianie udało mi się uruchomić oba węzły. Poniżej zamieszczam klucz publiczny oraz adres mojego węzła, w razie gdyby ktoś z Was chciał kiedyś otworzyć do mnie kanał.

Code:
03b6abdf7118793e442bb5e365adf77acd2e2861b58a750f7df700b7a6def7b7a4@yz3ccvircvty4w652lg6nfx4fkps5ozfhdozd3yb3ezizohkbmjmucid.onion:9735


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on February 16, 2021, 11:36:55 AM
Chetnie, jak tylko sam sie takiego  węzła dorobie :-)
Natomiast póki co mam takie pytanie z pogranicza:
Dostałem sugestie, żeby  reszty ze zwykłych transakcji btc kierować na adres LN; wiem jak to zrobić  ręcznie- postaram sie przygotować instrukcję ze screenami, kiedy  będę znowu przelewal btc, naotmiast interesuje mnie automatyzacja tego procesu.. 
Przykładowo mając  do zapłacenia  908 a majac na adresie 1000, zakładając  fee 50 zostaje  mi 42 ktore chce przesylac na LN - i fajna bylaby opcja automatyzacji, ze żeby  jesli z danego adresu wysylam > 80% i te pozostałe  20% jest mniejsze niz 10krotnosc fee to zeby on automatycznie  zamiast na adres reszty  wysylal  je na adres LN


Title: Re: Lightning Network - ogólna dyskusja
Post by: Rath_ on February 16, 2021, 03:28:54 PM
Przykładowo mając  do zapłacenia  908 a majac na adresie 1000, zakładając  fee 50 zostaje  mi 42 ktore chce przesylac na LN - i fajna bylaby opcja automatyzacji, ze żeby  jesli z danego adresu wysylam > 80% i te pozostałe  20% jest mniejsze niz 10krotnosc fee to zeby on automatycznie  zamiast na adres reszty  wysylal  je na adres LN

Rozumiem o co Ci chodzi, ale akurat w tym przykładzie wyglądałoby to trochę inaczej. Pozostałe 42 satoshi zostałoby automatycznie doliczone do opłaty transakcyjnej (ze względu na dust (https://bitcoin.stackexchange.com/a/41082)). Dla niewtajemniczonych - chodzi o to, że BlueWallet pozwala na doładowanie portfela Lightning poprzez zwykłą transakcje on-chain. Niekastodialne portfele i węzły póki co nie pozwalają na coś takiego (aczkolwiek splicing-in & splicing-out jest w planach).

Co do automatyzacji, nie mam pojęcia jak za to się zabrać, bo moja znajomość programowania w tym momencie to podstawy C/C++. Może dałoby się napisać plugin do Electrum w Pythonie, który pozwalałby na ustawienie na sztywno adresu reszty pod pewnymi warunkami, ale obawiam się, że bez znacznej ingerencji w kod źródłowy nie będzie to możliwe.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on February 16, 2021, 10:18:56 PM
@Rath_ napisałem bezjednostkowo, bo nie chciało mi się liczyć i pisać zer :P
Załóżmy, że podane wartości przemnożylibyśmy razy 10, czy może nawet 100;
ale w sumie dobrze się stało, bo o tym dust co prawda słyszałem, ale nigdy się nie wgłębiałem - a jeśli BTC jednak rzeczywiście będzie za X lat warte kilkaset tys. usd to wtedy kazde kilkaset satoshi ma już całkiem istotną wartość.

Jeszcze mi się przypomniało właśnie, że przyszedł mi do głowy pomysł, żeby zasugerować taką funkcje na githubie Electrum...


Title: Re: Lightning Network - ogólna dyskusja
Post by: lokas0506 on February 17, 2021, 01:07:22 AM
- a jeśli BTC jednak rzeczywiście będzie za X lat warte kilkaset tys. usd to wtedy kazde kilkaset satoshi ma już całkiem istotną wartość.

.

I czy taka wartość BTC nie wpłynęła by na podejśćie do BTC jako do rezerwowej waluty gdzie by się deponowało w "BANKU BTC" swój BTC i dostawało dywidendy (byłaby to najpopularniejsza metoda przechowywania BTC) 


Title: Re: Lightning Network - ogólna dyskusja
Post by: garlonicon on February 17, 2021, 11:55:53 AM
Quote
Dostałem sugestie, żeby  reszty ze zwykłych transakcji btc kierować na adres LN; wiem jak to zrobić  ręcznie- postaram sie przygotować instrukcję ze screenami, kiedy  będę znowu przelewal btc, naotmiast interesuje mnie automatyzacja tego procesu.. 
Jeśli jesteś w stanie przygotować transakcję z konsoli, podpisać ją i wysłać, no to możesz pomyśleć o nakładce na Core lub Electrum i wtedy to załatwić w ten sposób. Kwestia tego, żeby change address nie był po prostu kolejnym adresem z puli, tylko adresem 2-of-2 multisig w LN.

Quote
Przykładowo mając  do zapłacenia  908 a majac na adresie 1000, zakładając  fee 50 zostaje  mi 42 ktore chce przesylac na LN
42 satoshi? To jest pył, którego nie przerzucisz on-chain, chyba że jakiś górnik się na to zgodzi, żeby zrobić wyjątek, ale nie wydaje mi się. Przy większych jednostkach ma to sens.

Quote
Co do automatyzacji, nie mam pojęcia jak za to się zabrać, bo moja znajomość programowania w tym momencie to podstawy C/C++. Może dałoby się napisać plugin do Electrum w Pythonie, który pozwalałby na ustawienie na sztywno adresu reszty pod pewnymi warunkami, ale obawiam się, że bez znacznej ingerencji w kod źródłowy nie będzie to możliwe.
Jedyne, co jest potrzebne, to wywoływanie komend Core, które poskładają odpowiednią transakcję. Komendy Electrum też pewnie da się bardzo podobnie wywoływać, pewnie jest jakieś "electrum-cli", wołasz to w konsoli przez swój program i dostajesz odpowiedni wynik. Dopóki masz RPC lub jakiekolwiek API, to zawsze możesz zostawić kod źródłowy właściwego programu w spokoju i po prostu napisać nakładkę, która wywoła odpowiednie komendy i to poskłada do kupy. W swoim przykładzie pokazałem wcześniej, jak używać konsoli pod Core, w przypadku Electrum pewnie jest bardzo podobnie, a dalej to już wystarczy prosty program/skrypt, który tych komend po prostu użyje, choćby przez CLI.

Quote
a jeśli BTC jednak rzeczywiście będzie za X lat warte kilkaset tys. usd to wtedy kazde kilkaset satoshi ma już całkiem istotną wartość
Wtedy prawdopodobnie "dust limit" zostanie zniesiony i minimalna opłata może wynieść jeden satoshi per transakcja (chociaż prędzej można się spodziewać opłat jeden satoshi per kilobajt). A dalej, to wiadomo: "fractional satoshi", czyli jednostki mniejsze od pojedynczego satoshiego. Ogólnie to 64 bity pozwalają na wiele, 21 milionów BTC zajmuje jakieś 51 bitów max. To nam daje 13 bitów swobody, ze trzy miejsca po przecinku się z tego na spokojnie wyciśnie. A jeszcze dalej, no to się zobaczy, przejście z 64-bitowych na 128-bitowe zmienne w zasadzie rozwiązałoby problem niemal całkowicie. Inną opcją jest przejście na 256-bitowe wartości i związanie tego z kluczem prywatnym, wtedy same ilości monet dałoby się nawet schować.

Quote
I czy taka wartość BTC nie wpłynęła by na podejśćie do BTC jako do rezerwowej waluty gdzie by się deponowało w "BANKU BTC" swój BTC i dostawało dywidendy (byłaby to najpopularniejsza metoda przechowywania BTC) 
Może tak być, bo BTC już się taką walutą staje i w zasadzie robienie transakcji on-chain jest nieopłacalne, bo LN i alty są po prostu tańsze. Poza tym, czy dzisiejsze giełdy to nie są takie "krypto banki"? W przyszłości jak zechcesz używać BTC, to być może nie będzie się dało korzystać z pierwszej warstwy, bo może to być zbyt kosztowne i zwykły Kowalski niebędący milionerem może będzie mógł działać jedynie na drugiej, trzeciej lub niższej warstwie, bo tylko tam to będzie opłacalne.


Title: Re: Lightning Network - ogólna dyskusja
Post by: adamvp on February 17, 2021, 01:51:18 PM
@garlonicon - wytłumaczyłem, że  nie  chodziło  mi o satoshi ;)
Jesli chodzi o korzystanie z konsoli, to tak, jest w electrum konsola, polecania troche sie różnią od core, ale mysle, ze większość rzeczy powinno dać się zrobić..
Niestety, mimo, że fajnie byłoby się nauczyć takich rzeczy, to niestety obawiam sie, że brak czasu jest  zbyt potężnym przeciwnikiem, dlatego fajnie jakby powstało jakieś rozwiazanie dla "nietechnicznych"..

A co do wspomnianego zjawiska niestety jest to problem dosc spory;  bo troche wypacza idee peer to peer electronical cash;
Ja jednak mam nadzieje, ze po przeniesieniu płatności  za chleb i bulki do drugiej warstwy siec sie troche odetka i umożliwi wysyłanie  srednio-wysokich przelewow [100-1000pln] po w miarę  konkurencyjnych  kosztach  ;)