EIP-7702

რა არის EIP-7702?

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

მიუხედავად იმისა, რომ EIP-7702 ჯერ არ არის გაშვებული, მან უკვე მოიპოვა მნიშვნელოვანი პოპულარობა საზოგადოებაში და ბევრი მიიჩნევს, რომ ის შეძლებს EIP-3074 შეთავაზების ჩანაცვლებას. ამ შემთხვევაში, შესაძლოა მოხდეს EIP-7702-ის ინტეგრირება Ethereum Pectra განახლების ფარგლებში, 2024 წლის ბოლოს.

როგორ მუშაობს EIP-7702?

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

ტრანზაქციის მომზადება

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

ავტორიზაცია 

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

აღსრულება

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

რევერსია

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

მიწოდების ანალოგია

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

ამ მაგალითში:

  • სტანდარტული ავტომობილი არის EOA.

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

  • სატვირთო სათავსოს ქირაობა და დაბრუნება წარმოადგენს contract_code-ის მახასიათებლებს, რომლებიც ხელმისაწვდომია მხოლოდ ტრანზაქციის მიმდინარეობისას.

EIP-7702-ის უპირატესობები

უსაფრთხოება

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

მოქნილობა

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

სმარტ საფულის დანერგვა

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

დასკვნა

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

არ არსებობს საფუძვლიანი მოსაზრება ამ შეთავაზების მომავალთან დაკავშირებით, თუმცა საზოგადოების მხრიდან EIP-7702-ის მნიშვნელოვანი მხარდაჭერა ზრდის მისი 2024 წლის ბოლოს დაგეგმილი Ethereum Pectra განახლების ფარგლებში ინტეგრირების ალბათობას.