Kodi tiyenera kupanga blockchain chiyani?

Mbiri yonse ya anthu ndi njira yopitilira kuchotsa maunyolo ndikupanga atsopano, amphamvu kwambiri. (Osadziwika wolemba)

Kuwunika ma projekiti ambiri a blockchain (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin, etc.), ndikumvetsetsa kuti kuchokera pamalingaliro aukadaulo, onse amamangidwa pa mfundo zomwezo. Blockchains amakumbukira nyumba, zomwe, mosasamala kanthu za mitundu yosiyanasiyana ya mapangidwe, zokongoletsera ndi zolinga, zimakhala ndi maziko, makoma, denga, mazenera, zitseko zomwe zimagwirizanitsidwa mwa njira zina. Ndipo ngati mumvetsetsa mfundo zazikuluzikulu zomanga nyumba ndikudziwa zomwe zidagwiritsidwa ntchito, ndiye kuti mutha kudziwa cholinga cha nyumba inayake. Pakalipano, zinthu zakhala zikuchitika ndi blockchain yomwe aliyense wamva za izo, koma ndi anthu ochepa omwe amamvetsa zomangamanga ndi mfundo za ntchito. Chifukwa chake, pali kusamvetsetsa chifukwa chake komanso momwe zimakhalira zomveka kugwiritsa ntchito matekinoloje a blockchain.

M'nkhaniyi tisanthula katundu ndi mfundo zomwe zimafanana ndi blockchains zonse. Kenako, tiyeni tiwone zovuta zomwe zitha kuthetsedwa pogwiritsa ntchito blockchain ndikulimbitsa zinthuzo, tiyeni timange blockchain yaying'ono koma yeniyeni patsamba lathu lenileni!

Chifukwa chake, tiyeni tikumbukire mavuto omwe blockchain adathetsa poyamba.

Ndili wotsimikiza kuti ambiri anganene za nkhokwe yogawidwa, yogawidwa, yapagulu komanso yosasinthika. Koma n’chifukwa chiyani zonsezi zinali zofunika?

Ndimakonda kuyamba kuphunzira ukadaulo uliwonse powerenga miyezo, popeza zolemba zonse ndi mabuku pamutu womwe ukuphunziridwa zimachokera pa izo. Koma pakadali pano palibe miyezo ya blockchain; ISO idangopanga makomiti za chitukuko chawo. Pakadali pano, projekiti iliyonse ya blockchain yapagulu ili ndi chikalata chake cha White pepala, chomwe kwenikweni chimakhala chidziwitso chaukadaulo. Ntchito yoyamba yodziwika bwino ya blockchain ndi network ya Bitcoin. Pitani ku tsamba lovomerezeka la maukonde ndi onani pamene zonse zinayambira.

Blockchain Challenge

Chifukwa chake, ntchito yomwe blockchain idathetsedwa mu netiweki ya apainiya a Bitcoin ndikuchita kusamutsa kodalirika kwa umwini wazinthu za digito (katundu) m'malo osadalirika popanda oyimira pakati. Mwachitsanzo, mu netiweki ya Bitcoin, chuma cha digito ndi ndalama za digito za bitcoin. Ndipo mayankho onse aukadaulo a Bitcoin ndi ma blockchains ena amatsikira kuti athetse vutoli.

Mavuto omwe blockchain amathetsa

Tiyerekeze kuti bungwe lina lazachuma likunena kuti lamanga maukonde padziko lonse lapansi mothandizidwa ndi zomwe zimatheka kutumiza ndalama kwa munthu aliyense. Kodi inu mumukhulupirira iye? Ngati bungwe ili ndi Visa kapena MasterCard, mwina mungakhulupirire, koma ngati, titero, AnonymousWorldMoney, mwina simungatero. Chifukwa chiyani? Koma chifukwa timadziwa bwino momwe machitidwe ogawidwa amapangidwira ndi makampani apadera, pazifukwa ziti, ndi zomwe izi zingayambitse. Tiyeni tione mwatsatanetsatane mavuto a machitidwe oterewa ndi momwe angathetsere pogwiritsa ntchito matekinoloje a blockchain.

Tinene kuti mu AnonymousWorldMoney yokhazikika pali ma seva omwe ali ndi nkhokwe, ndipo ndizabwino ngati pali angapo aiwo m'malo osiyanasiyana a data. Pamene wotumiza atumiza ndalama, malonda amalembedwa, omwe amabwerezedwa kwa ma seva onse, ndipo ndalamazo zimafika kwa wolandira.

Kodi tiyenera kupanga blockchain chiyani?

