Inona no tokony hataontsika blockchain?

Ny tantaran'ny olombelona manontolo dia dingana mitohy amin'ny fanesorana rojo vy ary mamorona vaovao, matanjaka kokoa aza. (Mpanoratra tsy mitonona anarana)

Famakafakana tetik'asa blockchain maro (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin, sns.), Takatro fa amin'ny lafiny ara-teknika dia miorina amin'ny foto-kevitra iray ihany izy ireo. Ny Blockchains dia mampahatsiahy ny trano, izay, na dia eo aza ny endrika isan-karazany, ny haingo ary ny tanjona, dia manana fototra, rindrina, tafo, varavarankely, varavarana izay mifandray amin'ny fomba sasany. Ary raha azonao ny fitsipika fototra amin'ny famolavolana trano ary mahafantatra ny fananan'ny fitaovana ampiasaina, dia azonao atao ny mamaritra ny tanjona kendrena amin'ny trano iray. Amin'izao fotoana izao, nisy toe-javatra nipoitra tamin'ny blockchain izay henon'ny rehetra momba izany, saingy vitsy ny olona mahatakatra ny maritrano sy ny fitsipiky ny asa. Noho izany, misy ny tsy fahatakarana ny antony sy ny maha-zava-dehibe ny fampiasana ny teknolojia blockchain.

Ato amin'ity lahatsoratra ity dia hamakafaka ny fananana sy ny fitsipika mahazatra amin'ny blockchain rehetra. Manaraka izany, andeha hojerentsika ireo olana azo vahana amin'ny fampiasana sakana sy hanamafisana ny fitaovana, andao hanangana sakana kely nefa tena izy amin'ny tranokala virtoaly!

Noho izany, andeha hotadidintsika hoe inona no olana voavaha tamin'ny voalohany blockchain.

Azoko antoka fa maro no hilaza momba ny angon-drakitra zaraina, fitsinjaram-pahefana, ho an'ny daholobe ary tsy miova. Nahoana anefa no nilaina izany rehetra izany?

Aleoko manomboka mianatra teknolojia rehetra amin'ny famakiana ireo fenitra, satria ny lahatsoratra sy boky rehetra momba ny lohahevitra ianarana dia mifototra amin'izy ireo. Saingy tsy misy fenitra blockchain amin'izao fotoana izao; Ny ISO ihany no namorona komity ho fampandrosoana azy ireo. Amin'izao fotoana izao, ny tetikasa blockchain ho an'ny daholobe tsirairay dia manana ny antontan-taratasiny White Paper, izay tena famaritana ara-teknika. Ny tetikasa blockchain voalohany fantatry ny besinimaro dia ny tambajotra Bitcoin. Mandehana any amin'ny tranonkala ofisialin'ny tambajotra ary jereo taiza no niatombohan’izany rehetra izany.

Fanamby Blockchain

Noho izany, ny asan'ny blockchain voavaha ao amin'ny tambajotra mpisava lalana Bitcoin dia ny fanatanterahana ny famindrana azo itokisana ny fananana nomerika (fananana) amin'ny tontolo tsy azo itokisana tsy misy mpanelanelana. Ohatra, ao amin'ny tambajotra Bitcoin, ny fananana dizitaly dia ny vola madinika nomerika bitcoin. Ary ny vahaolana ara-teknika rehetra an'ny Bitcoin sy ny blockchain hafa dia midina amin'ny famahana ity olana ity.

Olana voavahan'ny blockchain

Eritrereto hoe misy fikambanana ara-bola iray milaza fa nanangana tambajotra eran-tany izy io, izay ahafahanao mamindra vola amin'ny olona rehetra. Mino azy ve ianao? Raha Visa na MasterCard ity fikambanana ity, dia azo inoana fa hino izany ianao, fa raha, raha lazaina, AnonymousWorldMoney, dia mety tsy hino ianao. Nahoana? Saingy satria fantatsika tsara ny fomba fanaon'ny orinasa tsy miankina ny rafitra fitsinjarana, ho an'ny tanjona inona, ary mety hitarika izany. Andeha hojerentsika akaiky ny olan'ny rafitra toy izany sy ny fomba hamahana azy ireo amin'ny alΓ lan'ny teknolojia blockchain.

Andeha atao hoe ao amin'ny AnonymousWorldMoney misy fepetra misy mpizara misy angona, ary tsara raha misy maromaro amin'izy ireo any amin'ny foibe data samihafa. Rehefa mamindra vola ny mpandefa, dia misoratra anarana ny fifampiraharahana, izay averina amin'ny mpizara rehetra, ary tonga any amin'ny mpandray ny vola.

Inona no tokony hataontsika blockchain?

