Nhanganyaya yeSmart Contracts

Muchikamu chino, tichatarisa kuti zvibvumirano zvipi, kuti chii, tichazivana nemapuratifomu akasiyana echibvumirano, maitiro avo, uye zvakare kukurukura mashandiro avanoita uye kuti ndezvipi zvakanakira zvavanogona kuunza. Nyaya iyi ichave yakakosha kune vaverengi vasina kunyatsoziva musoro wezvibvumirano zvakangwara, asi vanoda kuswedera pedyo nekuinzwisisa.

Regular contract vs. smart contract

Tisati taongorora zvakadzama, ngatitorei muenzaniso wemisiyano pakati pechibvumirano chenguva dzose, chinotsanangurwa pabepa, uye kondirakiti yakangwara, inomiririrwa nedhijitari.

Nhanganyaya yeSmart Contracts

Izvi zvakashanda sei kusati kwauya zvibvumirano zvekuchenjera? Fungidzira boka revanhu vanoda kumisa mimwe mitemo uye mamiriro ekugoverwa kwehukoshi, pamwe neimwe nzira yekuvimbisa kuzadzikiswa kwekugovera uku maererano nemitemo yakapihwa uye mamiriro. Vaibva vaungana, vonyora bepa ravakanyora pasi zviziviso zvavo, mazwi, hunhu hunosanganisirwa, vonyora misi uye vasaina. Kondirakiti iyi zvakare yakasimbiswa nebato rakavimbika, senge notary. Uyezve, vanhu ava vakaenda nenzira dzakasiyana nepepa ravo rechibvumirano chakadaro uye vakatanga kuita zvimwe zviito zvingave zvisingaenderani nechibvumirano chacho, kureva kuti, vakaita chinhu chimwe, asi papepa zvakasimbiswa kuti vaifanira kuita chimwe chinhu. zvakasiyana zvachose. Uye sei kubuda mumamiriro ezvinhu aya? Muchokwadi, mumwe wenhengo dzeboka anofanirwa kutora bepa iri, kutora humbowo, kuenda nahwo kumatare uye kuzadzisa kutevedzana pakati pekondirakiti nezviito chaizvo. Kazhinji, zvakaoma kuita zvakanaka kuita kwechibvumirano ichi, izvo zvinotungamira kune zvisingafadzi mhedzisiro.

Chii chingataurwa pamusoro pezvibvumirano zvakangwara? Ivo vanosanganisa zvese mukana wekunyora zvirevo zvekondirakiti uye nzira yekushandisa kwavo kwakasimba. Kana mamiriro acho akaiswa uye chibvumirano chinoenderana kana chikumbiro chakasainwa, ipapo kana chikumbiro ichocho kana kutengeserana kwave kugamuchirwa, hazvichagoneki kushandura mamiriro kana kukanganisa kuita kwavo.

Pane imwe inosimbisa kana network yese, pamwe nedatabase inochengeta zvese smart zvibvumirano zvakaunzwa kuti zviitwe mukutevedzana kwakasimba. Izvo zvakakoshawo kuti iyi dhatabhesi inofanirwa kunge iine ese anokonzeresa mamiriro ekuita smart kontrakiti. Mukuwedzera, inofanirwa kufunga nezve kukosha kwayo iyo kugoverwa kwayo kunotsanangurwa muchibvumirano. Kana izvi zvichishanda kune imwe mari yedhijitari, saka iyi database inofanira kuitora.

Mune mamwe mazwi, smart contract validators inofanirwa kuwana data rese iro smart contract inoshanda pairi. Semuyenzaniso, dhatabhesi rimwe chete rinofanirwa kushandiswa kuverengera mari dzedhijitari panguva imwe chete, zviyero zvevashandisi, mashandisirwo emushandisi, uye zvitambi zvenguva. Zvadaro, muchibvumirano chekuchenjera, mamiriro acho angava chiyero chemushandisi mune imwe mari, kusvika kweimwe nguva, kana kuti imwe kutengeserana yakaitwa, asi hapana chimwezve.

Tsanangudzo yechibvumirano chakangwara

Kazhinji, izwi racho pacharo rakagadzirwa nemuongorori Nick Szabo uye rakatanga kushandiswa muna 1994, uye rakanyorwa muna 1997 muchinyorwa chinotsanangura iro zano chairo rezvibvumirano zvakangwara.

Zvibvumirano zveSmart zvinoreva kuti kumwe otomatiki kwekugovera kukosha kunoitwa, izvo zvinogona kungoenderana nemamiriro ezvinhu akafanotemerwa. Mune chimiro chayo chakareruka, chinotaridzika sechibvumirano chine mazwi akanyatsotsanangurwa, ayo anosainwa nemamwe mapato.

Zvibvumirano zveSmart zvakagadzirirwa kuderedza kuvimba kune vechitatu mapato. Dzimwe nguva nzvimbo yekuita sarudzo inotsamira pane zvese inobviswa zvachose. Mukuwedzera, zvibvumirano zvakadaro zviri nyore kuongorora. Izvi zvinokonzeresa mamwe magadzirirwo ehurongwa hwakadaro, asi kazhinji isu tinonzwisisa nechibvumirano chakangwara nharaunda yakasarudzika uye kuvapo kwemabasa anobvumira chero munhu kuongorora dhatabhesi uye kuita ongororo yakazara yekuitwa kwezvibvumirano. Izvi zvinova nechokwadi chekuchengetedzwa kubva kune retroactive data shanduko iyo inogona kusanganisira shanduko mukuita kwekondirakiti pachayo. Digitization yemaitiro mazhinji kana uchigadzira uye kutanga kontrakiti yakangwara kazhinji inorerutsa tekinoroji uye mutengo wekuita kwavo.

Muenzaniso wakapfava - Escrow service

Ngatitarisei muenzaniso wakapfava. Ichakubatsira kuti uswedere pedyo nekunzwisisa kushanda kwezvibvumirano zvakachenjera, pamwe nekunzwisisa zviri nani mumamiriro ezvinhu aanofanira kushandiswa.

Nhanganyaya yeSmart Contracts

