Ethereum: როგორ მუშაობს ჭკვიანი კონტრაქტები?

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

რა არის ჭკვიანი კონტრაქტები და რისთვის არის ისინი

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

ამის საპირისპიროდ, Ethereum, რომელიც დაიბადა ბიტკოინის შემდეგ 6 წლის შემდეგ, თავიდანვე შეიქმნა, რომ იყოს ძირითადად ქსელი, რომელსაც შეუძლია. ჭკვიანი კონტრაქტების ჰოსტინგი და შესრულება

2014 წელს Ethereum-ის თანადამფუძნებელი ვიტალიკ ბუტერნი დაწერა პირდაპირ whitepaper რომ ქსელი, რომელსაც ის აპროექტებდა, იყო ა ჭკვიან კონტრაქტებზე დაფუძნებული შემდეგი თაობის პლატფორმადა რომ ბიტკოინის ალტერნატიული აპლიკაციები ბლოკჩეინის ტექნოლოგიაზე დაფუძნებული ასევე მოიცავდა ციფრული აქტივების გამოყენებას მორგებული ვალუტებისა და ფინანსური ინსტრუმენტების, შეუცვლელი აქტივების და უფრო რთული აპლიკაციების წარმოსადგენად. 

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

ვიტალიკი წერდა: 

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

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

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

ზოგადი თვალსაზრისით, შესაბამისად, მათი მოქმედება არ არის ძალიან რთული. 

ჭკვიანი ხელშეკრულება
ჭკვიანი კონტრაქტები იდება მას შემდეგ, რაც მასში მოცემული პირობები დადასტურდება

ჭკვიანი კონტრაქტების დანერგვა Ethereum ბლოკჩეინზე

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

ტექნიკური თვალსაზრისით, მისი გამოქვეყნება Ethereum-ის ბლოკჩეინზე ნიშნავს ქსელის ყველა კვანძის მიღებას და შესრულებას. გამოქვეყნების შემდეგ, მასში არსებული ყველა ინსტრუქცია ყოველთვის შესრულდება ყველა კვანძის მიერ ზუსტად ერთნაირად. 

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

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

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

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

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

ტექნიკურად, ჭკვიანი კონტრაქტები არის ანგარიშის ტიპი Ethereum ბლოკჩეინი, "კონტროლირებადი" ქსელის მიერ და არა ცენტრალური ერთეულის მიერ. მათ შეუძლიათ შეინახონ ETH ან ტოკენები და ასევე შეუძლიათ გააგზავნოთ ტრანზაქციები ქსელში ავტონომიურად.

როგორ ვიმოქმედოთ კოდთან და ზოგადად dApps-თან

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

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

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

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


წყარო: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/