Pasiuna sa Smart Contracts

Niini nga artikulo, atong tan-awon kung unsa ang mga intelihente nga mga kontrata, kung unsa sila, mahibal-an naton ang lainlaing mga platform sa intelihente nga kontrata, ang ilang mga bahin, ug hisgutan usab kung giunsa kini nagtrabaho ug kung unsang mga bentaha ang mahimo nila. Kini nga materyal mahimong mapuslanon kaayo alang sa mga magbabasa nga dili kaayo pamilyar sa hilisgutan sa mga smart nga kontrata, apan gusto nga mas duol sa pagsabut niini.

Regular nga kontrata vs. smart nga kontrata

Sa dili pa nato tukion ang mga detalye, kuhaan nato ang usa ka pananglitan sa mga kalainan tali sa usa ka regular nga kontrata, nga gipiho sa papel, ug usa ka smart nga kontrata, nga girepresentahan sa digital.

Pasiuna sa Smart Contracts

Giunsa kini pagtrabaho sa wala pa ang pag-abut sa mga smart nga kontrata? Hunahunaa ang usa ka grupo sa mga tawo nga gusto nga magtukod og piho nga mga lagda ug kondisyon alang sa pag-apod-apod sa mga kantidad, ingon man usa ka piho nga mekanismo aron magarantiya ang pagpatuman niini nga pag-apod-apod sumala sa gihatag nga mga lagda ug kondisyon. Unya magtigom sila, maghimog papel diin ilang gisulat ang ilang mga detalye sa pag-ila, ang mga termino, ang mga kantidad nga nalambigit, petsahan kini ug pirmahan kini. Kini nga kontrata gipamatud-an usab sa usa ka kasaligan nga partido, sama sa usa ka notaryo. Dugang pa, kini nga mga tawo miadto sa lain-laing mga direksyon uban sa ilang papel nga kopya sa maong usa ka kontrata ug nagsugod sa pagbuhat sa pipila ka mga aksyon nga dili motakdo sa kontrata sa iyang kaugalingon, nga mao, sila nagbuhat sa usa ka butang, apan sa papel kini gipamatud-an nga sila kinahanglan nga mobuhat sa usa ka butang. hingpit nga lahi. Ug unsaon paggawas niini nga sitwasyon? Sa tinuud, usa sa mga miyembro sa grupo kinahanglan nga mokuha niini nga papel, magkuha og pipila ka ebidensya, dad-on kini sa korte ug makab-ot ang pagsunod tali sa kontrata ug aktuwal nga mga aksyon. Kasagaran, lisud ang pagkab-ot sa patas nga pagpatuman niini nga kontrata, nga mosangpot sa dili maayo nga mga sangputanan.

Unsa ang masulti bahin sa mga smart nga kontrata? Gihiusa nila ang posibilidad sa pagsulat sa mga termino sa kontrata ug ang mekanismo sa ilang estrikto nga pagpatuman. Kung nabutang na ang mga kondisyon ug napirmahan na ang katugbang nga transaksyon o hangyo, unya kung madawat na ang hangyo o transaksyon, dili na mahimo nga usbon ang mga kondisyon o maapektuhan ang ilang pagpatuman.

Adunay usa ka validator o usa ka tibuuk nga network, ingon man usa ka database nga nagtipig sa tanan nga mga intelihente nga kontrata nga gisumite alang sa pagpatuman sa estrikto nga pagkasunud-sunod nga kronolohikal. Importante usab nga kini nga database kinahanglan nga adunay tanan nga mga kondisyon sa pag-trigger alang sa pagpatuman sa smart nga kontrata. Dugang pa, kinahanglan nga tagdon ang mismong kantidad kansang pag-apod-apod gihulagway sa kontrata. Kung kini magamit sa pipila ka mga digital currency, nan kini nga database kinahanglan nga tagdon kini.

Sa laing pagkasulti, ang mga validator sa smart contract kinahanglan adunay access sa tanang datos nga gipalihok sa smart contract. Pananglitan, ang usa ka database kinahanglan gamiton sa dungan nga pag-asoy sa mga digital nga kwarta, balanse sa user, transaksyon sa user, ug timestamp. Dayon, sa usa ka smart nga kontrata, ang kondisyon mahimong balanse sa user sa usa ka currency, ang pag-abot sa usa ka piho nga panahon, o ang kamatuoran nga ang usa ka transaksyon nga gihimo, apan wala na.

Kahulugan sa usa ka smart nga kontrata

Sa kinatibuk-an, ang terminolohiya mismo gimugna sa tigdukiduki nga si Nick Szabo ug una nga gigamit kaniadtong 1994, ug gidokumento kaniadtong 1997 sa usa ka artikulo nga naghulagway sa ideya sa mga smart nga kontrata.

Ang mga kontrata sa Smart nagpasabot nga ang pipila ka automation sa pag-apod-apod sa kantidad gihimo, nga mahimo ra magdepende sa mga kondisyon nga gitakda nang daan. Sa pinakasimple nga porma niini, kini morag usa ka kontrata nga adunay hugot nga gihubit nga mga termino, nga gipirmahan sa pipila ka mga partido.

Ang mga kontrata sa Smart gidisenyo aron maminusan ang pagsalig sa mga ikatulo nga partido. Usahay ang sentro sa paghimog desisyon nga gisaligan sa tanan hingpit nga wala iapil. Dugang pa, ang maong mga kontrata mas sayon ​​nga i-audit. Kini usa ka sangputanan sa pipila ka mga bahin sa disenyo sa ingon nga sistema, apan kasagaran atong masabtan pinaagi sa usa ka smart nga kontrata ang usa ka desentralisadong palibot ug ang presensya sa mga gimbuhaton nga nagtugot sa bisan kinsa nga mag-analisar sa database ug magpahigayon sa usa ka bug-os nga pag-audit sa pagpatuman sa mga kontrata. Gipaneguro niini ang proteksyon batok sa retroactive nga mga pagbag-o sa datos nga maglakip sa mga pagbag-o sa paghimo sa kontrata mismo. Ang pag-digitize sa kadaghanan sa mga proseso sa paghimo ug paglansad sa usa ka intelihente nga kontrata kanunay nga gipasimple ang teknolohiya ug gasto sa ilang pagpatuman.

Usa ka yano nga pananglitan - serbisyo sa Escrow

Atong tan-awon ang usa ka yano kaayo nga pananglitan. Makatabang kini kanimo nga mas maduol sa pagsabut sa pagpaandar sa mga intelihente nga kontrata, ingon man usab nga mas masabtan kung unsang mga kaso ang kinahanglan gamiton.

Pasiuna sa Smart Contracts