Inogona zvakare kuitwa uchishandisa Bitcoin, kunyangwe izvozvi Bitcoin haigone kunzi yakazara-yakazara chikuva chezvibvumirano zvakangwara. Saka, isu tine mutengi uye tine online chitoro. Mutengi anoda kutenga chekutarisa kubva muchitoro ichi. Muchiitiko chakareruka, mutengi anozadza uye anotumira mubhadharo, uye chitoro chepamhepo chinochigamuchira, chinochisimbisa, uye ipapo chinotakura zvinhu. Zvisinei, mumamiriro ezvinhu aya pane chido chekuvimba kukuru - mutengi anofanira kuvimba nechitoro chendaneti chemutengo wose wekutarisa. Sezvo chitoro chendaneti chinogona kunge chine mukurumbira wakaderera mumeso emutengi, pane njodzi yekuti nekuda kwechimwe chikonzero, mushure mekugamuchira kubhadhara, chitoro chicharamba basa uye hachizotumiri zvinhu kune mutengi. Nokudaro, mutengi anobvunza mubvunzo (uye, maererano naizvozvo, chitoro chendaneti chinobvunza mubvunzo uyu) chii chinogona kushandiswa munyaya iyi kuitira kuderedza njodzi dzakadaro uye kuita kuti kutengeserana kwakadaro kuve kwakavimbika.

Munyaya yeBitcoin, zvinokwanisika kubvumira mutengi uye mutengesi kuzvimiririra kusarudza murevereri. Kune vanhu vakawanda vanobatanidzwa mukugadzirisa nyaya dzinonetsa. Uye vatori vechikamu vedu vanogona kusarudza kubva kune yakajairwa rondedzero yevayananisi uyo wavanovimba naye. Pamwe chete vanogadzira 2 ye3 multisignature kero uko kune makiyi matatu uye maviri masiginecha ane chero makiyi maviri anodiwa kushandisa mari kubva kune iyo kero. Kiyi imwe ichave yemutengi, yechipiri kune online chitoro, uye yechitatu kumurevereri. Uye kune yakadaro multisignature kero mutengi anotumira iyo mari inodiwa kubhadhara iyo yekutarisa. Iye zvino, kana mutengesi achiona kuti mari yakavharwa kwenguva yakati pakero yakawanda inotsamira paari, anogona kutumira mutariri netsamba zvakachengeteka.

Zvadaro, mutengi anogamuchira pasuru, oongorora zvinhu uye anoita sarudzo pakutenga kwekupedzisira. Anogona kubvumirana zvachose nebasa rakapiwa uye kusaina kutengeserana nekiyi yake, kwaanotamisa mari kubva kukero yakawanda kune mutengesi, kana kuti angave asina kugutsikana nechimwe chinhu. Muchiitiko chechipiri, anobata murevereri kuti aise pamwe imwe nzira yekutengeserana iyo inogovera iyo mari zvakasiyana.

Ngatitii iyo yekutarisa yakasvika zvishoma yakakweshwa uye kit haina kubatanidza tambo yekubatanidza kune komputa, kunyangwe iyo yepamhepo chitoro webhusaiti yakati tambo inofanirwa kuverengerwa mukiti. Ipapo mutengi anounganidza humbowo hunodiwa kuratidza kumurevereri kuti akanyengerwa mumamiriro ezvinhu aya: anotora zvidzitiro zvesaiti, anotora mufananidzo werisiti yetsamba, anotora mufananidzo wezvikwangwani pamonitor uye anoratidza kuti chisimbiso chaive. rikadamburwa uye tambo yakaburitswa panze. Iyo online chitoro, zvakare, inounganidza humbowo hwayo uye inohuendesa kumurevereri.

Muyananisi anofarira panguva imwe chete kugutsa kutsamwa kwemutengi uye zvinofarirwa nechitoro chepamhepo (zvichave pachena kuti nei gare gare). Inoita kutengeserana uko mari kubva kukero yemasaini akawanda ichashandiswa mune imwe chikamu pakati pemutengi, chitoro chepamhepo uye murevereri, sezvo anozvitorera chikamu semubairo webasa rake. Ngatitii 90% yemari yese inoenda kumutengesi, 5% kumurevereri uye 5% muripo kune mutengi. Murevereri anosaina kutengeserana uku nekiyi yake, asi haisati yagona kushandiswa, nekuti inoda masaini maviri, asi imwe chete ndiyo yakakosha. Inotumira kutengeserana kwakadaro kune vose mutengi uye mutengesi. Kana mumwe wavo achigutsikana nesarudzo iyi yekugoverazve mari, ipapo kutengeserana kunenge kwasati kwasaina uye kugoverwa kune network. Kuti uzvisimbise, zvakakwana kuti mumwe wemapato ekutengeserana anobvumirana nesarudzo yemurevereri.

Zvakakosha kutanga kusarudza murevereri kuitira kuti vatori vechikamu vose vavimbe naye. Muchiitiko ichi, achaita akazvimirira pane zvido zveimwe kana imwe uye nekutarisa mamiriro acho ezvinhu. Kana murevereri akasapa sarudzo yekugovera mari inogutsa angangoita munhu mumwe chete, saka, mushure mekubvumirana pamwe chete, mutengi uye chitoro chepamhepo vanogona kutumira mari yacho kukero nyowani yakawanda nekuisa masaini avo maviri. Iyo itsva multisignature kero ichaunganidzwa nemurevereri wakasiyana, uyo angave akanyanya kugona mune iyo nyaya uye anopa sarudzo iri nani.

Muenzaniso une dormitory uye firiji

Ngatitarisei muenzaniso wakaoma unoratidza kugona kwechibvumirano chakangwara zvakajeka.

Nhanganyaya yeSmart Contracts

Ngatitii kune vakomana vatatu vachangobva kutamira mukamuri imwechete yedorm. Vatatu vacho vanofarira kutenga firiji yekamuri yavo iyo vanogona kushandisa vese. Mumwe wavo akazvipira kunotora mari yaidiwa kuti atenge firiji uye ataurirane nemutengesi. Zvisinei, vakangosangana nguva pfupi yapfuura uye hapana kuvimba kwakakwana pakati pavo. Zviripachena, vaviri vavo vari kutora njodzi nekupa mari kune wechitatu. Mukuwedzera, vanofanira kusvika pakubvumirana pakusarudza mutengesi.

Vanogona kushandisa sevhisi yekukwevera, ndiko kuti, sarudza murevereri anozoongorora kuitwa kwekutengeserana uye kugadzirisa nyaya dzine gakava kana paine. Ipapo, vabvumirana, vanogadzira kondirakiti yakangwara uye vanonyora mamwe mamiriro mairi.