Ao amin'ny tontolo idealy, ity tetika ity dia miasa tsara, saingy eto amintsika dia misy olana manaraka ireto:

  1. Ny olana amin'ny famantarana ny mpandray anjara amin'ny lafiny iray ary ny filΓ na tsy mitonona anarana amin'ny fifampiraharahana amin'ny andaniny. Ireo. mila mamindra vola amin'ny mpandray manokana ianao ary amin'ny fomba tsy misy mahalala momba an'io fifampiraharahana io afa-tsy ireo mpandray anjara amin'ny fifampiraharahana. Ny banky dia manana nomeraon-kaonty sy karatra banky mifandray amin'ny olona manokana na fikambanana ara-dalΓ na, ary miaro ny mombamomba ny fifampiraharahana ny tsiambaratelon'ny banky. Ary iza no miantoka fa ny AnonymousWorldMoney misy fepetra dia tsy mampiasa angon-drakitra manokana sy fampahalalana momba ny varotra ho an'ny tanjona manokana?
  2. Ahoana no ahazoana antoka fa nahazo ny vola nafindra tany aminy ilay mpandray? Raha lazaina amin'ny teny hafa, dia nandefa $100 ny mpandefa, ary nahazo $10 ilay mpandray. Tonga any amin'ny biraon'ny AnonymousWorldMoney ny mpandefa miaraka amin'ny rosiany, ary asehon'ilay mpiraki-draharaha ny dikan-tenyny, izay voasoratra fa $10 monja no nafindran'ilay mpandefa.
  3. Ny olan'ny tontolo tsy azo itokisana, ohatra, ny fisolokiana antsoina hoe fandaniam-bola indroa. Afaka mandany imbetsaka ny volany ny mpandray anjara tsy manara-penitra mandra-piverin'ny karama amin'ny mpizara rehetra. Theorem CAP, mazava ho azy, tsy nisy nanafoana, ary ny fifanarahana dia ho tanteraka amin'ny farany, fa misy olona tsy handray vola amin'ny serivisy na entana omena. Noho izany, raha tsy misy fitokisana tanteraka amin'ny fikambanana fandoavam-bola na mpandray anjara amin'ny fifampiraharahana, dia ilaina ny manangana tambajotra tsy mifototra amin'ny fitokisana, fa amin'ny cryptography.
  4. Conditional AnonymousWorldMoney dia manana lohamilina voafetra izay mety tsy ho hita tsy nahy na noho ny fikasan-dratsy.
  5. AnonymousWorldMoney dia handray ny komisiona azo tsapain-tanana.
  6. Ny fahafahana mifehy. Nandritra ny fiasan'ny Bitcoin, dia hita fa ny olona dia tsy te-hifindra vola madinika, fa koa mba hijery ny toe-javatra isan-karazany ho an'ny raharaham-barotra, fandaharana asa toe-javatra, mandeha ho azy ny hetsika araka ny fepetra, sns.

Ahoana ny famahana ny olana amin'ny blockchain

  1. Ny famantarana ny mpandray anjara dia atao amin'ny fampiasana fanalahidy roa: tsy miankina sy ampahibemaso, ary ny algorithm sonia nomerika dia mamaritra manokana ny mpandefa sy ny mpandray, ka mamela ny mombamomba azy ireo ho tsy fantatra.
  2. Angonina ho bloc ny fifampiraharahana, kajy ny hash an'ny sakana ary soratana ao amin'ny bloc manaraka. Ity filaharan'ny fandraketana hashes amin'ny sakana ity dia manome ny teknolojia blockchain ny anarany, ary izany koa dia mahatonga azy io ho tsy azo atao ny manova / mamafa ny sakana na ny fifanakalozana tsirairay amin'ny sakana. Noho izany, raha misy fifampiraharahana tafiditra ao amin'ny blockchain, azonao antoka fa tsy hiova ny angon-drakitra.
  3. Ny hosoka fandaniam-bola indroa dia sakanana amin'ny alalan'ny fahazoana marimaritra iraisana momba ny angon-drakitra hoheverina ho manan-kery sy tokony hariana. Ao amin'ny tambajotra Bitcoin, ny marimaritra iraisana dia azo amin'ny alΓ lan'ny porofon'ny asa (PoW).
  4. Ny fahamendrehan'ny tambajotra dia tratra amin'ny hoe ny blockchain dia ampahibemaso, izay ahafahan'ny mpandray anjara tsirairay mitantana ny node azy manokana, mahazo dika mitovy amin'ny blockchain ary, ankoatra izany, manomboka manara-maso ny fifampiraharahana ho an'ny marina. Tsara homarihina fa ny blockchains maoderina dia mamela ny fananganana tsy ho an'ny daholobe (misokatra) fa koa ny tsy miankina (mihidy) blockchain, ary koa ny fampiasana tetika mitambatra.
  5. Ny blockchain dia tsy hanaisotra tanteraka ny komisiona, satria ... tsy maintsy mandoa ny olona izay manohana ny tambajotra ianao, fa ao amin'ny blockchain ny filΓ na komisiona dia voaporofo amin'ny fomba maharesy lahatra fa tsy misy fisalasalana momba ny filany.
  6. Ny blockchains maoderina dia manana fahafahana mampihatra ny lojika fandraharahana, izay antsoina hoe Smart Contracts ao amin'ny blockchain. Ny lojikan'ny fifanarahana marani-tsaina dia ampiharina amin'ny fiteny avo lenta isan-karazany.

