Timeout Trees: A Solution To Scaling Lightning Network LSPs

By Bitcoin ჟურნალი - 6 თვის წინ - კითხვის დრო: 6 წუთი

Timeout Trees: A Solution To Scaling Lightning Network LSPs

Lightning Network-ის ერთ-ერთი ყველაზე დიდი თანდაყოლილი შეზღუდვა არის არხების შეზღუდული რაოდენობა, რომელთა გახსნა ან დახურვა შესაძლებელია ბლოკის ზომის ლიმიტის გათვალისწინებით. იმისდა მიუხედავად, თუ რამდენი ტრანზაქცია შეიძლება მოხდეს ჯაჭვის გარეშე, რამდენად იაფად, ეს არის ფუნდამენტური შეფერხება, რომელიც ზღუდავს რამდენ ადამიანს შეუძლია რეალურად გამოიყენოს Lightning Network. Lightning Network Whitepaper-მაც კი მიაღწია იმ დასკვნას, რომ სცენარში, როდესაც მთელი მსოფლიოს 7 მილიარდი მოსახლეობა იყენებდა Lightning-ს, წელიწადში მხოლოდ ორი ჯაჭვური ტრანზაქცია ერთ ადამიანზე, Bitcoin Lightning-ის მუშაობისთვის დასჭირდება 133 მბ ბლოკი. ეს არ არის მარცხენა ველის პრობლემა, ან არაპროგნოზირებადი საკითხი, ეს იყო პროტოკოლის დიზაინის შეზღუდვა, რომელიც სრულად იყო გაგებული პირველი დღიდან.

ამ საკითხის გადასაჭრელად გეგმის ნაწილი ყოველთვის იყო არხის ქარხნების იდეა, ანუ არხის ტიპი, რომელშიც ორზე მეტი მომხმარებელი მონაწილეობდა. ეს იყო ყოველთვის მიმართულება, რომლითაც ყველაფერი უნდა წასულიყო Lightning-ისა და მასშტაბის გასაზომად. Bitcoin ბლოკის ზომის გაზრდის გარეშე, მაგრამ საქმე იმაშია, რომ ჯაჭვზე არსებული ნაკვალევის პრობლემის გადაჭრა იწვევს სხვა პრობლემებს. უპირველეს ყოვლისა, არაფერი ფუნდამენტური არ იცვლება შუალედური მდგომარეობების აღსრულების მოთხოვნაში, თუ კონტრაგენტი არ რეაგირებს. ეს გავლენას ახდენს დამატებით ღირებულებაზე. არხების ქარხნის მთელი აზრი იმაში მდგომარეობს, რომ, მაგალითად, ოც ადამიანს შეუძლია გაუზიაროს ერთი UTXO და გადააკეთოს ლიკვიდობა შიგნით დანარჩენ ოცი ადამიანთან, როგორც უნდათ. როგორც კი ვინმე იხურება ჯაჭვზე არათანამშრომლობით, ეს იწყებს ამ მიზანში ჩარევას.

თუ ჩემს არხს ვხურავ არხების ქარხანაში, ჩემთან ერთად ქარხნიდან გამოვყავარ რამდენიმე ადამიანი. წარმოიდგინეთ ქარხანა, როგორიცაა მერკლის ხე, არის ერთი UTXO ზევით, რომელიც იყოფა ნახევრად ჯაჭვის გარეშე, ნახევრად გაყოფილი და ა.შ. სანამ არ მივიღებთ ყველას ინდივიდუალურ არხებს. მას შემდეგ, რაც ჩემს არხს ქარხნიდან ვაშორებ, ყველა ჩემს მხარეს ყოველი გაყოფა, რომელიც ჯაჭვზე მიდის, ახლა მოწყვეტილია ქარხანაში მყოფი ადამიანებისგან. მათ აღარ შეუძლიათ თავიანთი ლიკვიდობის რეორგანიზაცია ჯგუფის იმ ნაწილში, თუ ყველა ითანამშრომლებს.

კიდევ ერთი მნიშვნელოვანი საკითხია ის, რომ თუნდაც ერთის დასაწყებად, თავიდანვე უნდა გქონდეთ ყველა ონლაინ, რათა წინასწარ მოაწეროთ ხელი ყველა ტრანზაქციას. თუ გსურთ ქარხანაში ოცი ადამიანი იყოს, ყველა უნდა იყოს ონლაინ, რომ დაიწყოს. თუ გინდა ათასი ადამიანი, ათასი ადამიანი უნდა იყოს ონლაინ და ა.შ.