Mamiriro ekutanga ndeekuti imwe nguva isati yasvika, taura mukati mevhiki imwe chete, iyo inoenderana smart kontrakiti account inofanirwa kugamuchira matatu mubhadharo kubva kune mamwe makero kune imwe mari. Kana izvi zvikasaitika, kondirakiti yakangwara inomira kuita uye inodzosera mari kune vese vatori vechikamu. Kana mamiriro acho akazadzikiswa, ipapo hunhu hwemutengesi nemurevereri hunoiswa, uye mamiriro anotariswa kuti vese vatori vechikamu vanobvumirana nesarudzo yemutengesi nemurevereri. Kana mamiriro ese asangana, ipapo mari ichaendeswa kune akatarwa kero. Iyi nzira inogona kudzivirira vatori vechikamu kubva kuhutsotsi kubva kune chero divi uye kazhinji inobvisa kukosha kwekuvimba.

Isu tinoona mumuenzaniso uyu musimboti chaiwo wekuti kugona uku nhanho-ne-nhanho kuseta paramita yekuzadzisa mamiriro ega ega inobvumidza iwe kugadzira masisitimu echero kuoma uye kudzika kwemazinga akaiswa. Mukuwedzera, iwe unogona kutanga watsanangura mamiriro ekutanga muchibvumirano chakangwara, uye chete mushure mekuzadzika kwayo iwe unogona kuseta ma parameter eiyo inotevera mamiriro. Mune mamwe mazwi, mamiriro acho akanyorwa zviri pamutemo, uye maparameter ayo anogona kuiswa kare panguva yekushanda kwayo.

Kurongwa kwezvibvumirano zvakangwara

Pakurongedza, unogona kuseta mapoka akasiyana ezviyero. Nekudaro, panguva yekuvandudza tekinoroji, ina dzadzo dzakakodzera.

Zvibvumirano zveSmart zvinogona kusiyaniswa nenharaunda yavo yekuuraya, iyo inogona kunge iri pakati kana kupatsanurwa. Panyaya yekuendesa matunhu, isu tine rusununguko rwakakura uye kushivirira kukanganisa pakuita zvibvumirano zvakangwara.

Vanogonawo kusiyaniswa nemaitiro ekugadzirisa uye kuzadzisa mamiriro: anogona kuve akasununguka kurongwa, akaganhurirwa kana kufanotsanangurwa, i.e. akanyatsotaipa. Kana paine chete mana chaiwo akangwara zvibvumirano pane smart kontrakiti papuratifomu, iyo paramita yavo inogona kusetwa chero nzira. Saizvozvo, kudziisa kuri nyore kwazvo: isu tinosarudza kondirakiti kubva pane iyo rondedzero uye tipfuure iyo parameter.

Zvinoenderana nemaitiro ekutanga, kune otomatiki smart zvibvumirano, ndiko kuti, kana mamwe mamiriro aitika, ivo vanozviita, uye kune zvibvumirano umo mamiriro akatsanangurwa, asi chikuva hachingotarisi kuzadzisa kwavo; nekuti izvi vanozviita. zvinoda kutangwa zvakasiyana.

Pamusoro pezvo, zvibvumirano zvakangwara zvinosiyana padanho ravo rekuvanzika. Inogona kunge yakavhurika zvachose, zvishoma kana zvakavanzika zvachose. Iyo yekupedzisira inoreva kuti vechitatu-bato vanocherekedza havaoni zvirevo zvezvibvumirano zvakangwara. Nekudaro, iyo nyaya yekuvanzika yakakura kwazvo uye zviri nani kuifunga zvakasiyana kubva kune yazvino chinyorwa.

Pazasi isu tichanyatso tarisisa matanho matatu ekutanga kuunza kujeka kwakawanda pakunzwisisa kwechinyorwa chazvino.

Smart makondirakiti nenguva yekumhanya

Nhanganyaya yeSmart Contracts

Zvichienderana nenharaunda yekuuraya, mutsauko unoitwa pakati pepakati uye decentralized smart contract mapuratifomu. Panyaya yepakati pezvibvumirano zvedhijitari, sevhisi imwe chete inoshandiswa, uko kune imwe chete inosimbisa uye panogona kunge paine backup uye kudzoreredza sevhisi, iyo zvakare inotungamirwa nepakati. Pane imwe dhatabhesi inochengeta ruzivo rwese rwunodiwa kuseta mazwi echibvumirano chakangwara uye kugovera kukosha kunocherechedzwa mune ino chaiyo sevhisi dhatabhesi. Sevhisi yakadai yepakati ine mutengi anoisa mamiriro nezvimwe zvikumbiro uye anoshandisa zvibvumirano zvakadaro. Nekuda kwenzvimbo yepakati pepuratifomu, nzira dzekusimbisa dzinogona kunge dzisina kuchengetedzeka kupfuura mune cryptocurrencies.

Semuenzaniso, isu tinogona kutora nharembozha vanopa (vakasiyana nhare mbozha). Ngatitii mumwe mutyairi anochengeta rekodhi rekodhi retraffic pamaseva ayo, anogona kufambiswa nenzira dzakasiyana, semuenzaniso: nenzira yekufona kwezwi, kutumira maSMS, nharembozha yeInternet traffic, uye zvinoenderana nematanho akasiyana, uye zvakare anochengeta zvinyorwa. yemari pamasara evashandisi. Nekuda kweizvozvo, mupi wenharembozha anogona kugadzira zvibvumirano zve accounting kune masevhisi anopihwa uye kubhadhara kwavo nemamiriro akasiyana. Muchiitiko ichi, zviri nyore kuseta mamiriro akaita se "kutumira SMS neicho uye kodhi kune yakadaro nenhamba uye iwe uchagashira akadaro uye akadaro mamiriro ekugovera traffic."

Mumwe muenzaniso unogona kupihwa: echinyakare mabhangi ane akawedzera mashandiro eInternet banking uye zvibvumirano zvakapusa senge mubhadharo wenguva dzose, kutendeuka otomatiki kwemubhadharo unouya, kubvisa otomatiki kwemubereko kuakaundi yakatarwa, nezvimwe.