Mahimo usab kini nga ipatuman gamit ang Bitcoin, bisan kung karon ang Bitcoin halos dili pa matawag nga usa ka hingpit nga plataporma alang sa mga smart nga kontrata. So, naa miy buyer ug naa mi online store. Gusto sa usa ka kustomer nga mopalit usa ka monitor gikan sa kini nga tindahan. Sa pinakasimple nga kaso, ang pumapalit nakompleto ug nagpadala sa usa ka bayad, ug ang online nga tindahan midawat niini, nagpamatuod niini, ug dayon gipadala ang mga butang. Bisan pa, sa kini nga sitwasyon adunay panginahanglan alang sa dako nga pagsalig - ang pumapalit kinahanglan nga mosalig sa online nga tindahan alang sa tibuuk nga gasto sa monitor. Tungod kay ang usa ka online nga tindahan mahimo’g adunay usa ka ubos nga reputasyon sa mga mata sa pumapalit, adunay peligro nga sa pila ka hinungdan, pagkahuman gidawat ang bayad, ang tindahan magdumili sa serbisyo ug dili ipadala ang mga butang sa pumapalit. Busa, ang pumapalit nangutana sa pangutana (ug, sumala niana, ang online nga tindahan nangutana niini nga pangutana) unsa ang mahimo nga magamit niini nga kaso aron mamenosan ang maong mga risgo ug himoon ang maong mga transaksyon nga mas kasaligan.

Sa kaso sa Bitcoin, posible nga tugutan ang pumapalit ug magbabaligya nga independente nga magpili usa ka tigpataliwala. Adunay daghang mga tawo nga nalambigit sa pagsulbad sa mga kontrobersyal nga isyu. Ug ang among mga partisipante makapili gikan sa usa ka kinatibuk-ang lista sa mga tigpataliwala sa usa nga ilang saligan. Mag-uban sila sa paghimo og 2 sa 3 nga multisignature nga adres diin adunay tulo ka yawe ug duha ka pirma nga adunay bisan unsang duha ka yawe ang gikinahanglan aron makagasto og mga sensilyo gikan sa maong adres. Ang usa ka yawe iya sa pumapalit, ang ikaduha sa online store, ug ang ikatulo sa tigpataliwala. Ug sa ingon nga usa ka multisignature nga adres ipadala sa pumapalit ang kantidad nga gikinahanglan aron mabayran ang monitor. Karon, kung makita sa magbabaligya nga ang kuwarta gibabagan sa pipila ka panahon sa usa ka multisignature nga adres nga nagdepende kaniya, mahimo niyang luwas nga ipadala ang monitor pinaagi sa koreo.

Sunod, madawat sa pumapalit ang parsela, susihon ang mga butang ug maghimo usa ka desisyon sa katapusan nga pagpalit. Mahimong bug-os siyang mouyon sa serbisyo nga gihatag ug mopirma sa transaksyon gamit ang iyang yawe, diin iyang ibalhin ang mga sensilyo gikan sa multisignature nga adres ngadto sa magbabaligya, o dili siya matagbaw sa usa ka butang. Sa ikaduha nga kaso, nakigkontak siya sa usa ka tigpataliwala aron maghiusa sa usa ka alternatibo nga transaksyon nga lahi ang pag-apod-apod sa mga sensilyo.

Ingnon ta nga ang monitor miabut nga gamay nga scratched ug ang kit wala maglakip sa usa ka cable alang sa pagkonektar sa computer, bisan pa ang website sa online store miingon nga ang cable kinahanglan nga ilakip sa kit. Dayon gikolekta sa pumapalit ang ebidensya nga gikinahanglan aron pamatud-an sa tigpataliwala nga nalimbongan siya sa kini nga sitwasyon: gikuha niya ang mga screenshot sa site, gikuha ang litrato sa resibo sa koreo, gikuha ang litrato sa mga garas sa monitor ug gipakita nga ang selyo nabali ug gibira ang kable. Ang online store, sa baylo, nagkolekta sa ebidensya niini ug gibalhin kini sa tigpataliwala.

Interesado ang tigpataliwala sa dungan nga pagtagbaw sa kasuko sa pumapalit ug sa interes sa online nga tindahan (mahibal-an kung ngano sa ulahi). Naglangkob kini sa usa ka transaksyon diin ang mga sensilyo gikan sa usa ka multisignature nga adres magasto sa pila ka proporsyon tali sa pumapalit, online nga tindahan ug tigpataliwala, tungod kay nagkuha siya usa ka bahin alang sa iyang kaugalingon ingon usa ka ganti sa iyang trabaho. Ingnon ta nga 90% sa kinatibuk-ang kantidad moadto sa nagbaligya, 5% sa tigpataliwala ug 5% nga bayad sa pumapalit. Ang tigpataliwala nagpirma niini nga transaksyon gamit ang iyang yawe, apan dili pa kini magamit, tungod kay nagkinahanglan kini og duha ka pirma, apan usa ra ang angay niini. Nagpadala kini sa ingon nga transaksyon sa pumapalit ug namaligya. Kung labing menos usa kanila ang natagbaw sa kini nga kapilian alang sa pag-apod-apod sa mga sensilyo, nan ang transaksyon mapirmahan ug ipanghatag sa network. Aron ma-validate kini, igo na nga ang usa sa mga partido sa transaksyon miuyon sa kapilian sa tigpataliwala.

Importante nga pilion una ang usa ka tigpataliwala aron ang duha ka partisipante mosalig kaniya. Sa kini nga kaso, siya molihok nga independente sa mga interes sa usa o sa lain ug sa tinuud nga pagsusi sa sitwasyon. Kung ang tigpataliwala wala maghatag usa ka kapilian alang sa pag-apod-apod sa mga sensilyo nga makatagbaw sa labing menos usa ka partisipante, nan, pagkahuman nagkauyon, ang pumapalit ug ang online nga tindahan mahimo’g ipadala ang mga sensilyo sa usa ka bag-ong adres nga multisignature pinaagi sa pagbutang sa ilang duha nga pirma. Ang bag-ong multisignature nga adres matipon sa usa ka lahi nga tigpataliwala, nga mahimong mas takos sa butang ug maghatag usa ka mas maayo nga kapilian.

Pananglitan nga adunay usa ka dormitoryo ug usa ka refrigerator

Atong tan-awon ang usa ka mas komplikado nga pananglitan nga nagpakita sa mga kapabilidad sa usa ka smart nga kontrata nga mas klaro.

Pasiuna sa Smart Contracts

Ingnon ta nga adunay tulo ka mga lalaki nga bag-o lang mibalhin sa parehas nga kwarto sa dorm. Interesado silang tulo nga mopalit og refrigerator alang sa ilang lawak nga ilang magamit nga magkauban. Ang usa kanila miboluntaryo sa pagkolekta sa gikinahanglang kantidad aron makapalit ug refrigerator ug makigsabot sa tigbaligya. Apan, bag-o pa lang silang nagkita ug walay igong pagsalig tali kanila. Dayag nga duha kanila ang nagpameligro pinaagi sa paghatag ug kuwarta sa ikatulo. Dugang pa, kinahanglan nila nga makab-ot ang usa ka kasabutan sa pagpili sa usa ka magbabaligya.