M'dziko labwino, dongosololi limagwira ntchito bwino, koma m'dziko lathu pali mavuto otsatirawa:

  1. Vuto lozindikiritsa otenga nawo mbali mbali imodzi komanso kufunikira kosadziwika kwazochitikazo. Iwo. muyenera kusamutsa ndalama kwa wolandira enieni komanso m'njira yoti palibe amene akudziwa za izi kupatula omwe akuchita nawo malondawo. Mabanki ali ndi manambala aakaunti ndi makadi aku banki olumikizidwa ndi munthu kapena bungwe lazamalamulo, ndipo chinsinsi chakubanki chimateteza zidziwitso zamalonda. Ndipo ndani amatsimikizira kuti AnonymousWorldMoney yokhazikika sigwiritsa ntchito zidziwitso zanu ndi zidziwitso zamalonda pazolinga zake?
  2. Kodi mungatsimikize bwanji kuti wolandirayo walandira ndendende ndalama zomwe zidatumizidwa kwa iye? Kunena zoona, wotumizayo anasamutsa $100, ndipo wolandirayo analandira $10. Wotumiza amabwera ku ofesi ya AnonymousWorldMoney ndi risiti yake, ndipo kalaliki akuwonetsa mtundu wake, pomwe palembedwa kuti wotumizayo adasamutsa $10 yokha.
  3. Vuto la malo osadalirika, mwachitsanzo, chinyengo chotchedwa double-spending. Wotenga nawo mbali wosakhulupirika amatha kugwiritsa ntchito ndalama zake kangapo mpaka malipirowo abwerezedwanso ku maseva onse. Chithunzi cha CAP, ndithudi, palibe amene analetsa, ndipo mgwirizano udzakwaniritsidwa, koma wina sadzalandira ndalama zothandizira ntchito kapena katundu woperekedwa. Choncho, ngati palibe chikhulupiliro chonse mu bungwe la malipiro kapena ogwira nawo ntchito, ndiye kuti m'pofunika kumanga maukonde osagwirizana ndi kukhulupirirana, koma pa cryptography.
  4. Conditional AnonymousWorldMoney ili ndi nambala yomalizira ya maseva omwe amatha kusapezeka mwadala kapena chifukwa cha zolinga zoyipa.
  5. AnonymousWorldMoney itenga ntchito yake yogwirika.
  6. Kutheka kulamulira. Panthawi yogwira ntchito ya Bitcoin, zidapezeka kuti anthu amafuna kusamutsa ndalama kwa wina ndi mzake, komanso kuyang'ana zochitika zosiyanasiyana zamalonda, zochitika za ntchito za pulogalamu, kuchitapo kanthu malinga ndi momwe zilili, ndi zina zotero.

Momwe blockchain imathetsera mavutowa

  1. Kuzindikiritsa otenga nawo mbali kumachitika pogwiritsa ntchito makiyi awiri: achinsinsi komanso agulu, ndipo siginecha ya digito imazindikiritsa mwapadera wotumiza ndi wolandila, ndikusiya zidziwitso zawo mosadziwika.
  2. Zogulitsa zimasonkhanitsidwa mu midadada, hashi ya block imawerengedwa ndikulembedwa mu block yotsatira. Kutsatizana kojambulira ma hashes mu midadada kumapatsa ukadaulo wa blockchain dzina lake, komanso zimapangitsa kuti zikhale zosatheka kusintha mosadziwika / kufufuta midadada kapena zochitika pawokha pama block. Chifukwa chake, ngati malonda akuphatikizidwa mu blockchain, mutha kukhala otsimikiza kuti deta yake ikhala yosasinthika.
  3. Chinyengo chogwiritsa ntchito kawiri chimalephereka pofika pa mgwirizano wapa netiweki kuti ndi data iti yomwe iyenera kuganiziridwa kuti ndiyovomerezeka komanso yoti mutayidwe. Mu intaneti ya Bitcoin, mgwirizano umatheka ndi umboni wa ntchito (PoW).
  4. Kudalirika kwa intaneti kumatheka chifukwa chakuti blockchain ndi yapagulu, pomwe aliyense wotenga nawo mbali amatha kuyendetsa mfundo zake, alandire buku lathunthu la blockchain, komanso, pawokha amayamba kuyang'ana zomwe zikuchitika kuti zitsimikizire. Tiyenera kukumbukira kuti blockchains zamakono zimapangitsa kuti zikhale zotheka kumanga osati pagulu (lotseguka) komanso lachinsinsi (lotsekedwa) blockchains, komanso kugwiritsa ntchito njira zophatikizana.
  5. The blockchain sadzachotsa kwathunthu ma komisheni, chifukwa ... muyenera kulipira anthu omwe amathandizira maukonde, koma mu blockchain kufunikira kwa komishoni kumatsimikiziridwa motsimikizika kotero kuti palibe kukayikira za kufunikira kwake.
  6. Ma blockchains amakono amatha kugwiritsa ntchito malingaliro abizinesi, omwe mu blockchain amatchedwa Smart Contracts. Lingaliro la makontrakitala anzeru limakhazikitsidwa m'zilankhulo zosiyanasiyana zapamwamba.

Kenako, tikambirana mayankho awa mwatsatanetsatane.

Zomangamanga za Blockchain

Zida za Blockchain

Wotenga nawo mbali aliyense atha kuyambitsa node yawo ndi buku lathunthu la blockchain (node ​​yathunthu). Node zonse zomwe zimatha kulemba zochitika pa blockchain zimatchedwa mfundo zogwirizana (mboni) kapena ogwira ntchito m’migodi (m’migodi). Node zonse zomwe zimangoyang'ana kulondola kwa zochitika zimatchedwa ma audit node (kufufuza). Makasitomala opepuka (makasitomala opepuka) samasunga makope athunthu a blockchain, koma amalumikizana ndi netiweki pogwiritsa ntchito mfundo zonse.
Ogwiritsa ntchito ambiri amagwiritsa ntchito makasitomala opepuka kapena zikwama zapaintaneti kuti azigulitsa. Ma node onse amalumikizana wina ndi mnzake. Ndi zinthu izi, kamangidwe ka netiweki kamakhala kokhazikika:

Kodi tiyenera kupanga blockchain chiyani?

Kusinthana kwa moyo

Tiyeni tiwone momwe moyo umakhalira ndikuphwanya pang'onopang'ono:

Kodi tiyenera kupanga blockchain chiyani?

Tekinoloje ya blockchain

Tiyeni tikhazikike mwatsatanetsatane pamayankho aukadaulo ndi kulumikizana kwawo wina ndi mnzake.

Chizindikiritso

Ntchito iliyonse ya blockchain iyenera kusayinidwa ndi digito. Chifukwa chake, kuti amalize kuchitapo kanthu, wotenga nawo mbali aliyense ayenera kukhala ndi awiri ofunikira: achinsinsi / agulu. Nthawi zina makiyi awiri amatchedwa chikwama, chifukwa makiyiwo amalumikizidwa mwapadera ndi adilesi yapadera ya digito ya omwe akutenga nawo mbali komanso kusanja kwake. M'malo mwake, makiyi ndi ma adilesi ndi mindandanda chabe ya manambala mumitundu yosiyanasiyana. Zitsanzo za makiyi ndi ma adilesi a chikwama:

Private key: 0a78194a8a893b8baac7c09b6a4a4b4b161b2f80a126cbb79bde231a4567420f
Public key: 0579b478952214d7cddac32ac9dc522c821a4489bc10aac3a81b9d1cd7a92e57ba
Address: 0x3814JnJpGnt5tB2GD1qfKP709W3KbRdfb27V

Kupanga siginecha ya digito mu blockchains, algorithm yozikidwa pa elliptic curves imagwiritsidwa ntchito: Elliptic Curve Digital Signature Algorithm (ECDSA). Kuti igwire ntchito, kiyi yachinsinsi (256-bit nambala) nthawi zambiri imatengedwa mwachisawawa. Chiwerengero cha zosankha zazikulu ndi 2 ku mphamvu ya 256, kotero tikhoza kulankhula za zosatheka zofananira ndi makiyi achinsinsi.

Chotsatira, kiyi yapagulu imapezedwa kuchokera kwachinsinsi mwa kuchulukitsa mtengo wake ndi makonzedwe a mfundo yomwe ili pamphepete mwa elliptic, zomwe zimapangitsa kugwirizanitsa kwa mfundo yatsopano pamtunda womwewo. Izi zimatsimikizira kuti mwapeza makiyi awiri oyenera kusaina pa digito. Pomaliza, adilesi yachikwama imachokera ku kiyi yapagulu.

Pali zolemba zambiri zokhala ndi tsatanetsatane wazomwe zimagwiritsidwa ntchito mu blockchain, mwachitsanzo: Bitcoin mwachidule - Cryptography

Kiyi yachinsinsi iyenera kukhala yachinsinsi komanso kukhala yotetezedwa. Kiyi yapagulu imadziwika ndi aliyense. Ngati chinsinsi chachinsinsi chatayika, kupeza katundu (ndalama) sikungabwezeretsedwe ndipo ndalama zidzatayika kwamuyaya. Chifukwa chake, ntchito yosunga makiyi achinsinsi ndi yofunika kwambiri, chifukwa Iyi si banki komwe mungathe kubwera ndi pasipoti yanu ndikubwezeretsanso akaunti yanu. Pali bizinesi yonse yopanga zomwe zimatchedwa ma wallet ozizira a crypto, ofanana ndi ma drive a flash:

Kodi tiyenera kupanga blockchain chiyani?

kapena mutha kugwiritsa ntchito njira zodalirika, mwachitsanzo, kusindikiza mtengo wa kiyi yachinsinsi pa tokeni:

Kodi tiyenera kupanga blockchain chiyani?

Zochitika

Zambiri zokhudzana ndi kapangidwe kazinthu zingapezeke m'nkhaniyi Bitcoin mwachidule - Transaction. Ndikofunikira kuti timvetsetse kuti malonda aliwonse ali ndi data iyi:

From: 0x48C89c341C5960Ca2Bf3732D6D8a0F4f89Cc4368 - Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ адрСс отправитСля
To: 0x367adb7894334678b90Π°fe7882a5b06f7fbc783a - Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ адрСс получатСля
Value: 0.0001 - сумма Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
Transaction Hash: 0x617ede331e8a99f46a363b32b239542bb4006e4fa9a2727a6636ffe3eb095cef - Ρ…ΡΡˆ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

Kenako, kugulitsako kumasainidwa ndi kiyi yachinsinsi ndikutumizidwa (onani tsatanetsatane wa momwe protocol ikuyendera Bitcoin mwachidule-Protocol) ku ma node onse mu blockchain omwe amayang'ana zochitika kuti zitsimikizike. Ma aligorivimu otsimikizira ntchitoyo sipang'ono ndipo amaphatikizanso masitepe khumi ndi awiri.