ეს აქცევს არხის ქარხნებს დიდი დიზაინის სივრცედ, სავსე უამრავი პრობლემის გადასაჭრელად. ასე რომ, ჩვენ გადავჭრით არსებულ პრობლემას Lightning-ისთვის, მაგრამ ვქმნით ახალს. ინჟინერიას ჰგავს ჩემთვის.

დროის ამოწურვა ხეები

ჯონ ლოუს ბოლო წინადადება, დროის ამოწურვა ხეები, ცდილობს შესთავაზოს გადაწყვეტა არხების ქარხნების ერთ-ერთი მთავარი საკითხისთვის. მე არ დავარქმევ თაიმაუტ ხეს არხების ქარხანას, უფრო მეტად "პროტო ქარხანას", მაგრამ ის გვთავაზობს პოტენციურ გადაწყვეტას დიდი რაოდენობით არხების გახსნისა და დახურვის საკითხზე, არაკოოპერატიული დახურვის პრობლემის დანერგვის გარეშე. ქარხნის გამოყენება სხვა მომხმარებლებისთვის. მას სჭირდება CHECKTEMPLATEVERIFY (CTV) და განათების სერვისის პროვაიდერი (LSP), რათა ფუნქციურად იმუშაოს.

Timeout Tree არსებითად არის არხების ქარხანა, რომელიც გარანტირებულია შეთანხმებებით, რომელსაც არ შეუძლია შეცვალოს, თუ როგორ ხდება ლიკვიდობის რეორგანიზაცია მისი შექმნის შემდეგ, სპეციალური გაქცევის პუნქტით. LSP, ჩვენ დავარქმევთ მათ ბობს, ასრულებს შემთხვევითი მომხმარებლების ხიდის როლს Lightning Network-ში. ბობს შეუძლია აიღოს მონეტები, რომლებსაც აკონტროლებს და შექმნას CTV ხე, რომელიც ქმნის ერთ UTXO-ს, რომელიც გახსნის არხებს მისი LSP სერვისის ნებისმიერი თვითნებური რაოდენობის მომხმარებლისთვის. CTV-ის კარგი თვისება ის არის, რომ ეს საშუალებას აძლევს ამის გაკეთებას ყველა ერთდროულად ონლაინ რეჟიმში ყოფნის გარეშე. ბობს შეუძლია უბრალოდ აიძულოს ყველას ხელი მოაწეროს თავის თავდაპირველ არხის მდგომარეობას ერთდროულად და შეინარჩუნოს ისინი მანამ, სანამ ყველა არ დააყენებს არხს, და უბრალოდ დახარჯოს თანხები CTV ხეზე, როდესაც მას აქვს არხები დაყენებული ყველა მომხმარებელთან.

ეს აგვარებს პრობლემას, რომ ყველას ერთდროულად უნდა იყოს ონლაინ, რათა დააყენოს "ქარხანა" და დაიწყოს Lightning-ის გამოყენება. CTV-ს გამო, როგორც კი ბობ მონეტებს დახარჯავს ხეზე, რათა მოაწყოს ყველასთვის Lightning არხები, მას არ აქვს გზა უკან დახევას და მონეტების აღებას (ჯერ). CTV-ში დადასტურებული პირველი UTXO ქსელში, ყველას შეუძლია თავისი არხები ღიად განიხილოს და არ არსებობს მათი ორმაგად დახარჯვის რისკი.

ახლა ბოლო ნაწილი, არხების დახურვა. მიუხედავად იმისა, რომ მათი გახსნა მოითხოვს მხოლოდ ერთ UTXO-ს ჯაჭვზე CTV-ს გამო, მათი დახურვა მაინც მოითხოვს მთელ CTV ხის გაშლას ჯაჭვზე, რათა ყველას შეეძლოს თავისი არხის მდგომარეობების გაგზავნა, არა? არასწორი. ეს არის Timeout Trees-ის Timeout ნაწილი. Timeout Tree-ის ყველა ფილიალს აქვს სკრიპტის ფილიალი, სადაც ბობს შეუძლია დროის დაბლოკვის შემდეგ ყველა თანხის გატანა.

დროის ამოწურვის ხის დიაგრამა.