Mahimo nilang gamiton ang serbisyo sa escrow, sa ato pa, pagpili og tigpataliwala nga momonitor sa pagpatuman sa transaksyon ug mosulbad sa mga kontrobersyal nga isyu kon adunay motumaw. Pagkahuman, sa pag-uyon, naghimo sila usa ka maayong kontrata ug nagreseta sa pipila nga mga kondisyon niini.

Ang una nga kondisyon mao nga sa wala pa ang usa ka piho nga oras, ingnon ta sa sulod sa usa ka semana, ang katugbang nga smart contract account kinahanglan makadawat tulo ka bayad gikan sa piho nga mga adres alang sa usa ka piho nga kantidad. Kung dili kini mahitabo, ang intelihente nga kontrata mohunong sa pagpatuman ug ibalik ang mga sensilyo sa tanan nga mga partisipante. Kung ang kondisyon natuman, nan ang mga kantidad sa magbabaligya ug tigpataliwala identifier gitakda, ug ang kondisyon gisusi nga ang tanan nga mga partisipante mouyon sa pagpili sa magbabaligya ug tigpataliwala. Kung natuman ang tanan nga mga kondisyon, nan ang mga pondo ibalhin sa gitakda nga mga adres. Kini nga pamaagi makapanalipod sa mga partisipante gikan sa pagpanglimbong gikan sa bisan unsang bahin ug sa kasagaran makawagtang sa panginahanglan sa pagsalig.

Nakita namon sa kini nga pananglitan ang mismong prinsipyo nga kini nga abilidad sa sunod-sunod nga pagtakda sa mga parameter alang sa pagtuman sa matag kondisyon nagtugot kanimo sa paghimo og mga sistema sa bisan unsang pagkakomplikado ug giladmon sa mga nested nga lebel. Dugang pa, mahimo nimo una nga mahibal-an ang una nga kondisyon sa smart nga kontrata, ug pagkahuman sa katumanan niini mahimo nimong itakda ang mga parameter alang sa sunod nga kondisyon. Sa laing pagkasulti, ang kondisyon pormal nga gisulat, ug ang mga parametro alang niini mahimong itakda na sa panahon sa operasyon niini.

Klasipikasyon sa mga smart nga kontrata

Alang sa klasipikasyon, mahimo nimong itakda ang lainlaing mga grupo sa pamatasan. Bisan pa, sa panahon sa pag-uswag sa teknolohiya, upat niini ang may kalabutan.

Ang mga kontrata sa Smart mahimong mailhan pinaagi sa ilang palibot sa pagpatuman, nga mahimo’g sentralisado o desentralisado. Sa kaso sa desentralisasyon, kita adunay mas dako nga kagawasan ug sayop nga pagtugot sa pagpatuman sa mga smart nga kontrata.

Mahimo usab sila nga mailhan pinaagi sa proseso sa pagpahimutang ug pagtuman sa mga kondisyon: mahimo silang gawasnon nga maprograma, limitado o gitakda nang daan, i.e. estrikto nga pag-type. Kung adunay 4 ra nga piho nga mga kontrata sa smart sa platform sa smart contract, ang mga parameter alang kanila mahimong itakda sa bisan unsang paagi. Tungod niini, ang pagpahimutang niini labi ka yano: gipili namon ang usa ka kontrata gikan sa lista ug gipasa ang mga parameter.

Sumala sa pamaagi sa pagsugod, adunay mga automated nga smart nga mga kontrata, nga mao, kung mahitabo ang pipila ka mga kondisyon, sila nagpatuman sa kaugalingon, ug adunay mga kontrata diin ang mga kondisyon gipiho, apan ang plataporma dili awtomatikong magsusi sa ilang katumanan; alang niini sila kinahanglan nga sugdan nga gilain.

Dugang pa, ang mga smart nga kontrata magkalainlain sa ilang lebel sa pagkapribado. Mahimo silang hingpit nga bukas, partially o hingpit nga kompidensyal. Ang ulahi nagpasabut nga ang mga tigpaniid sa ikatulo nga partido wala makakita sa mga termino sa mga smart nga kontrata. Bisan pa, ang hilisgutan sa pagkapribado kay lapad kaayo ug mas maayo nga ikonsiderar kini nga lahi gikan sa karon nga artikulo.

Sa ubos atong tan-awon pag-ayo ang unang tulo ka kriterya aron mas maklaro ang pagsabot sa kasamtangang topiko.

Smart kontrata pinaagi sa runtime

Pasiuna sa Smart Contracts

Pinasukad sa palibot sa pagpatay, gihimo ang usa ka kalainan tali sa sentralisado ug desentralisado nga mga platform sa kontrata sa smart. Sa kaso sa mga sentralisadong digital nga mga kontrata, usa ka serbisyo ang gigamit, diin adunay usa lamang ka validator ug mahimo nga adunay usa ka backup ug recovery nga serbisyo, nga gidumala usab sa sentro. Adunay usa ka database nga nagtipig sa tanan nga kinahanglan nga kasayuran aron itakda ang mga termino sa smart nga kontrata ug ipang-apod-apod ang kantidad nga gikonsiderar sa kini nga database sa serbisyo. Ang ingon nga usa ka sentralisadong serbisyo adunay usa ka kliyente nga nagtakda sa mga kondisyon sa pipila nga mga hangyo ug naggamit sa ingon nga mga kontrata. Tungod sa sentralisadong kinaiya sa plataporma, ang mga mekanismo sa pag-authenticate mahimong dili kaayo luwas kaysa sa mga cryptocurrencies.

Isip usa ka pananglitan, mahimo natong kuhaon ang mga mobile communication providers (lain-laing mga mobile operator). Ingnon ta nga ang usa ka operator nagtago sa usa ka sentralisadong rekord sa trapiko sa mga server niini, nga mahimong ipadala sa lainlaing mga format, pananglitan: sa porma sa mga tawag sa tingog, pagpadala sa SMS, trapiko sa mobile Internet, ug sumala sa lainlaing mga sumbanan, ug nagtipig usab mga rekord. sa mga pondo sa mga balanse sa tiggamit. Sumala niini, ang mobile communications provider makahimo og mga kontrata alang sa accounting alang sa mga serbisyo nga gihatag ug sa ilang pagbayad sa lain-laing mga kondisyon. Sa kini nga kaso, dali nga magbutang mga kondisyon sama sa "pagpadala usa ka SMS nga adunay ingon ug ingon niana nga code sa ingon ug ingon niana nga numero ug makadawat ka ug ingon niana nga mga kondisyon alang sa pag-apod-apod sa trapiko."

