Ethereum: как работят интелигентните договори?

Интелигентните договори са основната характеристика, която направи Ethereum толкова успешен. 

Какво представляват интелигентните договори и за какво са те

Биткойн протоколът не предвижда възможност за създаване на наистина сложни интелигентни договори, тъй като основно е проектиран само за разрешаване на транзакции. 

За разлика от това, Ethereum, който се роди 6 години след биткойн, беше проектиран от самото начало да бъде мрежа, способна хостинг и изпълнение на смарт договори

През 2014 г. съосновател на Ethereum Виталик Бутерн написано изрично в Можеш да развихриш фантазията си че мрежата, която проектира, е a платформа от следващо поколение, базирана на интелигентни договории че алтернативните приложения на биткойн, базирани на блокчейн технология, също включват използването на цифрови активи за представяне на персонализирани валути и финансови инструменти, незаменими активи и по-сложни приложения. 

По-специално, последните, т.е. интелигентните договори, бяха определени като приложения, включващи директен контрол на цифрови активи чрез код, който прилага произволни правила, или децентрализирани автономни организации, базирани на блокчейн, т.нар. Daos.  

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

„Това, което Ethereum възнамерява да предостави, е блокчейн с вграден език за програмиране, пълен с Тюринг, който може да се използва за създаване на „договори“, които могат да се използват за кодиране на произволни функции за преход на състояние, позволявайки на потребителите да създават всяка от системите, описани по-горе – както и много други, които все още не сме си представили – просто като напишем логика в няколко реда код”.

По този начин интелигентните договори на Ethereum са редове код, чрез които е възможно програмирайте автоматичното изпълнение на инструкциите от мрежата, когато са изпълнени определени условия, без да се налага да поверява изпълнението им на посредник.

Всъщност самият Бутерин постави термина „договори“ в кавички, защото вместо реални договори между страните, те са компютърни програми, изпълнявани от децентрализиран мрежа. 

Следователно от обща гледна точка тяхната работа не е много сложна. 

интелигентен договор
Интелигентните договори се изпълняват, след като условията, съдържащи се в тях, са проверени

Внедряване на интелигентни договори в блокчейна на Ethereum

На първо място, един или повече разработчици трябва очевидно да създадат интелигентния договор, като напишат съответните редове код, а след това трябва изпрати го до мрежата на Ethereum. 

В технически план публикуването му в блокчейна на Ethereum означава да накарате всички възли в мрежата да го получават и изпълняват. Веднъж публикувани, всички инструкции в него винаги ще се изпълняват от всички възли по абсолютно същия начин. 

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

Следователно това, което наистина има значение, са инструкциите, които съдържа – които могат да бъдат най-разнообразни – и колко хора го използват. Всъщност, за да могат инструкциите на интелигентен договор действително да бъдат изпълнени, трябва да има една или повече транзакции, които ги извикват

Също така си струва да запомните, че тези инструкции обикновено включват използването на ресурси, като данни или токени, така че те действително да бъдат изпълнени, трябва да бъдат изпълнени всички необходими условия. 

Понякога тези данни идват отвън, благодарение на така наречените оракули, докато понякога просто идват от транзакции в блокчейна. 

Обикновено транзакцията, която задейства изпълнението на инструкциите, съдържащи се в интелигентен договор включва плащането на а такса в ETH, а в много случаи, за да се задейства действително изпълнението, включва също плащане или изпращане на токени, специфични за самия интелигентен договор или други интелигентни договори. 

Технически смарт договорите са вид акаунт в Ефириум блокчейн, „контролиран“ от мрежата, а не от централен обект. Те могат да съхраняват ETH или токени, а също и изпращат транзакции в мрежата автономно.

Как да взаимодействате с кода и по-общо с dApps

Потребителите могат да взаимодействат със смарт договори, като изпращат транзакции, които задействат една от функциите, дефинирани в техния код. 

Следователно, функционирането на интелигентните договори в Ethereum като цяло е много просто: просто изпратете транзакция от определен тип към интелигентен договор и това ще задейства изпълнението от възлите на всички инструкции, съдържащи се във функцията на интелигентния договор, извикан от самата сделка. 

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

Следователно огромната сложност на интелигентните договори произтича точно от това, което правят отделните интелигентни договори, а не като цяло от факта, че мрежата на Ethereum ги поддържа и изпълнява. Освен това е абсолютно невъзможно да се изброи как всъщност работят всички видове интелигентни договори в мрежата. 


Източник: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/