# LN 2. Kapitulua: Egoera eguneratzea ## Laburpena Kapitulu honetan, **LN-Penalty** sistemaren arabera eguneratze-geruza nola funtzionatzen duen azalduko da. Hain zuzen ere, konpromiso-transakzioei buruzko xehetasun gehiago emango dira, eta HTLC-ak nola kokatzen diren ulertzeko oinarriak ezarriko dira etorkizuneko kapituluetarako. Aurreko kapituluan, Alice eta Bob nola ireki zuten kanal bat ikasi genuen, blockchain-ean argitaratu daitezkeen konpromiso-transakzioak erabiliz, beren funtsak berreskuratzeko. Hala ere, hasierako konpromiso-transakzioak baliogabe bihurtzen dira kanalaren egoera aldatzen denean, hau da, ordainketa bat egiten denean eta kanaleko saldoa desberdin banatzen denean parte-hartzaileen artean. Kapitulu honetan, Alice eta Bob beren funtsen banaketa berrian nola ados daitezkeen ikasiko dugu, hau da, kanaleko saldoa nola banatu desberdin eta aurreko konpromiso-transakzioak baliogabetu. 💡 **LN-Penalty** sistemaren egungo paradigman nola funtzionatzen duen azalduko dugu. Sistemak segurtasun-mekanismo gisa erabiltzen duen zigorraren bidez funtsak babesten ditu aurkari maltzurren aurka. Proposamen berri bat ere badago, **LN-Symmetry** (lehen "eltoo" izenekoa), zeinak mekanismo hori ezabatu eta prozesua sinplifikatzen duen, baina Bitcoin-en adostasun-arauetan aldaketak egitea eskatzen duen. --- ## Asimetria konpromiso-transakzioetan **LN-Penalty** sisteman, kanaleko parte-hartzaile bakoitzak kanalaren egoera irudikatzen duen konpromiso-transakzio bat du. Parte-hartzaile bakoitzak duen konpromiso-transakzioa apur bat ezberdina da, errua esleitzeko beharrezkoa baita. Zergatik da beharrezkoa errua esleitzea? Argi utzi behar da zein alde den bere konpromiso-transakzioa argitaratu duena eta zein den zigortu behar den egoera baliogabea argitaratzen badu. --- ## Egoera ezartzen Aurreko kapituluan, Alice-k eta Bob-ek nola trukatu zituzten beren gako publikoak hasierako konpromiso-transakzioak sortzeko azaldu genuen. Orain, konpromiso-transakzio horiek nolakoak diren hurbilagotik aztertuko dugu. Adibide sinple bat erabiliko dugu: kanaleko saldo osoa 10 BTC da, eta Alice eta Bob bakoitzak 5 BTC ditu. Hasierako konpromiso-transakzioak ezartzeko, parte-hartzaile bakoitzak aldi baterako gako pribatu bat sortzen du: Alice-k **dA1**, eta Bob-ek **dB1**. Ondoren, dagokien gako publikoak kalkulatzen dituzte: **PA1** Alice-rentzat eta **PB1** Bob-entzat. Une honetan, bakoitzak bere konpromiso-transakzioa eraiki dezake. - Alice-ren konpromiso-transakzioa honelakoa izango da: - Finantzaketa-transakzioa gastatuko du. - Bi irteera izango ditu (edo gehiago, HTLC-ak erabiltzen badira; hau etorkizunean azalduko dugu). 1. **to_remote** irteera: Bob-i bere 5 BTC bidaliko dizkio berehala. 2. **to_local** irteera: konplexuagoa izango da: - Alice-k bere buruarentzat 5 BTC bidali ditzake **OP_CSV to_self_delay** baten ondoren. - Edo Bob-ek irteera hori gastatu dezake Alice-ren **dA1** aldi baterako gako pribatua frogatu dezakeen kasuan. - ![image](https://github.com/user-attachments/assets/2cb77e10-7dea-4d8c-a4c6-5a967030d93c) Modu berdinean, Bob-ek Alice-ren konpromiso-transakzioa eraiki dezake eta bere sinadura eman diezaioke Alice-ri. Alice-k transakzio hau edozein unetan sinatu eta sarean argitaratu dezake, Bob desagertzen bada bere funtsak berreskuratzeko segurtasuna emanez. --- ## Egoera zaharra baliogabetzea Orain, Alice-k Bob-i 1 BTC bidali nahi dio kanala erabiliz. Aurreko urratsean bezala, parte-hartzaile bakoitzak gako pribatu berriak sortzen ditu (**dA2** Alice-rentzat, **dB2** Bob-entzat), eta gako publikoak kalkulatzen eta trukatzen dituzte. Biak konpromiso-transakzio berriak sortzen dituzte kanalaren egoera berria islatzeko (Alice-k 4 BTC ditu, eta Bob-ek 6 BTC). Arazo bat dago, ordea: Alice-k aurreko egoerako konpromiso-transakzioa oraindik gorde dezake, non 5 BTC zituen, eta horrek etekin handiagoa emango lioke. Egoera zaharra baliogabetu eta egoera berrian konpromisoa hartu duela erakusteko, Alice-k Bob-i bere **dA1** aldi baterako gako pribatua bidali behar dio. Orain, Bob-ek gako hori badu, Alice-ren irteera baliogabea gastatu dezake egoera zaharra argitaratzen badu. ![image](https://github.com/user-attachments/assets/67c38ec2-eb1e-45d6-8bcb-165089f0b3a6) Bob-ek, halaber, bere **dB1** gako pribatua bidaltzen dio Alice-ri egoera zaharra baliogabetzeko, bere egoera berria ere mesedegarria baita. --- ## Azken berrikuspena - Egoera eguneratzeko, kanaleko parte-hartzaile bakoitzak gako-pare berriak sortzen ditu eta elkarri gako publikoak bidaltzen dizkiote. - Egoera baliogabetzeko, parte-hartzaile bakoitzak aurreko egoeraren gako pribatua trukatzen du. --- ## Erreferentziak - [BOLT 3](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md) - [LN Things Part 2: Updating State](https://example.com/ln-things-part2) - [eltoo](https://example.com/eltoo)