midadada transaction

Pambuyo poyang'ana zowona zamalonda, node amapanga midadada kuchokera kwa iwo. Kuphatikiza pa zochitika, hashi ya chipika chapitacho ndi nambala (Nonce counter) imalembedwa mu chipika, ndipo hashi ya chipika chamakono imawerengedwa pogwiritsa ntchito SHA-256 algorithm. Hashi iyenera kuti idakhazikitsa zovuta. Mwachitsanzo, mu netiweki ya Bitcoin, zovuta za hashi zimasinthidwa zokha masabata a 2 aliwonse kutengera mphamvu ya netiweki kotero kuti chipika chimapangidwa pafupifupi kamodzi mphindi 10 zilizonse. Kuvuta kwake kumatsimikiziridwa ndi chikhalidwe chotsatirachi: hashi yomwe yapezeka iyenera kukhala yochepa kuposa chiwerengero chodziwikiratu. Ngati vutoli silinakwaniritsidwe, ndiye kuti 1 ikuwonjezeredwa ku Nonce, ndipo ntchito yowerengera hashi ikubwerezedwa. Kusankha hashi, gawo la Nonce likugwiritsidwa ntchito, chifukwa Izi ndizomwe zili mu block zomwe zingasinthidwe; zina zonse ziyenera kukhala zosasinthika. Hashi yovomerezeka iyenera kukhala ndi ziro zingapo zotsogola, monga imodzi mwama heshi enieni:

000000000000000000000bf03212e7dd1176f52f816fa395fc9b93c44bc11f91

Kupeza bwino hashi ndi umboni wa ntchito yomwe yachitika (Umboni-wa-Ntchito, PoW) pamagulu a Bitcoin kapena Ethereum. Njira yopezera ma hashes imatchedwa migodi, yofanana ndi migodi ya golide. Dzinalo limafotokoza bwino lomwe tanthauzo la ndondomekoyi, chifukwa pali kusaka kosavuta kwa zosankha, ndipo ngati wina apeza hashi yoyenera, ndiye kuti uwu ndi mwayi. Zili ngati kupeza mwala weniweni wagolide m'matani a zinyalala. Mphotho ya chipika tsopano ndi 12.5 BTC ndipo ngati muchulukitsa ndi Bitcoin mlingo wa $3900 wamakono, mumapeza oposa kilogalamu ya golide woyenga. Pali china chake chomenyera!

Pambuyo popeza bwino hashi, chipika ndi hashi yomwe yapezeka imalembedwa ku blockchain ngati chipika chotsatira. Zambiri pamapangidwe a midadada zitha kupezeka m'nkhaniyi Bitcoin mwachidule-Blockchain, ndipo pansipa pali chithunzi chosavuta:

Kodi tiyenera kupanga blockchain chiyani?

Blockchain imayamba ndi chipika chomwe sichinakhale ndi hashi ya block yapitayi. Pali chipika chimodzi chokha chotere mu blockchain ndipo chili ndi dzina lake la Genesis block. Ma block otsalawo ali ndi mawonekedwe omwewo ndipo amasiyana kokha ndi kuchuluka kwa zochitika. Zosintha zenizeni ndi midadada zomwe zikupangidwa mu Bitcoin kapena Ethereum zitha kuwonedwa Kuletsa Explorer.

Kukula kwa midadada mu Bitcoin kumangokhala 1MB ndipo ndi chidziwitso chocheperako pakugulitsa pafupifupi ma byte 200, kuchuluka kwazomwe zimachitika mu block kumatha kukhala pafupifupi 6000. Kuchokera apa, mwa njira, amatsatira machitidwe a Bitcoin, omwe aliyense amaseka: chipika chimapangidwa pafupifupi kamodzi mphindi 10 * masekondi 60 = masekondi 600, omwe amapereka ntchito yovomerezeka ya 10 TPS. Ngakhale m'malo mwake, izi sizothandiza, koma ndi algorithm yomwe idakhazikitsidwa mwadala. Ku Ethereum, chifukwa cha mpikisano, adangopanga nthawi yopangira chipika masekondi 15. ndipo zokolola zidakwera kwambiri. Chifukwa chake, mu blockchains omwe amagwiritsa ntchito PoW monga mgwirizano, sizomveka kuyerekeza magwiridwe antchito konse, chifukwa zimadalira mwachindunji zovuta za mawerengedwe a cache, omwe angaperekedwe ku mtengo uliwonse.

Mafoloko

Kodi chimachitika ndi chiyani ngati, mwachitsanzo, ma node angapo apeza ma hashes omwe amakwaniritsa zovuta, koma amasiyana ndi mtengo (mwa kuyankhula kwina, adagwirizana zosiyana) ndikulemba midadada ku blockchain? Tiyeni tiwone momwe blockchain imatetezera izi. Pankhaniyi, zomwe zimatchedwa mphanda zimachitika, ndipo blockchain ili ndi mitundu iwiri ya unyolo:

Kodi tiyenera kupanga blockchain chiyani?

Kodi chinachitika n'chiyani? Kenako, gawo la netiweki limayamba kugwira ntchito pa block N + 2 kuchokera ku unyolo umodzi, ndi gawo lina:

Kodi tiyenera kupanga blockchain chiyani?

Imodzi mwa midadada iyi ipezeka kale ndikutumizidwa ku blockchain, kenako, malinga ndi malamulo, blockchain iyenera kusinthana ndi unyolo wautali ndikuletsa zochitika zonse kuchokera ku block ina:

Kodi tiyenera kupanga blockchain chiyani?

Panthawi imodzimodziyo, zinthu zikhoza kuchitika pamene wochita nawo ntchitoyo anali m'modzi mwa midadada ya foloko, yomwe inathetsedwa. Chifukwa chake, kuti muwonetsetse kuti zomwe mukufuna zimalembedwa mu blockchain, pali malingaliro ambiri - musanakhulupirire zomwe zikuchitika, muyenera kudikirira mpaka midadada yotsatira iwonjezedwe ku blockchain. Malangizo a kuchuluka kwa midadada yodikirira ma blockchain osiyanasiyana amasiyana. Mwachitsanzo, pa netiweki ya Bitcoin osachepera ndi midadada 2, kuchuluka kwake ndi 6.

chithunzi chomwecho ndi chipika mafoloko adzaonedwa pa otchedwa 51% kuukira - apa ndi pamene gulu la migodi amayesa kukula njira chipika unyolo, kufunafuna kuletsa unyolo ndi zochita zawo zachinyengo. Ngakhale pakali pano, m'malo mwachinyengo, ndizopindulitsa kwambiri kugwiritsa ntchito mphamvu zanu pamigodi yowona mtima.

Kugwirizana

Kuti mulembe chipika pa blockchain, maukonde ayenera kufikira mgwirizano. Tiyeni tikumbukire ntchito yokwaniritsa mgwirizano pamakompyuta olumikizirana. Vutoli limapangidwa ngati ntchito ya akuluakulu a Byzantine BFT (Kulekerera kolakwika kwa Byzantine). Kusiya kufotokoza kokongola kwa mavuto a gulu lankhondo la Byzantine, vutoli likhoza kupangidwa motere: momwe ma node a netiweki angakhalire ndi zotsatira zofanana ngati ma netiweki ena amatha kuwapotoza mwadala. Ma aligorivimu omwe alipo pothana ndi vuto la BFT akuwonetsa kuti netiweki imatha kugwira ntchito moyenera ngati pali osakwana 1/3 yazachinyengo. Chifukwa chiyani mgwirizano wa BFT sunagwiritsidwe ntchito pa netiweki ya Bitcoin? Chifukwa chiyani kunali kofunikira kugwiritsa ntchito PoW? Pali zifukwa zingapo:

  • BFT imagwira ntchito bwino ndi ma node ang'onoang'ono osasunthika, koma mu blockchain yapagulu chiwerengero cha node sichidziwikiratu ndipo, kuwonjezera apo, ma node amatha kutsegulidwa ndi kuzimitsa mwachisawawa.
  • Ndikofunikira kulimbikitsa anthu kuyambitsa ma blockchain node. Kuti achite izi, anthu ayenera kulipidwa. Mu BFT palibe chomwe chingalandire mphotho, koma zomwe mphothoyo ili mu PoW zimamveka bwino kwa aliyense pamlingo wodziwika bwino: chifukwa chamagetsi omwe amadyedwa ndi purosesa popeza hashi ya block.

Kuphatikiza pa PoW, palinso migwirizano ina ingapo yomwe imagwiritsidwa ntchito mu blockchains zamakono, mwachitsanzo:

  • PoS (Umboni-wa-Ndalama) - pa blockchain Hyperledger
  • DPoS (Delegated Proof-of-Stake) - pa blockchain BitShares
  • Zosintha za BFT: SBFT (Chosavuta BFT) ndi PBFT (Zothandiza BFT), mwachitsanzo mu blockchain Exonum

Tiyeni tikhazikike pang'ono pa mgwirizano wa PoS, chifukwa ... Ndi PoS ndi mitundu yake yomwe imafala kwambiri mu blockchains zapadera. Chifukwa chiyani mwachinsinsi? Kumbali imodzi, mawonekedwe a PoS ali bwino poyerekeza ndi PoW, chifukwa Kuti mukwaniritse mgwirizano, zofunikira zochepa zamakompyuta zimafunikira, zomwe zikutanthauza kuti liwiro la kulemba deta ku blockchain likuwonjezeka. Koma kumbali ina, PoS ili ndi mwayi wochuluka wachinyengo, kotero kuti athetse izi, onse omwe ali mu blockchain ayenera kudziwika.