Manaraka izany dia hodinihintsika amin'ny antsipiriany bebe kokoa ireo vahaolana ireo.

Architecture Blockchain

Blockchain singa

Ny mpandray anjara tsirairay dia afaka manomboka ny node manokana miaraka amin'ny dika mitovy amin'ny blockchain (node ​​feno). Ny nodes feno izay afaka mirakitra ny fifanakalozana amin'ny blockchain dia antsoina consensus nodes (vavolombelona) na mpitrandraka (mpitrandraka). Nodes feno izay manamarina ny fahamarinan'ny fifampiraharahana ihany no antsoina audit nodes (audit). Mpanjifa maivana (mpanjifa maivana) dia tsy mitahiry kopia feno amin'ny blockchain, fa mifandray amin'ny tambajotra mampiasa nodes feno.
Ny ankamaroan'ny mpampiasa dia mampiasa mpanjifa maivana na poketra amin'ny tranonkala hanaovana fifampiraharahana. Ny nodes rehetra dia mifandray amin'ny tsirairay. Miaraka amin'ity andiana singa ity dia lasa milamina kokoa ny rafitry ny tambajotra:

Inona no tokony hataontsika blockchain?

Transaction life cycle

Andeha hojerentsika ny tsingerin'ny androm-piainan'ny fifampiraharahana ary vakio tsikelikely izany:

Inona no tokony hataontsika blockchain?

Blockchain teknolojia

Andeha hojerentsika amin'ny antsipiriany ny vahaolana ara-teknika sy ny fifandraisan'izy ireo.

famantarana

Ny varotra blockchain rehetra dia tsy maintsy sonia nomerika. Noho izany, mba hamitana ny fifampiraharahana, ny mpandray anjara tsirairay dia tsy maintsy manana mpivady manan-danja: tsy miankina / fanjakana. Indraindray ny fanalahidy roa dia antsoina hoe poketra, satria mifandray manokana amin'ny adiresin'ny nomerika tokana an'ny mpandray anjara sy ny fifandanjana ny fanalahidy. Raha ny zava-misy, ny fanalahidy sy ny adiresy dia tady isa fotsiny amin'ny rafitra isa samihafa. Ohatra amin'ny lakile sy adiresin'ny poketra:

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

Mba hamoronana sonia nomerika amin'ny blockchains, algorithm iray mifototra amin'ny curve elliptic no ampiasaina: Elliptic Curve Digital Signature Algorithm (ECDSA). Mba hiasa, ny fanalahidy manokana (256-bit isa) dia matetika alaina kisendrasendra. Ny isan'ny safidy manan-danja dia 2 amin'ny herin'ny 256, noho izany dia afaka miresaka momba ny tsy fahafahana azo ampiharina amin'ny fampitoviana ny soatoavin'ny fanalahidy manokana.

Avy eo, ny fanalahidin'ny daholobe dia azo avy amin'ny tsy miankina amin'ny fampitomboana ny sandany amin'ny fandrindrana ny teboka iray eo amin'ny curve elliptic, ka miteraka fandrindrana teboka vaovao amin'ny curve mitovy. Ity hetsika ity dia miantoka fa mahazo mpivady manan-danja mety amin'ny fanaovana sonia nomerika ianao. Farany, ny adiresin'ny poketra dia avy amin'ny fanalahidin'ny daholobe.

Betsaka ny lahatsoratra misy antsipiriany momba ny kriptografika ampiasaina amin'ny blockchain, ohatra: Bitcoin amin'ny teny fohy - Cryptography

Ny lakile manokana dia tsy maintsy ho tsiambaratelo tanteraka ary voaaro tsara. Ny fanalahidin'ny daholobe dia fantatry ny rehetra. Raha very ny fanalahidy manokana dia tsy azo averina ny fidirana amin'ny fananana (vola madinika) ary ho very mandrakizay ny vola. Noho izany, ny asa fitehirizana azo antoka ny fanalahidy manokana dia tena ilaina, satria Tsy banky ity izay ahafahanao mitondra ny pasipaoronao sy mamerina ny kaontinao. Misy indostria iray manontolo amin'ny famokarana antsoina hoe kitapo crypto mangatsiaka, mitovy amin'ny flash drive:

Inona no tokony hataontsika blockchain?

