Yintoni ekufuneka sakhe i-blockchain?

Imbali yonke yoluntu yinkqubo eqhubekayo yokususa amatyathanga kunye nokudala amatsha, anamandla ngakumbi. (Umbhali ongaziwa)

Ukuhlalutya iiprojekthi ezininzi ze-blockchain (i-Bitshares, i-Hyperledger, i-Exonum, i-Ethereum, i-Bitcoin, njl.), Ndiyaqonda ukuba ngokwembono yezobugcisa, zonke zakhiwe kwimigaqo efanayo. I-Blockchains ikhumbuza izindlu, ezithi, ngaphandle kwazo zonke iintlobo zoyilo, i-decor kunye neenjongo, zinesiseko, iindonga, uphahla, iifestile, iingcango ezidityaniswe omnye komnye ngeendlela ezithile. Kwaye ukuba uyayiqonda imigaqo esisiseko yoyilo lwesakhiwo kwaye uyazi iimpawu zezinto ezisetyenzisiweyo, ngoko unokugqiba injongo ejoliswe kuyo yendlu ethile. Okwangoku, imeko iye yavela nge-blockchain ukuba wonke umntu uvile ngayo, kodwa abantu abambalwa bayayiqonda i-architecture kunye nemigaqo yokusebenza. Ke ngoko, kukho ukungaqondi ukuba kutheni kwaye kunengqiqo ukusebenzisa itekhnoloji yebhloko.

Kweli nqaku siza kuhlalutya iipropati kunye nemigaqo eqhelekileyo kuzo zonke i-blockchains. Okulandelayo, makhe sijonge iingxaki ezinokusonjululwa kusetyenziswa ibhloko kunye nokomeleza izinto, makhe ibhloko encinci kodwa eyinyani kwindawo yethu ebonakalayo!

Ke, masikhumbule ukuba zeziphi iingxaki eziye zasonjululwa ekuqaleni i-blockchain.

Ndiqinisekile ukuba abaninzi baya kuthi malunga nedatha esasaziweyo, enatyisiweyo, yoluntu kunye nedathabheyisi engenakuguqulwa. Kodwa kwakutheni ukuze konke oku kube yimfuneko?

Ndikhetha ukuqalisa ukufunda nayiphi na itekhnoloji ngokufunda imigangatho, kuba onke amanqaku kunye neencwadi ngesihloko esifundwayo zisekelwe kuzo. Kodwa okwangoku akukho migangatho ye-blockchain; I-ISO idale kuphela iikomiti kuphuhliso lwabo. Okwangoku, iprojekthi nganye ye-blockchain yoluntu inoxwebhu lwayo lwephepha eliMhlophe, eyona nto iyinkcazo yobugcisa. Iprojekthi yokuqala eyaziwayo ye-blockchain yinethiwekhi yeBitcoin. Yiya kwiwebhusayithi esemthethweni yenethiwekhi kwaye jonga apho yaqala khona yonke into.

Umngeni weBlockchain

Ke, umsebenzi osombululwe kwi-blockchain kwinethiwekhi yobuvulindlela yeBitcoin kukuqhuba ukudluliselwa okuthembekileyo kobunini be-asethi yedijithali (i-asethi) kwindawo engathenjwayo ngaphandle kwabalamli. Ngokomzekelo, kwinethiwekhi yeBitcoin, i-asethi yedijithali yimali yedijithali ye-bitcoin. Kwaye zonke izisombululo zobugcisa zeBitcoin kunye nezinye iibhloko ze-blockchains zehla ekusombululeni le ngxaki.

Iingxaki ezisombulula i-blockchain

Masithi umbutho othile wezezimali uthi uye wakha inethiwekhi emhlabeni wonke ngoncedo apho kunokwenzeka ukudlulisela imali kuye nawuphi na umntu. Ngaba uya kumkholelwa? Ukuba lo mbutho yi-Visa okanye i-MasterCard, kusenokwenzeka ukuba uya kuyikholelwa, kodwa ukuba, xa sithelekisa, i-AnonymousWorldMoney, mhlawumbi awuyi kuyenza. Ngoba? Kodwa ngenxa yokuba siyazi kakuhle ukuba iinkqubo ezisasazwayo zenziwa njani ziinkampani zabucala, zeziphi iinjongo, kwaye yintoni le ingakhokelela kuyo. Makhe sihlolisise iingxaki zeenkqubo ezinjalo kunye nendlela ezinokusombululwa ngayo ngokusebenzisa iteknoloji ye-blockchain.

Masithi kwi-AnonymousWorldMoney enemiqathango kukho iiseva ezine-database, kwaye kulungile ukuba zininzi zazo kumaziko ahlukeneyo edatha. Xa umthumeli edlulisela imali, ukuthengiselana kubhalisiwe, okuphindwa kwakhona kuzo zonke iiseva, kwaye imali ifikelela kummkeli.

Yintoni ekufuneka sakhe i-blockchain?