Usa pa ka pananglitan ang mahatag: tradisyonal nga mga bangko nga adunay gipalapdan nga pagpaandar sa Internet banking ug yano kaayo nga mga kontrata sama sa regular nga pagbayad, awtomatik nga pagbag-o sa umaabot nga pagbayad, awtomatik nga pagkunhod sa interes sa usa ka piho nga account, ug uban pa.

Kung naghisgot kami bahin sa mga smart nga kontrata nga adunay usa ka desentralisado nga palibot sa pagpatay, nan kami adunay usa ka grupo sa mga validator. Sa tinuud, bisan kinsa mahimong usa ka validator. Tungod sa database synchronization protocol ug pagkab-ot sa consensus, kita adunay pipila ka komon nga database nga karon magtipig sa tanan nga mga transaksyon uban sa hugot nga gihulagway nga mga kontrata, ug dili sa pipila ka kondisyon nga mga pangutana, ang mga format nga kanunay nga mausab, ug walay bukas nga detalye. Dinhi, ang mga transaksyon maglangkob sa mga panudlo aron ipatuman ang kontrata sumala sa usa ka higpit nga detalye. Bukas kini nga detalye ug, busa, ang mga tiggamit sa platform mismo mahimong mag-audit ug mag-validate sa mga smart nga kontrata. Dinhi atong makita nga ang mga desentralisadong plataporma mas labaw kay sa mga sentralisado sa termino sa independensya ug fault tolerance, apan ang ilang disenyo ug pagmentinar mas komplikado.

Smart nga mga kontrata pinaagi sa pamaagi sa pagpahimutang ug pagtuman sa mga kondisyon

Karon atong tan-awon pag-ayo kon sa unsang paagi magkalahi ang mga smart nga kontrata sa paagi nga ilang gitakda ug gituman ang mga kondisyon. Dinhi among gipunting ang among atensyon sa mga smart nga kontrata nga random nga ma-program ug kompleto si Turing. Ang usa ka kompleto nga smart nga kontrata sa Turing nagtugot kanimo sa pagtakda sa halos bisan unsang mga algorithm isip mga kondisyon alang sa pagpatuman sa kontrata: pagsulat sa mga siklo, pipila ka mga gimbuhaton alang sa pagkalkulo sa mga probabilities, ug uban pa - ngadto sa imong kaugalingong electronic signature algorithms. Sa kini nga kaso, gipasabut namon ang tinuud nga arbitraryong pagsulat sa lohika.

Adunay usab mga arbitraryong smart nga mga kontrata, apan dili ang Turing kompleto. Naglakip kini sa Bitcoin ug Litecoin nga adunay kaugalingon nga script. Kini nagpasabot nga mahimo nimong gamiton ang pipila ka mga operasyon sa bisan unsang pagkahan-ay, apan dili ka na makasulat sa mga loop ug sa imong kaugalingon nga mga algorithm.

Dugang pa, adunay mga intelihente nga mga plataporma sa kontrata nga nagpatuman sa mga gitakda nang daan nga mga kontrata. Kini naglakip sa Bitshares ug Steemit. Ang Bitshares adunay lain-laing mga smart nga kontrata alang sa trading, pagdumala sa account, pagdumala sa plataporma mismo ug sa mga parameter niini. Ang Steemit usa ka susama nga plataporma, apan wala na kini naka-focus sa pag-isyu og mga token ug trading, sama sa Bitshares, apan sa pag-blog, i.e. kini nagtipig ug nagproseso sa sulod sa desentralisadong paagi.

Arbitraryong Turing-kompleto nga mga kontrata naglakip sa Ethereum plataporma ug RootStock, nga anaa pa sa pagpalambo. Busa, sa ubos kita magpuyo sa usa ka gamay nga dugang nga detalye sa Ethereum smart contract platform.

Mga Smart nga kontrata pinaagi sa pamaagi sa pagsugod

Base sa pamaagi sa pagsugod, ang mga smart nga kontrata mahimo usab nga bahinon ngadto sa labing menos duha ka grupo: automated ug manual (dili automated). Ang mga awtomatiko gihulagway sa kamatuoran nga, nga gihatag ang tanan nga nahibal-an nga mga parameter ug kondisyon, ang intelihente nga kontrata hingpit nga gipatuman awtomatiko, nga mao, wala kini kinahanglan nga magpadala bisan unsang dugang nga mga transaksyon ug paggasto usa ka dugang nga komisyon sa matag sunud nga pagpatuman. Ang plataporma mismo adunay tanan nga datos aron makalkulo kung giunsa makompleto ang intelihente nga kontrata. Ang lohika didto dili basta-basta, apan gitino nang daan ug kining tanan matag-an. Kana mao, mahimo nimong banabana nga daan ang pagkakomplikado sa pagpatuman sa usa ka intelihente nga kontrata, paggamit usa ka matang sa kanunay nga komisyon alang niini, ug ang tanan nga mga proseso alang sa pagpatuman niini mas episyente.

Alang sa mga smart nga kontrata nga libre nga giprograma, ang pagpatuman dili awtomatiko. Aron masugdan ang ingon nga usa ka maalamon nga kontrata, sa halos matag lakang nga kinahanglan nimo nga maghimo usa ka bag-ong transaksyon, nga magtawag sa sunod nga yugto sa pagpatuman o ang sunod nga pamaagi sa smart nga kontrata, pagbayad sa angay nga komisyon ug paghulat nga makumpirma ang transaksyon. Ang pagpatuman mahimong malampuson o dili, tungod kay ang smart nga kodigo sa kontrata kay arbitraryo ug ang pipila ka dili matag-an nga mga gutlo mahimong makita, sama sa usa ka walay katapusan nga loop, usa ka kakulang sa pipila ka mga parameter ug mga argumento, dili madumala nga mga eksepsiyon, ug uban pa.

Mga Account sa Ethereum

Mga Matang sa Ethereum Account

Atong tan-awon kung unsang mga klase sa mga account ang mahimo sa plataporma sa Ethereum. Adunay duha lamang ka matang sa mga account dinhi ug walay laing mga kapilian. Ang una nga tipo gitawag nga account sa gumagamit, ang ikaduha usa ka account sa kontrata. Atong hisgotan kon sa unsang paagi sila magkalahi.

Ang user account kontrolado lamang sa personal nga yawe sa electronic signature. Ang tag-iya sa account nagmugna sa iyang kaugalingong yawe nga pares para sa electronic signature gamit ang ECDSA (Elliptic Curve Digital Signature Algorithm) algorithm. Ang mga transaksyon lang nga gipirmahan gamit kini nga yawe ang makausab sa kahimtang niini nga account.