Kugwirizana kwa PoS kumachokera pa kusankha kwa mfundo zomwe zingathe kulemba chipika ndi zochitika ku blockchain malingana ndi kuchuluka kwa ndalama mu akaunti, kapena m'malo mwake, osati mu akaunti, koma mu chikole, i.e. Mukakhala ndi ndalama zambiri ngati chikole, mwayi woti ma netiwekiwo angasankhe node yanu kuti mulembe chipika. Kusungitsa sikudzabwezedwa ngati chipikacho ndi chosavomerezeka. Izi zimapereka chitetezo ku chinyengo. Pali mitundu yosiyanasiyana ya PoS:

  • Chigwirizano cha Delegated PoS (DPoS) chimagawanitsa otenga nawo mbali kukhala "ovota" ndi "ovomerezeka". Omwe ali ndi ndalama (otenga nawo mavoti) amapereka mphamvu zawo kuti atsimikizire ndi kulemba zochitika pa blockchain kwa ena omwe atenga nawo mbali. Chifukwa chake, ovomerezeka amachita ntchito yonse yowerengera ndikulandila mphotho, ndipo kupezeka kwa omwe atenga nawo mavoti kumatsimikizira kukhulupirika kwa otsimikizira, chifukwa. akhoza kusinthidwa nthawi iliyonse.
  • Kugwirizana kwa LPoS (Leased Proof-of-Stake) kumakupatsani mwayi wobwereketsa ndalama zanu kumalo ena kuti akhale ndi mwayi wabwino wotsimikizira midadada. Kuti. Mutha kulandira komishoni yochitapo kanthu popanda kutenga nawo gawo pakutsimikizira kwenikweni kwazomwe zikuchitika ndikutchingira migodi.

Palinso maupangiri ena angapo omwe sanagwiritsidwebe ntchito kwambiri, ndingowalemba apa kuti mudziwe zambiri, ndipo tsatanetsatane wa ma algorithms ogwirizanawo angapezeke, mwachitsanzo, m'nkhaniyo: Consensus Algorithms mu Blockchain.

  • Ndakatulo (Umboni-wa-Nthawi Yapita)
  • PoC (Umboni Wa-Kutha)
  • PoB (Umboni Wakuwotcha)
  • PoWeight (Umboni wa Kulemera)
  • PoA (Umboni-wa-Zochita) - PoW + PoS
  • PoI (Umboni Wofunika)

Kudalirika ndi mitundu yotumizira ma blockchains

Public blockchain

Kukhazikika Public kapena dzina lina Chopanda chilolezo cha blockchain Izi zimatheka polola aliyense kuti alumikizane ndikuwona zambiri kapena kulumikiza mfundo zake, ndipo kudalira kumakhazikika pa mgwirizano wa PoW.

Private blockchain

Private kapena Private Amaloledwa blockchain. Mu blockchains awa, gulu lina la otenga nawo mbali (mabungwe kapena anthu) ndi omwe ali ndi mwayi wodziwa zambiri. Ma blockchains oterowo amamangidwa ndi mabungwe ndi cholinga chowonjezera phindu kapena kuchita bwino. Kudalirika kwawo kumatsimikiziridwa ndi zolinga zofanana za omwe atenga nawo mbali komanso ma algorithms ogwirizana a PoS ndi BFT.

Blockchain Consortium

Pali Mgwirizano kapena Public Chilolezo cha blockchain. Awa ndi ma blockchains omwe aliyense angalumikizane nawo kuti awone, koma wotenga nawo mbali amatha kuwonjezera chidziwitso kapena kulumikiza mfundo zake pokhapokha ndi chilolezo cha ena. Ma blockchains otere amamangidwa ndi mabungwe kuti awonjezere chidaliro kwa makasitomala kapena ogula zinthu kapena gulu lonse. Apa, kudalirika kumathekanso ndi kukhalapo kwa chikhulupiliro pakati pa otenga nawo mbali ndi ma algorithms ofanana a PoS ndi BFT.

Mikangano Yamphamvu

Blockchains akhazikitsidwa pambuyo Bitcoin ali, ku digiri imodzi kapena imzake, anawonjezera luso kuchita mapangano anzeru. Kwenikweni, mgwirizano wanzeru ndi ntchito yomwe khodi yamapulogalamu imayikidwa kuti ichitike. Mapangano anzeru pa intaneti ya Ethereum amachitidwa mu EVM (Ethereum Virtual Machine). Kuti muyambe kupanga mgwirizano wanzeru, uyenera kukhazikitsidwa momveka bwino ndi malonda ena, kapena zoyambira zogwirira ntchito ziyenera kukwaniritsidwa. Zotsatira za kuphedwa kwa mgwirizano wanzeru zidzalembedwanso mu blockchain. Kulandira deta kuchokera kunja kwa blockchain ndikotheka, koma kochepa kwambiri.

Ndi malingaliro ati abizinesi omwe angagwiritsidwe ntchito pogwiritsa ntchito mgwirizano wanzeru? Ndipotu, palibe zambiri, mwachitsanzo, kuyang'ana mikhalidwe pogwiritsa ntchito deta kuchokera ku blockchain, kusintha eni ake a chuma cha digito malingana ndi izi, kujambula deta mu yosungirako yokhazikika mkati mwa blockchain. Mfundoyi ikugwiritsidwa ntchito m'chinenero chapamwamba cha Solidity.

Chitsanzo chodziwika bwino cha magwiridwe antchito omwe amagwiritsidwa ntchito pogwiritsa ntchito makontrakitala anzeru ndikupereka ma tokeni a ma ICO. Mwachitsanzo, ndinakhazikitsa mgwirizano wanzeru kuti ndipereke AlexToken 500 yochepa. Wolemba kugwirizana kwa Etherscan ilipo