Ehlabathini elifanelekileyo, esi sikimu sisebenza kakuhle, kodwa kweyethu kuvela iingxaki ezilandelayo:

  1. Ingxaki yokuchonga abathathi-nxaxheba kwelinye icala kunye nesidingo sokungaziwa kweentengiselwano kwelinye. Ezo. kufuneka udlulisele imali kummkeli othile kwaye ngendlela yokuba akukho mntu uyazi malunga nale ntengiselwano ngaphandle kwabathathi-nxaxheba kwintengiselwano. Iibhanki zineenombolo ze-akhawunti kunye namakhadi ebhanki adityaniswe nomntu othile okanye iqumrhu elisemthethweni, kwaye imfihlo yebhanki ikhusela ulwazi lwentengiselwano. Kwaye ngubani oqinisekisa ukuba i-AnonymousWorldMoney enemiqathango ayisebenzisi iinkcukacha zobuqu kunye neenkcukacha zentengiselwano ngeenjongo zayo?
  2. Unokuqiniseka njani ukuba lowo unikwe loo mali uyifumene kanye loo mali idluliselwe kuye? Ngokwentelekiso, umthumeli udlulisele i-100 yeedola, kwaye umamkeli wamkela i-10 yeedola. Umthumeli uza kwiofisi ye-AnonymousWorldMoney kunye nerisithi yakhe, kwaye unobhala wenkundla ubonisa inguqulelo yakhe, apho kubhalwe ukuba umthumeli udlulisele i-10 yeedola kuphela.
  3. Ingxaki yendawo engathenjwayo, umzekelo, ubuqhophololo obubizwa ngokuba yi-double-spending. Umthathi-nxaxheba ongathembekanga unokuchitha ibhalansi yakhe amaxesha amaninzi de intlawulo iphindwe kuzo zonke iiseva. Ithiyori yeCAP, ngokuqinisekileyo, akukho mntu ukhanselwe, kwaye isivumelwano siya kufezekiswa ekugqibeleni, kodwa umntu akayi kufumana imali ngeenkonzo okanye iimpahla ezinikeziweyo. Ngoko ke, ukuba akukho ntembelo epheleleyo kwintlangano yokuhlawula okanye abathathi-nxaxheba kwiintengiselwano, ngoko kuyimfuneko ukwakha inethiwekhi esekelwe kwi-trust, kodwa kwi-cryptography.
  4. I-Conditional AnonymousWorldMoney inenani eliqingqiweyo leeseva ezinokungafumaneki ngempazamo okanye ngenxa yeenjongo ezigwenxa.
  5. Ongaziwayo iWorldMoney iya kuthatha eyakhe ikhomishini ebambekayo.
  6. Ukubanakho kokulawula. Ngexesha lokusebenza kweBitcoin, kuye kwavela ukuba abantu abafuni nje ukuhambisa iingqekembe omnye komnye, kodwa kwakhona ukujonga iimeko ezahlukeneyo zentengiselwano, iimeko zomsebenzi weprogram, ukwenza ngokuzenzekelayo izenzo ngokuxhomekeke kwiimeko, njl.

Indlela i-blockchain isombulula ngayo ezi ngxaki

  1. Ukuchongwa kwabathathi-nxaxheba kuqhutywa kusetyenziswa iperi yezitshixo: zabucala kunye nezoluntu, kwaye i-algorithm yesiginitsha yedijithali ichaza ngokukodwa umthumeli kunye nomamkeli, ishiya izazisi zabo zingaziwa.
  2. Ukuthengiselana kuqokelelwa kwiibhloko, i-hash yebhloko ibalwa kwaye ibhalwe kwibhloko elandelayo. Olu landelelwano lokurekhoda i-hashes kwiibhloko lunika itekhnoloji ye-blockchain igama layo, kwaye yenza ukuba kube nzima ukutshintsha ngokungabonakaliyo / ukucima iibhloko okanye ukuthengiselana komntu kwiibhloko. Ngaloo ndlela, ukuba ukuthengiselana kufakwe kwi-blockchain, unokuqiniseka ukuba idatha yayo iya kuhlala ingatshintshi.
  3. Ukuchitha kabini ubuqhophololo kuthintelwe ngokufikelela kwisivumelwano sothungelwano malunga nokuba yeyiphi idata ekufuneka ithathelwe ingqalelo esebenzayo kwaye yeyiphi enokulahlwa. Kwinethiwekhi yeBitcoin, ukuvumelana kufezekiswa ngobungqina bomsebenzi (PoW).
  4. Ukuthembeka kwenethiwekhi kufezekiswa kukuba i-blockchain isesidlangalaleni, apho umthathi-nxaxheba ngamnye angakwazi ukuqhuba i-node yakhe, athole ikopi epheleleyo ye-blockchain kwaye, ngaphezu koko, ngokuzimeleyo aqale ukujonga ukuthengiselana ngokuchaneka. Kufuneka kuqatshelwe ukuba i-blockchains yanamhlanje yenza ukuba kube lula ukwakha kungekhona nje uluntu (oluvulekileyo) kodwa kunye ne-blockchains yangasese (evaliweyo), kunye nokusetyenziswa kwezicwangciso ezidibeneyo.
  5. I-blockchain ayiyi kulahla ngokupheleleyo iikomishini, kuba ... kufuneka uhlawule abantu abaxhasa inethiwekhi, kodwa kwi-blockchain imfuneko yekhomishini ibonakaliswe ngokuqinisekileyo ukuba akukho mathandabuzo malunga nemfuneko yayo.
  6. I-blockchains yanamhlanje inamandla okuphumeza ingqiqo yezoshishino, ekuthi kwi-blockchain ibizwa ngokuba yi-Smart Contracts. Ingqiqo yeekontraki ezihlakaniphile iphunyezwa kwiilwimi ezahlukeneyo ezikumgangatho ophezulu.