Kana isu tiri kutaura nezve akangwara zvibvumirano ane decentralized execution nharaunda, saka isu tine boka revanosimbisa. Sezvineiwo, chero munhu anogona kuve ari validator. Nekuda kweiyo dhatabhesi synchronization protocol uye kusvika pakubvumirana, isu tine imwe yakajairwa dhatabhesi iyo ikozvino ichachengeta zvese zvekutengeserana zvine zvakanyatsotsanangurwa zvibvumirano, uye kwete mimwe mibvunzo ine zvirevo, mafomati ayo anowanzo chinja, uye hapana yakavhurika yakatarwa. Pano, kutengeserana kuchava nemirairo yekuita kontrakiti maererano nekutemerwa kwakasimba. Iyi rondedzero yakavhurika uye, saka, vashandisi vepuratifomu ivo pachavo vanogona kuongorora uye kusimbisa zvibvumirano zvakangwara. Pano tinoona kuti mapuratifomu akaremerwa akakwirira kune epakati maererano nekuzvimirira uye kushivirira kukanganisa, asi dhizaini nekugadzirisa kwavo kwakanyanya kuoma.

Smart zvibvumirano nenzira yekugadzirisa uye kuzadzisa mamiriro

Iye zvino ngatitarisei zvakanyanya kuti zvibvumirano zvakangwara zvinogona kusiyana sei nenzira yavanoisa nekuzadzisa mamiriro. Pano isu tinotendeudzira kutarisa kwedu kune akangwara zvibvumirano izvo zvisingaite programmable uye Turing yakakwana. Turing-yakazara smart kontrakiti inokutendera iwe kuseta chero algorithms semamiriro ekuita kwekondirakiti: nyora denderedzwa, mamwe mabasa ekuverenga zvingangoitika, nezvimwe zvakadaro - kusvika kune yako wega yemagetsi siginecha algorithms. Muchiitiko ichi, tinoreva kunyora zvisina tsarukano kwezvine musoro.

Kune zvakare zvekupokana akangwara zvibvumirano, asi kwete Turing yakakwana. Izvi zvinosanganisira Bitcoin uye Litecoin vane script yavo. Izvi zvinoreva kuti iwe unogona kushandisa chete mamwe mashandiro mune chero kurongeka, asi hauchakwanisa kunyora zvishwe uye ako wega algorithms.

Pamusoro pezvo, kune akangwara makondirakiti mapuratifomu anoshandisa pre-yakatsanangurwa smart zvibvumirano. Izvi zvinosanganisira Bitshares uye Steemit. Bitshares ine huwandu hwezvibvumirano zvakangwara zvekutengesa, account manejimendi, manejimendi epuratifomu pachayo nemaparamita ayo. Steemit ipuratifomu yakafanana, asi haichatarise kuburitsa tokeni nekutengesa, seBitshares, asi pakubhuroga, kureva kuti inochengeta uye inogadzirisa zvirimo nenzira yakasarudzika.

Arbitrary Turing-yakakwana zvibvumirano zvinosanganisira Ethereum chikuva uye RootStock, iyo ichiri pasi pekuvandudzwa. Nokudaro, pasi apa tichagara mune zvishoma zvishoma pane Ethereum smart contract platform.

Smart zvibvumirano nenzira yekutanga

Zvichienderana nemaitiro ekutanga, zvibvumirano zvakangwara zvinogona zvakare kukamurwa kuita angangoita mapoka maviri: otomatiki uye manyorerwo (kwete otomatiki). Otomatiki anoratidzirwa neidi rekuti, kupihwa ese anozivikanwa maparamendi uye mamiriro, iyo smart kontrakiti inoitwa zvachose otomatiki, ndiko kuti, haidi kutumira chero humwe kutengeserana uye kushandisa imwe komisheni pane imwe neimwe inotevera kuurayiwa. Iyo puratifomu pachayo ine data rese rekuverenga kuti kontrakiti yakangwara ichapedza sei. Pfungwa iripo haisi yekupokana, asi yakafanotemerwa uye zvese izvi zvinofanotaurwa. Izvi zvinoreva kuti iwe unogona kufanofungidzira kuoma kwekuita kontrakiti yakangwara, shandisa imwe mhando yekomisheni inogara iripo kwairi, uye maitiro ese ekuita kwayo anoshanda zvakanyanya.

Kune zvibvumirano zvakangwara zvakarongwa zvakasununguka, kuuraya hakuna otomatiki. Kuti utange chibvumirano chakangwara chakadaro, padanho rega rega iwe unofanirwa kugadzira dhizaini nyowani, iyo inodaidza inotevera nhanho yekuuraya kana inotevera smart kontrakiti nzira, bhadhara komisheni yakakodzera uye mirira kuti kutengeserana kusimbiswe. Kuuraya kunogona kupedzisa zvinobudirira kana kuti kwete, nekuti iyo smart contract kodhi inopokana uye dzimwe nguva dzisingafungidzike dzinogona kuoneka, senge chiuno chisingaperi, kushaikwa kwemamwe maparamendi uye kupokana, kusagadziriswa, nezvimwe.

Ethereum Accounts

Ethereum Account Types

Ngatitarisei kuti ndeapi marudzi emaakaundi anogona kuve pane Ethereum papuratifomu. Kune marudzi maviri chete emaakaundi pano uye hapana dzimwe sarudzo. Rudzi rwekutanga runonzi account yemushandisi, yechipiri iaccount account. Ngationei kuti vanosiyana sei.

Iyo account yemushandisi inodzorwa chete nekiyi yega yemagetsi siginecha. Muridzi weakaunti anogadzira yake kiyi mbiri yemagetsi siginecha achishandisa ECDSA (Elliptic Curve Digital Signature Algorithm) algorithm. Chete kutengeserana kwakasainwa nekiyi iyi kunogona kushandura mamiriro eakaundi ino.

Yakasiyana logic inopihwa kune smart kontrakiti account. Inogona chete kudzorwa neyakafanotsanangurwa software kodhi iyo inonyatso sarudza maitiro eiyo smart kontrakiti: mabatiro aachaita mari yayo mune mamwe mamiriro ezvinhu, panguva yekutanga yemushandisi uye pasi pemamwe mamiriro ekuwedzera aya mari achagoverwa. Kana mamwe mapoinzi asina kupihwa nevagadziri mukodhi yepurogiramu, matambudziko anogona kumuka. Semuyenzaniso, kondirakiti yakangwara inogona kugamuchira imwe nyika umo isingabvumi kutangwa kwekuwedzera kuurayiwa kubva kune chero vashandisi. Muchiitiko ichi, mari yacho ichave yakaomeswa nechando, nekuti chibvumirano chakangwara hachipi zvekubuda munyika iyi.