gwero la mgwirizano wanzeru muchilankhulo cha Solidity

pragma solidity ^0.4.23;
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
**/
function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
if (a == 0) {
return 0;
}
c = a * b;
assert(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
**/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
// uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return a / b;
}
/**
* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
**/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
/**
* @dev Adds two numbers, throws on overflow.
**/
function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
**/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender account.
**/
constructor() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
**/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
**/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @title ERC20Basic interface
* @dev Basic ERC20 interface
**/
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
**/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
**/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) balances;
uint256 totalSupply_;
/**
* @dev total number of tokens in existence
**/
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
**/
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
**/
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
}
contract StandardToken is ERC20, BasicToken {
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint256 the amount of tokens to be transferred
**/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
*
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
**/
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
**/
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _addedValue The amount of tokens to increase the allowance by.
**/
function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _subtractedValue The amount of tokens to decrease the allowance by.
**/
function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
uint oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
/**
* @title Configurable
* @dev Configurable varriables of the contract
**/
contract Configurable {
uint256 public constant cap = 1000000000*10**18;
uint256 public constant basePrice = 100*10**18; // tokens per 1 ether
uint256 public tokensSold = 0;
uint256 public constant tokenReserve = 500000000*10**18;
uint256 public remainingTokens = 0;
}
/**
* @title CrowdsaleToken 
* @dev Contract to preform crowd sale with token
**/
contract CrowdsaleToken is StandardToken, Configurable, Ownable {
/**
* @dev enum of current crowd sale state
**/
enum Stages {
none,
icoStart, 
icoEnd
}
Stages currentStage;
/**
* @dev constructor of CrowdsaleToken
**/
constructor() public {
currentStage = Stages.none;
balances[owner] = balances[owner].add(tokenReserve);
totalSupply_ = totalSupply_.add(tokenReserve);
remainingTokens = cap;
emit Transfer(address(this), owner, tokenReserve);
}
/**
* @dev fallback function to send ether to for Crowd sale
**/
function () public payable {
require(currentStage == Stages.icoStart);
require(msg.value > 0);
require(remainingTokens > 0);
uint256 weiAmount = msg.value; // Calculate tokens to sell
uint256 tokens = weiAmount.mul(basePrice).div(1 ether);
uint256 returnWei = 0;
if(tokensSold.add(tokens) > cap){
uint256 newTokens = cap.sub(tokensSold);
uint256 newWei = newTokens.div(basePrice).mul(1 ether);
returnWei = weiAmount.sub(newWei);
weiAmount = newWei;
tokens = newTokens;
}
tokensSold = tokensSold.add(tokens); // Increment raised amount
remainingTokens = cap.sub(tokensSold);
if(returnWei > 0){
msg.sender.transfer(returnWei);
emit Transfer(address(this), msg.sender, returnWei);
}
balances[msg.sender] = balances[msg.sender].add(tokens);
emit Transfer(address(this), msg.sender, tokens);
totalSupply_ = totalSupply_.add(tokens);
owner.transfer(weiAmount);// Send money to owner
}
/**
* @dev startIco starts the public ICO
**/
function startIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
currentStage = Stages.icoStart;
}
/**
* @dev endIco closes down the ICO 
**/
function endIco() internal {
currentStage = Stages.icoEnd;
// Transfer any remaining tokens
if(remainingTokens > 0)
balances[owner] = balances[owner].add(remainingTokens);
// transfer any remaining ETH balance in the contract to the owner
owner.transfer(address(this).balance); 
}
/**
* @dev finalizeIco closes down the ICO and sets needed varriables
**/
function finalizeIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
endIco();
}
}
/**
* @title LavevelToken 
* @dev Contract to create the Lavevel Token
**/
contract AlexToken is CrowdsaleToken {
string public constant name = "AlexToken";
string public constant symbol = "ALT";
uint32 public constant decimals = 18;
}

ndi kuyimira bayinare monga maukonde amazionera