Okulandelayo, siza kuqwalasela ezi zisombululo ngokubanzi.

Uyilo lweBlockchain

Izixhobo zeBlockchain

Umthathi-nxaxheba ngamnye unokuqalisa i-node yakhe kunye nekopi epheleleyo ye-blockchain (i-node epheleleyo). Iinodi ezipheleleyo ezinokurekhoda ukuthengiselana kwi-blockchain zibizwa iindawo zemvumelwano (ingqina) okanye abasebenzi basezimayini (umsebenzi-mgodini). Iindawo ezipheleleyo ezijonga kuphela ukuchaneka kweentengiselwano zibizwa iindawo zophicotho (uphicotho). Abaxhasi bokukhanya (abathengi abakhanyayo) musa ukugcina iikopi ezipheleleyo ze-blockchain, kodwa basebenzisane nenethiwekhi usebenzisa i-nodes epheleleyo.
Uninzi lwabasebenzisi basebenzisa abathengi abalula okanye izipaji zewebhu ukwenza utshintshiselwano. Zonke iinodi ziqhagamshelwe omnye komnye. Ngale seti yezinto, ulwakhiwo lwenethiwekhi luzinza ngakumbi:

Yintoni ekufuneka sakhe i-blockchain?

Umjikelo wobomi bentengiselwano

Makhe sijonge umjikelo wobomi bentengiselwano kwaye siyaphule isiqwenga ngasinye:

Yintoni ekufuneka sakhe i-blockchain?

Itekhnoloji yeBlockchain

Masihlale kwiinkcukacha ezithe kratya kwizisombululo zobugcisa kunye nokunxibelelana kwazo omnye nomnye.

Uchonga

Yonke intengiselwano ye-blockchain kufuneka isayinwe ngedijithali. Ke ngoko, ukugqiba intengiselwano, umthathi-nxaxheba ngamnye kufuneka abe nesibini esiphambili: sabucala / sikawonke-wonke. Ngamanye amaxesha iperi yezitshixo ibizwa ngokuba yi-wallet, kuba izitshixo zinxulunyaniswa ngokukodwa nedilesi yedijithali yomthathi-nxaxheba eyodwa kunye nebhalansi. Ngokwenyani, izitshixo kunye needilesi zizintlu zamanani kwiinkqubo zamanani ezahlukeneyo. Imizekelo yezitshixo kunye needilesi zesipaji:

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

Ukwenza isignesha yedijithali kwi-blockchains, i-algorithm esekelwe kwi-elliptic curves isetyenziswa: I-Elliptic Curve Digital Signature Algorithm (ECDSA). Ukuze isebenze, iqhosha labucala (inombolo ye-256-bit) lidla ngokuthathwa ngokungacwangciswanga. Inani leenketho eziphambili ngu-2 kumandla we-256, ngoko sinokuthetha malunga nokungenakwenzeka okubonakalayo kokuhambelana nemilinganiselo yezitshixo zangasese.

Okulandelayo, isitshixo sikawonke-wonke sifunyanwa kwindawo yangasese ngokuphindaphinda ixabiso lalo ngokulungelelaniswa kwendawo ebekwe kwi-elliptic curve, okubangela ukulungelelaniswa kwendawo entsha kwi-curve efanayo. Eli nyathelo liqinisekisa ukuba ufumana isibini esibalulekileyo esilungele ukusayina iitransekshini zedijithali. Ekugqibeleni, idilesi ye-wallet iphuma ngokukodwa kwisitshixo sikawonke-wonke.

Kukho amanqaku amaninzi aneenkcukacha kwi-cryptography esetyenziswa kwi-blockchain, umzekelo: I-Bitcoin ngamafutshane - iCryptography

Iqhosha labucala kufuneka libe yimfihlo kwaye ligcinwe likhuselekile. Isitshixo sikawonke-wonke saziwa ngumntu wonke. Ukuba isitshixo sangasese silahlekile, ukufikelela kwi-asethi (iingqekembe) akunakubuyiselwa kwaye imali iya kulahleka ngonaphakade. Ke ngoko, umsebenzi wokugcina izitshixo zabucala ngokukhuselekileyo ubaluleke kakhulu, kuba Oku akusiyo ibhanki apho unokuhlala uza kunye nepasipoti yakho kwaye ubuyisele iakhawunti yakho. Kukho imboni epheleleyo yokuveliswa kwezinto ezibizwa ngokuba yi-crypto wallets ebandayo, efana ne-flash drives:

Yintoni ekufuneka sakhe i-blockchain?

okanye ungasebenzisa iindlela ezithembeke ngakumbi, umzekelo, ukunyathela ixabiso leqhosha labucala kwiithokheni:

Yintoni ekufuneka sakhe i-blockchain?

Intengiselwano

Iinkcukacha ezithe kratya malunga nesakhiwo sokuthengiselana zinokufumaneka kwinqaku I-Bitcoin ngamafutshane - Ukuthengiselana. Kubalulekile ukuba siqonde ukuba intengiselwano nganye inedatha ilandelayo:

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

Emva koko, ukuthengiselana kusayinwe ngesitshixo sangasese kwaye kuthunyelwe ngaphandle (jonga iinkcukacha malunga nokusebenza kweprotocol Bitcoin ngamafutshane-Protocol) kuzo zonke iindawo kwi-blockchain ezijonga ukuthengiselana ukuba semthethweni. I-algorithm yokuqinisekiswa kwentengiselwano ayiyonto encinci kwaye ibandakanya amanyathelo amabini.

Iibhloko zentengiselwano

Emva kokujonga ukunyaniseka kweentengiselwano, ii-nodes zenza iibhloko ezivela kubo. Ukongeza kwiintengiselwano, i-hash yebhloko yangaphambili kunye nenombolo (i-Nonce counter) ibhaliwe kwibhloko, kwaye i-hash yebhloko yangoku ibalwa ngokusebenzisa i-algorithm ye-SHA-256. I-hash kufuneka imisele iimeko ezinzima. Ngokomzekelo, kwinethiwekhi ye-Bitcoin, ubunzima be-hash buguqulwa ngokuzenzekelayo rhoqo kwiiveki ezi-2 ngokuxhomekeke kumandla womnatha ukwenzela ukuba ibhloko yenziwe malunga nemizuzu eyi-10. Ubunzima bugqitywe yile meko ilandelayo: i-hash efunyenweyo kufuneka ibe ngaphantsi kwenani elimiselweyo. Ukuba le meko ayifezekiswanga, ngoko i-1 yongezwa kwi-Nonce, kwaye umsebenzi wokubala i-hash uphindwaphindwa. Ukukhetha i-hash, indawo ye-Nonce isetyenziswa, kuba Le kuphela kwedatha kwibhloko enokutshintshwa; enye kufuneka ihlale ingatshintshi. Ihashi esebenzayo kufuneka ibenenani elithile looziro abakhokelayo, njengenye yeehashe zokwenyani:

000000000000000000000bf03212e7dd1176f52f816fa395fc9b93c44bc11f91

Ukufumana ngempumelelo i-hash bubungqina bomsebenzi owenziweyo (ubungqina bomsebenzi, i-PoW) ye-Bitcoin okanye i-Ethereum networks. Inkqubo yokufumana i-hashes ibizwa ngokuba yimigodi, efana nemigodi yegolide. Igama lichaza ngokuchanekileyo undoqo wenkqubo, kuba kukho uphendlo olulula lweenketho, kwaye ukuba umntu ufumana ihashi efanelekileyo, ke oku kulithamsanqa ngokwenene. Kufana nokufumana i-nugget yegolide yokwenene kwiitoni zamatye enkunkuma. Umvuzo webhloko ngoku yi-12.5 BTC kwaye ukuba uyaphindaphinda ngezinga le-Bitcoin langoku le-3900 yeedola, ufumana ngaphezu kwekhilogram yegolide ecocekileyo. Kukho into yokulwela!

Emva kokufumana ngempumelelo i-hash, ibhloko kunye ne-hash efunyenweyo ngokwayo ibhalwa kwi-blockchain njengebhloko elandelayo. Iinkcukacha ezongezelelweyo malunga nesakhiwo seebhloko zinokufumaneka kwinqaku Bitcoin ngamafutshane-Blockchain, kwaye ngezantsi ngumzobo owenziwe lula:

Yintoni ekufuneka sakhe i-blockchain?

I-blockchain iqala ngebhloko engekabinayo i-hash yebhloko yangaphambili. Inye kuphela ibhloko kwibhloko kwaye inegama layo ibhloko yeGenesis. Iibhloko eziseleyo zinesakhiwo esifanayo kwaye zihluke kuphela kwinani leentengiselwano. Intengiselwano yokwenyani kunye neebhloko esele zenziwe ngoku kwiBitcoin okanye kwi-Ethereum zinokujongwa kuyo Vimba uMhloli.