Maakaundi anogadzirwa sei paEthereum

Panyaya yeakaundi yemushandisi, muridzi anozvimiririra anogadzira maviri akakosha achishandisa ECDSA. Izvo zvakakosha kuti uzive kuti Ethereum inoshandisa iyo yakafanana algorithm uye iyo yakafanana elliptic curve yemasiginecha emagetsi seBitcoin, asi kero inoverengerwa nenzira yakati siyanei. Pano, mhedzisiro yehashing mbiri haichashandiswi, seBitcoin, asi hashing imwe chete inopiwa neKeccak basa pakureba kwe256 bits. Iwo mashoma akakosha mabhiti akagurwa kubva kune inokonzeresa kukosha, kureva iyo isinganyanyi kukosha 160 mabhiti eiyo inobuda hashi kukosha. Somugumisiro, tinowana kero muEthereum. Muchokwadi, zvinotora makumi maviri ebyte.

Ndokumbira utarise kuti iyo account identifier muEthereum yakavharirwa muhex pasina kushandisa cheki, kusiyana neBitcoin nemamwe masisitimu mazhinji, uko kero yakavharwa mu base 58 nhamba system pamwe nekuwedzerwa kwecheki. Izvi zvinoreva kuti iwe unofanirwa kuchenjerera kana uchishanda neakaundi identifiers muEthereum: kunyangwe chikanganiso chimwe chete mukuzivikanwa chinovimbiswa kutungamirira mukurasikirwa kwemari.

Pane chinhu chakakosha uye ndechekuti account yemushandisi padanho redhatabhesi inogadzirwa panguva yaanogamuchira mubhadharo wekutanga unouya.

Kugadzira yakangwara kontrakiti account kunotora nzira yakasiyana zvachose. Pakutanga, mumwe wevashandisi anonyora kodhi yekodhi yekontrakiti yakangwara, mushure meiyo kodeti inopfuudzwa kuburikidza neakakosha compiler yeEthereum papuratifomu, achiwana bytecode kune yayo Ethereum chaiyo muchina. Iyo inokonzeresa bytecode inoiswa mune yakakosha ndima yekutengeserana. Inosimbiswa pachinzvimbo cheakaundi yeanotanga. Tevere, kutengeserana uku kunoparidzwa mukati metiweki uye inoisa iyo smart contract kodhi. Komisheni yekutengeserana uye, nekudaro, yekuitwa kwekondirakiti inobviswa kubva pamari yeakaundi yeakatanga.

Imwe neimwe yakangwara kontrakiti inenge iine mugadziri wayo (wechibvumirano ichi). Inogona kunge isina kana kuti ine zviri mukati. Mushure mekunge muvaki aurayiwa, inogadzirwa yakangwara kondirakiti account identifier, uchishandisa iyo yaunogona kutumira mari, kufonera dzimwe nzira dzakangwara dzechibvumirano, nezvimwe.

Ethereum Transaction Structure

Kuti zvive zvakajeka, tichatanga kutarisa chimiro cheEthereum transaction uye muenzaniso smart contract code.

Nhanganyaya yeSmart Contracts

Kutengeserana kweEthereum kunosanganisira minda yakati wandei. Yekutanga yeiyi, kwete, imwe serial nhamba yekutengeserana inoenderana neakaundi pachayo inoiparadzira uye ndiye munyori wayo. Izvi zvinodikanwa kuitira kusiyanisa kutengeserana kaviri, ndiko kuti, kusabvisa nyaya kana kutengeserana kumwechete kuchigamuchirwa kaviri. Nekushandisa chiziviso, kutengeserana kwega kwega kune yakasarudzika hashi kukosha.

Kunotevera kunouya munda wakafanana mutengo wegesi. Izvi zvinoratidza mutengo weiyo Ethereum base currency inoshandurwa kuita gasi, iyo inoshandiswa kubhadhara kuurayiwa kwechibvumirano chakangwara uye kugoverwa kweiyo virtual machine resource. Zvinorevei?

MuBitcoin, mari inobhadharwa zvakananga nemari yepasi-Bitcoin pachayo. Izvi zvinogoneka nekutenda kune yakapfava meshini yekuvaverengera: isu tinobhadhara zvakanyanya kune huwandu hwe data iri mukutengesa. MuEthereum mamiriro acho akaoma, nokuti zvakaoma zvikuru kuvimba nehuwandu hwemashoko ekutengeserana. Pano, kutengeserana kunogonawo kunge kuine kodhi yepurogiramu iyo ichaitwa pamushini chaiwo, uye kushanda kwega kwega kwemuchina chaiwo kungave kwakasiyana kwakaoma. Kune zvakare maoparesheni anogovera ndangariro kune zvinoshanduka. Vachava nekuoma kwavo, uko kubhadhara kwekushanda kwega kwega kuchaenderana.

Mutengo wekushanda kwegasi mune gasi yakaenzana ichave yakagara. Iyo inounzwa zvakananga kuitira kuti uone mutengo unogara uripo wekushanda kwega kwega. Zvichienderana nemutoro pamambure, mutengo wegesi uchachinja, ndiko kuti, iyo coefficient maererano neiyo mari yekutanga ichashandurwa kuita iyi yekubatsira chikamu kubhadhara komisheni.

Pane chimwezve chiitiko chekutengeserana muEthereum: iyo bytecode iyo yainayo yekuurayiwa mumuchina chaiwo ichaitwa kusvika yapera neimwe mhedzisiro (kubudirira kana kutadza) kana kusvika imwe mari yakagoverwa yapera kubhadhara komisheni. . Izvo ndezvekudzivisa mamiriro ezvinhu apo, kana pane chimwe chikanganiso, mari yese kubva kuakaundi yeanotumira yakashandiswa pakutumwa (semuenzaniso, imwe mhando yekusingaperi kutenderera kwakatanga mumushini chaiwo), iyo inotevera ndima iripo - kutanga gasi (inowanzonzi gasi muganhu) - inotarisa huwandu hwemari yakawanda iyo mutumiri anoda kushandisa kuti apedze imwe kutengeserana.