Usa ka bulag nga lohika ang gihatag alang sa smart contract account. Mahimo lamang kini nga kontrolon pinaagi sa predefined nga software code nga hingpit nga nagtino sa kinaiya sa smart contract: unsaon pagdumala sa mga sensilyo niini ubos sa pipila ka mga kahimtang, sa inisyatiba kung kinsa nga tiggamit ug ubos sa unsa nga dugang nga mga kondisyon nga kini nga mga sensilyo ipanghatag. Kung ang pipila ka mga punto wala gihatag sa mga developer sa code sa programa, ang mga problema mahimong motungha. Pananglitan, ang usa ka intelihente nga kontrata mahimong makadawat usa ka piho nga estado diin dili kini modawat sa pagsugod sa dugang nga pagpatuman gikan sa bisan kinsa sa mga tiggamit. Sa kini nga kaso, ang mga sensilyo sa tinuud ma-frozen, tungod kay ang smart nga kontrata wala maghatag alang sa paggawas niini nga estado.

Giunsa paghimo ang mga account sa Ethereum

Sa kaso sa usa ka user account, ang tag-iya independente nga naghimo og usa ka yawe nga pares gamit ang ECDSA. Mahinungdanon nga hinumdoman nga ang Ethereum naggamit sa eksakto nga parehas nga algorithm ug parehas nga elliptic curve alang sa mga electronic nga pirma sama sa Bitcoin, apan ang adres gikalkula sa usa ka gamay nga paagi. Dinhi, ang resulta sa double hashing wala na gigamit, sama sa Bitcoin, apan ang single hashing gihatag sa Keccak function sa gitas-on nga 256 bits. Ang labing gamay nga hinungdanon nga mga piraso giputol gikan sa sangputanan nga kantidad, nga mao ang labing gamay nga hinungdanon nga 160 ka mga piraso sa output hash nga kantidad. Ingon usa ka sangputanan, nakakuha kami usa ka adres sa Ethereum. Sa pagkatinuod, nagkinahanglan kini og 20 bytes.

Palihug timan-i nga ang account identifier sa Ethereum gi-encode sa hex nga wala mag-apply sa usa ka checksum, dili sama sa Bitcoin ug daghang uban pang mga sistema, diin ang adres gi-encode sa base 58 nga sistema sa numero nga adunay pagdugang sa usa ka checksum. Kini nagpasabot nga kinahanglan ka nga mag-amping sa pagtrabaho uban sa mga identifier sa account sa Ethereum: bisan ang usa ka sayup sa identifier gigarantiyahan nga mosangpot sa pagkawala sa mga sensilyo.

Adunay usa ka importante nga bahin ug kini mao nga ang usa ka user account sa kinatibuk-ang lebel sa database gihimo sa higayon nga iyang gidawat ang unang umaabot nga pagbayad.

Ang paghimo og usa ka intelihente nga account sa kontrata nanginahanglan usa ka hingpit nga lahi nga pamaagi. Sa sinugdan, ang usa sa mga tiggamit nagsulat sa source code sa smart contract, nga human niana ang code gipasa sa usa ka compiler nga espesyal alang sa Ethereum nga plataporma, nga nagkuha og bytecode alang sa iyang kaugalingong Ethereum virtual machine. Ang resulta nga bytecode gibutang sa usa ka espesyal nga natad sa transaksyon. Gipamatud-an kini alang sa account sa nagpasiugda. Sunod, kini nga transaksyon gipakaylap sa tibuok network ug gibutang ang smart contract code. Ang komisyon alang sa transaksyon ug, sa ingon, alang sa pagpatuman sa kontrata gikuha gikan sa balanse sa account sa initiator.

Ang matag intelihente nga kontrata kinahanglan adunay kaugalingon nga constructor (nii nga kontrata). Kini mahimong walay sulod o kini adunay sulod. Human mapatuman ang constructor, usa ka smart contract account identifier ang gihimo, nga gigamit nimo nga makapadala ug mga sensilyo, tawagan ang pipila ka mga pamaagi sa smart contract, etc.

Istruktura sa Transaksyon sa Ethereum

Aron mas klaro, magsugod kita sa pagtan-aw sa istruktura sa usa ka transaksyon sa Ethereum ug usa ka pananglitan nga smart contract code.

Pasiuna sa Smart Contracts

Ang usa ka transaksyon sa Ethereum naglangkob sa daghang mga natad. Ang una niini, dili, usa ka piho nga serial number sa transaksyon nga may kalabotan sa account mismo nga nag-apod-apod niini ug mao ang tagsulat niini. Kini mao ang gikinahanglan aron sa pag-ila sa doble nga mga transaksyon, sa ato pa, dili iapil ang kaso kung ang parehas nga transaksyon gidawat kaduha. Pinaagi sa paggamit sa usa ka identifier, ang matag transaksyon adunay usa ka talagsaon nga kantidad sa hash.

Sunod moabut ang usa ka uma sama presyo sa gas. Kini nagpakita sa presyo diin ang Ethereum base nga currency nakabig ngadto sa gas, nga gigamit sa pagbayad alang sa pagpatuman sa smart nga kontrata ug ang alokasyon sa virtual machine resource. Unsay buot ipasabot niini?

Sa Bitcoin, ang mga bayronon gibayran direkta sa base currency-Bitcoin mismo. Posible kini salamat sa usa ka yano nga mekanismo sa pagkalkulo kanila: nagbayad kami nga estrikto alang sa kantidad sa datos nga naa sa transaksyon. Sa Ethereum ang sitwasyon mas komplikado, tungod kay lisud kaayo ang pagsalig sa gidaghanon sa datos sa transaksyon. Dinhi, ang transaksyon mahimo usab nga adunay program code nga ipatuman sa virtual machine, ug ang matag operasyon sa virtual machine mahimong adunay lahi nga pagkakomplikado. Adunay usab mga operasyon nga naggahin sa memorya alang sa mga variable. Sila adunay ilang kaugalingon nga pagkakomplikado, diin ang bayad sa matag operasyon magdepende.

Ang gasto sa matag operasyon sa katumbas sa gas mahimong makanunayon. Gipaila kini ilabi na aron mahibal-an ang kanunay nga gasto sa matag operasyon. Depende sa load sa network, ang presyo sa gas mausab, nga mao, ang coefficient sumala sa diin ang base nga currency ma-convert sa kini nga auxiliary unit aron mabayran ang komisyon.

Adunay usa pa ka bahin sa usa ka transaksyon sa Ethereum: ang bytecode nga gilangkuban niini alang sa pagpatuman sa usa ka virtual nga makina ipatuman hangtod nga makompleto kini sa pipila nga resulta (kalampusan o kapakyasan) o hangtod ang usa ka piho nga kantidad sa mga sensilyo nga gigahin mahurot aron mabayran ang komisyon. . Kini aron malikayan ang usa ka sitwasyon diin, kung adunay sayup, ang tanan nga mga sensilyo gikan sa account sa nagpadala gigasto sa komisyon (pananglitan, usa ka matang sa walay katapusan nga siklo nga nagsugod sa usa ka virtual machine), ang mosunod nga natad anaa - magsugod gas (kasagaran gitawag nga limitasyon sa gas) - kini nagtino sa pinakataas nga kantidad sa mga sensilyo nga ang nagpadala andam nga mogasto aron makompleto ang usa ka transaksyon.