60806040526000600355600060045533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560146101000a81548160ff021916908360028111156200006f57fe5b0217905550620001036b019d971e4fe8401e74000000600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024a6401000000000262000b1d179091906401000000009004565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001986b019d971e4fe8401e740000006001546200024a6401000000000262000b1d179091906401000000009004565b6001819055506b033b2e3c9fd0803ce8000000600481905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b019d971e4fe8401e740000006040518082815260200191505060405180910390a362000267565b600081830190508281101515156200025e57fe5b80905092915050565b611cb880620002776000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104c7578063095ea7b31461055757806318160ddd146105bc57806323b872dd146105e7578063313ce5671461066c578063355274ea146106a3578063518ab2a8146106ce57806366188463146106f957806370a082311461075e57806389311e6f146107b55780638da5cb5b146107cc578063903a3ef61461082357806395d89b411461083a578063a9059cbb146108ca578063bf5839031461092f578063c7876ea41461095a578063cbcb317114610985578063d73dd623146109b0578063dd62ed3e14610a15578063f2fde38b14610a8c575b60008060008060006001600281111561012757fe5b600560149054906101000a900460ff16600281111561014257fe5b14151561014e57600080fd5b60003411151561015d57600080fd5b600060045411151561016e57600080fd5b3494506101a7670de0b6b3a764000061019968056bc75e2d6310000088610acf90919063ffffffff16565b610b0790919063ffffffff16565b9350600092506b033b2e3c9fd0803ce80000006101cf85600354610b1d90919063ffffffff16565b111561024c576101f66003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b915061022e670de0b6b3a764000061022068056bc75e2d6310000085610b0790919063ffffffff16565b610acf90919063ffffffff16565b90506102438186610b3990919063ffffffff16565b92508094508193505b61026184600354610b1d90919063ffffffff16565b6003819055506102886003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b6004819055506000831115610344573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156102dd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b610395846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a361045184600154610b1d90919063ffffffff16565b600181905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156104bf573d6000803e3d6000fd5b505050505050005b3480156104d357600080fd5b506104dc610b52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056357600080fd5b506105a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8b565b604051808215151515815260200191505060405180910390f35b3480156105c857600080fd5b506105d1610c7d565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610652600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c87565b604051808215151515815260200191505060405180910390f35b34801561067857600080fd5b50610681611041565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156106af57600080fd5b506106b8611046565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e3611056565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b6040518082815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611335565b005b3480156107d857600080fd5b506107e16113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082f57600080fd5b50610838611411565b005b34801561084657600080fd5b5061084f6114ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088f578082015181840152602081019050610874565b50505050905090810190601f1680156108bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d657600080fd5b50610915600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b34801561093b57600080fd5b50610944611703565b6040518082815260200191505060405180910390f35b34801561096657600080fd5b5061096f611709565b6040518082815260200191505060405180910390f35b34801561099157600080fd5b5061099a611716565b6040518082815260200191505060405180910390f35b3480156109bc57600080fd5b506109fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611726565b604051808215151515815260200191505060405180910390f35b348015610a2157600080fd5b50610a76600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b6040518082815260200191505060405180910390f35b348015610a9857600080fd5b50610acd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a9565b005b600080831415610ae25760009050610b01565b8183029050818382811515610af357fe5b04141515610afd57fe5b8090505b92915050565b60008183811515610b1457fe5b04905092915050565b60008183019050828110151515610b3057fe5b80905092915050565b6000828211151515610b4757fe5b818303905092915050565b6040805190810160405280600981526020017f416c6578546f6b656e000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d9c57600080fd5b610ded826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e80826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6b033b2e3c9fd0803ce800000081565b60035481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561116d576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611201565b6111808382610b3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139157600080fd5b60028081111561139d57fe5b600560149054906101000a900460ff1660028111156113b857fe5b141515156113c557600080fd5b6001600560146101000a81548160ff021916908360028111156113e457fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b60028081111561147957fe5b600560149054906101000a900460ff16600281111561149457fe5b141515156114a157600080fd5b6114a9611b01565b565b6040805190810160405280600381526020017f414c54000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561152157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156e57600080fd5b6115bf826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611652826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b68056bc75e2d6310000081565b6b019d971e4fe8401e7400000081565b60006117b782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a4157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6002600560146101000a81548160ff02191690836002811115611b2057fe5b021790555060006004541115611c0a57611ba5600454600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611c89573d6000803e3d6000fd5b505600a165627a7a723058205bbef016cc7699572f944871cb6f05e69915ada3a92a1d9f03a3fb434aac0c2b0029

Zambiri za makontrakitala anzeru zitha kupezeka m'nkhaniyi: Kodi ma contract anzeru ku Ethereum ndi ati.

Pomaliza

Talembamo matekinoloje omwe ma blockchains amakono amamangidwa komanso momwe amalumikizirana wina ndi mnzake. Tsopano tiyeni tipange zovuta zomwe zitha kuthetsedwa pogwiritsa ntchito blockchain, ndipo ndi njira ziti zomwe sizingakhale zothandiza. Chifukwa chake, kugwiritsa ntchito blockchain sikofunikira ngati:

  • Zogulitsa zimachitika pamalo odalirika;
  • Kukhalapo kwa komiti ya oyimira pakati sikukwiyitsa moyo wa omwe akutenga nawo mbali;
  • Otenga nawo mbali alibe katundu yemwe angayimire ngati chuma cha digito;
  • Palibe kugawa muzinthu za digito, i.e. mtengo wake ndi wake kapena waperekedwa ndi mmodzi yekha.

Kodi tsogolo la blockchain likuti chiyani? Tsopano titha kungolingalira njira zomwe zingatheke pakukulitsa matekinoloje a blockchain:

  • Blockchain idzakhala ukadaulo wamba wamba wamba monga, mwachitsanzo, SQL kapena NoSQL pothana ndi zovuta zake;
  • Blockchain idzakhala protocol yofalikira, monga HTTP ndi intaneti;
  • Blockchain idzakhala maziko a dongosolo latsopano lazachuma ndi ndale padziko lapansi!

Mu gawo lotsatira tiwona zomwe blockchains zilipo komanso chifukwa chake amagwiritsidwa ntchito m'mafakitale osiyanasiyana.

Ichi ndi chiyambi chabe!

Source: www.habr.com

Kuwonjezera ndemanga