Munda unotevera unonzi kero yekuenda. Izvi zvinosanganisira kero yeanotambira mari kana kero yekontrakiti yakangwara ine nzira dzinodanwa. Mushure mokuuya munda ukoshi, uko huwandu hwemari inotumirwa kune kero yekuenda inopindwa.

Inotevera inzvimbo inonakidza inonzi dhata, uko chimiro chose chinokodzera. Iyi haisi munda wakasiyana, asi chimiro chakazara umo iyo kodhi yemuchina chaiwo inotsanangurwa. Iwe unogona kuisa data risingabvumirwe pano - kune mitemo yakasiyana yeizvi.

Uye munda wekupedzisira unonzi siginicha. Iri panguva imwe chete ine zvese siginicha yemagetsi yemunyori wekutengeserana uku uye kiyi yeruzhinji iyo siginicha ino ichasimbiswa nayo. Kubva pakiyi yeruzhinji iwe unogona kuwana iyo account identifier yeanotumira kutengeserana uku, ndiko kuti, ratidza zvakasiyana account yeanotumira musystem pachayo. Takawana chinhu chikuru pamusoro pechimiro chekutengeserana.

Muenzaniso smart kontrakiti kodhi yeSolidity

Ngatitarisei zvakanyanya kune yakapusa smart kontrakiti tichishandisa muenzaniso.

contract Bank {
    address owner;
    mapping(address => uint) balances;
    
    function Bank() {
        owner = msg.sender;
    }

    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint amount) public {
        if (balances[msg.sender] >= amount) {
            balances[msg.sender] -= amount;
            msg.sender.transfer(amount);
        }
    }

    function getMyBalance() public view returns(uint) {
        return balances[msg.sender];
    }

    function kill() public {
        if (msg.sender == owner)
            selfdestruct(owner);
    }
}

Pamusoro pane yakareruka sosi kodhi iyo inogona kubata mari yevashandisi uye idzose painoda.

Saka, pane chibvumirano cheBhangi chakangwara chinoita mabasa anotevera: inounganidza mari pachiyero chayo, ndiko kuti, kana kutengeserana kunosimbiswa uye chibvumirano chakadaro chakangwara chinoiswa, nhoroondo itsva inogadzirwa iyo inogona kuva nemari pachiyero chayo; inorangarira vashandisi uye kugoverwa kwemari pakati pavo; ine nzira dzinoverengeka dzekugadzirisa zviyero, ndiko kuti, zvinokwanisika kuzadza, kubvisa uye kutarisa chiyero chemushandisi.

Ngatipfuurei nemutsetse wega wega wekodhadhi. Kondirakiti iyi ine minda inogara iripo. Imwe yacho, ine kero yerudzi, inonzi muridzi. Pano chibvumirano chinoyeuka kero yemushandisi akagadzira chibvumirano ichi chakangwara. Kupfuurirazve, kune chimiro chine simba chinochengetedza tsamba pakati pemakero evashandisi uye zviyero.

Izvi zvinoteverwa neBhangi nzira - ine zita rimwechete sechibvumirano. Naizvozvo, uyu ndiye mugadziri wayo. Apa muridzi anochinja anopihwa kero yemunhu akaisa iyi smart contract pane network. Izvi ndizvo chete zvinoitika mugadziri uyu. Izvi zvinoreva kuti, msg munyaya iyi ndiyo chaiyo data yakaendeswa kumuchina chaiwo pamwe chete nekutengeserana kune code yose yekontrakiti iyi. Saizvozvo, msg.sender ndiye munyori wekutengeserana uku ane kodhi iyi. Achave muridzi wekontrakiti yakangwara.

Iyo dhipoziti nzira inobvumidza iwe kuendesa imwe nhamba yemari kuaccount account nekutengeserana. Muchiitiko ichi, kondirakiti yakangwara, inogamuchira macoin aya, inoasiya pabalance sheet, asi inorekodha mumaitiro ezvikero kuti ndiani chaizvo aive akatumira mari idzi kuti azive kuti ndezvaani.

Nzira inotevera inonzi withdraw uye inotora parameter imwe - huwandu hwemari iyo munhu anoda kutora kubva kubhangi iri. Izvi zvinotarisa kana paine mari yakakwana musara remushandisi anodaidza nzira iyi kuti atumire. Kana pane zvakakwana kwavari, saka iyo smart contract pachayo inodzosera iyo nhamba yemari kune akafona.

Inotevera inouya nzira yekutarisa chiyero chemushandisi chazvino. Ani nani anodaidza nzira iyi achashandiswa kudzoreredza chiyero ichi muchibvumirano chekuchenjera. Zvinokosha kucherechedza kuti modifier nzira iyi maonero. Izvi zvinoreva kuti nzira yacho pachayo haishandure zvinoshanduka zvekirasi yayo chero nzira uye inongova nzira yekuverenga chete. Hapana kutengeserana kwakasiyana kunogadzirwa kudaidza iyi nzira, hapana muripo unobhadharwa, uye ese maverengero anoitwa munharaunda, mushure mezvo mushandisi anogamuchira mhedzisiro.

Iyo nzira yekuuraya inodiwa kuparadza mamiriro echibvumirano chakangwara. Uye pano pane chekuwedzera cheki kana akafona weiyi nzira ndiye muridzi wekondirakiti iyi. Kana zvakadaro, saka chibvumirano chinozviparadza, uye basa rekuparadza rinotora imwe parameter - iyo account identifier iyo chibvumirano chichatumira mari yose yakasara pachiyero chayo. Muchiitiko ichi, mari yakasara inongoenda kune kero yemuridzi wekondirakiti.

Ko node yakazara paEthereum network inoshanda sei?

Ngatitarisei schematically kuti zvibvumirano zvakadaro zvakangwara zvinoitwa sei paEthereum platform uye kuti yakazara network node inoshanda sei.

Nhanganyaya yeSmart Contracts

Node yakazara paEthereum network inofanira kuva nemamodule mana.
Yekutanga, kana iri chero decentralized protocol, ndiyo P2P networking module - module ye network yekubatanidza uye kushanda nemamwe ma node, uko mabhuraki, kutengeserana, uye ruzivo nezve mamwe ma node anotsinhaniswa. Ichi chikamu chetsika kune ese decentralized cryptocurrencies.