Ang sunod nga field gitawag adres sa padulngan. Naglakip kini sa adres sa nakadawat sa mga sensilyo o ang adres sa usa ka piho nga kontrata sa smart kansang mga pamaagi tawgon. Pagkahuman niini moabut ang uma bili, diin ang kantidad sa mga sensilyo nga gipadala sa destinasyon nga adres gisulod.

Sunod mao ang usa ka makapaikag nga natad nga gitawag nga data, diin ang tibuok istruktura mohaum. Dili kini usa ka bulag nga uma, apan usa ka tibuuk nga istruktura diin gihubit ang code alang sa virtual machine. Mahimo nimong ibutang ang arbitraryong datos dinhi - adunay lahi nga mga lagda alang niini.

Ug ang kataposang uma gitawag pirma. Duyog kini nga naglangkob sa elektronik nga pirma sa tagsulat niini nga transaksyon ug sa publiko nga yawe diin kini nga pirma mapamatud-an. Gikan sa publiko nga yawe mahimo nimong makuha ang account identifier sa nagpadala niini nga transaksyon, nga mao, talagsaon nga pag-ila sa account sa nagpadala sa sistema mismo. Nahibal-an namon ang panguna nga butang bahin sa istruktura sa transaksyon.

Pananglitan nga smart contract code alang sa Solidity

Atong tan-awon pag-ayo ang pinakasimple nga smart contract gamit ang usa ka pananglitan.

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);
    }
}

Sa ibabaw usa ka gipasimple nga source code nga makakupot sa mga sensilyo sa mga tiggamit ug ibalik kini kung gipangayo.

Busa, adunay usa ka Bank smart kontrata nga naghimo sa mosunod nga mga gimbuhaton: kini accumulates sensilyo sa iyang balanse, nga mao, sa diha nga ang usa ka transaksyon gipamatud-an ug ang ingon nga usa ka smart kontrata gibutang, usa ka bag-o nga asoy gihimo nga mahimong adunay sulod nga mga sensilyo sa iyang balanse; kini nahinumdom sa mga tiggamit ug sa pag-apod-apod sa mga sensilyo tali kanila; adunay ubay-ubay nga mga pamaagi sa pagdumala sa mga balanse, nga mao, posible nga pun-on, i-withdraw ug susihon ang balanse sa tiggamit.

Atong susihon ang matag linya sa source code. Kini nga kontrata adunay kanunay nga mga natad. Ang usa niini, nga adunay tipo nga adres, gitawag nga tag-iya. Dinhi ang kontrata nahinumdom sa adres sa tiggamit nga naghimo niining smart nga kontrata. Dugang pa, adunay usa ka dinamikong istruktura nga nagmintinar sa mga sulat tali sa mga adres ug balanse sa gumagamit.

Gisundan kini sa pamaagi sa Bank - kini adunay parehas nga ngalan sa kontrata. Tungod niini, kini ang nagtukod niini. Dinhi ang variable nga tag-iya gi-assign sa adres sa tawo nga nagbutang niining smart nga kontrata sa network. Kini ra ang nahitabo sa kini nga konstruktor. Sa ato pa, ang msg sa kini nga kaso mao gyud ang datos nga gibalhin sa virtual machine kauban ang transaksyon nga adunay sulud nga tibuuk nga code sa kini nga kontrata. Tungod niini, ang msg.sender mao ang tagsulat niini nga transaksyon nga nag-host niini nga code. Siya ang tag-iya sa smart contract.

Ang pamaagi sa pagdeposito nagtugot kanimo sa pagbalhin sa usa ka piho nga gidaghanon sa mga sensilyo sa kontrata nga account pinaagi sa transaksyon. Sa kini nga kaso, ang intelihente nga kontrata, nga nakadawat niini nga mga sensilyo, nagbilin niini sa balanse niini, apan nagrekord sa istruktura sa balanse kung kinsa gyud ang nagpadala niini nga mga sensilyo aron mahibal-an kung kinsa sila.

Ang sunod nga pamaagi gitawag nga withdraw ug nagkinahanglan kini og usa ka parameter - ang kantidad sa mga sensilyo nga gusto sa usa ka tawo nga i-withdraw gikan niini nga bangko. Gisusi niini kung adunay igo nga mga sensilyo sa balanse sa tiggamit nga nagtawag niini nga pamaagi aron ipadala kini. Kung adunay igo niini, nan ang smart nga kontrata mismo nagbalik sa gidaghanon sa mga sensilyo sa nagtawag.

Sunod moabut ang pamaagi sa pagsusi sa kasamtangan nga balanse sa user. Bisan kinsa nga motawag niini nga pamaagi gamiton aron mabawi kini nga balanse sa smart nga kontrata. Angay nga matikdan nga ang modifier sa kini nga pamaagi mao ang pagtan-aw. Kini nagpasabut nga ang pamaagi mismo wala magbag-o sa mga variable sa klase niini sa bisan unsang paagi ug kini usa ra nga paagi sa pagbasa. Wala'y lain nga transaksyon nga gihimo aron tawagan kini nga pamaagi, wala’y bayad nga gibayran, ug ang tanan nga mga kalkulasyon gihimo sa lokal, pagkahuman madawat sa tiggamit ang resulta.

Ang pamaagi sa pagpatay gikinahanglan aron maguba ang estado sa smart contract. Ug dinhi adunay dugang nga pagsusi kung ang nagtawag niini nga pamaagi mao ang tag-iya niini nga kontrata. Kung mao, nan ang kontrata nagguba sa kaugalingon, ug ang function sa pagkaguba nagkuha usa ka parameter - ang account identifier diin ipadala sa kontrata ang tanan nga nahabilin nga mga sensilyo sa balanse niini. Sa kini nga kaso, ang nahabilin nga mga sensilyo awtomatikong moadto sa adres sa tag-iya sa kontrata.

Giunsa pagtrabaho ang usa ka bug-os nga node sa network sa Ethereum?

Atong tan-awon ang eskematiko kung giunsa ang ingon nga mga intelihente nga mga kontrata gipatuman sa plataporma sa Ethereum ug kung giunsa ang usa ka bug-os nga network node molihok.

Pasiuna sa Smart Contracts

Ang usa ka bug-os nga node sa Ethereum network kinahanglan adunay labing menos upat ka mga module.
Ang una, sama sa bisan unsang desentralisado nga protocol, mao ang P2P networking module - usa ka module alang sa koneksyon sa network ug pagtrabaho sa ubang mga node, diin ang mga bloke, transaksyon, ug kasayuran bahin sa ubang mga node gibaylo. Kini usa ka tradisyonal nga sangkap alang sa tanan nga desentralisado nga mga cryptocurrencies.