Ubungakanani beebhloko kwi-Bitcoin bukhawulelwe kwi-1MB kunye nobuncinci bolwazi kwi-transaction malunga ne-200 bytes, inani eliphezulu leentengiselwano kwibhloko lingaba malunga ne-6000. Ukusuka apha, ngendlela, ilandela ukusebenza kweBitcoin, ehleka wonke umntu: ibhloko yenziwa malunga nemizuzu eyi-10 * imizuzwana engama-60 = imizuzwana engama-600, enika ukusebenza ngokusemthethweni malunga ne-10 TPS. Nangona enyanisweni, oku akusiyo imveliso, kodwa i-algorithm ephunyezwe ngamabom yomsebenzi. E-Ethereum, kukhuphiswano, bamane benza ixesha lebhlokhi imizuzwana eyi-15. kwaye imveliso yanda ngokusesikweni. Ngoko ke, kwiibhloko ezisebenzisa i-PoW njengesivumelwano, akukho ngqiqo ukuthelekisa ukusebenza kuzo zonke, kuba ngokuthe ngqo kuxhomekeke kubunzima bokubala kwe-cache, enokwabelwa kuyo nayiphi na ixabiso.

Iifolokhwe

Kwenzeka ntoni ukuba, umzekelo, ii-nodes ezininzi zifumene i-hashes ezihlangabezana neemeko ezinzima, kodwa zihluke kwixabiso (ngamanye amazwi, beza kwiimvumelwano ezahlukeneyo) kwaye babhala iibhloko kwi-blockchain? Makhe sibone ukuba i-blockchain ikhusela njani kule meko. Kule meko, into ebizwa ngokuba yifolokhwe iyenzeka, kwaye i-blockchain ineenguqulelo ezimbini zekhonkco:

Yintoni ekufuneka sakhe i-blockchain?

Kwenzeka ntoni emva koko? Okulandelayo, inxalenye yenethiwekhi iqala ukusebenza kwibhlokhi N+2 ukusuka kwelinye ikhonkco, kwaye inxalenye kwenye:

Yintoni ekufuneka sakhe i-blockchain?

Enye yezi bloko iya kufunyanwa ngaphambili kwaye ithunyelwe kwi-blockchain, kwaye ke, ngokwemigaqo, i-blockchain kuya kufuneka itshintshele kwikhonkco elide kwaye irhoxise zonke iintengiselwano ukusuka kwenye ibhloko:

Yintoni ekufuneka sakhe i-blockchain?

Ngelo xesha, imeko inokuvela xa ukuthengiselana komthathi-nxaxheba kwakukho kuphela kwiibhloko zefolokhwe, eyacinywa. Ngoko ke, ukuze uqiniseke ukuba ukuthengiselana okufunwayo kubhalwe kwi-blockchain, kukho isincomo esiqhelekileyo - ngaphambi kokuba uthembele kwintengiselwano, kufuneka ulinde de kube iibhloko ezimbalwa ezilandelayo zongezwa kwi-blockchain. Iingcebiso malunga nokuba zingaphi iibhloko zokulinda iibhloko ezahlukeneyo ziyahluka. Umzekelo, kwinethiwekhi yeBitcoin ubuncinci ziibhloko ezi-2, ezona zininzi ziyi-6.

Umfanekiso ofanayo kunye neefolokhwe zebhloko ziya kubonwa ngexesha lokuhlaselwa kwe-51% - oku kuxa iqela labasebenzi basezimayini bezama ukukhulisa enye i-block chain, befuna ukukhansela ikhonkco kunye neentengiselwano zabo zobuqhetseba. Nangona okwangoku, endaweni yobuqhetseba, kunenzuzo ngakumbi ukuchitha amandla akho kwimigodi ethembekileyo.

Imvumelwano

Ukurekhoda ibhloko kwi-blockchain, inethiwekhi kufuneka ifikelele kwisivumelwano. Masikhumbule umsebenzi wokufikelela kwimvumelwano kuthungelwano lonxibelelwano lwekhompyuter. Ingxaki iqulunqwe njengomsebenzi weenjengele zaseByzantine BFT (Ukunyamezelana kwempazamo yaseByzantine). Ukushiya inkcazo ekhangayo yeengxaki zomkhosi waseByzantine, ingxaki inokuqulunqwa ngolu hlobo lulandelayo: ii-node zenethiwekhi zinokufika njani kwisiphumo esiqhelekileyo ukuba ezinye iindawo zenethiwekhi zinokuzigqwetha ngabom. I-algorithms ekhoyo yokusombulula ingxaki ye-BFT ibonisa ukuba inethiwekhi inokusebenza ngokuchanekileyo ukuba kukho abakhohlisi abangaphantsi kwe-1/3. Kutheni imvumelwano yeBFT ingasetyenziswanga kwinethiwekhi yeBitcoin? Kwakutheni ukuze kube yimfuneko ukusebenzisa i-PoW? Kukho izizathu ezininzi:

  • I-BFT isebenza kakuhle kunye neeseti ezincinci ezisisigxina ze-nodes, kodwa kwi-blockchain kawonkewonke inani leenqununu alinakulinganiswa kwaye, ngaphezu koko, ii-nodes zingavulwa kwaye zicinywe ngokungaqhelekanga.
  • Kuyimfuneko ukukhuthaza abantu ukuba baqalise i-blockchain nodes. Ukwenza oku, abantu kufuneka bavuzwe. Kwi-BFT akukho nto ngokusemthethweni yokufumana umvuzo, kodwa yintoni umvuzo kwi-PoW icacile kuwo wonke umntu kwinqanaba elibonakalayo: kuba umbane osetyenziswe yiprosesa kwinkqubo yokufumana i-block hash.