na azonao atao ny mampiasa fomba azo antoka kokoa, ohatra, manindrona ny sandan'ny fanalahidy manokana amin'ny famantarana:

Inona no tokony hataontsika blockchain?

varotra

Ny antsipiriany bebe kokoa momba ny firafitry ny fifanakalozana dia hita ao amin'ny lahatsoratra Bitcoin amin'ny teny fohy - Transaction. Zava-dehibe ho antsika ny mahatakatra fa ny fifampiraharahana tsirairay dia manana farafaharatsiny ireto angona manaraka ireto:

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

Manaraka, sonia miaraka amin'ny fanalahidy manokana ny fifanakalozana ary alefa (jereo ny antsipiriany momba ny fiasan'ny protocol Bitcoin amin'ny teny fohy-Protocol) ho an'ny nodes rehetra ao amin'ny blockchain izay manamarina ny fifanakalozam-bola ho an'ny fahamendrehana. Ny algorithm fanamarinana ny transaction dia tsy misy dikany ary misy dingana roa ambin'ny folo.

Sakan'ny fifampiraharahana

Rehefa avy nanamarina ny maha-ara-dalΓ na ny fifampiraharahana dia manangana sakana avy amin'izy ireo ny nodes. Ho fanampin'ny fifampiraharahana, ny hash amin'ny sakana teo aloha sy ny isa (Nonce counter) dia voasoratra ao anaty sakana, ary ny hash amin'ny sakana ankehitriny dia kajy amin'ny alΓ lan'ny algorithm SHA-256. Ny hash dia tsy maintsy nametraka fepetra sarotra. Ohatra, ao amin'ny tambajotra Bitcoin, ny fahasarotan'ny hash dia miova ho azy isaky ny 2 herinandro miankina amin'ny herin'ny tambajotra ka misy sakana iray miforona eo ho eo indray mandeha isaky ny 10 minitra. Ity fepetra manaraka ity no hamaritana ny fahasarotana: ny tenifototra hita dia tsy maintsy latsaky ny isa efa voafaritra. Raha tsy feno io fepetra io, dia ampiana 1 ny Nonce, ary averina ny asa kajy ny hash. Mba hisafidianana tenifototra dia ampiasaina ny saha Nonce, satria Io no hany angona ao amin'ny sakana azo ovaina; ny ambiny dia tsy maintsy mijanona tsy miova. Ny tenifototra manan-kery dia tsy maintsy manana laharana aotra maromaro, toy ny iray amin'ireo tena hash:

000000000000000000000bf03212e7dd1176f52f816fa395fc9b93c44bc11f91

Ny fitadiavana hash dia porofon'ny asa vita (Proof-of-Work, PoW) ho an'ny tambajotra Bitcoin na Ethereum. Ny dingan'ny fitadiavana hash dia antsoina hoe fitrandrahana, mitovy amin'ny fitrandrahana volamena. Ny anarana dia mamaritra tsara ny fototry ny dingana, satria misy fikarohana tsotra amin'ny safidy, ary raha misy olona mahita tenifototra mety, dia tena vintana tokoa izany. Sahala amin'ny fitadiavana poti-bolamena tena izy ao anaty vato fako an-taoniny. Ny valisoa sakana dia 12.5 BTC ankehitriny ary raha ampitomboinao amin'ny tahan'ny Bitcoin amin'izao fotoana izao ny $3900, dia mahazo volamena madio mihoatra ny iray kilao ianao. Misy azo iadiana!

Taorian'ny nahitam-pahombiazana ny hash, ny sakana sy ny hash hita dia nosoratana ho an'ny sakana manaraka. Ny antsipiriany bebe kokoa momba ny firafitry ny sakana dia hita ao amin'ny lahatsoratra Bitcoin amin'ny teny fohy-Blockchain, ary eto ambany ny kisary notsorina:

Inona no tokony hataontsika blockchain?

Ny sakana dia manomboka amin'ny sakana izay tsy mbola manana ny hash amin'ny sakana teo aloha. Tsy misy afa-tsy sakana iray toy izany ao amin'ny blockchain ary manana ny anarany manokana Genesis block. Ny blocs sisa dia manana rafitra mitovy ary tsy mitovy afa-tsy amin'ny isan'ny fifanakalozana. Ny fifanakalozana tena izy sy ny sakana noforonina amin'izao fotoana izao amin'ny Bitcoin na Ethereum dia azo jerena ao Block Explorer.

