Kanali stanja
Nazadnje urejeno: @PeterKecman(opens in a new tab), 15. avgust 2023
Kanali stanja sodelujočim omogočajo, da izvajajo transakcije izven verige x
-krat, medtem ko na omrežju Ethereum oddajo le dve transakciji. To omogoča izjemno visoko pretočnost.
Predpogoji
Dobro morate razumeti vse temeljne teme in zelo dobro razumeti razširljivosti Ethereum. Implementacija rešitev za razširljivost, kot so kanali, je napredno področje, saj tehnologija v praksi še ni dovolj testirana ter se še naprej raziskuje in razvija.
Kanali
Sodelujoči morajo zakleniti del stanja Ethereum, recimo polog ETH, v večpodpisno pogodbo. Večpodpisna pogodba je vrsta pogodbe, ki za izvedbo zahteva podpisnike (torej soglasje) več ključev.
Ta način zaklepanja stanja predstavlja prvo transakcijo in odpre kanal. Sodelujoči lahko nato izvajajo transakcije izven verige hitro in prosto. Ko je transakcija zaključena, je na verigo oddana končna transakcija, kar odklene stanje.
Uporabni za:
- veliko posodobitev stanja,
- veliko vnaprej znanih sodelujočih,
- vedno dostopne sodelujoče.
Trenutno obstajata dve vrsti kanalov: kanali stanja in plačilni kanali.
Kanali stanja
Kanale stanja je morda najbolje razložiti s primerom, kot je igra križcev in krožcev:
Na glavni verigi Ethereum ustvarite večpodpisno pametno pogodbo "sodnika", ki razume pravila igre križcev in krožcev ter lahko identificira Alico in Boba kot dva igralca v naši igri. Ta pogodba hrani nagrade 1 ETH.
Nato Alica in Bob začneta z igro in s tem odpreta kanal stanja. Vsaka poteza ustvari transakcijo izven verige, ki vsebuje "enkratno vrednost", ki preprosto pomeni, da lahko pozneje vedno določimo vrstni red izvedenih potez.
Ob zmagi se kanal zapre s predložitvijo končnega stanja (torej seznama transakcij) pogodbi sodnika in plača le provizijo za eno transakcijo. Sodnik zagotovi, da sta to "končno stanje" podpisala oba sodelujoča, in počaka določen čas, da zagotovi, da nihče ne more legitimno izzvati rezultata, ter nato Alici izplača 1 ETH nagrade.
Plačilni kanali
Poenostavljeni kanali stanja, ki se ukvarjajo le s plačili (torej prenosi ETH). Prenose med dvema sodelujočima izven verige omogočajo, dokler neto vsota njunih prenosov ne preseže položenih žetonov.
Prednosti in slabosti
Prednosti | Slabosti |
---|---|
Takojšen dvig/poravnava na glavnem omrežju (če obe stranki kanala sodelujeta) | Čas in strošek vzpostavitve in poravnave kanala – ne najboljša za občasne enkratne transakcije med arbitrarnimi uporabniki. |
Mogoča je izjemno visoka pretočnost | Obstaja potreba po periodičnem opazovanju omrežja (zahteva živahnosti) ali delegiranju te odgovornosti nekomu drugemu za zagotavljanje varnosti vaših sredstev. |
Najnižji strošek na transakcijo – dobro za tokove mikroplačil | Sredstva je treba zakleniti v odprte plačilne kanale |
Ne podpira odprtega sodelovanja |
Uporaba kanalov stanja
Več projektov zagotavlja implementacije kanalov stanj, ki jih lahko integrirate v svoje dappe:
- Connext(opens in a new tab)
- Kchannels(opens in a new tab)
- Perun(opens in a new tab)
- Raiden(opens in a new tab)
- Statechannels.org(opens in a new tab)
Nadaljnje branje
Kanali stanja
- Smiselnost Ethereumovih rešitev za razširljivost s plastjo 2: kanali stanja, Plasma in Truebit(opens in a new tab) – Josh Stark, 12. februar 2018
- State Channels - an explanation(opens in a new tab) Nov 6, 2015 – Jeff Coleman
- Basics of State Channels(opens in a new tab) District0x
Plačilni kanali
Poznate vir iz skupnosti, ki vam je pomagal? Uredite to stran in ga dodajte!