Ukongeza kwi-PoW, kukho ezinye iimvumelwano ezininzi ezisetyenziswa kwiibhlokhina zanamhlanje, umzekelo:

  • I-PoS (ubungqina be-Stake) - kwi-blockchain Hyperledger
  • I-DPoS (i-Delegated Proof-of-Stake) - kwi-blockchain BitShares
  • Ukuguqulwa kwe-BFT: i-SBFT (i-BFT elula) kunye ne-PBFT (i-BFT esebenzayo), umzekelo kwi-blockchain I-Exonum

Makhe sihlale kancinci kwimvumelwano yePoS, kuba... I-PoS kunye neentlobo zayo ezixhaphake kakhulu kwiibhloko ezizimeleyo. Kutheni ngasese? Ngakolunye uhlangothi, iimpawu ze-PoS zingcono xa zithelekiswa ne-PoW, kuba Ukufezekisa ukuvumelana, izibonelelo ezincinci zekhompyutheni zifunekayo, oku kuthetha ukuba isantya sokubhala idatha kwi-blockchain yanda. Kodwa ngakolunye uhlangothi, i-PoS inamathuba amaninzi okukhwabanisa, ngoko ke ukuthintela oku, bonke abathathi-nxaxheba kwi-blockchain kufuneka baziwe.

Ukuvumelana kwe-PoS kusekelwe ekukhethweni kwe-node enokubhala ibhloko kunye nokuthengiselana kwi-blockchain kuxhomekeke kwisixa semali kwi-akhawunti, okanye kunoko, kungekhona kwi-akhawunti, kodwa kwi-collateral, i.e. Okukhona imali eninzi onayo njengesibambiso, kokukhona inethiwekhi iya kukhetha indawo yakho yokubhala ibhloko. Idiphozithi ayizukubuyiselwa ukuba ibhloko ayisebenzi. Oku kubonelela ngokhuseleko kubuqhophololo. Kukho iindidi ezilandelayo ze-POS:

  • Isivumelwano se-PoS esiThunyiweyo (i-DPoS) sahlula abathathi-nxaxheba "ngabavoti" kunye "nabaqinisekisi". Abanini bemali (abathathi-nxaxheba abavotayo) banikezela amandla abo okuqinisekisa kunye nokurekhoda ukuthengiselana kwi-blockchain kwabanye abathathi-nxaxheba. Ke, abaqinisekisi benza wonke umsebenzi wokubala kwaye bafumane umvuzo kuwo, kwaye ubukho babathathi-nxaxheba bokuvota buqinisekisa ukunyaniseka kwabaqinisekisi, kuba zinokutshintshwa nanini na.
  • I-LPoS (i-Leased ubungqina-of-Stake) imvumelwano ikuvumela ukuba uqeshise imali yakho kwezinye iindawo ukuze babe nethuba elingcono lokuqinisekisa iibhloko. Oko. Unokufumana ikhomishini yokuthengiselana ngaphandle kokuthatha inxaxheba ekuqinisekiseni ukuthengiselana kwangempela kunye ne-block mining.

Kukho inani lezinye iimvumelwano ezingekasetyenziswa ngokubanzi, ndiza kuzidwelisa apha ngolwazi, kwaye ushwankathelo lwe-algorithms yemvumelwano ngokwazo inokufumaneka, umzekelo, kwinqaku: Ii-algorithms zokuvumelana kwiBlockchain.

  • Imbongi (ubungqina-bexesha eligqithileyo)
  • I-PoC (Ubungqina boMmandla)
  • I-PoB (Ubungqina-bokutshiswa)
  • Ubunzima (ubungqina bobunzima)
  • I-PoA (Ubungqina boMsebenzi) - i-PoW + i-PoS
  • I-PoI (Ubungqina-bokuba-Balulekayo)

Ukuthembeka kunye nokuthunyelwa kweemodeli ze-blockchains

I-blockchain yoluntu

Ukuzinza kawonke wonke okanye elinye igama I-blockchain engenamvume Oku kuphunyezwa ngokuvumela nabani na ukuba aqhagamshele kwaye ajonge ulwazi okanye adibanise i-node yakhe, kwaye ukuthembela kwakhelwe kwimvumelwano ye-PoW.

I-blockchain yabucala