Sunod, kami adunay usa ka module alang sa pagtipig sa datos sa blockchain, pagproseso, pagpili sa usa ka prayoridad nga sanga, pagdugang mga bloke, pag-unlink sa mga bloke, pag-validate sa kini nga mga bloke, ug uban pa.

Ang ikatulo nga module gitawag nga EVM (Ethereum virtual machine) - kini usa ka virtual nga makina nga nakadawat bytecode gikan sa mga transaksyon sa Ethereum. Kini nga module nagkuha sa kasamtangan nga kahimtang sa usa ka partikular nga account ug naghimo sa mga pagbag-o sa kahimtang niini base sa nadawat nga bytecode. Ang bersyon sa virtual machine sa matag network node kinahanglan parehas. Ang mga kalkulasyon nga mahitabo sa matag Ethereum node parehas ra, apan kini mahitabo sa usa ka asynchronous nga paagi: adunay usa nga nagsusi ug midawat niini nga transaksyon sa sayo pa, nga mao, nagpatuman sa tanan nga code nga anaa niini, ug usa ka tawo sa ulahi. Sumala niana, sa diha nga ang usa ka transaksyon gihimo, kini giapod-apod ngadto sa network, ang mga node modawat niini, ug sa panahon sa pag-verify, sa samang paagi nga ang Bitcoin Script gipatuman sa Bitcoin, ang bytecode sa virtual machine gipatuman dinhi.

Ang usa ka transaksyon gikonsiderar nga napamatud-an kung ang tanan nga code nga naa niini gipatuman, usa ka bag-ong estado sa usa ka piho nga account ang nahimo ug gitipig hangtod nga klaro kung kini nga transaksyon gipadapat o wala. Kung ang transaksyon gipadapat, nan kini nga estado giisip nga dili lamang nahuman, apan karon usab. Adunay usa ka database nga nagtipig sa estado sa matag account alang sa matag network node. Tungod sa kamatuoran nga ang tanan nga mga kalkulasyon mahitabo sa parehas nga paagi ug ang kahimtang sa blockchain parehas, ang database nga adunay sulud nga estado sa tanan nga mga account parehas usab sa matag node.

Mga tumotumo ug limitasyon sa mga smart nga kontrata

Sama sa alang sa mga pagdili nga naglungtad alang sa mga smart nga platform sa kontrata nga susama sa Ethereum, ang mga musunod mahimong hisgotan:

  • pagpatuman sa code;
  • paggahin og memorya;
  • data sa blockchain;
  • ipadala bayad;
  • paghimo og bag-ong kontrata;
  • tawag sa ubang mga kontrata.

Atong tan-awon ang mga pagdili nga gipahamtang sa usa ka virtual nga makina, ug, sa ingon, isalikway ang pipila ka mga mito bahin sa mga smart nga kontrata. Sa usa ka virtual machine, nga mahimong dili lamang sa Ethereum, apan usab sa susama nga mga plataporma, nga imong mahimo sa pagbuhat sa tinuod nga arbitraryo lohikal nga mga operasyon, nga mao, pagsulat code ug kini ipatuman didto, mahimo ka usab nga mogahin og panumduman. Bisan pa, ang bayad gibayran nga gilain alang sa matag operasyon ug alang sa matag dugang nga yunit sa memorya nga gigahin.

Sunod, ang virtual machine makabasa sa datos gikan sa database sa blockchain aron magamit kini nga datos isip usa ka trigger sa pagpatuman sa usa o lain nga smart contract logic. Ang virtual machine makahimo ug makapadala og mga transaksyon, makahimo kini og bag-ong mga kontrata ug mga pamaagi sa pagtawag sa ubang mga smart nga kontrata nga na-publish na sa network: anaa na, anaa, ug uban pa.

Ang labing komon nga tumotumo mao nga ang Ethereum smart nga mga kontrata makagamit sa impormasyon gikan sa bisan unsang kapanguhaan sa Internet sa ilang mga termino. Ang tinuod mao nga ang usa ka virtual nga makina dili makapadala usa ka hangyo sa network sa pipila nga mga kapanguhaan sa gawas nga kasayuran sa Internet, nga mao, imposible nga magsulat usa ka intelihente nga kontrata nga mag-apod-apod sa kantidad tali sa mga tiggamit depende sa, ingon, kung unsa ang kahimtang sa gawas, o kinsa ang nakadaog sa pipila ka kampeonato, o base sa kung unsa pa ang nahitabo sa gawas sa kalibutan, tungod kay ang kasayuran bahin sa kini nga mga insidente wala gyud sa database sa platform mismo. Sa ato pa, wala’y bisan unsa sa blockchain bahin niini. Kung dili kini makita didto, nan ang virtual machine dili makagamit niini nga datos isip mga trigger.

Mga disbentaha sa Ethereum

Atong ilista ang mga nag-una. Ang una nga disbentaha mao nga adunay pipila ka mga kalisud sa pagdesinyo, pagpalambo ug pagsulay sa mga smart nga kontrata sa Ethereum (Ethereum naggamit sa Solidity nga pinulongan sa pagsulat sa mga smart nga kontrata). Sa tinuud, gipakita sa praktis nga ang usa ka dako kaayo nga porsyento sa tanan nga mga sayup nahisakop sa hinungdan sa tawo. Tinuod kini alang sa nasulat na nga mga smart nga kontrata sa Ethereum nga adunay kasagaran o mas taas nga pagkakomplikado. Kung alang sa yano nga mga smart nga kontrata gamay ra ang posibilidad sa usa ka sayup, nan sa komplikado nga mga kontrata sa smart adunay kanunay nga mga sayup nga hinungdan sa pagpangawat sa mga pondo, ang ilang pagyelo, pagkaguba sa mga smart nga kontrata sa wala damha nga paagi, ug uban pa. nailhan.

Ang ikaduha nga disbentaha mao nga ang virtual machine mismo dili perpekto, tungod kay gisulat usab kini sa mga tawo. Mahimo kini nga ipatuman ang mga arbitraryong mga mando, ug naa niini ang pagkahuyang: daghang mga mando ang mahimong ma-configure sa usa ka piho nga paagi nga magdala sa mga sangputanan nga wala damha nga daan. Kini usa ka komplikado kaayo nga lugar, apan adunay daghan na nga mga pagtuon nga nagpakita nga kini nga mga kahuyangan anaa sa kasamtangan nga bersyon sa Ethereum network ug kini mahimong mosangpot sa kapakyasan sa daghang mga smart nga kontrata.

