Ethereum. ինչպե՞ս են աշխատում խելացի պայմանագրերը:

Խելացի պայմանագրերը հիմնական հատկանիշն են, որն այդքան հաջողակ է դարձրել Ethereum-ը: 

Ինչ են խելացի պայմանագրերը և ինչի համար են դրանք

Bitcoin արձանագրությունը չի նախատեսում հնարավորություն ստեղծելով իսկապես բարդ խելացի պայմանագրեր, քանի որ այն հիմնականում նախատեսված էր միայն գործարքներ իրականացնելու համար: 

Ի հակադրություն, Ethereum-ը, որը ծնվել է բիթքոյնից 6 տարի անց, ի սկզբանե նախագծվել է որպես ցանց, որն ունակ է. խելացի պայմանագրերի հոստինգ և կատարում

2014 թվականին Ethereum-ի համահիմնադիր Vitalik Buterin հստակորեն գրել է Տեխնիկական բնութագիր որ ցանցը, որը նա նախագծում էր, ա հաջորդ սերնդի հարթակ, որը հիմնված է խելացի պայմանագրերի վրա, և որ Bitcoin-ի այլընտրանքային հավելվածները, որոնք հիմնված են բլոկչեյն տեխնոլոգիայի վրա, ներառում էին նաև թվային ակտիվների օգտագործումը հատուկ արժույթների և ֆինանսական գործիքների, չփոխարինելի ակտիվների և ավելի բարդ հավելվածների ներկայացման համար: 

Մասնավորապես, վերջիններս, այսինքն՝ խելացի պայմանագրերը, սահմանվել են որպես թվային ակտիվների անմիջական վերահսկում կամայական կանոններ կիրառող կոդով պարունակող հավելվածներ կամ բլոկչեյնի վրա հիմնված ապակենտրոնացված ինքնավար կազմակերպություններ, այսպես կոչված: DAO- ները.  

Վիտալիկը գրել է. 

«Այն, ինչ Ethereum-ը մտադիր է տրամադրել, բլոկչեյն է՝ ներկառուցված Turing-ով ամբողջական ծրագրավորման լեզվով, որը կարող է օգտագործվել «պայմանագրեր» ստեղծելու համար, որոնք կարող են օգտագործվել կամայական վիճակի անցումային գործառույթները կոդավորելու համար՝ թույլ տալով օգտվողներին ստեղծել վերը նկարագրված համակարգերից որևէ մեկը: – ինչպես նաև շատ ուրիշներ, որոնք մենք դեռ չենք պատկերացրել, պարզապես մի քանի տող կոդով տրամաբանություն գրելով»:

Այսպիսով, Ethereum-ի վրա խելացի պայմանագրերը կոդերի տողեր են, որոնց միջոցով հնարավոր է ծրագրավորել հրահանգների ավտոմատ կատարումը ցանցի կողմից, երբ որոշակի պայմաններ են պահպանվում, առանց միջնորդի վստահելու դրանց կատարումը։

Փաստորեն, ինքը՝ Բուտերինը, չակերտների մեջ դրեց «պայմանագրեր» տերմինը, քանի որ կողմերի միջև իրական պայմանագրերի փոխարեն դրանք համակարգչային ծրագրեր, որոնք իրականացվում են ապակենտրոնացված կազմակերպության կողմից ցանցում: 

Ընդհանուր տեսակետից, հետեւաբար, դրանց շահագործումը այնքան էլ բարդ չէ։ 

խելացի պայմանագիր
Խելացի պայմանագրերը կնքվում են այնտեղ պարունակվող պայմանների ստուգումից հետո

Խելացի պայմանագրերի տեղակայում Ethereum բլոկչեյնում

Նախևառաջ, մեկ կամ մի քանի ծրագրավորողներ պետք է ակնհայտորեն ստեղծեն խելացի պայմանագիրը՝ գրելով կոդերի համապատասխան տողերը, այնուհետև նրանք պետք է. ուղարկել այն Ethereum ցանցին: 

