Ethereum: како функционираат паметните договори?

Паметните договори се главната карактеристика што го направи Ethereum толку успешен. 

Што се паметни договори и за што се тие

Протоколот Биткоин не предвидува можност за создавање навистина сложени паметни договори, бидејќи во основа беше дизајниран само да овозможи трансакции. 

Спротивно на тоа, Ethereum, кој се роди 6 години по Bitcoin, беше дизајниран од самиот почеток да биде во основа мрежа способна за хостирање и извршување на паметни договори

Во 2014 година, ко-основач на Ethereum Виталик Бутерин напиша експлицитно во Осведомителка дека мрежата што ја дизајнираше е а платформа од следната генерација базирана на паметни договори, и дека алтернативните апликации на Биткоин базирани на блокчејн технологија, исто така, вклучуваа употреба на дигитални средства за претставување на сопствени валути и финансиски инструменти, незаменливи средства и посложени апликации. 

Конкретно, вторите, односно паметните договори, беа дефинирани како апликации кои вклучуваат директна контрола на дигиталните средства со код кој спроведува произволни правила, или децентрализирани автономни организации базирани на блокчејн, т.н. ДАО.  

Виталик напиша: 

„Она што Ethereum има намера да го обезбеди е блокчејн со вграден програмски јазик комплетен Туринг кој може да се користи за создавање „договори“ што може да се користат за кодирање на произволни функции на транзиција на состојбата, дозволувајќи им на корисниците да создадат кој било од системите опишани погоре. – како и многу други што сè уште не сме ги замислиле – едноставно со пишување логика во неколку линии код“.

Така, паметните договори на Ethereum се линии на код со кои е можно програмирајте го автоматското извршување на инструкциите преку мрежата, кога се исполнети одредени услови, без да мора нивното извршување да му го довери на посредник.

Всушност, самиот Бутерин го стави поимот „договори“ во наводници, бидејќи наместо вистински договори меѓу страните, тие се компјутерски програми извршени од децентрализиран мрежа. 

Според тоа, од општа гледна точка, нивното работење не е многу комплицирано. 

паметен договор
Паметните договори се извршуваат откако ќе се потврдат условите содржани во нив

Распоредување на паметни договори на блокчејнот Ethereum

Пред сè, еден или повеќе програмери мора очигледно да го создадат паметниот договор со пишување соодветни линии на код, а потоа мора испратете го на мрежата Ethereum. 

Во техничка смисла, неговото објавување на блокчејнот Ethereum значи да се натераат сите јазли во мрежата да го примаат и извршуваат. Откако ќе бидат објавени, сите инструкции во него секогаш ќе бидат извршени од сите јазли на ист начин. 

Затоа, не само неговото објавување туку и извршувањето на инструкциите е неповратно откако ќе се објави на блокчејнот. 

Затоа, она што навистина е важно се упатствата што ги содржи - кои можат да бидат најразновидни - и колку луѓе ги користат. Навистина, за да може всушност да се извршат инструкциите на паметниот договор, мора да има една или повеќе трансакции кои ги повикуваат

Исто така, вреди да се запамети дека овие инструкции генерално вклучуваат употреба на ресурси, како што се податоци или токени, за тие всушност да бидат извршени, мора да бидат исполнети сите услови поставени по потреба. 

Понекогаш овие податоци доаѓаат од надвор, благодарение на таканаречените пророчи, додека понекогаш едноставно доаѓаат од трансакции на блокчејнот. 

Обично, трансакцијата што го активира извршувањето на инструкциите содржани во паметниот договор вклучува плаќање на а надомест во ЕТХ, и во многу случаи, со цел всушност да се активира извршувањето, вклучува и плаќање или испраќање на токени специфични за самиот паметен договор или други паметни договори. 

Технички, паметните договори се вид на сметка на Блок-синџир на Ethereum, „контролиран“ од мрежата наместо од централен ентитет. Тие можат да складираат ETH или токени, а исто така можат испраќајте трансакции на мрежата автономно.

Како да комуницирате со кодот и поопшто со dApps

Корисниците можат да комуницираат со паметни договори со испраќање трансакции кои активираат една од функциите дефинирани во нивниот код. 

Затоа, функционирањето на паметните договори на Ethereum е генерално многу едноставно: само испратете трансакција од одреден тип на паметен договор и тоа ќе го активира извршувањето од страна на јазлите на сите инструкции содржани во функцијата на паметниот договор повикан од самата трансакција. 

Очигледно, во зависност од тоа кои инструкции се содржани во повиканата функција, може да се генерираат многу различни последици, кои варираат не само од паметен договор до паметен договор, туку и од функција до функција. 

Затоа, огромната сложеност на паметните договори произлегува токму од она што го прават поединечните паметни договори, а не генерално од фактот дека мрежата Ethereum ги поддржува и ги извршува. Покрај тоа, апсолутно е невозможно да се наведе како всушност функционираат сите видови паметни договори на мрежата. 


Извор: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/