Tevere, isu tine module yekuchengetedza blockchain data, kugadzirisa, kusarudza bazi rekutanga, kuisa mabhuroki, kusunungura zvidhinha, kusimbisa aya mabhuroki, nezvimwe.

Yechitatu module inonzi EVM (Ethereum virtual muchina) - iyi iine virtual muchina inogamuchira bytecode kubva kuEthereum transactions. Iyi module inotora mamiriro azvino eimwe account uye inoita shanduko kumamiriro ayo zvichienderana neyakagamuchirwa bytecode. Iyo chaiyo muchina vhezheni pane yega yega network node inofanirwa kunge yakafanana. Kuverenga kunoitika pane imwe neimwe yeEthereum node yakafanana, asi inoitika nenzira isingachinjiki: mumwe munhu anotarisa uye anogamuchira kutengeserana uku kare, ndiko kuti, anoita kodhi yese irimo, uye mumwe munhu gare gare. Saizvozvo, kana kutengeserana kwagadzirwa, kunogoverwa kunetiweki, iyo node inobvuma, uye panguva yekusimbisa, nenzira imwechete iyo Bitcoin Script inoitwa muBitcoin, iyo bytecode yemuchina chaiwo inoitwa pano.

Kutengeserana kunoonekwa sekwakasimbiswa kana kodhi yese irimo yaitwa, mamiriro matsva eimwe account akagadzirwa uye akachengetwa kusvikira zvave pachena kana kutengeserana uku kwashandiswa kana kwete. Kana kutengeserana kuchishandiswa, saka nyika iyi inofungidzirwa kwete chete yapera, asiwo ikozvino. Kune dhatabhesi inochengeta mamiriro eakaundi yega yega kune yega network node. Nekuda kwekuti kuverenga kwese kunoitika nenzira imwechete uye mamiriro e blockchain akafanana, dhatabhesi rine nyika dzeakaundi ese richavewo zvakafanana kune imwe neimwe node.

Ngano uye zvisingakwanisi zvibvumirano zvakangwara

Kana zviri zvirambidzo zviripo kune smart contract mapuratifomu akafanana neEthereum, zvinotevera zvinogona kutaurwa:

  • code execution;
  • allocate memory;
  • blockchain data;
  • tumira mari;
  • kugadzira chibvumirano chitsva;
  • fonera mamwe makondirakiti.

Ngatitarisei zvirambidzo zvinotemerwa pamushini chaiwo, uye, zvinoenderana, bvisa dzimwe ngano nezve smart zvibvumirano. Pamushini chaiwo, unogona kunge usiri muEthereum chete, asiwo mumapuratifomu akafanana, unogona kuita mashandiro echokwadi ane musoro, ndiko kuti, nyora kodhi uye ichaitwa ipapo, unogona kugovera ndangariro. Nekudaro, muripo unobhadharwa wakaparadzana kune yega yega oparesheni uye kune yega yega yekuwedzera unit yendangariro yakagoverwa.

Tevere, iwo chaiwo muchina unogona kuverenga data kubva ku blockchain dhatabhesi kuitira kushandisa iyi data sechinhu chinokonzeresa kuita imwe kana imwe smart contract logic. Iwo chaiwo muchina unogona kugadzira uye kutumira kutengeserana, unogona kugadzira zvibvumirano zvitsva uye kufona nzira dzezvimwe zvibvumirano zvakangwara zvakatoburitswa pane network: iripo, iripo, nezvimwe.

Nhema yakajairika ndeyekuti Ethereum smart zvibvumirano zvinogona kushandisa ruzivo kubva kune chero Internet sosi mumashoko avo. Chokwadi ndechekuti muchina chaiwo haugone kutumira chikumbiro chetiweki kune imwe yekunze ruzivo ruzivo paInternet, ndiko kuti, hazvibviri kunyora chibvumirano chakangwara chinozogovera kukosha pakati pevashandisi zvichienderana nekuti, toti, mamiriro ekunze akaita sei, kana kuti ndiani akahwina mukwikwidzi, kana zvichibva pane chimwe chiitiko chakaitika kunze kwenyika, nekuti ruzivo nezvezviitiko izvi harisi mudura repapuratifomu pacharo. Ndiko kuti, hapana chinhu pane blockchain pane izvi. Kana ikasaoneka ipapo, saka muchina chaiwo haugone kushandisa iyi data senge inokonzeresa.

Kukanganisa kweEthereum

Ngatinyorei makuru. Chinhu chekutanga chisina kunaka ndechekuti kune zvimwe zvinonetsa pakugadzira, kugadzira uye kuedza zvibvumirano zvakangwara muEthereum (Ethereum inoshandisa mutauro weSolidity kunyora zvibvumirano zvakangwara). Zvechokwadi, tsika inoratidza kuti chikamu chikuru kwazvo chezvikanganiso zvose ndezvemunhu. Izvi ndezvechokwadi kune zvakatonyorwa Ethereum smart zvibvumirano zvine avhareji kana yakakwirira kuoma. Kana kune zvibvumirano zviri nyore zvibvumirano mukana wekukanganisa uri diki, saka mumakondirakiti akaoma akangwara pane kazhinji zvikanganiso zvinotungamira mukubiwa kwemari, kutonhora kwavo, kuparadzwa kwezvibvumirano zvakangwara nenzira isingatarisirwi, nezvimwewo. Zvizhinji zvakadaro zvatove anozivikanwa.

Chechipiri chinokanganisa ndechekuti iyo chaiyo muchina pachayo haina kukwana, nekuti zvakare yakanyorwa nevanhu. Inogona kuita mirairo isina musoro, uye imomo mune kusagadzikana: huwandu hwemirairo hunogona kugadzirwa neimwe nzira inozotungamira kune mhedzisiro yaive isingafanoonekwe. Iyi inzvimbo yakaoma kwazvo, asi pane zvatova zvidzidzo zvakawanda zvinoratidza kuti izvi zvinokanganisa zviripo mushanduro yemazuva ano yeEthereum network uye zvinogona kutungamirira kukukundikana kwezvibvumirano zvakawanda zvakachenjera.

