Hoi allegearre. Hjoed sil ik de opdracht fan professor besykje oer it Lightning Network.
Q1. Ferklearje wat bedoele jo mei Lightning Network, Lightning Node, Lightning Channels? Hoe berikt it in hast direkte delsetting, hast ûneinige skaalberens? Wat binne de ferskate gebrûk?
Lightning Network
Om it bliksemnetwurk te ferklearjen, moatte wy earst de problemen begripe wêr't it Bitcoin -netwurk foar stie. Lykas wy allegearre witte, brûkt Bitcoin in PoW -konsensusmeganisme om transaksjes te ferifiearjen. Hoewol dit geweldig is by it befeiligjen fan it netwurk as gehiel, ferbrûkt it in protte enerzjy. Boppedat hat bitcoin ek in limyt fan sawat 7 transaksjes per sekonde.
Dit lege transaksjetaryf is net genôch om oanstriid te hawwen ta mainstream oanniming. Dit waard dúdlik te sjen yn 2017 doe't wy in enoarme fraach nei Bitcoin hiene en dit late ta in enoarme transaksjekosten en wachttiid fan dagen foar de befêstiging on-chain. Dêrom fermoardzje mikro-transaksjes op Bitcoin.
Om dit probleem op te lossen, waarden ferskate oplossingen foarsteld. Ien sa'n oplossing wie it idee fan it bliksemnetwurk- In 2e laags oplossing foar Bitcoin. Mei dit 2e laach betellingsprotokol yn plak, koene jo betellingen meitsje sa leech as 1 satoshi op it Bitcoin -netwurk. Dit lege bedrach útjaan op it Bitcoin-netwurk soe jo $ 5- $ 10 allinich kostje yn mynwurkkosten.
Lightning -netwurk is yn steat om sokke ferbetteringen yn te bringen troch alle transaksjes nei in twadde laach/ketting te laden. Dat, in protte brûkers kinne dizze laach brûke om tûzenen transaksjes te meitsjen. Uteinlik soe in inkeld rekord fan it definitive saldo wurde publisearre op 'e haadketen. Dit helpt oerlêst op 'e haadketen te ferwiderjen. Sa helpt mei de skaalberens.
Lightning Node
Bliksemknooppunten binne knooppunten dy't tagelyk binne ferbûn mei oare bliksemknopen, lykas de haadblokketting. Dizze knooppunten binne mei -inoar ferbûn om transaksjes fan brûkers te akseptearjen en de definitive saldo's wurde úteinlik publisearre oan 'e haadketen.
In direkte ferbining tusken de ûntfanger en stjoerder is miskien net altyd mooglik mei it bliksemnetwurk. Dat, de koartste ôfstân tusken de twa wurdt yn dat gefal berekkene.
Lightning Channels
In Lightning -kanaal is in kanaal dat twa knooppunten mei -inoar ferbynt. In kanaal wurdt oanmakke troch in bepaald oantal Bitcoins op te sluten yn jo portemonnee op 'e haadketting. Dit is it bedrach dat jo mochten útjaan oan it Lightning -netwurk tsjin in gjin/lege fergoeding.
Hast direkte delsetting & Near-ûneinige skaalberens
Lykas earder sein, is it transaksjetaryf op it Bitcoin -netwurk frij traach. Dit is om't de mearderheid fan 'e miners in transaksje moat falidearje. Op it Lightning -netwurk hoege allinich de twa belutsen knooppunten in transaksje te ferifiearjen. Dit is folle rapper.
Derneist, om't jo it oantal fûnsen kinne útjaan dat al is beskoattele yn 'e haadketen, is elk bedrach minder dan dat maklik beskikber foar jo om te dwaan.
Dizze twa faktoaren kombineare tastean hast-direkte transaksjes en hast-ûneinige skaalberens.
Gebrûk fan Lightning Network
(1). Elke ferkeaper dy't it bliksemnetwurk yntegreart, lit har klanten direkt transaksje dwaan mei Bitcoin.
(2). Micropayments kinne einlings in werklikheid wurde tank oan it Lightning -netwurk.
(3). Om in Lightning -kanaal te meitsjen, moat men fûnsen opslute op 'e haadketen. Dit kin fungearje as in alternatyf foar kâlde opslachportefeuilles.
(4). It Lightning -netwurk kin ek atomyske swaps fasilitearje sûnder de needsaak foar in oare custodian -tsjinst. Dit is al dien yn it ferline wêr't 100 LTC waarden feroare foar 1 BTC.
Q2. Hoe kin in Lightning -netwurk twa peers ynskeakelje om in transaksje te meitsjen as weromkommende of meardere transaksjes sûnder transaksjekosten? Komt it off-chain as on-chain foar?
In Lightning-kanaal is in 2of2 Multi-Sig-portemonnee. Lykas wy earder besprutsen hawwe, om in kanaal te meitsjen, moatte wy earst in bepaald bedrach kapitaal op 'e haadketen befrieze. Dizze fûnsen soene dan maklik beskikber wêze om te wurde útjûn op 'e 2e laach, d.w.s. it Lightning -netwurk.
Om't de fûnsen al binne tafoege oan 'e haadketen, moat men it gewoan tekenje om transaksjes bûten keten te dwaan. Om't de fergoeding foar mynwurkers al waard útjûn as jo yn 't earstoan jo fûnsen op' e haadketen sletten, meitsje alle weromkommende transaksjes dy't wurde makke gjin ekstra transaksjekosten.
It iennichste ding om hjir op te merken is dat de maksimale tiden dy't jo kinne transaksje beheind binne ta it oantal ynkommende fûnsen.
Q. Hoe wurdt de routing fan betelling fia tuskenknooppunten (of leeftydsgenoaten) fertroulik mei HTLC?
It Lightning Network makket gebrûk fan it HTLC -tûk kontrakt om elke transaksje te befeiligjen. Alle Lightning -kanalen wurde makke op 'e haadketen en wurde dan ûnderling ferbûn. As net direkt, dan yndirekt fia in oar kanaal.
Om te begripen hoe't betellingen wurde routed, litte wy it foarbyld nimme fan Bitrefill. Yn myn gefal is myn knooppunt net direkt ferbûn mei de bliksemknooppunt fan Bitrefill. Se binne lykwols yndirekt ferbûn.
Ik brûk it Trampoline -kanaal om fûnsen te ferstjoeren. Ienris meitsje ik in bestelling op Bitrefsiik, ik krij in faktuerhash dy't ik moat ynfiere yn it ûntfangeradres fan myn beurs. Dit soe it beskriuwingsfjild automatysk ynfolje mei in preimage -hash. Allinnich Bitrefill hat de geheime kaai om dizze hash te ûntsiferjen.
Dat, as ik de fûnsen stjoere fia it Trampoline -kanaal, is it op har beurt ferbining mei Bitrefill, direkt as yndirekt. Om't it lykwols gjin sin kin meitsje fan 'e foarôfbylding, sil it dizze fûnsen net kinne brûke. Dat, stjoert it nei it adres fan Bitrefill wêr't it kin wurde ûntskoattele.
Om't dizze betelling barde fia ûnderling ferbûn kanalen, waard ek in transaksjefergoeding yn rekken brocht. Om't gjin oare ynter-ferbûne kanalen de fûnsen kinne ûntsluten, wurdt de heule transaksje fia tuskenkanalen fertroulik.
Q. Stel Lighting Wallet yn (Meitsje in standert wallet, iepen dan in kanaal), iepenje in Lightning Channel mei Electrum (Trampoline Node), Phoenix, as in oare net-bewarre portemonnee dy't Lightning Network stipet, meitsje in eCommerce-oankeap (as in micro-Transaction) mei Lightning Channel, en dan it kanaal slute? Meitsje it fergoedingen? Registreart it de transaksje on-chain? As ja it oanjouwe, as nee, fertel it ús dan wêrom it de transaksje net op ketting registreart? Hoe helpt Ruilfunksje om ferstjoerings- en ûntfangskapasiteit te ferbetterjen? (Skermôfbyldings nedich)
Iepenje en opsetten fan in Lightning Channel mei Electrum Wallet -
Iepenje earst jo Electrum Wallet (standert). Klikje no op it ljepper Channels. Trouwens, dit ljepper sil sichtber wêze yn jo portemonnee, as net, gean dan gewoan nei Besjoch yn 'e menubalke, klikje dan op Kanalen sjen litte.
Klikje no op Iepen kanaal. In pop-up sil ferskine wêryn stiet dat d'r gjin grutte hoemannichte yn Lightning Channel leit lykas Lightning Network stipet as in eksperimint yn Electrum. Druk gewoan op de knop Ja.
Fier it bedrach yn (it minimale bedrach is 2mBTC as 0.002 BTC foar Electrum Trampoline). Jo kinne it Lightning Channel net iepenje op dit knooppunt as jo minder dan 2 mBTC yn jo portemonnee hawwe.
Klikje op OK.
Fier dan it wachtwurd yn => Hit the Send knop.
No is it kanaal perfekt oprjochte. Jo kinne de peer op ôfstân sjen dy't ik soe hawwe op 'e folgjende pop-up.
Jo kinne dizze transaksje ferifiearje fan 'e blockchain explorer. Hjir kinne jo twa útgongen sjen. Wylst wy it proses begûnen mei it iepenjen fan Lightning Channel mei in partielbedrach, 2 mBTC, wylst it totale saldo yn ús portemonnee 2.4548 mBTC is. Dat Bitcoin -netwurk foarkomt dat jo in dielsum ferstjoere, sadat Electrum yntern in oare portefúlje sil meitsje as útfier dy't bekend is as Adres feroarje en it oerbleaune saldo sil wer weromkomme nei de slûf.
Dat nei aftrek fan de fergoeding wurdt it oerbleaune portefúljesaldo (0.4498 mBTC) weromjûn nei de ponghâlder fia it feroaringsadres.
No kinne jo sjen dat it kanaal is oprjochte, mar it Koarte Kanaal dat ik noch toant as noch net beskikber en de status is as Iepening. Ofsjoen fan dit kinne jo ek de kanaalynformaasje sjen, lykas kanaalkapasiteit (2mBTC), kin stjoere as 1.95556 mBTC, en Kin ûntfange as 0, om't ik noch gjin transaksje haw makke.
Yn prinsipe is it kanaal oprjochte, mar is net brûkber. It kanaal sil brûkber wêze nei trije befêstigings.
No kinne jo merke dat de Kanaalstatus feroare as Iepen, wat betsjuttet dat 3 befêstigings binne foltôge. Ek wurdt Koarte kanaal I werjûn. Lightning Channel is no brûkber en transaksjeel.
Om't dit in jildich Lightning Channel is, kinne d'r transaksjes op wurde makke. En om't it proses foar it oanmeitsjen fan it kanaal plakfûn yn it on-chain netwurk, kin dizze transaksje gewoan wurde besjoen op 'e Blockchain Explorer.
In e -commerce transaksje meitsje mei Lightning Channel -
Besykje gewoan https://www.bitrefill.com, en klikje op Blêdzje troch produkten. Op bitrefill binne yn totaal 4000+ produkten beskikber.
Selektearje no elk produkt, kadokaart, lykas jo wolle. Hjir haw ik VI (netwurkoperator) keazen, foar myn opladen fan gegevens. Folje no de fereaske ynformaasje yn yn de opjûne fjilden bgl. Telefoannûmer & Bedrach. Druk op de knop Keapje.
No sil in pop-up ferskine dy't jo freget om te winkeljen of te beteljen. Klikje gewoan op Check Out om de bestelling te befêstigjen.
Fier jo e -post yn Ik soe foar updates foar bestellingstatus => Druk op de knop Befêstigje.
Kies no in betelmethode as Lightning Network (Ut de eask fan 'e taak).
No sil in nije interface ferskine mei alle bestellingsdetails en in QR -koade. Lit de QR -koade sa litte. Klikje gewoan op de knop Kopiearje ûnder de Qr -koade. It sil jo de Lightning Invoice sjen litte op in popup. Kopiearje it en gean werom nei de Electrum -portemonnee.
Gean no op jo Electrum -portemonnee nei de knop Ferstjoere. Fier de faktuer fan jo bestelling yn/plak yn it fjild Betelje oan. It bedrach en de beskriuwing wurde automatysk ynfolje.
Druk op de knop Pay. Klikje dan op Ja om de transaksje te befêstigjen. De oarder is yn útfiering.
Gewoan, de bestelling wurdt yn gjin tiid foltôge. It is grif bliksem. Gean no nei it ljepper Kanaal => Jo kinne merke dat de ûntfangende kapasiteit fan it kanaal is bywurke lykas jo oant no hawwe trochbrocht.
Klikje op it ljepper Skiednis om de skiednis en status fan 't te kontrolearjenransaksje dy't jo makke hawwe. Jo kinne hjir merke dat it de skiednis toant fan twa e-commerce oankeapen yn myn portemonnee.
Ja, it is wis goed, om't ik oant no ta twa oankeapen foar e-commerce haw makke om de kapasiteit foar ûntfangen fan kanalen te ferheegjen. En ek fanwegen de ûntfangende kapasiteit net waard bywurke/werjûn fanwegen it lytse bedrach yn 'e earste oankeap.
En hjir binne de e-mails fan 'e twa e-commerce oankeapen fan Bitrefill. Om't ik d'r twa kear goed mei haw winkele.
Slút it kanaal
Gean nei it ljepper Kanaal. Jo Lightning Channel wurdt werjûn. Rjochts-klikje op it kanaal => Klikje op Kanaal slute.
No sil it jo nei de folgjende interface bringe, druk gewoan op de knop Ja om it kanaal te sluten.
In pop-up sil ferskine wêryn stiet dat de slûf is sletten,
No kinne jo merke dat de status is feroare nei Ofsluten/sluten, Dit betsjuttet dat it proses fan it sluten fan 'e slúf noch altyd trochgiet. Nei de fereaske befêstigings sil de slûf folslein sletten wêze.
No kinne jo de status sjen dy't it is feroare yn Sletten.
No wurdt it definitive saldo fan it kanaal, lykas per de lêste transaksje, weromgean nei myn portefúlje fia it feroaringsadres en wurdt it op keten opnommen.
Om dit te kontrolearjen, gean nei it ljepblêd Adressen. En kontrolearje it Adres feroarje (markearre yn giel).
Of Gean gewoan nei it ljepper Skiednis. Rjochts-klikje op de delsettingstransaksje (Kanaal slute). Klikje op Transaksje besjen. Kopiearje no de transaksje dy't ik soe.
Besykje Blockchain Explorer => Plak de transaksje dy't ik soe. No kinne jo alle ynformaasje oer dizze transaksje sjen op Blockchain Explorer (on-chain).
Meitsje it fergoedingen?
Ja, it makket kosten. Mar it hinget ôf fan 'e transaksje hoefolle fergoeding it sil betelje foar dy transaksje. Bygelyks, Lykas ik earder sei (yn fragen 3), haw ik produkten kocht fan Bitrefill. En om't ik net direkt wie ferbûn mei de bitrefill, wie de trampolyneknop belutsen as tuskenpersoan yn dit gefal. Dat it Trampoline -knooppunt sil in ekstra bedrach yn rekken bringe as fergoeding foar it meitsjen fan dizze betelling. En om't dizze transaksje off-chain wurdt registrearre, rekket it negearbere fergoedingen.
Dat yn twa transaksjes (Commitment Transaction) fan bitrefill binne de fergoedingen as folget-
Txn
Transaksjekosten (mBTC)
Bitrefill Txn 1
0.00003 mBTC
Bitrefill Txn 2
0.00004 mBTC
Bitrefill Txn 1
Bitrefill Txn 2
Oan 'e oare kant rekket It bepaalde fergoedingen yn' e foarm fan mynboufergoedingen foar finansieringstransaksjes en delsettingstransaksjes, dy't op keten wurde registrearre. Jo kinne de fergoeding oanpasse troch it taryf per byte yn te stellen dat jo ree binne om te beteljen foar dizze transaksje.
Registreart it de transaksje on-chain?
Nee, alles krijt it rekord net yn 'e ketting. Allinnich inisjele en lêste transaksjes wurde on-chain registrearre. De transaksjes dy't wy útfiere op it bliksemnetwurk wurde off-chain registrearre, dat is alles, wurde opnommen yn 'e skiednis fan' e bliksemportefeuille. Dizze transaksjes hawwe ek gjin rekord op 'e haadketen. Wy kinne dizze betellingen allinich kontrolearje yn 'e bliksem wallet. As jo in kanaal slute, útsein de lêste ynsetstransaksje, wurdt alle oare nul en leeg foar Bitcoin -netwurk. De definitive tastân fan it kanaal (it kanaal sluten) wurdt werkend troch in Bitcoin -netwurk.
Ruilfunksje
Ruilfunksje is in oare nuttige funksje fan 'e Electrum -portemonnee. It is grif in nuttige funksje, it lit de keapman it fûns on-chain ferpleatse sûnder it kanaal te sluten. Yn LN Channel kinne jo it fûns net werombringe nei jo portemonnee as jo it net slute. Troch in ruilfunksje te hawwen kinne jo dwaan sûnder de eask om in kanaal te sluten, sadat it kanaal d'r noch sil bliuwe, wat in ferbining makket mei de klantbasis. En d'r is altyd positive cashflow foar bedriuwen, om't in keapman it LN-fûns maklik kin ruilje foar in on-chain fund.
De ruilfunksje hat gjin effekt op it kanaal, it ferbetteret earder de ferstjoerings- en ûntfangskapasiteit fan it kanaal.
D'r binne twa soarten wikseljen:
LN nei On-chain-de ynkommende kapasiteit
On-chain nei LN-- sil de útgeande kapasiteit ferbetterje
- Ruilje bliksemfûnsen foar on -chain fûnsen -
Dizze funksje ferbetteret de ûntfangende kapasiteit fan it Lightning -kanaal.
Gean nei it ljepper Kanaal. Klikje op de knop Wikselje.
Op de folgjende interface Fier it bedrach yn dat jo wolle ruilje. Klikje dan op OK. Foar dizze ruil ferstjoere ik 0.1 mBTC wêrfoar ik 0.08971 mBTC sil ûntfange.
Opmerking, de ûntfangende kapasiteit foar de ruil is 0,05071 mBTC en it totale portefúljebalâns is 0,4498 mBTC.
Nei de fereaske befêstigings sil de ruil fan bliksemfûnsen foar fûnsen op keten wurde foltôge. No kinne jo merke dat de ûntfangende kapasiteit fan it kanaal as 0.15079 mBTC en walletbalâns as 0.53951 mBTC binne feroare.
Jo kinne ek de ynformaasje kontrolearje fan wikseljen (transaksje) op blockchain-ûntdekkingsreiziger, om't it On-chain registreart.
Klikje no op it ljepper Skiednis om de skiednis en status fan it ruiljen (transaksje) te kontrolearjen. Ruilje fan 0.1 mBTC is foltôge en de kapasiteit is ek bywurke.
- Wikselje ketenfûnsen foar bliksemfûnsen -
Dizze funksjeferbetteret de ferstjoerkapasiteit fan it Lightning -kanaal.
Gean nei it ljepper Kanaal. Klikje op de knop Wikselje. No sil it jo earst nei de interface nimme fan Bliksemfûns ruilje foar fûnsen op keten. Klikje dus gewoan op de knop Dûbelpylk om de ynterface te feroarjen foar wikseljen fan on-chain fûnsen foar bliksemfûnsen.
No feroaret de interface. Fier it bedrach yn dat jo wolle ruilje. Klikje dan op OK. Foar dizze ruil ferstjoere ik 0.11 mBTC wêrfoar ik 0.10268 mBTC sil ûntfange.
Opmerking, de ferstjoerkapasiteit foar dizze swap is 1.78482 mBTC en it totale slûfbalâns is 0.53951 mBTC.
Fier it wachtwurd yn om fierder te gean.
Nei de fereaske befêstigings sil de ruil fan on-chain fûnsen foar bliksemfûnsen wurde foltôge. No kinne jo merke dat de ferstjoerkapasiteit fan it kanaal as 1.8875 mBTC en walletbalâns as 0.42571 mBTC binne feroare.
Jo kinne ek de ynformaasje kontrolearje fan wikseljen (transaksje) op blockchain-ûntdekkingsreiziger, om't it On-chain registreart.
Klikje no op it ljepper Skiednis om de skiednis en status fan it ruiljen (transaksje) te kontrolearjen. Ruiljen fan 0.11 mBTC is mei súkses foltôge en de kapasiteit is ek bywurke.
Q. Hoe meitsje jo in reservekopy fan in portemonnee -bestân (Channel Backup), wêrom en wannear is it nedich? Jou de finansieringstransaksje, ferplichtingstransaksje, en delsettingstransaksje oan, sawol yn jo wallet as Block Explorer?
Stappen foar it meitsjen fan in reservekopy fan in portemonnee -bestân -
Gean nei it ljepper Kanaal. Jo Lightning Channel wurdt werjûn. Rjochts-klikje op it kanaal => Klik op Reservekopy eksportearje.
It sil jo nei de folgjende interface bringe, wêr't it de QR -koade toant. Druk op de knop Bewarje om de QR -koade op te slaan, as alternatyf kinne jo ek de tekst kopiearje en de ôfbylding kopiearje.
Fier de bestânsnamme yn lykas jo wolle. Hjir bewarje ik it bestân mei de standertnamme sels as QRcode. Klikje op Bewarje.
It reservekopybestân is mei sukses eksportearre.
Wêrom en wannear is reservekopy nedich?
In reservekopy fan in bestân is handich foar it gefal dat wy ús portemonnee-bestân kwytreitsje troch in oare peer te freegjen om it kanaal te sluten en fûnsen op ketting te ferstjoeren. Dat wy kinne ús fûnsen maklik oerdrage fan off-chain nei on-chain troch de QR-koade te scannen. It op te merken punt is dat wy wat back -up meitsje, sadat wy it kinne herstelle foar it gefal dat wy it kwytreitsje, mar de kanaalback -up kin ús kanaal net herstelle.
Finansieringstransaksje
Finansieringstransaksje is neat oars as ferwiist nei dy transaksje as wy it Lightning -kanaal foar de earste kear iepenje en in fûns bine oan dat kanaal. Dizze transaksje fynt plak op On-chain en wurdt opslein yn 'e Blockchain. Yn prinsipe bart dizze transaksje as wy Lightning Channel iepenje troch fûnsen ta te foegjen.
Gean gewoan nei it ljepper Skiednis. Rjochts-klikje op de finansieringstransaksje (Iepen kanaal). Klikje op Transaksje besjen. Kopiearje no de transaksje dy't ik soe.
Besykje Blockchain Explorer => Plak de transaksje dy't ik soe. No kinne jo alle ynformaasje oer dizze transaksje sjen op Blockchain Explorer (on-chain).
Commitment Transaction
Commitment Transaction ferwiist nei alle transaksjes dy't wurde útfierd op it Lightning Channel. Lykas yn Lighting Network dogge mar 2 knooppunten mei oan it falidearjen fan de transaksje, en it is ek off-chain. Dat dizze transaksje sil wurde opslein op Lightning Channel ynstee fan wurde opslein op 'e Blockchain. Ek bringt dizze transaksje negearbere fergoedingen mei.
Lykas ik oant no twa oankeapen foar e-commerce (Vi & Paytm) haw makke om de kapasiteit foar ûntfangen fan kanalen te ferheegjen. Dat dizze transaksjes sille bekend wêze as Commitment Transaction. En gewoan wurde dizze werjûn op Lightning Channel (off-chain) sels.
Ferplichtingstransaksje 1 - Yn dizze transaksje haw ik in gegevens opnij laden op myn nûmer fan VI.
Om alle details en fergoedingen fan dizze transaksje te kennen, gean gewoan nei it ljepper Skiednis. Rjochts-klikje op de Commitment-transaksje. Klikje op Betelje besjen.
Commitment Transaction 2 - Foar dizze transaksje haw ik myn Paytm -nûmer opnij laden.
Om alle details en fergoedingen fan dizze transaksje te kennen, gean gewoan nei it ljepper Skiednis. Rjochts-klikje op de Commitment-transaksje. Klikje op Betelje besjen.
Skikkingstransaksje
Skikkingstransaksje ferwiist nei de transaksje as it kanaal wurdt sletten mei de lêste ynsettransaksje dy't it slotbalâns toant. It totale saldo wurdt weromgean nei de haadportefeuille fia it feroaringsadres. En dizze transaksje wurdt on-chain registrearre.
Gean gewoan nei it ljepper Skiednis. Rjochts-klikje op de Settlement-transaksje (Kanaal slute). Klikje op Transaksje besjen. Kopiearje no de transaksje dy't ik soe.
Besykje Blockchain Explorer => Plak de transaksje dy't ik soe. No kinne jo alle ynformaasje oer dizze transaksje sjen op Blockchain Explorer (on-chain)