Laing dako nga kalisud, kini mahimong giisip nga usa ka disbentaha. Kini nahimutang sa kamatuoran nga mahimo ka nga praktikal o teknikal nga moabut sa konklusyon nga kung imong kolektahon ang bytecode sa usa ka kontrata nga ipatuman sa usa ka virtual machine, mahimo nimong mahibal-an ang pipila ka piho nga han-ay sa mga operasyon. Kung dungan nga himuon, kini nga mga operasyon labi nga magkarga sa virtual nga makina ug mohinay kini nga dili parehas sa bayad nga gibayad alang sa paghimo niini nga mga operasyon.

Kaniadto, adunay usa ka panahon sa pag-uswag sa Ethereum, kung daghang mga lalaki nga nakasabut sa detalye sa operasyon sa usa ka virtual nga makina nakit-an ang ingon nga mga kahuyangan. Sa tinuud, ang mga transaksyon nagbayad usa ka gamay nga bayad, apan halos nagpahinay sa tibuuk nga network. Kini nga mga problema lisud kaayo nga sulbaron, tungod kay kini kinahanglan, una, aron mahibal-an kini, ikaduha, aron ma-adjust ang presyo alang sa paghimo niini nga mga operasyon ug, ikatulo, aron himuon ang usa ka lisud nga tinidor, nga nagpasabut nga pag-update sa tanan nga mga node sa network sa usa ka bag-ong bersyon sa software, ug dayon dungan nga pagpaaktibo niini nga mga pagbag-o.

Sama sa alang sa Ethereum, daghang panukiduki ang nahimo, daghang praktikal nga kasinatian ang nakuha: positibo ug negatibo, apan bisan pa niana adunay nagpabilin nga mga kalisud ug mga kahuyangan nga kinahanglan pa nga atubangon sa bisan unsang paagi.

Busa, ang tema nga bahin sa artikulo nahuman na, magpadayon kita sa mga pangutana nga kanunay nga motungha.

Kanunay nga Gipangutana nga mga Pangutana

β€” Kung ang tanan nga partido sa usa ka kasamtangan nga smart nga kontrata gusto nga usbon ang mga termino, mahimo ba nila nga kanselahon kini nga smart nga kontrata gamit ang multisig, ug dayon maghimo usa ka bag-ong smart nga kontrata nga adunay bag-ong mga termino sa pagpatuman niini?

Ang tubag dinhi mahimong doble. Ngano man? Tungod kay sa usa ka bahin, ang usa ka intelihente nga kontrata gihubit sa makausa ug wala na kini nagpasabut sa bisan unsang mga pagbag-o, ug sa pikas bahin, mahimo kini adunay pre-written logic nga naghatag alang sa usa ka kompleto o partial nga pagbag-o sa pipila nga mga kondisyon. Kana mao, kung gusto nimo nga usbon ang usa ka butang sa imong smart nga kontrata, nan kinahanglan nimo nga ireseta ang mga kondisyon diin mahimo nimo i-update kini nga mga kondisyon. Subay niini, sa ingon lamang nga mabinantayon nga paagi mahimo ang pagbag-o sa kontrata. Apan dinhi, usab, mahimo kang magkaproblema: paghimo og pipila ka mga sayop ug makakuha og katugbang nga kahuyangan. Busa, ang ingon nga mga butang kinahanglan nga detalyado kaayo ug mabinantayon nga gidisenyo ug gisulayan.

β€” Unsa kaha kung ang tigpataliwala mosulod sa usa ka kasabutan sa usa sa mga partisipante nga partido: escrow o smart contract? Kinahanglan ba ang tigpataliwala sa usa ka smart nga kontrata?

Ang usa ka tigpataliwala wala gikinahanglan sa usa ka smart nga kontrata. Mahimong wala kini. Kung, sa kaso sa escrow, ang tigpataliwala mosulod sa usa ka panagkunsabo sa usa sa mga partido, nan oo, kini nga laraw dayon mawad-an sa tanan nga kantidad niini. Busa, ang mga tigpataliwala gipili sa paagi nga sila gisaligan sa tanan nga mga partido nga nahilambigit niini nga proseso sa parehas nga oras. Tungod niini, dili nimo ibalhin ang mga sensilyo sa usa ka multisignature nga adres nga adunay tigpataliwala nga wala nimo gisaligan.

β€” Posible ba sa usa ka transaksyon sa Ethereum nga ibalhin ang daghang lainlaing mga token gikan sa imong adres ngadto sa lainlaing target nga mga adres, pananglitan, mga adres sa pagbinayloay kung diin gibaligya kini nga mga token?

Kini usa ka maayo nga pangutana ug kini adunay kalabotan sa modelo sa transaksyon sa Ethereum ug kung giunsa kini lahi sa modelo sa Bitcoin. Ug ang kalainan mao ang radikal. Kung sa modelo sa transaksyon sa Ethereum imong gibalhin lang ang mga sensilyo, nan kini gibalhin lamang gikan sa usa ka adres ngadto sa lain, walay pagbag-o, ang piho nga kantidad nga imong gitakda. Sa laing pagkasulti, kini dili usa ka modelo sa wala pa nagasto nga mga output (UTXO), apan usa ka modelo sa mga account ug katugbang nga mga balanse. Posible nga ipadala ang daghang lainlaing mga token sa usa ka transaksyon sa usa ka higayon kung nagsulat ka usa ka tuso nga intelihente nga kontrata, apan kinahanglan ka pa nga maghimo daghang mga transaksyon, maghimo usa ka kontrata, dayon ibalhin ang mga token ug sensilyo niini, ug dayon tawagan ang angay nga pamaagi. . Nagkinahanglan kini og paningkamot ug panahon, mao nga sa praktis dili kini molihok sama niana ug ang tanan nga pagbayad sa Ethereum gihimo sa lain nga mga transaksyon.

β€” Usa sa mga tumotumo bahin sa plataporma sa Ethereum mao nga imposible nga ihulagway ang mga kondisyon nga magdepende sa datos sa usa ka eksternal nga kapanguhaan sa Internet, busa unsay buhaton unya?

Ang solusyon mao nga ang intelihente nga kontrata mismo makahatag sa usa o daghan pa nga gitawag nga kasaligan nga mga orakulo, nga nagkolekta mga datos bahin sa kahimtang sa mga butang sa gawas sa kalibutan ug ipadala kini sa mga smart nga kontrata pinaagi sa mga espesyal nga pamaagi. Giisip mismo sa kontrata nga tinuod ang datos nga nadawat gikan sa mga kasaligang partido. Alang sa labi ka kasaligan, pagpili lang usa ka daghang grupo sa mga orakulo ug pamenosan ang peligro sa ilang panagkunsabo. Ang kontrata mismo mahimong dili maghunahuna sa mga datos gikan sa mga orakulo nga sukwahi sa kadaghanan.

Usa sa mga lecture sa online nga kurso sa Blockchain gipahinungod niini nga hilisgutan - "Pasiuna sa Smart Contracts".

Source: www.habr.com

Idugang sa usa ka comment