ახლა დარწმუნებული ვარ, რომ ფიქრობ "რა!" ეს არის ნამდვილი გენიალური, თუ როგორ მუშაობს ეს წინადადება. იმის გამო, რომ ბობს შეუძლია თავად გაასუფთაოს UTXO-ები, სხვის გარეშე, დროის დაბლოკვის შემდეგ, ამ არხებს აქვთ ვადის გასვლის თარიღი, თუ მომხმარებლები რეალურად არ გაშლიან მთელ ხეს და არ დაადასტურონ არხის რეალური დაფინანსება ქსელში. ეს საშუალებას აძლევს ბობს გააკეთოს რაღაც სისუფთავე: როდესაც ეს დროის დაბლოკვა მოვა, მას შეუძლია გახსნას ახალი დროის ამოწურვის ხე ამჟამინდელის ყველა მომხმარებელთან და სთხოვოს მათ გადაიტანონ მთელი თავიანთი სახსრები ვადაგასული ხიდან ახალში. -ჯაჭვი Lightning-ზე და შემდეგ აიღეთ ბოლო ხის ერთი ჯაჭვის UTXO.

ეს საშუალებას გაძლევთ ეფექტურად დახუროთ ყველა ეს არხი ჯაჭვზე. ერთადერთი პრობლემა, რომელიც ახლა რჩება, არის HTLC-ის ჯაჭვის ამოქმედება, თუ მეორე მხარე შეწყვეტს თანამშრომლობას. ისე… ეს ნამდვილად არ არის პრობლემა ამ შემთხვევაში, უფრო სწორად, ეს ყველაფერი ან არაფერია. არხების დახურვის მიზეზი HTLC-ის განსახორციელებლად არის ის, თუ არხის მეორე მხარე შეწყვეტს რეაგირებას მისი მარშრუტიზაციის შუა პერიოდში. Timeout Tree-ში თითოეული მომხმარებლის კოლეგა არის ბობი. ასე რომ, თუ ბობი, სანამ ის გულწრფელია, არ პასუხობს წარუმატებელ ან წარმატებულ HTLC-ის განახლებას ერთი მომხმარებლისთვის, ის არც ერთ სხვა მომხმარებლისთვის არ პასუხობს. ამ შემთხვევაში ყველას შეუძლია დახუროს თავისი არხები ჯაჭვზე თაიმაუტამდე და შეწყვიტოს ბობის LSP-ის გამოყენება.

შესაფუთი Up

მომხმარებლებს კვლავ მოუწევთ გადაიხადონ საკომისიო ჯაჭვური ურთიერთქმედებისთვის, ამის გამორიცხვა არ არსებობს და მთელი ვადის ხის დახურვა ჯაჭვზე არაკოოპერატიულად იქნება დიდი და ძვირი ჯაჭვის კვალი, მაგრამ ეს საბოლოო ჯამში პრობლემაა. ნებისმიერ მრავალპარტიულ არხულ სისტემას მოუწევს მიმართოს. თუმცა, Timeout Trees-ს აქვს დამაჯერებელი გადაწყვეტილებები ერთობლივი შემთხვევისთვის, როგორც მასიური მრავალპარტიული არხის გახსნისა და დახურვის შემთხვევაში, სისტემის ნდობის მოდელის რაიმე კუთხით გადალახვის გარეშე.

ჯონმა ნაშრომის თავის უახლეს ვერსიაშიც კი შესთავაზა სქემა, სადაც მომხმარებლები შეიძლება დაჯარიმდნენ არაკოოპერატიული დახურვისთვის, რათა დაფარონ ბობის ხარჯები, საბოლოო ჯამში, ფრაგმენტირებული ხის UTXO-ების თაიგულის გასვლის შემდეგ. პოტენციურად არსებობს საპირისპირო გზების გაკეთების გზები, თუ ბობის უმოქმედობა ან არაკეთილსინდისიერება არის მიზეზი იმისა, რომ მომხმარებლებმა მოუწიონ არათანამშრომლობით დახურონ ხის ნაწილი.

თუმცა, საბოლოო ჯამში, ეს არის ძალიან კონკრეტული და კონკრეტული წინადადება არხის ქარხნის დიზაინისთვის, რომელიც რეალურად ცდილობს მიმართოს გამოყენებისა და განხორციელების რეალურ საკითხებს ნახევრად განსაზღვრული და ბუნდოვანი კონცეფციის ნაცვლად. ეს არის უზარმაზარი პროგრესი Lightning-ის გრძელვადიანი მასშტაბის შეზღუდვების გადაჭრის თვალსაზრისით. 

ორიგინალური წყარო: Bitcoin ჟურნალი