Տեխնիկական առումով այն Ethereum բլոկչեյնում հրապարակելը նշանակում է ցանցի բոլոր հանգույցներին ստիպել ստանալ և կատարել այն: Հրապարակվելուց հետո դրա բոլոր հրահանգները միշտ կկատարվեն բոլոր հանգույցների կողմից ճիշտ նույն ձևով: 

Հետեւաբար, ոչ միայն դրա հրապարակումը, այլեւ հրահանգների կատարումն անշրջելի է երբ այն հրապարակվի բլոկչեյնում: 

Հետևաբար, կարևորն այն հրահանգներն են, որոնք պարունակում են, որոնք կարող են լինել ամենատարբերը և քանի մարդ է օգտագործում այն: Իրոք, որպեսզի խելացի պայմանագրի հրահանգները իրականում կատարվեն, պետք է լինեն մեկ կամ մի քանի գործարքներ, որոնք վկայակոչում են դրանք

Հարկ է նաև հիշել, որ այս հրահանգները սովորաբար ներառում են ռեսուրսների օգտագործում, ինչպիսիք են տվյալները կամ նշանները, որպեսզի դրանք իրականում կատարվեն, անհրաժեշտության դեպքում սահմանված բոլոր պայմանները պետք է պահպանվեն: 

Երբեմն այս տվյալները գալիս են դրսից՝ այսպես կոչված օրակուլների շնորհիվ, մինչդեռ երբեմն դրանք պարզապես բխում են բլոկչեյնի գործարքներից։ 

Սովորաբար, գործարքը, որը խթանում է խելացի պայմանագրում պարունակվող հրահանգների կատարումը ներառում է վճարում ա վճարը ETH-ում, և շատ դեպքերում, որպեսզի իրականում գործարկվի իրականացումը, ներառում է նաև խելացի պայմանագրին կամ այլ խելացի պայմանագրերին հատուկ նշանների վճարում կամ ուղարկում: 

Տեխնիկապես, խելացի պայմանագրերը հաշվի մի տեսակ են Ethereum blockchain- ը, «վերահսկվում է» ցանցի, այլ ոչ թե կենտրոնական կազմակերպության կողմից: Նրանք կարող են պահել ETH կամ նշաններ, ինչպես նաև կարող են ուղարկել գործարքներ ցանցում ինքնուրույն:

Ինչպես շփվել կոդի և ավելի ընդհանուր առմամբ dApps-ի հետ

Օգտագործողները կարող են փոխազդել խելացի պայմանագրերի հետ՝ ուղարկելով գործարքներ, որոնք գործարկել իրենց կոդի մեջ սահմանված գործառույթներից մեկը: 

Հետևաբար, Ethereum-ի վրա խելացի պայմանագրերի գործարկումը, ընդհանուր առմամբ, շատ պարզ է. պարզապես ուղարկեք որոշակի տեսակի գործարք խելացի պայմանագրին, և դա կսկսի կատարել խելացի պայմանագրի գործառույթում պարունակվող բոլոր հրահանգների հանգույցների կողմից: գործարքն ինքնին: 

Ակնհայտ է, որ կախված նրանից, թե որ հրահանգներն են պարունակվում գործարկվող ֆունկցիայի մեջ, կարող են առաջանալ շատ տարբեր հետևանքներ, որոնք տատանվում են ոչ միայն խելացի պայմանագրից մինչև խելացի պայմանագիր, այլև գործառույթից գործառույթ: 

Հետևաբար, խելացի պայմանագրերի հսկայական բարդությունը բխում է հենց այն բանից, թե ինչ են անում առանձին խելացի պայմանագրերը, և ոչ ընդհանրապես այն փաստից, որ Ethereum ցանցն աջակցում և կատարում է դրանք: Ավելին, բացարձակապես անհնար է թվարկել, թե իրականում ինչպես են աշխատում ցանցի բոլոր տեսակի խելացի պայմանագրերը: 


Աղբյուր՝ https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/