lwaBucala okanye I-blockchain evunyelweyo yangasese. Kule blockchains, kuphela iqela elithile labathathi-nxaxheba (imibutho okanye abantu) abanokufikelela kulwazi. Iibhloko ezinjalo zakhiwe yimibutho ngenjongo yokwandisa inzuzo okanye ukusebenza kakuhle. Ukuthembeka kwabo kuqinisekiswa ngeenjongo eziqhelekileyo zabathathi-nxaxheba kunye ne-algorithms ye-PoS kunye ne-BFT yokuvumelana.

I-Blockchain Consortium

Kukho Umanyano okanye I-blockchain evunyelweyo kuluntu. Ezi zi-blockchains ukuba nabani na unokudibanisa ukujonga, kodwa umthathi-nxaxheba unokongeza ulwazi okanye udibanise i-node yakhe kuphela ngemvume yabanye abathathi-nxaxheba. Iibhloko ezinjalo zakhiwe yimibutho ukwenzela ukwandisa ukuthembela kubathengi okanye abathengi beemveliso okanye uluntu ngokubanzi. Apha, ukuthembeka kuphinda kuphunyezwe kubukho bokuthembana phakathi kwabathathi-nxaxheba kunye ne-algorithms ye-PoS efanayo kunye ne-BFT.

Iikhontrakthi zeSmart

I-Blockchains ephunyezwe emva kokuba i-Bitcoin, ukuya kwelinye idigri okanye enye, yongeza amandla okwenza izivumelwano ezihlakaniphile. Ngokusisiseko, ikhontrakthi ehlakaniphile yintengiselwano apho ikhowudi yeprogram ibekwe khona ukuze iqhutywe. Iikhontrakthi ze-Smart kwinethiwekhi ye-Ethereum ziqhutyelwa kwi-EVM (i-Ethereum Virtual Machine). Ukuqalisa ukwenza ikhontrakthi ye-smart, kufuneka isungulwe ngokuthe gca yenye intengiselwano, okanye imiqathango yangaphambili yokuphumeza kufuneka ifezekiswe. Iziphumo zokuphunyezwa kwekhontrakthi ehlakaniphile ziya kubhalwa kwakhona kwi-blockchain. Ukufumana idatha evela ngaphandle kwe-blockchain kunokwenzeka, kodwa kuncinci kakhulu.

Yiyiphi ingqiqo yezoshishino enokuphunyezwa ngokusebenzisa inkontileka ehlakaniphile? Enyanisweni, akukho nto ininzi, umzekelo, ukujonga iimeko usebenzisa idatha kwi-blockchain, ukuguqula abanini bezinto zedijithali ngokuxhomekeke kule miqathango, idatha yokurekhoda kwisitoreji esisisigxina ngaphakathi kwebhloko. Ingqiqo iphunyezwa ngolwimi olulodwa olukwinqanaba eliphezulu Ukuqina.

Umzekelo weklasikhi wokusebenza ophunyezwayo usebenzisa izivumelwano ezihlakaniphile kukukhutshwa kwamathokheni kwi-ICO. Ngokomzekelo, ndasebenzisa inkontileka ehlakaniphile yokukhupha i-AlexToken eyi-500 ethobekileyo. Ngu ikhonkco kwi-Etherscan ikhoyo

ikhowudi yomthombo wekhontrakthi ehlakaniphile kulwimi lweSolidity

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

kunye nomboniso wokubini njengoko uthungelwano luyibona