Ny haben'ny sakana amin'ny Bitcoin dia voafetra amin'ny 1MB ary miaraka amin'ny fampahalalana kely indrindra amin'ny fifampiraharahana eo amin'ny 200 bytes, ny isan'ny varotra ambony indrindra amin'ny sakana iray dia mety ho 6000 eo ho eo. Avy eto, teny an-dalana, dia manaraka ny zava-bitan'ny Bitcoin, izay ihomehezan'ny rehetra: ny sakana iray dia miforona eo ho eo isaky ny 10 minitra * 60 segondra = 600 segondra, izay manome fampisehoana ofisialy 10 TPS. Na dia eo aza ny zava-misy fa izany dia tsy vokatra, fa niniana nampiharina algorithm ny asa. Ao amin'ny Ethereum, ho an'ny fifaninanana, dia nataony tsotra izao ny fotoana famokarana sakana 15 segondra. ary nitombo tamin'ny fomba ofisialy ny vokatra. Noho izany, amin'ny blockchains izay mampiasa ny PoW ho marimaritra iraisana, dia tsy misy dikany ny fampitahana ny fampisehoana mihitsy, satria miankina mivantana amin'ny fahasarotan'ny kajy cache, izay azo omena amin'ny sanda rehetra.

fitrebika

Inona no mitranga raha toa ka, ohatra, nodes maromaro no mahita hash mifanaraka amin'ny fepetra sarotra, saingy tsy mitovy ny vidiny (amin'ny teny hafa, tonga amin'ny marimaritra iraisana izy ireo) ary nanoratra sakana tamin'ny blockchain? Andeha hojerentsika ny fomba fiarovan'ny blockchain amin'ity toe-javatra ity. Amin'ity tranga ity, mitranga ny antsoina hoe fork, ary ny blockchain dia manana dikan-teny roa amin'ny rojo:

Inona no tokony hataontsika blockchain?

Inona no mitranga manaraka? Manaraka, ny ampahany amin'ny tambajotra dia manomboka miasa amin'ny sakana N+2 avy amin'ny rojo iray, ary ny ampahany amin'ny iray hafa:

Inona no tokony hataontsika blockchain?

Ny iray amin'ireo sakana ireo dia ho hita aloha ary alefa any amin'ny blockchain, ary avy eo, araka ny fitsipika, ny blockchain dia tsy maintsy mifindra amin'ny rojo lava kokoa ary manafoana ny fifanakalozana rehetra amin'ny sakana hafa:

Inona no tokony hataontsika blockchain?

Mandritra izany fotoana izany, ny toe-javatra iray dia mety hipoitra rehefa ny fifampiraharahan'ny mpandray anjara dia tao amin'ny iray amin'ireo sakana fork ihany, izay nofoanana. Noho izany, mba hahazoana antoka fa voarakitra ao amin'ny blockchain ny fifampiraharahana irina, dia misy tolo-kevitra ankapobeny - alohan'ny hatokisanao ny fifampiraharahana dia tokony hiandry ianao mandra-pahatongan'ireo sakana vitsivitsy manaraka ao amin'ny blockchain. Ny soso-kevitra momba ny isan'ny sakana hiandry ny sakana samihafa dia miovaova. Ohatra, ho an'ny tambajotra Bitcoin ny kely indrindra dia 2 blocs, ny ambony indrindra dia 6.

Ny sary mitovy miaraka amin'ny bloc forks dia hojerena mandritra ilay antsoina hoe fanafihana 51% - izany dia rehefa misy vondron'olona mpitrandraka manandrana mamboly rojo bloc hafa, mitady hanafoana ny rojo amin'ny varotra hosoka ataon'izy ireo. Na dia amin'izao fotoana izao aza, fa tsy hosoka, dia mahasoa kokoa ny mandany ny herinao amin'ny fitrandrahana marina.

fifanarahana

Mba hanoratana sakana iray amin'ny blockchain, ny tambajotra dia tsy maintsy mahazo marimaritra iraisana. Ndeha hotsaroantsika ny asa fanatrarana ny marimaritra iraisana amin'ny tambazotran'ny serasera. Ny olana dia novolavolaina ho asan'ny jeneraly Byzantine BFT (Fandeferana ny lesoka Byzantine). Esory ny filazalazana mahafinaritra momba ny olan'ny tafika Byzantine, ny olana dia azo amboarina toy izao manaraka izao: ahoana no ahafahan'ny node-tambajotra tonga amin'ny vokatra iraisana raha toa ka misy nodes tambajotra afaka minia manodina azy ireo. Ny algorithma efa misy amin'ny famahana ny olan'ny BFT dia mampiseho fa afaka miasa tsara ny tambajotra raha toa ka latsaky ny 1/3 ny mpisoloky. Nahoana no tsy nampiharina tamin'ny tambajotra Bitcoin ny fifanarahana BFT? Nahoana no nilaina ny fampiasana ny PoW? Misy antony maromaro:

  • Ny BFT dia miasa tsara amin'ny andian-tsarimihetsika kely, fa amin'ny sakana ho an'ny daholobe dia tsy azo vinavinaina ny isan'ny nodes ary, ankoatra izany, ny nodes dia azo alefa sy alefa kisendrasendra.
  • Ilaina ny mandrisika ny olona hanangana nodes blockchain. Mba hanaovana izany dia tsy maintsy mahazo valisoa ny olona. Ao amin'ny BFT dia tsy misy na inona na inona hahazoana valisoa amin'ny fomba ofisialy, fa ny valisoa ho an'ny PoW dia mazava ho an'ny rehetra amin'ny ambaratonga intuitive: ho an'ny herinaratra lanin'ny processeur amin'ny fitadiavana ny hash block.