Rimwe dambudziko guru, rinogona kuonekwa sechinhu chisina kunaka. Iri muchokwadi chekuti iwe unogona kuita kana tekinoroji kusvika pakugumisa kuti kana iwe ukanyora iyo bytecode yekontrakiti inozoitwa pamushini chaiwo, unogona kuona imwe chaiyo kurongeka kwemashandiro. Kana zvikaitwa pamwe chete, maoparesheni aya anotakura zvakanyanya muchina chaiwo uye woudzikisira pasi zvisina mwero kumuripo waibhadharwa pakuita mabasa aya.

Munguva yakapfuura, pakanga patova nenguva mukugadzirwa kweEthereum, apo vakomana vakawanda vainzwisisa zvakadzama kushanda kwemuchina chaiwo vakawana kushaya simba kwakadaro. Muchokwadi, kutengeserana kwakabhadhara muripo mudiki, asi zvakangoita kudzikisira network yese. Matambudziko aya akaoma zvikuru kugadzirisa, sezvo zvichidikanwa, kutanga, kuaziva, chechipiri, kugadzirisa mutengo wekuita mashandiro aya uye, chechitatu, kuita forogo yakaoma, zvinoreva kuvandudza ese network node kune imwe shanduro. yesoftware, uyezve panguva imwe chete activation yekuchinja uku.

Kana iri Ethereum, tsvakurudzo yakawanda yakaitwa, ruzivo rwakawanda runoshanda rwakawanikwa: zvose zvakanaka uye zvisina kunaka, asi zvisinei kune zvinoramba zvichinetsa uye kushaya simba izvo zvichiri kufanira kugadziriswa neimwe nzira.

Saka, chikamu chemusoro chechinyorwa chakapedzwa, ngatienderere mberi kumibvunzo inomuka kazhinji.

Inowanzobvunzwa Mibvunzo

β€” Kana mapato ese ekondirakiti iripo achida kushandura zvirevo, vanogona kukanzura kondirakiti iyi yakangwara vachishandisa multisig, vobva vagadzira kondirakiti nyowani ine zviga zvakagadziridzwa zvemashandisirwo ayo?

Mhinduro pano ichave iviri. Sei? Nekuti kune rumwe rutivi, kondirakiti yakangwara inotsanangurwa kamwe chete uye haicharevi chero shanduko, uye kune rimwe divi, inogona kuve yakanyorwa-yakanyorwa iyo inopa shanduko yakakwana kana chikamu chemamwe mamiriro. Ndokunge, kana iwe uchida kushandura chimwe chinhu muchibvumirano chako chakangwara, saka iwe unofanirwa kunyora mamiriro aunogona kugadzirisa aya mamiriro. Saizvozvo, chete nenzira yakangwara yakadaro inogona kurongeka kuvandudzwa kwechibvumirano. Asi pano, zvakare, iwe unogona kupinda mudambudziko: ita imwe mhosho uye uwane hunoenderana nenjodzi. Naizvozvo, zvinhu zvakadaro zvinoda kunyatsotsanangurwa uye zvakanyatsogadzirwa uye kuyedzwa.

- Zvakadini kana murevereri akapinda muchibvumirano nemumwe wemapato ari kutora chikamu: escrow kana smart contract? Muyananisi anodiwa here muchibvumirano chakangwara?

Muyananisi haadiwe muchibvumirano chakangwara. Inogona kunge isipo. Kana, munyaya ye escrow, murevereri akapinda mukurangana nemumwe wemapato, saka hongu, chirongwa ichi chinobva charasikirwa zvakanyanya kukosha kwayo. Naizvozvo, varevereri vanosarudzwa nenzira yekuti vanovimbwa nemapato ese anobatanidzwa muchirongwa ichi panguva imwe chete. Nekuda kweizvozvo, haungangotamisire mari kukero yakawanda ine murevereri wausingavimbe nawo.

- Zvinokwanisika here nekutengeserana kweEthereum kuendesa zviratidzo zvakawanda zvakasiyana kubva kukero yako kuenda kune zvakasiyana-siyana zvinotarirwa kero, somuenzaniso, kuchinjana kero uko zviratidzo izvi zvinotengeswa?

Uyu mubvunzo wakanaka uye une chekuita neEthereum transaction model uye kuti yakasiyana sei neBitcoin model. Uye musiyano mukuru. Kana muEthereum transaction model iwe unongotamisa mari, zvino inongotamiswa kubva kune imwe kero kuenda kune imwe, hapana shanduko, iyo chaiyo mari yawakatsanangura. Mune mamwe mazwi, iyi haisi modhi yezvakabuda zvisina kushandiswa (UTXO), asi muenzaniso wemaakaundi uye zviyero zvinoenderana. Zvinotendwa kuti zvinogoneka kutumira ma tokens akati wandei mune imwe kutengeserana kamwechete kana iwe ukanyora zvine hungwaru kondirakiti, asi iwe uchazofanira kuita kutengeserana kwakawanda, kugadzira kontrakiti, wozoendesa tokeni nemari kwairi, wobva wadaidza nzira yakakodzera. . Izvi zvinoda kushanda nesimba uye nguva, saka mukuita hazvishande saizvozvo uye kubhadhara kwose muEthereum kunoitwa mukutengeserana kwakasiyana.

- Imwe yenhema pamusoro peEthereum platform ndeyokuti hazvibviri kutsanangura mamiriro ezvinhu achaenderana nemashoko ekunze kweInternet resource, saka chii chaunofanira kuita ipapo?

Mhinduro ndeyokuti smart contract pachayo inogona kupa imwe kana kupfuura inonzi yakavimbika zvirevo, iyo inounganidza data pamusoro pemamiriro ezvinhu ekunze kwenyika uye kuitumira kune zvibvumirano zvakanaka kuburikidza nenzira dzakakosha. Kondirakiti pachayo inotora data iyo yayakagashira kubva kumapato anovimbwa kuti ndeyechokwadi. Kuti uwedzere kuvimbika, ingo sarudza boka guru rezvinyorwa uye kuderedza njodzi yekubatana kwavo. Kondirakiti yacho pachayo inogona kusafunga nezve data kubva kune zvinyorwa zvinopokana neruzhinji.

Imwe yehurukuro dzepamhepo kosi paBlockchain yakazvipira kune iyi musoro - "Nhanganyaya yeSmart Contracts".

Source: www.habr.com

Voeg