60806040526000600355600060045533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560146101000a81548160ff021916908360028111156200006f57fe5b0217905550620001036b019d971e4fe8401e74000000600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024a6401000000000262000b1d179091906401000000009004565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001986b019d971e4fe8401e740000006001546200024a6401000000000262000b1d179091906401000000009004565b6001819055506b033b2e3c9fd0803ce8000000600481905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b019d971e4fe8401e740000006040518082815260200191505060405180910390a362000267565b600081830190508281101515156200025e57fe5b80905092915050565b611cb880620002776000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104c7578063095ea7b31461055757806318160ddd146105bc57806323b872dd146105e7578063313ce5671461066c578063355274ea146106a3578063518ab2a8146106ce57806366188463146106f957806370a082311461075e57806389311e6f146107b55780638da5cb5b146107cc578063903a3ef61461082357806395d89b411461083a578063a9059cbb146108ca578063bf5839031461092f578063c7876ea41461095a578063cbcb317114610985578063d73dd623146109b0578063dd62ed3e14610a15578063f2fde38b14610a8c575b60008060008060006001600281111561012757fe5b600560149054906101000a900460ff16600281111561014257fe5b14151561014e57600080fd5b60003411151561015d57600080fd5b600060045411151561016e57600080fd5b3494506101a7670de0b6b3a764000061019968056bc75e2d6310000088610acf90919063ffffffff16565b610b0790919063ffffffff16565b9350600092506b033b2e3c9fd0803ce80000006101cf85600354610b1d90919063ffffffff16565b111561024c576101f66003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b915061022e670de0b6b3a764000061022068056bc75e2d6310000085610b0790919063ffffffff16565b610acf90919063ffffffff16565b90506102438186610b3990919063ffffffff16565b92508094508193505b61026184600354610b1d90919063ffffffff16565b6003819055506102886003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b6004819055506000831115610344573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156102dd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b610395846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a361045184600154610b1d90919063ffffffff16565b600181905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156104bf573d6000803e3d6000fd5b505050505050005b3480156104d357600080fd5b506104dc610b52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056357600080fd5b506105a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8b565b604051808215151515815260200191505060405180910390f35b3480156105c857600080fd5b506105d1610c7d565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610652600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c87565b604051808215151515815260200191505060405180910390f35b34801561067857600080fd5b50610681611041565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156106af57600080fd5b506106b8611046565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e3611056565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b6040518082815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611335565b005b3480156107d857600080fd5b506107e16113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082f57600080fd5b50610838611411565b005b34801561084657600080fd5b5061084f6114ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088f578082015181840152602081019050610874565b50505050905090810190601f1680156108bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d657600080fd5b50610915600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b34801561093b57600080fd5b50610944611703565b6040518082815260200191505060405180910390f35b34801561096657600080fd5b5061096f611709565b6040518082815260200191505060405180910390f35b34801561099157600080fd5b5061099a611716565b6040518082815260200191505060405180910390f35b3480156109bc57600080fd5b506109fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611726565b604051808215151515815260200191505060405180910390f35b348015610a2157600080fd5b50610a76600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b6040518082815260200191505060405180910390f35b348015610a9857600080fd5b50610acd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a9565b005b600080831415610ae25760009050610b01565b8183029050818382811515610af357fe5b04141515610afd57fe5b8090505b92915050565b60008183811515610b1457fe5b04905092915050565b60008183019050828110151515610b3057fe5b80905092915050565b6000828211151515610b4757fe5b818303905092915050565b6040805190810160405280600981526020017f416c6578546f6b656e000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d9c57600080fd5b610ded826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e80826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6b033b2e3c9fd0803ce800000081565b60035481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561116d576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611201565b6111808382610b3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139157600080fd5b60028081111561139d57fe5b600560149054906101000a900460ff1660028111156113b857fe5b141515156113c557600080fd5b6001600560146101000a81548160ff021916908360028111156113e457fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b60028081111561147957fe5b600560149054906101000a900460ff16600281111561149457fe5b141515156114a157600080fd5b6114a9611b01565b565b6040805190810160405280600381526020017f414c54000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561152157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156e57600080fd5b6115bf826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611652826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b68056bc75e2d6310000081565b6b019d971e4fe8401e7400000081565b60006117b782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a4157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6002600560146101000a81548160ff02191690836002811115611b2057fe5b021790555060006004541115611c0a57611ba5600454600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611c89573d6000803e3d6000fd5b505600a165627a7a723058205bbef016cc7699572f944871cb6f05e69915ada3a92a1d9f03a3fb434aac0c2b0029

Iinkcukacha ezithe vetshe malunga neekontraki ezihlakaniphile zinokufumaneka kwinqaku: Ziziphi iikontraki ezihlakaniphile kwi-Ethereum.

isiphelo

Sidwelise itekhnoloji apho i-blockchains yanamhlanje yakhiwe kunye nendlela edityaniswe ngayo omnye komnye. Ngoku makhe senze ukuba zeziphi iingxaki ezinokusombululwa ngokusebenzisa i-blockchain, kwaye zeziphi izisombululo eziya kuba, ngokugqibeleleyo, zingasebenzi. Ke, ukusebenzisa i-blockchain akuyomfuneko ukuba:

  • Iintengiselwano zenziwa kwindawo ethembekileyo;
  • Ubukho bekhomishini yabameli abubeki mandundu ubomi babathathi-nxaxheba;
  • Abathathi-nxaxheba abanayo ipropati enokuthi imelwe njengempahla yedijithali;
  • Akukho ukuhanjiswa kwiimpahla zedijithali, okt. ixabiso liphethwe okanye linikezelwe ngumthathi-nxaxheba omnye kuphela.

Lithini ikamva le-blockchain? Ngoku sinokuqikelela kuphela kwiindlela ezinokwenzeka zophuhliso lwetekhnoloji ye-blockchain:

  • I-Blockchain iya kuba yiteknoloji efanayo yedatha yedatha, ngokomzekelo, i-SQL okanye i-NoSQL yokusombulula uluhlu lwayo oluthile lweengxaki;
  • I-Blockchain iya kuba yiprotocol ebanzi, njenge-HTTP ye-Intanethi;
  • I-Blockchain iya kuba sisiseko senkqubo entsha yezemali nezopolitiko kwiplanethi!

Kwicandelo elilandelayo siza kujonga ukuba yeyiphi i-blockchains ekhoyo ngoku kwaye kutheni isetyenziswa kumashishini ahlukeneyo.

Esi sisiqalo nje!

umthombo: www.habr.com

Yongeza izimvo