Ho fanampin'ny PoW, misy marimaritra iraisana maro hafa ampiasaina amin'ny blockchains maoderina, ohatra:

  • PoS (Proof-of-Stake) - amin'ny blockchain Hyperledger
  • DPoS (Delegated Proof-of-Stake) - amin'ny blockchain BitShares
  • Fanovana ny BFT: SBFT (Simplified BFT) sy PBFT (Practical BFT), ohatra amin'ny blockchain Exonum

Andeha hojerentsika kely ny marimaritra iraisana momba ny PoS, satria... PoS sy ny karazany misy azy no tena miparitaka amin'ny blockchains manokana. Nahoana no mitokana? Amin'ny lafiny iray, ny toetran'ny PoS dia tsara kokoa raha oharina amin'ny PoW, satria Mba hahazoana marimaritra iraisana dia tsy ilaina ny loharanon-karena informatika, izay midika fa mitombo ny hafainganam-pandehan'ny fanoratana angona amin'ny blockchain. Saingy amin'ny lafiny iray, ny PoS dia manana fahafahana bebe kokoa amin'ny hosoka, noho izany dia tsy maintsy fantatra ny mpandray anjara rehetra ao amin'ny blockchain.

Ny fifanarahana PoS dia mifototra amin'ny fifantenana ny node izay afaka manoratra sakana miaraka amin'ny fifanakalozana amin'ny blockchain arakaraka ny habetsaky ny vola ao amin'ny kaonty, na ny marimarina kokoa, tsy ao amin'ny kaonty, fa amin'ny fiantohana, i.e. Arakaraka ny habetsahan'ny vola anananao ho antoka, dia ny tambajotra no hifidy ny node anao hanoratana sakana. Tsy haverina ny petra-bola raha tsy manan-kery ny sakana. Izany dia manome fiarovana amin'ny hosoka. Misy karazana PoS manaraka ireto:

  • Ny marimaritra iraisana Delegated PoS (DPoS) dia mizara ny mpandray anjara ho "mpifidy" sy "validators". Ireo mpihazona vola madinika (mpandray anjara amin'ny fifidianana) dia manolotra ny fahefany hanamarina sy handrakitra ny fifanakalozana eo amin'ny blockchain amin'ny mpandray anjara hafa. Noho izany, ny validators dia manao ny asa kajy rehetra ary mahazo valisoa amin'izany, ary ny fisian'ny mpandray anjara amin'ny fifidianana dia miantoka ny fahamarinan'ny validators, satria azo ovaina amin'ny fotoana rehetra izy ireo.
  • Ny fifanarahana LPoS (Leased Proof-of-Stake) dia ahafahanao manofa ny volanao amin'ny nodes hafa mba hananany vintana tsara kokoa hanamarina ny sakana. Izany. Afaka mahazo komisiona ho an'ny fifampiraharahana ianao nefa tsy mandray anjara amin'ny fanamarinana marina sy fanakanana ny fitrandrahana.

Misy marimaritra iraisana hafa izay mbola tsy ampiasaina betsaka, hotanisaiko eto fotsiny izy ireo ho fampahalalana, ary ny topimaso momba ny algorithm marimaritra iraisana dia azo jerena, ohatra, ao amin'ny lahatsoratra: Algorithms Consensus amin'ny Blockchain.

  • PoET (fotoana efa lasa)
  • PoC (porofon'ny fahaiza-manao)
  • PoB (porofon'ny may)
  • PoWeight (Proof-of-Weight)
  • PoA (Proof-of-Activity) - PoW + PoS
  • PoI (Proof-of-importans)

Ny fahamendrehana sy ny fametrahana modely amin'ny blockchains

Public blockchain

fahamarinan-toerana Public na anarana hafa Blockchain tsy nahazoana alalana Izany dia azo amin'ny alΓ lan'ny famelana ny olona hifandray sy hijery vaovao na hampifandray ny nodeny manokana, ary ny fahatokisana dia miorina amin'ny fifanarahana PoW.

Private blockchain

Private na Blockchain nahazo alalana manokana. Ao anatin'ireny sakana ireny, vondrona mpandray anjara (fikambanana na olona) ihany no mahazo vaovao. Ny blockchains toy izany dia naorin'ny fikambanana miaraka amin'ny tanjona hampitombo ny tombony na fahombiazana amin'ny ankapobeny. Ny fahamendrehan'izy ireo dia azo antoka amin'ny tanjona iraisan'ny mpandray anjara sy ny algorithms consensus PoS sy BFT.

Blockchain consortium

Misy izany Consortium na Blockchain nahazo alalana ho an'ny daholobe. Ireo dia sakana izay azon'ny rehetra mifandray amin'ny fijerena, fa ny mpandray anjara dia afaka manampy vaovao na mampifandray ny node raha tsy mahazo alalana avy amin'ny mpandray anjara hafa. Ny blockchain toy izany dia naorin'ny fikambanana mba hampitomboana ny fahatokisan'ny mpanjifa na ny mpanjifa ny vokatra na ny fiaraha-monina amin'ny ankapobeny. Eto, azo itokisana ihany koa ny fisian'ny fifampitokisana eo amin'ny mpandray anjara sy ny algorithm marimaritra iraisana PoS sy BFT.

Fifampitokisana

Blockchains nampiharina taorian'ny Bitcoin manana, amin'ny ambaratonga iray na hafa, nanampy ny fahafahana manatanteraka fifanarahana marani-tsaina. Amin'ny ankapobeny, ny fifanarahana marani-tsaina dia fifampiraharahana izay ametrahana kaody fandaharana ho an'ny famonoana. Ny fifanarahana Smart amin'ny tambajotra Ethereum dia tanterahina ao amin'ny EVM (Ethereum Virtual Machine). Mba hanombohana ny fanatanterahana fifanarahana marani-tsaina dia tsy maintsy atomboka mazava amin'ny fifampiraharahana hafa izany, na tsy maintsy fenoina ny fepetra mialoha ny fanatanterahana azy. Ny vokatry ny fanatanterahana ny fifanarahana marani-tsaina dia horaketina ao amin'ny blockchain ihany koa. Ny fandraisana angona avy any ivelan'ny blockchain dia azo atao, saingy tena voafetra.

Inona ny lojika raharaham-barotra azo ampiharina amin'ny alΓ lan'ny fifanarahana marani-tsaina? Raha ny marina, tsy dia misy firy, ohatra, ny fanamarinana ny fepetra amin'ny fampiasana angon-drakitra avy amin'ny blockchain, ny fanovana ny tompon'ny fananana nomerika miankina amin'ireo fepetra ireo, ny firaketana angon-drakitra amin'ny tahiry maharitra ao anatin'ny blockchain. Ny lojika dia ampiharina amin'ny fiteny avo lenta manokana Solidity.

Ohatra mahazatra amin'ny fiasa izay ampiharina amin'ny alΓ lan'ny fifanarahana marani-tsaina dia ny famoahana mari-pamantarana ho an'ny ICO. Ohatra, nametraka fifanarahana hendry aho hamoaka AlexToken 500 tsotsotra. ny rohy amin'ny Etherscan is located

kaody loharanon'ny fifanarahana marani-tsaina amin'ny fiteny 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;
}

ary ny fanehoana binary araka ny fahitan'ny tambajotra azy

60806040526000600355600060045533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560146101000a81548160ff021916908360028111156200006f57fe5b0217905550620001036b019d971e4fe8401e74000000600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024a6401000000000262000b1d179091906401000000009004565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001986b019d971e4fe8401e740000006001546200024a6401000000000262000b1d179091906401000000009004565b6001819055506b033b2e3c9fd0803ce8000000600481905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b019d971e4fe8401e740000006040518082815260200191505060405180910390a362000267565b600081830190508281101515156200025e57fe5b80905092915050565b611cb880620002776000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104c7578063095ea7b31461055757806318160ddd146105bc57806323b872dd146105e7578063313ce5671461066c578063355274ea146106a3578063518ab2a8146106ce57806366188463146106f957806370a082311461075e57806389311e6f146107b55780638da5cb5b146107cc578063903a3ef61461082357806395d89b411461083a578063a9059cbb146108ca578063bf5839031461092f578063c7876ea41461095a578063cbcb317114610985578063d73dd623146109b0578063dd62ed3e14610a15578063f2fde38b14610a8c575b60008060008060006001600281111561012757fe5b600560149054906101000a900460ff16600281111561014257fe5b14151561014e57600080fd5b60003411151561015d57600080fd5b600060045411151561016e57600080fd5b3494506101a7670de0b6b3a764000061019968056bc75e2d6310000088610acf90919063ffffffff16565b610b0790919063ffffffff16565b9350600092506b033b2e3c9fd0803ce80000006101cf85600354610b1d90919063ffffffff16565b111561024c576101f66003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b915061022e670de0b6b3a764000061022068056bc75e2d6310000085610b0790919063ffffffff16565b610acf90919063ffffffff16565b90506102438186610b3990919063ffffffff16565b92508094508193505b61026184600354610b1d90919063ffffffff16565b6003819055506102886003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b6004819055506000831115610344573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156102dd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b610395846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a361045184600154610b1d90919063ffffffff16565b600181905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156104bf573d6000803e3d6000fd5b505050505050005b3480156104d357600080fd5b506104dc610b52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056357600080fd5b506105a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8b565b604051808215151515815260200191505060405180910390f35b3480156105c857600080fd5b506105d1610c7d565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610652600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c87565b604051808215151515815260200191505060405180910390f35b34801561067857600080fd5b50610681611041565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156106af57600080fd5b506106b8611046565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e3611056565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b6040518082815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611335565b005b3480156107d857600080fd5b506107e16113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082f57600080fd5b50610838611411565b005b34801561084657600080fd5b5061084f6114ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088f578082015181840152602081019050610874565b50505050905090810190601f1680156108bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d657600080fd5b50610915600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b34801561093b57600080fd5b50610944611703565b6040518082815260200191505060405180910390f35b34801561096657600080fd5b5061096f611709565b6040518082815260200191505060405180910390f35b34801561099157600080fd5b5061099a611716565b6040518082815260200191505060405180910390f35b3480156109bc57600080fd5b506109fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611726565b604051808215151515815260200191505060405180910390f35b348015610a2157600080fd5b50610a76600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b6040518082815260200191505060405180910390f35b348015610a9857600080fd5b50610acd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a9565b005b600080831415610ae25760009050610b01565b8183029050818382811515610af357fe5b04141515610afd57fe5b8090505b92915050565b60008183811515610b1457fe5b04905092915050565b60008183019050828110151515610b3057fe5b80905092915050565b6000828211151515610b4757fe5b818303905092915050565b6040805190810160405280600981526020017f416c6578546f6b656e000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d9c57600080fd5b610ded826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e80826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6b033b2e3c9fd0803ce800000081565b60035481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561116d576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611201565b6111808382610b3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139157600080fd5b60028081111561139d57fe5b600560149054906101000a900460ff1660028111156113b857fe5b141515156113c557600080fd5b6001600560146101000a81548160ff021916908360028111156113e457fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b60028081111561147957fe5b600560149054906101000a900460ff16600281111561149457fe5b141515156114a157600080fd5b6114a9611b01565b565b6040805190810160405280600381526020017f414c54000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561152157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156e57600080fd5b6115bf826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611652826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b68056bc75e2d6310000081565b6b019d971e4fe8401e7400000081565b60006117b782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a4157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6002600560146101000a81548160ff02191690836002811115611b2057fe5b021790555060006004541115611c0a57611ba5600454600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611c89573d6000803e3d6000fd5b505600a165627a7a723058205bbef016cc7699572f944871cb6f05e69915ada3a92a1d9f03a3fb434aac0c2b0029

Ny antsipiriany bebe kokoa momba ny fifanarahana marani-tsaina dia hita ao amin'ny lahatsoratra: Inona no fifanarahana smart amin'ny Ethereum.

famaranana

Notanisainay ny teknΓ΄lΓ΄jian'ny fananganana blockchain maoderina sy ny fomba ifandraisan'izy ireo. Andeha isika hamolavola izay olana azo vahana amin'ny alalan'ny blockchain, ary inona no vahaolana ho, amin'ny tsara indrindra, tsy mahomby. Noho izany, tsy ilaina ny mampiasa blockchain raha:

  • Ny fifampiraharahana dia atao amin'ny tontolo azo itokisana;
  • Ny fisian'ny komisiona mpanelanelana dia tsy manimba ny fiainan'ny mpandray anjara;
  • Tsy manana fananana azo aseho ho fananana nomerika ny mpandray anjara;
  • Tsy misy fizarana amin'ny fananana nomerika, i.e. ny sanda dia tompon'ny na omen'ny mpandray anjara iray ihany.

Inona no ho avy ho an'ny blockchain? Ankehitriny isika dia afaka manombatombana fotsiny ny fomba mety ho fampandrosoana ny teknolojia blockchain:

  • Ny Blockchain dia ho lasa teknolojia angon-drakitra mahazatra toy ny SQL na NoSQL ho an'ny famahana ny olana manokana;
  • Ny Blockchain dia ho lasa protocole miparitaka be, toy ny HTTP ho an'ny Internet;
  • Blockchain dia ho lasa fototry ny rafitra ara-bola sy politika vaovao eto an-tany!

Amin'ny ampahany manaraka dia hojerentsika hoe inona ny blockchains misy amin'izao fotoana izao ary nahoana izy ireo no ampiasaina amin'ny indostria samihafa.

Vao fiandohana ihany ity!

Source: www.habr.com

Add a comment