მთავარი დეტალები
მე-2 დონის ქსელების მიზანია ბლოკჩეინის ტექნოლოგიისთვის დამახასიათებელი მასშტაბირებადობასთან დაკავშირებული პრობლემის დაძლევა.
Lightning Network გახლავთ მე-2 დონის მასშტაბირებადობის ტექნოლოგია, რომელიც გვთავაზობს ტრანზაქციების სწრაფად განხორციელების შესაძლებლობას ბლოკის დადასტურების საჭიროების გარეშე, რის შედეგადაც შესაძლებელი ხდება ეფექტური მიკრო-გადახდების განხორციელება.
ეს ქმნის უსაფრთხო და მასშტაბირებადი გადახდების განხორციელების შესაძლებლობას, multisignature მისამართების და Hash Timelock კონტრაქტების გამოყენებით.
შესავალი
კრიპტოვალუტებს გარკვეული უნიკალური თვისებები ახასიათებს. შეუძლებელია მათი მარტივად „დაჰაკვა“ ან დაბლოკვა და ნებისმიერ პირს შეუძლია მათი გამოყენება თანხის გადასარიცხად მსოფლიოს მასშტაბით, მესამე მხარის ჩარევის გარეშე.
ამ მახასიათებლების შესანარჩუნებლად საჭიროა მნიშვნელოვან კომპრომისებზე წასვლა. გამომდინარე იქიდან, რომ კრიპტოვალუტების ქსელის ფუნქციონირებაზე პასუხისმგებელია მრავალი ნოდი, იზღუდება გამტარუნარიანობა. შედეგად, ტრანზაქციების რაოდენობა, რომელთა დამუშავებაც ბლოკჩეინის ქსელს ერთ წამში შეუძლია (TPS), საკმაოდ დაბალია იმ ტექნოლოგიისთვის, რომელიც მიზნად მასიურ გავრცელებას ისახავს.
ბლოკჩეინის ტექნოლოგიისთვის დამახასიათებელი შეზღუდვების დასაძლევად და ქსელის მიერ დამუშავებული ტრანზაქციების რაოდენობის გასაზრდელად შემოთავაზებულ იქნა სხვადასხვა მასშტაბირებადობის ტექნოლოგია. წინამდებარე სტატიაში დეტალურად განვიხილავთ Lightning Network-ს, Bitcoin პროტოკოლის გაფართოების ერთ-ერთ ასეთ შესაძლებლობას.
რა არის Lightning Network?
Lightning Network გახლავთ ქსელი, რომელიც გაშვებულია ბლოკჩეინის პარალელურად და ხელს უწყობს სწრაფი peer-to-peer ტრანზაქციების განხორციელებას. ის მხოლოდ Bitcoin-ისთვის არ არის განკუთვნილი – ის ასევე ინტეგრირებულია სხვა კრიპტოვალუტებში.
შესაძლოა დაგაინტერესოთ, თუ რას ვგულისხმობთ, როდესაც ვამბობთ ფრაზას „გაშვებულია ბლოკჩეინის პარალელურად“. Lightning Network გახლავთ off-chain ან მე-2 დონის ტექნოლოგია. ის პირებს აძლევს შესაძლებლობას, განახორციელონ ტრანზაქციები თითოეული ტრანზაქციის ბლოკჩეინზე ჩაწერის საჭიროების გარეშე.
Lightning Network მუშაობს Bitcoin ქსელისგან დამოუკიდებლად – მას გააჩნია საკუთარი ნოდები და პროგრამული უზრუნველყოფა, თუმცა მას მაინც აქვს კავშირი მთავარ ბლოკჩეინთან. Lightning Network-ზე შესასვლელად ან გამოსასვლელად საჭიროა სპეციალური ტრანზაქციების შექმნა ბლოკჩეინზე.
რეალურად, თქვენი პირველი ტრანზაქციით თქვენ ქმნით სხვა მომხმარებელთან გაფორმებულ ერთგვარ სმარტ კონტრაქტს. ამ პროცესს დეტალურად ქვემოთ განვიხილავთ – ამ ეტაპზე უბრალოდ წარმოიდგინეთ, რომ სმარტ კონტრაქტი შეიცავს თქვენს და მეორე მომხმარებელს შორის განხორციელებული ტრანზაქციების ამსახველ კერძო ლეჯერს. ამ ლეჯერზე უამრავი ტრანზაქციის ჩაწერაა შესაძლებელი. მათზე წვდომა გაქვთ მხოლოდ თქვენ და თქვენს შემხვედრ მხარეს, თუმცა ზოგიერთი კონკრეტული მახასიათებლის წყალობით ვერც ერთი თქვენგანი ვერ შეძლებს თაღლითობას.
ამ მინი-ლეჯერს ეწოდება არხი. დავუშვათ ელისმა და ბობმა სმარტ კონტრაქტში განათავსეს 5-5 BTC . ახლა მათ არხზე ორივეს აქვს გარკვეული ბალანსი – თითოეულს 5 BTC. ამის შემდეგ ელისს შეუძლია ჩაწეროს ლეჯერში: „გადაუხადეთ 1 BTC ბობს“. შედეგად ბობს საკუთარ ბალანსზე ექნება 6 BTC, ხოლო ელისს - 4 BTC. მოგვიანებით, ბობს შეუძლია უკან გაუგზავნოს ელისს 2 BTC, რაც თავისთავად შეცვლის ბალანსებს და ახლა უკვე ელისს ექნება 6 BTC, ხოლო ბობს - 4 BTC. ამ ქმედებების განხორციელება მათ შეუძლიათ განაგრძონ გარკვეული პერიოდის განმავლობაში.
თითოეულ მათგანს ნებისმიერ დროს შეუძლია გამოაქვეყნოს არხის მიმდინარე მდგომარეობა ბლოკჩეინზე. ამის შემდეგ არხის თითოეული მხარის ბალანსი განთავსდება ბლოკჩეინზე და აისახება შესაბამისი მხარის ბალანსის ჩანაწერში.
როგორც ამაზე სახელიც მიგვითითებს, Lightning Network-ზე ტრანზაქციები ელვის სისწრაფით ხორციელდება. არ არის საჭირო ბლოკის დადასტურების ლოდინი – გადახდების განხორციელების სიჩქარე თქვენი ინტერნეტის ქსელის სიჩქარეზეა დამოკიდებული.
რატომ არის საჭირო Lightning Network?
დღესდღეობით, Lightning Network (ან უბრალოდ LN) მიიჩნევა Bitcoin ბლოკჩეინის მასშტაბირებადობის პრობლემის გადაჭრის ყველაზე რაციონალურ გზად. ასეთ მასშტაბურ ეკოსისტემაში ცვლილებების განხორციელება და მართვა საკმაოდ რთულია – არსებობს hard fork-ების და პოტენციურად კატასტროფული ბაგების გაჩენის რისკი. რადგან საქმე დიდი რაოდენობის თანხებს ეხება, ექსპერიმენტები განსაკუთრებულად დიდ საფრთხეებთან არის დაკავშირებული.
როდესაც მსგავს ექსპერიმენტებს ბლოკჩეინის გარეთ ახორციელებთ, ეს მოქმედების მეტ თავისუფლებას გაძლევთ. რაიმე შეცდომის დაშვების შემთხვევაში, ეს არავითარ გავლენას არ მოახდენს თავად Bitcoin-ის ქსელზე. მე-2 დონის ტექნოლოგიები არავითარ საფრთხეს არ წარმოადგენს უსაფრთხოების საფუძვლებისთვის, რომლებსაც ეფუძნება ამ პროტოკოლის მუშაობა უკვე 15-ზე მეტი წლის განმავლობაში.
რა თქმა უნდა, არ არსებობს არც ძველი მეთოდების შეცვლის აუცილებლობა. საბოლოო მომხმარებლები უცვლელად ახორციელებენ on-chain ტრანზაქციებს, თუმცა მათ ახლა უკვე აქვთ off-chain ტრანზაქციების განხორციელების შესაძლებლობაც.
Lightning Network-ის გამოყენება გარკვეულ უპირატესობებს გვთავაზობს. ქვემოთ განვიხილავთ რამდენიმე მათგანს.
მასშტაბირებადობა
Bitcoin-ის ბლოკები იქმნება დაახლოებით ყოველ ათ წუთში ერთხელ და მათზე ინახება გარკვეული რაოდენობის ტრანზაქცია. ბლოკის სივრცე შეზღუდულია, შესაბამისად საჭიროა სხვა მომხმარებლებთან შედარებით უკეთესი შეთავაზების გაკეთება, რათა თქვენი ტრანზაქცია დროულად დაემატოს ბლოკში. მაინერების უპირველესი მიზანია შემოსავლის მიღება, შესაბამისად ისინი პირველ რიგში ბლოკში შეიტანენ უფრო მაღალი საკომისიოების მქონე ტრანზაქციებს.
ისეთ პერიოდებში, როდესაც თანხის გაგზავნას არც ისე ბევრი მომხმარებელი ცდილობს, ზემოთ აღნიშნული პრობლემას არ წარმოადგენს. თქვენი ტრანზაქცია მომდევნო ბლოკში დაბალი საკომისიოს გადახდის შემდეგაც დაემატება. თუმცა ისეთ სიტუაციებში, როდესაც ტრანზაქციების განხორციელებას დიდი რაოდენობით მომხმარებელი ერთდროულად ცდილობს, მნიშვნელოვნად იზრდება ტრანზაქციების საკომისიოების საშუალო მაჩვენებელი. ყოფილა არაერთი შემთხვევა, როდესაც ეს მაჩვენებელი $10-ს გასცდა. 2017 წლის bull ბაზრის პიკის პერიოდში, ამ მაჩვენებელმა $50-საც კი გადააჭარბა. 2021 წლის აპრილში Bitcoin-ის ტრანზაქციების საკომისიოების საშუალო მაჩვენებელი $60-ზე მეტი იყო.
როდესაც საქმე ეხება ათასობით დოლარის ღირებულების Bitcoin-ის გადარიცხვას, ეს თანხა შესაძლოა უმნიშვნელოდ მოგვეჩვენოთ, თუმცა შედარებით მცირე ზომის გადახდების შემთხვევაში, ეს თანხა გაუმართლებლად დიდია. ბოლოს და ბოლოს, ვის სურს $3-ის ღირებულების ყავის ყიდვა $10 საკომისიოს დამატებით?
Lightning Network-ის შემთხვევაში, საჭიროა ორი საკომისიოს გადახდა – ეს გახლავთ თქვენი არხის გახსნის და დახურვის საკომისიოები. თუმცა, არხის გახსნის შემდეგ თქვენ და თქვენს შემხვედრ მხარეს შეგეძლებათ ათასობით ტრანზაქციის სრულიად უფასოდ განხორციელება. ტრანზაქციების დასრულების შემდეგ, არხის საბოლოო მდგომარეობა უნდა გამოაქვეყნოთ ბლოკჩეინზე.
გლობალური მასშტაბით, თუ დიდი რაოდენობით მომხმარებელი ისარგებლებს Lightning Network-ის მსგავსი off-chain ტექნოლოგიებით, ბლოკის სივრცე უფრო ეფექტურად იქნება გამოყენებული. დაბალი ღირებულების და მაღალი სიხშირის გადარიცხვები შეიძლება განხორციელდეს მსგავსი გადახდის არხების მეშვეობით, ხოლო ბლოკის სივრცე გამოყენებულ იქნება მხოლოდ დიდი ზომის ტრანზაქციებისთვის და არხის გახსნის/დახურვის მონაცემების შეყვანისთვის. ამის საშუალებით სისტემა ხელმისაწვდომი ხდება მომხმარებელთა უფრო ფართო აუდიტორიისთვის და იძლევა ქსელის მასშტაბირების შესაძლებლობას გრძელვადიან პერსპექტივაში.
მიკროგადახდები
არსებობს Bitcoin-ის ტრანზაქციის თანხის მინიმალური ზღვარი – დაახლოებით 0,00000546 BTC. ამ სტატიის მომზადების დროს ეს იყო დაახლოებით 38 ცენტის ეკვივალენტი. ეს საკმაოდ მცირე თანხაა, თუმცა Lightning Network იძლევა ამ ზღვრის Bitcoin-ის უმცირეს ერთეულამდე – 0,00000001 BTC-მდე, ანუ ერთ satoshi-მდე შემცირების შესაძლებლობას.
Lightning განსაკუთრებით პრაქტიკულია მიკროგადახდებისთვის. სტანდარტული ტრანზაქციებისთვის განსაზღვრული საკომისიოების გამო, არაპრაქტიკულია მცირე ზომის გადახდების განხორციელება მთავარ ბლოკჩეინზე. არხების საშუალებით კი შეგიძლიათ Bitcoin-ის ძალიან მცირე თანხების საკომისიოების გარეშე გადარიცხვა.
მიკროგადახდების გამოყენება უამრავი დანიშნულებით შეიძლება. ზოგი თვლის, რომ მას შეუძლია გახდეს გამოწერაზე დაფუძნებული მოდელების ალტერნატივა, სადაც მომხმარებლებს შეეძლებათ სააბონენტო გადასახადის ნაცვლად გადაიხადონ მცირე ოდენობის თანხა სერვისის ყოველი გამოყენებისას.
კონფიდენციალურობა
Lightning Network-ის კიდევ ერთი უპირატესობაა მომხმარებლისთვის მაღალი დონის კონფიდენციალურობის შეთავაზება. მხარეებს არ მოეთხოვებათ საკუთარი არხების ყველა მონაცემის მთავარ ქსელში გაზიარება. მომხმარებელს შეუძლია შეამოწმოს ბლოკჩეინის ინფორმაცია და აღმოაჩინოს, რომ კონკრეტული ტრანზაქციით მოხდა არხის გახსნა, თუმცა ის ვერ შეძლებს ამ არხის მონაცემების ნახვას. თუ ქსელის მონაწილეები გადაწყვეტენ კონფიდენციალური არხის გახსნას, მხოლოდ მათ ეცოდინებათ, თუ რა სახის ტრანზაქციები განხორციელდა ამ არხში.
თუ ელისს გახსნილი აქვს საერთო არხი ბობთან, ხოლო ბობს აქვს საერთო არხი კეროლთან, ელისს და კეროლს შეუძლიათ ერთმანეთს შორის თანხის გადარიცხვა ბობის მეშვეობით. თუ დენი დაკავშირებულია კეროლთან, ელისს შეუძლია მასაც გადაურიცხოს თანხა. ეს სისტემა შეგიძლიათ წარმოიდგინოთ, როგორც ერთმანეთთან დაკავშირებული გადახდის არხების მზარდი ქსელი. მსგავსი სტრუქტურის წყალობით, არხის დახურვის შემდეგ ვეღარ შეძლებთ იმის გაგებას, თუ ვისთან განახორციელა ტრანზაქცია ელისმა.
როგორ მუშაობს Lightning Network?
ჩვენ უკვე აღვნიშნეთ, რომ Lightning Network-ის მუშაობა დამოკიდებულია ზედა დონის ქსელის ნოდებს შორის შექმნილ არხებზე. მოდით დეტალურად განვიხილოთ მისი მუშაობის პროცესი.
multisignature მისამართები
multisignature (ანუ multisig) მისამართი ტრანზაქციისთვის იყენებს რამდენიმე პირად გასაღებს. მისი შექმნის დროს უნდა მიუთითოთ, თუ რამდენი პირადი გასაღების გამოყენება შეგიძლიათ თანხის გადარიცხვისთვის და რამდენი გასაღებია საჭირო ტრანზაქციაზე ხელმოწერისთვის. მაგალითად, სქემა „5-დან 1“ ნიშნავს, რომ ვალიდური ხელმოწერის შექმნა შეუძლია ხუთ გასაღებს და ტრანზაქციის განხორციელებისთვის საჭიროა მხოლოდ ერთი ხელმოწერა. სქემა „3-დან 2“ ნიშნავს, რომ არსებობს სამი გასაღები და ტრანზაქციისთვის საჭიროა ორი მათგანი.
Lightning-არხის შესაქმნელად, მონაწილეები თავიანთ თანხებს ბლოკავენ სქემით „2-დან 2. ეს ნიშნავს, რომ ხელმოწერის შექმნა შეუძლია მხოლოდ ორ გასაღებს და მონეტების გადარიცხვისთვის საჭიროა ორივე მათგანი. მოდით დავუბრუნდეთ ჩვენს მეგობრებს - ელისს და ბობს. უახლოეს თვეებში ისინი გეგმავენ ერთმანეთს შორის უამრავი ტრანზაქციის განხორციელებას, ამიტომ მათ გადაწყვიტეს Lightning Network არხის შექმნა.
ამისათვის, ერთობლივად შექმნილ მისამართზე თითოეულმა მათგანმა განათავსა 3 BTC. გავიხსენოთ, რომ ბობს არ შეუძლია ამ მისამართიდან თანხის გადარიცხვა ელისის თანხმობის გარეშე, ან პირიქით.
ამ დროისთვის მათ შეეძლოთ უბრალოდ გამოეყენებინათ ჩვეულებრივი ფურცელი თითოეული მხარის ბალანსის აღრიცხვისთვის და კორექტირებისთვის. თითოეული მათგანის საწყისი ბალანსია 3 BTC. თუ ელისს სურს ბობს გადაუხადოს 1 BTC, მათ ხომ შეუძლიათ უბრალოდ შეიტანონ შესწორება ჩანაწერებში და მიუთითონ, რომ ამჟამად ელისს აქვს 2 BTC, ხოლო ბობს 4 BTC? მათ შეუძლიათ გააგრძელონ ბალანსების ამგვარად წარმოება, სანამ არ გადაწყვეტენ თანხის სხვასთან გადარიცხვას.
ეს შესაძლებელია, თუმცა რამდენად გამართლებულია ამის გაკეთება? რაც უფრო მნიშვნელოვანია, ეს ხომ ნებისმიერ მათგანს აძლევს შესაძლებლობას მარტივად თქვას უარი თანამშრომლობის გაგრძელებაზე? თუ ელისის ბალანსზე აღმოჩნდება 6 BTC, ხოლო ბობის ბალანსზე არაფერი, ბობს არაფერი შეუშლის ხელს უარი თქვას თანხის გაცემაზე (გარდა იმისა, რომ ელისთან მეგობრობას ვეღარ შეძლებს).
Hash Timelock Contract-ები (HTLC-ები)
ზემოთ აღწერილი სისტემა ზედმეტად მარტივია და არ გვთავაზობს არავითარ უპირატესობას თანამედროვე სისტემებთან შედარებით. პროცესი ბევრად საინტერესო ხდება, როდესაც ვიყენებთ მექანიზმს, რომელიც უზრუნველყოფს ელისსა და ბობს შორის დადებული „კონტრაქტის“ აღსრულებას. თუ ერთ-ერთი მხარე გადაწყვეტს უარი თქვას წესების მიხედვით თამაშზე, მეორე მხარეს კვლავ რჩება არხიდან საკუთარი თანხის გამოტანის შესაძლებლობა.
ამ მექანიზმს ეწოდება Hash Timelock Contract (HTLC). ეს ტერმინი შეიძლება დამაბნევლად მოგეჩვენოთ, თუმცა მის უკან საკმაოდ მარტივი კონცეფცია დგას. ის აერთიანებს ორ არსებულ ტექნოლოგიას (hashlock-ებს და timelock-ებს) და უზრუნველყოფს გადახდის არხებში არასათანადო ქცევის აღკვეთას.
hashlock არის ტრანზაქციის განხორციელებისთვის განსაზღვრული პირობა, რომლის მიხედვითაც თანხის დახარჯვას შეძლებთ მხოლოდ მაშინ, თუ დაამტკიცებთ, რომ იცით „საიდუმლო“. გამგზავნი ახორციელებს მონაცემთა ნაწილის ჰეშირებას და ამ ჰეშს ამატებს მიმღებისთვის გასაგზავნ ტრანზაქციაზე. მიმღებს ამ თანხის დახარჯვა შეუძლია მხოლოდ იმ შემთხვევაში, თუ ის შეძლებს ამ ჰეშის შესაბამისი საწყისი მონაცემების („საიდუმლოს“) წარმოდგენას. ამ მონაცემების მიღება მას მხოლოდ თანხის გამომგზავნისგან შეუძლია.
timelock არის პირობა, რომლის მიხედვითაც თანხის დახარჯვას ვერ შეძლებთ გარკვეულ დრომდე. აქ შეიძლება იგულისხმებოდეს როგორც რეალური დრო, ასევე ბლოკის კონკრეტული სიმაღლე.
HTLC-ები იქმნება hashlock-ების და timelock-ების კომბინირებით. პრაქტიკაში HTLC-ების გამოყენება შეიძლება პირობითი გადახდების შექმნისთვის – მიმღებმა უნდა შეძლოს „საიდუმლოს“ წარმოდგენა განსაზღვრულ დრომდე, წინააღმდეგ შემთხვევაში გამგზავნი შეძლებს თანხის უკან დაბრუნებას. შემდეგი ნაწილის ახსნის საუკეთესო საშუალებაა მაგალითის განხილვა, ამიტომ მოდით დავუბრუნდეთ ელისს და ბობს.
არხების გახსნა და დახურვა
ჩვენს მაგალითში ელისმა და ბობმა შექმნეს ტრანზაქციები, რომელთა საშუალებით თანხა დაირიცხა საზიარო multisignature მისამართზე. თუმცა ეს ტრანზაქციები ჯერ არ არის გამოქვეყნებული ბლოკჩეინზე! ამისათვის საჭიროა კიდევ ერთი რამის გაკეთება.
ბობის სამი მონეტა და ელისის სამი მონეტა.
დაიმახსოვრეთ, ამ მონეტების multisig მისამართიდან გადარიცხვის ერთადერთი გზა ელისის და ბობის მიერ ტრანზაქციაზე ერთობლივად ხელმოწერაა. თუ ელისს სურს ექვსივე მონეტის გარე მისამართზე გაგზავნა, მას დასჭირდება ბობის დასტური. პირველ რიგში მან უნდა შექმნას ტრანზაქცია (ექვსი Bitcoin-ის ამ მისამართზე გადაგზავნა) და დაურთოს საკუთარი ხელმოწერა.
მას შეუძლია მაშინვე სცადოს ამ ტრანზაქციის ბლოკჩეინზე გაშვება, თუმცა ეს არ იქნება ვალიდური, რადგან მასზე არ არის დამატებული ბობის ხელმოწერა. ელისმა ეს დაუსრულებელი ტრანზაქცია უნდა წარუდგინოს ბობს. ბობის ხელმოწერის დამატების შემდეგ ეს ტრანზაქცია გახდება ვალიდური.
თუმცა ამ დროისთვის ჯერ კიდევ არ არის გამოყენებული მექანიზმი, რომელიც უზრუნველყოფს ყველა მონაწილის სამართლიან მოქმედებას. როგორც ადრე აღვნიშნეთ, თუ თქვენი შემხვედრი მხარე უარს იტყვის თანამშრომლობაზე, თქვენი თანხა ფაქტიურად დაბლოკილი დარჩება. მოდით განვიხილოთ მექანიზმი, რომელიც თავიდან აგვაცილებს ამგვარ სიტუაციას. ეს მექანიზმი რამდენიმე ნაწილისგან შედგება, ასე რომ ყურადღებით იყავით.
თითოეულმა მხარემ უნდა მოიფიქროს გარკვეული „საიდუმლო“ – მოდით დავარქვათ მათ „საიდუმლო As“ და „საიდუმლო Bs“. თუ ამ „საიდუმლოებებს“ ელისი და ბობი ამ ეტაპზე გაამჟღავნებენ, მექანიზმი ყოველგვარ აზრს დაკარგავს, ამიტომ ეს მონაცემები მათ საიდუმლოდ უნდა შეინახონ. ამის შემდეგ წყვილი მოახდენს საკუთარი „საიდუმლოებების“ ჰეშების გენერირებას – ვუწოდოთ მათ h(As) და h(Bs). ამგვარად, „საიდუმლოებების“ გაზიარების ნაცვლად ისინი ერთმანეთს გაუზიარებენ ამ ჰეშებს.
ელისი და ბობი ცვლიან საკუთარი „საიდუმლოებების“ ჰეშებს.
თანხის multisignature მისამართზე პირველად გადარიცხვამდე, ელისმა და ბობმა ასევე უნდა შექმნან ვალდებულების ტრანზაქციები. ეს მათ თანხის დაბრუნების საშუალებას მისცემს იმ შემთხვევაში, თუ მეორე მხარე თანხის „დაბლოკვას“ გადაწყვეტს.
თუ არხს შევადარებთ ზემოთ ნახსენებ მინი-ლეჯერს, მაშინ ვალდებულების ტრანზაქციები შეგვიძლია განვიხილოთ, როგორც ამ ლეჯერში შეტანილი განახლებები. ვალდებულების ტრანზაქციების ყოველი ახალი წყვილის შექმნის დროს თქვენ ახორციელებთ თანხების რებალანსირებას ორ მონაწილეს შორის.
ელისი ხედავს ტრანზაქციების მონაცემების ორ ნაწილს – ერთი არის საკუთარ მისამართზე არსებული დეპოზიტი, მეორე კი ახალ multisig მისამართზე დაბლოკილი თანხა. ის ხელს აწერს ტრანზაქციას და უგზავნის მას ბობს.
ელისის ტრანზაქციის მონაცემების ორი ნაწილი – ერთი აღნიშნავს საკუთარ მისამართს, მეორე კი ახალ multisig მისამართს. ტრანზაქციის ვალიდურობისთვის კვლავ საჭიროა ბობის ხელმოწერა.
ბობიც ანალოგიურ მონაცემებს ხედავს – ერთი არის საკუთარი მისამართი, მეორე კი multisig მისამართი. ის აწერს ხელს და უგზავნის მას ელისს.
ამ დროისთვის ჩვენ გვაქვს ორი არასრული ტრანზაქცია, რომლებიც ერთმანეთს ძალიან ჰგავს.
ჩვეულებრივ, ელისს შეუძლია დაამატოს ხელმოწერა ბობის ტრანზაქციაზე და გახადოს ის ვალიდური. თუმცა გაითვალისწინეთ, რომ ამ მომენტისთვის თანხის გადარიცხვა ხდება „2-დან 2“ სქემის მქონე multisig ანგარიშიდან, რომელზეც ჯერ თანხა არ არის დარიცხული. ეს იგივეა, რომ სცადოთ ჩეკით გადახდა ნულოვანი ბალანსის ანგარიშიდან. შესაბამისად, ამ ნაწილობრივ ხელმოწერილი ტრანზაქციების განხორციელება შესაძლებელი იქნება მხოლოდ multisig მექანიზმის გააქტიურების შემდეგ.
ახალ multisignature მისამართებს (საიდანაც უნდა გადაირიცხოს 3 BTC) გარკვეული თავისებურებები ახასიათებს. მოდით განვიხილოთ არასრული ტრანზაქცია, რომელზეც ელისმა დაამატა ხელმოწერა და გადაუგზავნა ბობს. multisig ანგარიშიდან თანხის დახარჯვა შესაძლებელი იქნება მხოლოდ შემდეგი პირობების შესრულების შემდეგ:
ორივე მხარე ამატებს საკუთარ ხელმოწერას.
ბობს თანხის დახარჯვა დამოუკიდებლად შეუძლია მხოლოდ გარკვეული პერიოდის შემდეგ (timelock პირობის შესაბამისად).
ელისს შეუძლია მისი დახარჯვა, თუ მან იცის ბობის „საიდუმლო“: Bs.
ბობის მიერ ელისისთვის გაგზავნილი თანხის დახარჯვის პირობები:
ორივე მხარე ამატებს საკუთარ ხელმოწერას.
ელისს თანხის დახარჯვა დამოუკიდებლად შეუძლია მხოლოდ გარკვეული პერიოდის შემდეგ.
ბობს შეუძლია მისი დახარჯვა, თუ მან იცის ელისის „საიდუმლო“: As.
გაითვალისწინეთ, რომ არც ერთმა მხარემ არ იცის მეორე მხარის „საიდუმლო“, ამიტომ მე-3 პირობის შესრულება ჯერ შეუძლებელია. ასევე უნდა გაითვალისწინოთ, რომ თუ ტრანზაქციაზე ხელმოწერას დაამატებთ, შემხვედრ მხარეს მაშინვე მიეცემა თანხის დახარჯვის შესაძლებლობა, რადგან არ არის განსაზღვრული რაიმე დამატებითი პირობა თანხის დახარჯვისთვის. თქვენ შეგიძლიათ დაელოდოთ timelock-ით განსაზღვრული პერიოდის გასვლას ან, თუ გსურთ თანხის დაუყოვნებლივ გამოყენება, შეგიძლიათ ითანამშრომლოთ მეორე მხარესთან.
მაშ ასე, ახლა უკვე შეგიძლიათ გადაიტანოთ ტრანზაქციები პირველად „2-დან 2“ სქემის მქონე multisig ანგარიშზე. ამის გაკეთება უკვე უსაფრთხოა, რადგან შეძლებთ თანხის დაბრუნებას შემხვედრი მხარის მიერ არხის დატოვების შემთხვევაში.
ტრანზაქციების დადასტურების შემდეგ არხი უკვე გაშვებულია და მუშაობს. ტრანზაქციების პირველ ნაწილში ნაჩვენებია მინი-ლეჯერის მიმდინარე მდგომარეობა. ამჟამად გადახდის თანხა შემდეგნაირად არის განაწილებული ბობის ანგარიშზეა 3 BTC და ელისის ანგარიშზეა 3 BTC.
როდესაც ელისს სურს ბობისთვის დამატებითი თანხის გადარიცხვა, იქმნება ორი ახალი ტრანზაქცია და ხდება ძველი მონაცემების ჩანაცვლება. პროცესი იგივეა – ეს ტრანზაქციები მხოლოდ ნახევრად არის ხელმოწერილი. თუმცა ელისს და ბობს მოუწევთ „საიდუმლოებების“ განახლება და ახალი ჰეშების გაცვლა ტრანზაქციების მომდევნო რაუნდისთვის.
მაგალითად, თუ ელისს სურს ბობს გადაუხადოს 1 BTC, ორი ახალი ტრანზაქციის მეშვეობით ელისის ანგარიშზე აისახება 2 BTC, ხოლო ბობის ანგარიშზე - 4 BTC. ამგვარად ხდება ბალანსის განახლება.
ნებისმიერ მხარეს შეუძლია დაამატოს ხელმოწერა ერთ-ერთ ბოლო ტრანზაქციაზე და „გამოაქვეყნოს“ ის ბლოკჩეინზე. თუმცა ამის გამკეთებელი მხარე უნდა დაელოდოს timelock-ით განსაზღვრული დროის ამოწურვას, მეორე მხარს კი ამ თანხის დახარჯვა მაშინვე შეუძლია. გაითვალისწინეთ, თუ ბობი ხელს მოაწერს და გამოაქვეყნებს ელისის ტრანზაქციას, ელისს შეეძლება თანხის დახარჯვა ყოველგვარი პირობის გარეშე.
მხარეებს შეუძლიათ შეთანხმდნენ და მიიღონ გადაწყვეტილება არხის დახურვასთან დაკავშირებით (ერთობლივი დახურვა). ეს ალბათ ყველაზე მარტივი და სწრაფი გზაა თქვენი თანხის ბლოკჩეინზე დასაბრუნებლად. თუმცა, თუ ერთ-ერთი მხარე თქვენს მოთხოვნას უპასუხოდ დატოვებს ან უარს იტყვის თანამშრომლობაზე, მეორე მხარე შეძლებს საკუთარი თანხის უკან გატანას, რისთვისაც ის უნდა დაელოდოს timelock-ის დროის ამოწურვას.
როგორ გვეხმარება Lightning Network თაღლითობის პრევენციაში?
ალბათ უკვე ამოიცანით თავდასხმის ვექტორი. თუ ამჟამად ბობის ანგარიშის ბალანსი შეადგენს 1 BTC-ს, რა შეუშლის მას ხელს იმაში, რომ ბლოკჩეინზე გამოაქვეყნოს ძველი ტრანზაქცია, რომლის მიხედვითაც მას მეტი თანხა ქონდა? მან ელისისგან უკვე მიიღო ნახევრად ხელმოწერილი ტრანზაქცია. ახლა საჭიროა მხოლოდ საკუთარი ხელმოწერის დამატება და ბლოკჩეინზე გამოქვეყნება, ხომ ასეა?
ვერაფერი შეუშლის მას ხელს ამის გაკეთებაში – გარდა იმ ფაქტისა, რომ ამით ის მთლიანად დაკარგავს ბალანსზე არსებულ თანხას. დავუშვათ მან მაინც განახორციელა ეს ქმედება და ბლოკჩეინზე გამოაქვეყნა ძველი ტრანზაქცია, რომლის მიხედვითაც ერთი მონეტა გადარიცხულია ელისთან, ხოლო ხუთი მონეტა ზემოთ აღნიშნულ multisig მისამართზე.
ელისი საკუთარ მონეტას მაშინვე მიიღებს. ხოლო ბობს მოუწევს დაელოდოს timelock-ით განსაზღვრული დროის გასვლას მხოლოდ ამის შემდეგ შეძლებს თანხის დახარჯვას multisig მისამართიდან. გახსოვთ რა იყო კიდევ ერთი პირობა, რაც ელისს იგივე თანხის მომენტალურად დახარჯვის საშუალებას მისცემდა? მას ესაჭიროება „საიდუმლო“, რომელიც მას ადრე არ ქონდა. ახლა კი აქვს – როდესაც ტრანზაქციების მეორე რაუნდი შეიქმნა, ბობმა გაამჟღავნა წინა „საიდუმლო“.
ბობი ზის და ელოდება timelock-ის დროის ამოწურვას, ელისს კი შეუძლია ამ თანხის გამოყენება. ამ სასჯელზე დაფუძნებული მექანიზმის წყალობით ნაკლებად სავარაუდოა, რომ მონაწილეები თაღლითობას შეეცდებიან, რადგან ამით ისინი მეორე მხარეს გადასცემენ საკუთარ მონეტებზე წვდომის შესაძლებლობას.
გადახდების მარშრუტიზაცია
ჩვენ ეს საკითხი უკვე განვიხილეთ – შესაძლებელია არხების ერთმანეთთან დაკავშირება. ამის გარეშე Lightning Network ვერ გახდებოდა გადახდების განხორციელების სასარგებლო მექანიზმი. თქვენ ხომ არ დაბლოკავთ კაფესთან დამაკავშირებელ არხში 500 აშშ დოლარს იმისათვის, რომ რამდენიმე თვის განმავლობაში მიიღოთ კოფეინის დღიური დოზა?
ამის გაკეთება საჭირო არ არის. თუ ელისი ბობთან ერთად გახსნის არხს, ხოლო ბობს უკვე აქვს კეროლთან დამაკავშირებელი არხი, ბობს შეუძლია გახდეს ამ ორი მხარის დამაკავშირებელი რგოლი. ეს მექანიზმი მუშაობს მრავალ „საფეხურზე“, რაც იმას ნიშნავს, რომ ელისს შეუძლია თანხა გადაურიცხოს ამ არხების ქსელში ჩართულ ნებისმიერ პირს.
ამ სცენარში ელისს აქვს ფრენკთან დასაკავშირებელი მარშრუტების რამდენიმე ვარიანტი. პრაქტიკულად, ის ყოველთვის უმარტივეს მარშრუტს აირჩევს.
მარშრუტის დამაკავშირებელი რგოლის ფუნქციის შესრულებისთვის შუამავლებმა შეიძლება გარკვეული ოდენობის საკომისიო მოითხოვონ (თუმცა ამის გაკეთება სავალდებულო არ არის). Lightning Network შედარებით ახალი კონცეფციაა, შესაბამისად საკომისიოს ტარიფები ჯერ კიდევ არ არის ჩამოყალიბებული. ბევრი თვლის, რომ საკომისიოს ოდენობა დაფუძნებული იქნება შემოთავაზებულ ლიკვიდურობაზე.
მთავარ ბლოკჩეინზე, თქვენ მიერ გადასახდელი საკომისიო განისაზღვრება იმის მიხედვით, თუ რამდენ ადგილს იკავებს თქვენი ტრანზაქცია ბლოკში – გადარიცხული თანხის ოდენობას არ აქვს მნიშვნელობა – $1-იანი და $10 000 000-იანი ტრანზაქციების ღირებულება ერთი და იგივეა. რაც შეეხება Lightning Network-ს, აქ არ არსებობს „ბლოკის სივრცის“ ცნება.
ამის ნაცვლად გამოიყენება ცნება ადგილობრივი და დაშორებული ბალანსები. ადგილობრივი ბალანსი არის თანხა, რომელიც შეგიძლიათ „გადააწოდოთ“ არხის მეორე ბოლოში არსებულ პირს, ხოლო დისტანციური ბალანსი არის თანხა, რომელიც შემხვედრ მხარეს შეუძლია თქვენ მოგაწოდოთ.
დროა განვიხილოთ კიდევ ერთი მაგალითი. მოდით დავაკვირდეთ ერთ-ერთ ზემოთ ნაჩვენებ მარშრუტს: ელისი <> კეროლი <> ფრენკი.
მომხმარებელთა ბალანსი ელისის მიერ ფრენკისთვის 0,3 BTC-ის გაგზავნამდე და გაგზავნის შემდეგ.
ელისი <> კეროლი და კეროლი <> ფრენკი - თითოეული მათგანის საერთო გამტარუნარიანობაა 1 BTC. ელისის ადგილობრივი ბალანსია 0,7 BTC. თუ ისინი გადაწყვეტენ, რომ იმ მომენტში გამოაქვეყნონ ეს ტრანზაქციები ბლოკჩეინზე, ელისი მიიღებს 0,7 BTC-ს, ხოლო კეროლი მიიღებს დისტანციურ ბალანსს (ანუ 0,3 BTC-ს).
თუ ელისს სურს ფრენკს გაუგზავნოს 0,3 BTC, ის არხის მეშვეობით კეროლს უგზავნის 0,3 BTC-ს. ამის შემდეგ კეროლი საკუთარი ადგილობრივი ბალანსიდან ფრენკს უგზავნის 0,3 BTC-ს. შედეგად კეროლის ბალანსი უცვლელი რჩება: მან ელისისგან მიიღო 0,3 BTC და ფრენკს გაუგზავნა 0,3 BTC.
ელისსა და ფრენკს შორის დამაკავშირებელი რგოლის ფუნქციის შესრულებით კეროლს თანხა არ დაუკარგავს, თუმცა მისი მოქნილობა გარკვეულად შემცირდა. როგორც ხედავთ, ახლა ელისთან დამაკავშირებელი არხის მეშვეობით მას შეუძლია დახარჯოს 0,6 BTC, ხოლო ფრენკთან დამაკავშირებელი არხის მეშვეობით - 0,1 BTC.
წარმოიდგინეთ სიტუაცია, როდესაც ელისი მხოლოდ კეროლთანაა დაკავშირებული, ფრენკის კავშირების ქსელი კი გაცილებით ფართოა. ადრე ფრენკის დახმარებით კეროლს შეეძლო 0,4 BTC-ის დახარჯვა, თუმცა ახლა მხოლოდ 0,1 BTC-ის გაგზავნა შეუძლია, რადგან მისი თანხის უმეტესი ნაწილი ელისთან დამაკავშირებელი არხის მხარესაა.
ამ სცენარის მიხედვით, ელისმა კეროლის ლიკვიდურობის უმეტესი ნაწილი გამოიყენა. სავარაუდოდ კეროლი აღარ მოისურვებს საკუთარი პოზიციის კიდევ უფრო შესუსტებას რაიმე სარგებლის მიღების გარეშე. ამიტომ მან შეიძლება ასეთი პირობა წამოაყენოს: ჩემი არხის გამოყენებით ყოველი 0,01 BTC-ის გადარიცხვისთვის უნდა გადამიხადოთ საკომისიო ათი satoshi-ს ოდენობით. ამგვარად, კეროლის ადგილობრივი ბალანსის გამოყენების შემთხვევაში, ის შემოსავალს მიიღებს.
როგორც ზემოთ აღვნიშნეთ, არ არის განსაზღვრული დე-ფაქტო მოთხოვნები საკომისიოს ოდენობასთან დაკავშირებით. ზოგს შესაძლოა საერთოდ არ აღელვებდეს ლიკვიდურობის შემცირების პრობლემა. ზოგმა კი შესაძლოა არჩიოს პირდაპირ მიმღებთან დამაკავშირებელი არხი გახსნა.
Lightning Network-ის შეზღუდვები
შესანიშნავი იქნებოდა, თუ Lightning Network შეძლებდა Bitcoin-ის მასშტაბირებადობასთან დაკავშირებული ყველა პრობლემის გადაჭრას. სამწუხაროდ ამ იდეის განხორციელებას ხელს უშლის ქსელის ნაკლოვანებები.
გამოყენების სიმარტივე
Bitcoin არ არის ინტუიციური, დამწყებთათვის განკუთვნილი სისტემა – მისამართები, საკომისიოები და სხვა კომპონენტები ბევრისთვის შესაძლოა დამაბნეველი აღმოჩნდეს. Lightning კლიენტ-აპლიკაციის დაყენების შემდეგ, გადახდების დაწყებამდე მომხმარებელს ასევე დასჭირდება არხების გახსნა. ეს დროში გაწელილი პროცესია, რაც დამწყებისთვის შესაძლოა რთული აღმოჩნდეს, რადგან მას მოუწევს სხვადასხვა კონცეფციის შესწავლა, როგორიცაა მაგალითად შემომავალი/გამავალი გამტარუნარიანობა.
თუმცა ტექნოლოგია მუდმივად უმჯობესდება, რისი მიზანიცაა ბარიერების შემცირება და მომხმარებლისთვის უფრო მარტივი და მოსახერხებელი გამოცდილების შეთავაზება.
ლიკვიდურობა
Lightning Network-ს ყველაზე ხშირად აკრიტიკებენ ტრანზაქციებთან დაკავშირებული შეზღუდვების გამო. თქვენ არ შეგიძლიათ დახარჯოთ არხში დაბლოკილ თანხაზე მეტი. თუ თქვენს თანხას სრულად დახარჯავთ და დისტანციურ ბალანსზე გადაიტანთ თქვენი არხის მთლიან თანხას, თქვენ მოგიწევთ არხის დახურვა. რა თქმა უნდა შეგიძლიათ დაელოდოთ, სანამ ვინმე არ გამოიყენებს თქვენს არხებს გადახდისთვის, თუმცა ეს იდეალურ გამოსავლად ვერ ჩაითვლება.
თქვენი მარშრუტის შეზღუდვები ასევე განპირობებულია არხის საერთო გამტარუნარიანობით. გავიხსენოთ ზემოთ განხილული მაგალითი: ელისი <> კეროლი <> ფრენკი. თუ ელისის და კეროლის დამაკავშირებელი არხის გამტარუნარიანობაა 5 BTC, თუმცა კეროლის და ფრენკის გამტარუნარიანობა არის მხოლოდ 1 BTC, ელისი ვერასდროს შეძლებს 1 BTC-ზე მეტი თანხის გაგზავნას. ამ შემთხვევაშიც კი, გადარიცხვისთვის საჭიროა, რომ არხში კეროლი <> ფრენკი მთელი ბალანსი იყოს კეროლის მხარეს. ეს მნიშვნელოვნად ზღუდავს LN არხების გამტარუნარიანობას და ხელს უშლის მის მოსახერხებელ სისტემად გარდაქმნას.
ცენტრალიზებული ჰაბები
წინა განყოფილებაში განხილული პრობლემის გამო არსებობს ვარაუდი, რომ ქსელში შესაძლოა შეიქმნას მასიური „ჰაბები“. ეს იმას ნიშნავს, რომ შეიქმნება დიდი ზომის, უამრავ არხთან დაკავშირებული დიდი ლიკვიდურობის მქონე კვანძები. დიდი ზომის გადახდების მარშრუტი სწორედ ამ კვანძებს გაივლის.
აშკარაა, რომ ეს სიტუაცია კარგს არაფერს მოიტანს. ეს შეასუსტებს სისტემას, რადგან მსგავსი კვანძების ოფლაინ-რეჟიმში გადასვლა მომხმარებლებს შორის კავშირების გაწყვეტას გამოიწვევს. მსგავსი სიტუაცია ასევე ზრდის ცენზურის რისკს, რადგან ტრანზაქციების მარშრუტი გაივლის მხოლოდ მცირე რაოდენობის წერტილებზე.
Lightning Network-ის არსებული მდგომარეობა
2024 წლის მარტის მონაცემებით, Lightning Network გამართულად მუშაობს. ის შედგება 13 00 ონლაინ ნოდისგან, 52 000-ზე მეტი აქტიური არხისგან და მისი ცირკულირებადი მარაგი აჭარბებს 4 570 BTC-ს.
Lightning Network-ის ნოდების გლობალური განაწილების დიაგრამა.
ნოდების გაშვებისთვის ხელმისაწვდომია უამრავი სხვადასხვა სისტემა – Blockstream-ის c-lightning, Lightning Labs-ის Lightning Network Daemon და ACINQ-ის Eclair და სხვა. მცირე ტექნიკური უნარების მქონე მომხმარებლებს ბევრი კომპანია სთავაზობს plug-and-play ტიპის ნოდებს. Lightning Network-თან დასაკავშირებლად საჭიროა მხოლოდ მოწყობილობის ელექტრო ქსელში შეერთება.
შეჯამება
2018 წლიდან, მისი mainnet-ის გაშვების შემდეგ, Lightning Network მნიშვნელოვნად გაიზარდა. ჯერ კიდევ არსებობს გამოყენების სიმარტივესთან დაკავშირებული გარკვეული დაბრკოლებები, მაგალითად ამჟამად Lightning-ის ნოდის ექსპლუატაციას ესაჭიროება გარკვეული დონის ტექნიკური კომპეტენცია. თუმცა ქსელის განვითარების ტემპის გათვალისწინებით მოსალოდნელია, რომ დროთა განმავლობაში ეს დაბრკოლებები დაძლეული იქნება.
დამატებითი საკითხავი
პასუხისმგებლობაზე უარის განაცხადი: ეს კონტენტი თქვენთვის წარმოდგენილია „არსებული სახით“ და განკუთვნილია მხოლოდ საინფორმაციო და საგანმანათლებლო მიზნებისთვის, რაიმე სახის რეპრეზენტაციისა თუ გარანტიის გარეშე. იგი არ უნდა იქნას აღქმული, როგორც ფინანსური, იურიდიული ან პროფესიული რჩევა და არ არის განკუთვნილი იმისთვის, რომ რეკომენდაცია გაუწიოს რაიმე სახის კონკრეტული პროდუქტის, ან სერვისის შეძენას. რჩევის მისაღებად უნდა მიმართოთ შესაბამის პროფესიონალ მრჩეველს. რადგან წინამდებარე სტატია მოწოდებულია მესამე მხარის მიერ, გაითვალისწინეთ, რომ მასში წარმოდგენილი შეხედულებები ეკუთვნის მესამე მხარეს და არ წარმოადგენს Binance Academy-ს შეხედულებებს. დამატებითი ინფორმაციის მისაღებად, სრულად გაეცანით აქ წარმოდგენილ პასუხისმგებლობაზე უარის განაცხადს. ციფრული აქტივების ფასები შეიძლება იყოს არასტაბილური. თქვენი ინვესტიციის ღირებულებამ შეიძლება დაიკლოს ან მოიმატოს და შესაძლოა ვერ შეძლოთ ინვესტირებული თანხის დაბრუნება. თქვენ ერთპიროვნულად ხართ პასუხისმგებელი თქვენს საინვესტიციო გადაწყვეტილებებზე და Binance Academy არ არის პასუხისმგებელი თქვენ მიერ განცდილ არანაირ ზარალზე. აქ მოცემული ინფორმაცია არ უნდა იქნას აღქმული, როგორც რაიმე სახის ფინანსური, იურიდიული, ან პროფესიული რჩევა. დამატებითი ინფორმაციის მისაღებად, გაეცანით ჩვენს გამოყენების წესებს და რისკის შესახებ გაფრთხილებას.