Ethereum: смарт келісімшарттар қалай жұмыс істейді?

Ақылды келісім-шарттар Ethereum-ды соншалықты табысты еткен басты мүмкіндік болып табылады. 

Ақылды келісімшарттар дегеніміз не және олар не үшін қажет

Bitcoin протоколы мүмкіндігін қарастырмайды шын мәнінде күрделі смарт келісімшарттарды жасау, себебі ол негізінен транзакцияларды қосу үшін ғана жасалған. 

Керісінше, биткоиннан 6 жылдан кейін дүниеге келген Ethereum басынан бастап, негізінен қабілетті желі болуы үшін жасалған. смарт келісімшарттарды орналастыру және орындау

2014 жылы Ethereum негізін қалаушы Виталик Бутэрин ішінде анық жазған ағартқыш ол жобалаған желі а смарт келісімшарттарға негізделген жаңа буын платформасы, және блокчейн технологиясына негізделген биткоинге балама қолданбалар, сондай-ақ реттелетін валюталар мен қаржылық құралдарды, ауыстырылмайтын активтерді және күрделірек қосымшаларды көрсету үшін цифрлық активтерді пайдалануды қамтиды. 

Атап айтқанда, соңғысы, яғни смарт келісім-шарттар, еркін ережелерді жүзеге асыратын код арқылы цифрлық активтерді тікелей басқаруды немесе блокчейнге негізделген орталықтандырылмаған автономды ұйымдарды қамтитын қосымшалар ретінде анықталды. DAO-лар.  

Виталик былай деп жазды: 

«Ethereum ұсынатын нәрсе — пайдаланушыларға жоғарыда сипатталған жүйелердің кез келгенін жасауға мүмкіндік беретін ерікті күйге ауысу функцияларын кодтау үшін пайдаланылатын «келісімшарттарды» жасау үшін пайдалануға болатын кірістірілген Turing-толық бағдарламалау тілі бар блокчейн. – сондай-ақ біз әлі елестетпеген көптеген басқалар – жай ғана кодтың бірнеше жолында логиканы жазу арқылы».

Осылайша, Ethereum-дағы смарт келісімшарттар - бұл мүмкін болатын код жолдары нұсқауларды автоматты түрде орындауды бағдарламалау желі арқылы, белгілі бір шарттар орындалғанда, олардың орындалуын делдалға сеніп тапсырудың қажеті жоқ.

Шындығында, Бутериннің өзі «келісімшарттар» терминін тырнақшаға алды, өйткені тараптар арасындағы нақты шарттардан гөрі олар орталықтандырылмаған орындалатын компьютерлік бағдарламалар желілік. 

Жалпы алғанда, олардың жұмысы өте күрделі емес. 

ақылды келісім
Ақылды келісім-шарттар ондағы шарттар тексерілгеннен кейін орындалады

Ethereum блокчейнінде смарт келісімшарттарды қолдану

Ең алдымен, бір немесе бірнеше әзірлеушілер кодтың сәйкес жолдарын жазу арқылы смарт келісімшартты жасауы керек, содан кейін олар оны Ethereum желісіне жіберіңіз. 

Техникалық тілмен айтқанда, оны Ethereum блокчейнінде жариялау желідегі барлық түйіндерді оны қабылдауды және орындауды білдіреді. Жарияланғаннан кейін ондағы барлық нұсқаулар әрқашан барлық түйіндермен бірдей орындалады. 

Сондықтан оның жариялануы ғана емес, сонымен қатар нұсқаулардың орындалуы қайтымсыз ол блокчейнде жарияланғаннан кейін. 

Сондықтан, ең маңыздысы - оның құрамындағы нұсқаулар - ол әртүрлі болуы мүмкін - және оны қанша адам пайдаланады. Шынында да, смарт келісімшарттың нұсқаулары нақты орындалуы үшін болуы керек оларды шақыратын бір немесе бірнеше транзакциялар

Сондай-ақ, бұл нұсқаулар әдетте деректер немесе таңбалауыштар сияқты ресурстарды пайдалануды көздейтінін есте ұстаған жөн, сондықтан олардың нақты орындалуы үшін, қажет болған жағдайда қойылған барлық шарттар орындалуы керек. 

Кейде бұл деректер Oracles деп аталатындардың арқасында сырттан келеді, ал кейде блокчейндегі транзакциялардан келеді. 

Әдетте, смарт келісім-шарттағы нұсқауларды орындауды бастайтын транзакция а төлеуді қамтиды ETH бойынша төлем, және көптеген жағдайларда орындауды нақты іске қосу үшін ақылды келісімшарттың өзіне немесе басқа смарт келісімшарттарға тән белгілерді төлеуді немесе жіберуді қамтиды. 

Техникалық тұрғыдан смарт келісім-шарттар есептік жазбаның бір түрі болып табылады Ethereum блокчейні, орталық нысан емес, желі арқылы «бақыланатын». Олар ETH немесе токендерді сақтай алады, сонымен қатар сақтай алады транзакцияларды желіде автономды түрде жіберу.

Кодпен және жалпы алғанда dApps қолданбасымен қалай әрекеттесуге болады

Пайдаланушылар транзакцияларды жіберу арқылы смарт келісімшарттармен өзара әрекеттесе алады олардың кодында анықталған функциялардың бірін іске қосыңыз. 

Сондықтан, Ethereum-да смарт келісімшарттардың жұмыс істеуі әдетте өте қарапайым: белгілі бір түрдегі транзакцияны смарт-келісімшартқа жіберіңіз, бұл смарт келісім-шарттың функциясында қамтылған барлық нұсқауларды түйіндердің орындауына себепші болады. транзакцияның өзі. 

Әлбетте, шақырылған функцияда қандай нұсқаулар қамтылғанына байланысты, тек смарт келісімшарттан смарт келісімшартқа ғана емес, сонымен қатар функциядан функцияға дейін өзгеретін өте әртүрлі салдар тудыруы мүмкін. 

Сондықтан смарт келісімшарттардың орасан күрделілігі, жалпы алғанда, Ethereum желісі оларды қолдайтын және орындайтын фактіден емес, жеке смарт келісімшарттардың не істейтінінен туындайды. Сонымен қатар, желідегі смарт келісім-шарттардың барлық түрлері қалай жұмыс істейтінін тізіп шығу мүлдем мүмкін емес. 


Дереккөз: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/