Lamba Hyperledger ho an'ny Dummies

Sehatra Blockchain ho an'ny orinasa

Lamba Hyperledger ho an'ny Dummies

Salama, ry mpamaky malala, ny anarako dia Nikolay Nefedov, manam-pahaizana manokana momba ny teknika ao amin'ny IBM aho, ato amin'ity lahatsoratra ity dia tiako ny hampahafantatra anao ny sehatra blockchain - Hyperledger Fabric. Ny sehatra dia natao hananganana fampiharana ara-barotra amin'ny orinasa. Ny haavon'ny lahatsoratra dia ho an'ny mpamaky tsy vonona amin'ny fahalalana fototra momba ny teknolojia IT.

Hyperledger Fabric dia tetikasa open-source, iray amin'ireo sampana amin'ny tetikasa Hyperledger open source, consortium an'ny Linux Foundation. Hyperledger Fabric dia natomboka tamin'ny Digital Assets sy IBM. Ny singa fototra amin'ny sehatra Hyperledger Fabric dia ny fifantohana amin'ny fampiasana orinasa. Noho izany, ny sehatra dia novolavolaina tamin'ny fiheverana ny hafainganam-pandehan'ny varotra sy ny vidiny ambany, ary koa ny famantarana ny mpandray anjara rehetra. Ireo tombony ireo dia azo amin'ny alàlan'ny fisarahana ny serivisy fanamarinana ny varotra sy ny fananganana sakana vaovao amin'ny rejisitra zaraina, ary koa ny fampiasana foibe fanamarinana sy fanomezan-dàlana ny mpandray anjara.

Ny lahatsoratro dia ampahany amin'ny andian-dahatsoratra momba ny Hyperledger Fabric, izay mamaritra ny tetikasa rafitra ho an'ny firaketana ireo mpianatra miditra amin'ny oniversite.

Architecture ankapoben'ny Hyperledger Fabric

Hyperledger Fabric dia tamba-jotra blockchain zaraina misy singa miasa isan-karazany izay apetraka amin'ny nodes tambajotra. Ny singa Hyperledger Fabric dia container Docker izay azo alaina maimaim-poana amin'ny DockerHub. Ny Hyperledger Fabric dia azo atao amin'ny tontolo Kubernetes ihany koa.

Mba hanoratana fifanarahana hendry (chaincode amin'ny tontolon'ny Hyperledger Fabric), dia nampiasa Golang izahay (na dia mamela ny fampiasana fiteny hafa aza ny Hyperledger Fabric). Mba hamoronana fampiharana manokana, amin'ity tranga ity, dia nampiasa Node.js miaraka amin'ny Hyperledger Fabric SDK mifanaraka amin'izany.

Ny nodes dia manatanteraka ny lojika fandraharahana (smart contrat) - chaincode, mitahiry ny toetry ny rejisitra mizara (angona angona) ary manatanteraka serivisy rafitra hafa amin'ny sehatra. Ny node dia singa lojika ihany; Ny node samihafa dia mety misy amin'ny mpizara ara-batana iray ihany. Ny tena zava-dehibe dia ny fomba anakambanana ny nodes (domaine azo itokisana) sy ny fiasan'ny tambajotra blockchain ifandraisan'izy ireo.

Ny maritrano ankapobeny dia toy izao:

Lamba Hyperledger ho an'ny Dummies

Sary 1. Architecture ankapoben'ny lamba Hyperledger

Fampiharana mpampiasa (Submitting Client) dia rindranasa iarahan'ny mpampiasa miasa amin'ny tambajotra blockchain. Raha te hiasa dia tsy maintsy mahazo alalana ianao ary manana zo mifanaraka amin'ny karazana hetsika isan-karazany ao amin'ny tambajotra.

Ny namana dia tonga amin'ny andraikitra maro:

  • Ny endorsing Peer dia node izay manahaka ny fanatanterahana ny fifampiraharahana (manatanteraka ny kaody fifanarahana marani-tsaina). Aorian'ny fanamarinana sy ny fanatanterahana ny fifanarahana marani-tsaina, ny node dia mamerina ny valin'ny famonoana amin'ny fampiharana mpanjifa miaraka amin'ny soniany.
  • Ordering Service dia serivisy zaraina amin'ny nodes maromaro, ampiasaina hamoronana sakana vaovao amin'ny rejisitra zaraina ary mamorona filaharana ho an'ny fanatanterahana ny fifampiraharahana. Ny serivisy famandrihana dia tsy manampy sakana vaovao amin'ny rejisitra (Ity endri-javatra ity dia nafindra tany amin'ny Committing Peers mba hanatsarana ny fampisehoana).
  • Ny Committing Peer dia node misy rejisitra zaraina ary manampy sakana vaovao amin'ny rejisitra (izay novokarin'ny Service Ordering). Ny Committing Peers rehetra dia misy dika mitovy eo an-toerana amin'ny bokim-bola zaraina. Ny Committing Peer dia manamarina ny raharaham-barotra rehetra ao anatin'ny sakana mba ho manan-kery alohan'ny hanampiana sakana vaovao eo an-toerana.

Ny politikan'ny fankatoavana dia ny politikan'ny fanamarinana ny maha-ara-dalàna ny fifampiraharahana. Ireo politika ireo dia mamaritra ny fitambaran'ny nodes izay tsy maintsy anatanterahana ny fifanarahana marani-tsaina mba hahafantaran'ny fifanakalozana fa manan-kery.

Ny rejisitra zaraina - Lerger - dia misy ampahany roa: WolrldState (antsoina koa hoe State DataBase) sy BlockChain.

BlockChain dia rojo sakana izay mitahiry ny firaketana ny fanovana rehetra nitranga tamin'ny zavatra rejistra mizara.

WolrldState dia singa ledger zaraina izay mitahiry ny soatoavina ankehitriny (manapaka) amin'ny zavatra rehetra voazara.

WorldState dia angon-drakitra, amin'ny dikan-teny fototra - LevelDB na sarotra kokoa - CouchDB, izay misy tsiroaroa manan-danja, ohatra: Anarana voalohany - Ivan, Anarana farany - Ivanov, daty fisoratana anarana ao amin'ny rafitra - 12.12.21/17.12.1961/XNUMX , daty nahaterahana - XNUMX/XNUMX/XNUMX, sns. WorldState sy ny rejisitra zaraina dia tsy maintsy mifanaraka amin'ny mpandray anjara rehetra amin'ny fantsona iray.

Satria ny Hyperledger Fabric dia tambajotra iray izay ahafantarana sy ankatoavina ny mpandray anjara rehetra, dia mampiasa fahefana fanamarinana voatokana - CA (Certification Authority). Ny CA dia miasa mifototra amin'ny fotodrafitrasa fototra X.509 sy fotodrafitrasa fototra ho an'ny daholobe - PKI.

Serivisy momba ny maha-mpikambana dia serivisy ahafahan'ny mpikambana manamarina fa an'ny fikambanana na fantsona manokana ny zavatra iray.

Transakta - amin'ny ankamaroan'ny tranga, dia manoratra angona vaovao amin'ny rejisitra mizara.
Misy ihany koa ny fifanakalozana amin'ny famoronana fantsona na fifanarahana marani-tsaina. Ny fifampiraharahana dia atomboka amin'ny fampiharana mpampiasa ary mifarana amin'ny firaketana an-tsoratra ao amin'ny ledger nozaraina.

Ny Channel dia subnetwork mihidy misy mpandray anjara amin'ny tambajotra blockchain roa na mihoatra, natao hanaovana fifampiraharahana tsiambaratelo ao anatin'ny faribolana voafetra nefa fantatra amin'ny mpandray anjara. Ny fantsona dia nofaritan'ny mpandray anjara, ny rejisitra mizara azy, ny fifanarahana marani-tsaina, ny Ordering Service, WorldState. Ny mpandray anjara amin'ny fantsona tsirairay dia tsy maintsy mahazo alalana hiditra amin'ny fantsona ary manan-jo hanao karazana varotra isan-karazany. Ny fanomezan-dàlana dia atao amin'ny alàlan'ny serivisy mpikambana.

Toetran'ny fampandehanan-draharaha mahazatra

Manaraka izany, te hiresaka momba ny scenario fampandehanan-draharaha mahazatra aho amin'ny fampiasana ny tetikasantsika ho ohatra.

Ao anatin'ny tetikasa anatiny, namorona ny tambajotra Hyperledger Fabric izahay, izay natao hisoratra anarana sy kaonty ho an'ny mpianatra miditra amin'ny oniversite. Ny tambajotranay dia misy fikambanana roa ao amin'ny Anjerimanontolo A sy Anjerimanontolo B. Ny fikambanana tsirairay dia misy fampiharana mpanjifa, ary koa ny mpiara-miombon'antoka sy manohana azy. Izahay koa dia mampiasa ny serivisy famandrihana serivisy, serivisy maha-mpikambana ary fahefana fanamarinana.

1) Fanombohana ny fifampiraharahana

Fampiharana mpampiasa iray, mampiasa ny Hyperledger Fabric SDK, dia manomboka fangatahana fifampiraharahana ary mandefa ny fangatahana amin'ny nodes misy fifanarahana marani-tsaina. Ny fangatahana dia azo atao ny manova na mamaky avy amin'ny rejisitra voazara (Ledger). Raha mandinika ohatra iray amin'ny rafi-pitsapana rafitra ho an'ny kaonty ho an'ny mpianatra eny amin'ny oniversite isika, ny fangatahana mpanjifa dia mandefa fangatahana fifampiraharahana amin'ny node ao amin'ny oniversite A sy B, izay tafiditra ao amin'ny politikan'ny fankatoavana ilay antsoina hoe fifanarahana marani-tsaina. Ny Node A dia node izay hita ao amin'ny oniversite izay manoratra ny mpianatra miditra, ary ny node B dia node izay hita any amin'ny oniversite hafa. Mba hahafahan'ny fifampiraharahana ho voatahiry ao amin'ny rejisitra mizara, dia ilaina ny nodes rehetra izay, araka ny lojikan'ny fandraharahana, dia tsy maintsy mankasitraka ny fifampiraharahana, manatanteraka amim-pahombiazana ny fifanarahana marani-tsaina miaraka amin'ny vokatra mitovy. Ny fampiharana mpampiasa node A, mampiasa ny fitaovana Hyperledger Fabric SDK, dia mahazo ny politikan'ny Endorsement ary mianatra izay nodes handefasana fangatahana fifanakalozana. Ity dia fangatahana hiantso fifanarahana marani-tsaina manokana (function code chain) mba hamakiana na hanoratana angona sasany amin'ny rejisitra zaraina. Ara-teknika, ny SDK mpanjifa dia mampiasa ny fiasa mifanaraka amin'izany, ny API izay mandalo zavatra iray miaraka amin'ny mari-pamantarana ara-barotra, ary manampy sonia mpanjifa ary mandefa izany angon-drakitra izany amin'ny alàlan'ny buffer protocol amin'ny gRPC mankany amin'ireo node mety (manohana ny mpiara-miasa).

Lamba Hyperledger ho an'ny Dummies
Sary Faha 2: Fanombohana Transaction

2) Fanatanterahana ny fifanarahana marani-tsaina

Nodes (Endorsing Peers), rehefa nahazo fangatahana hanao fifampiraharahana, jereo ny sonia mpanjifa ary raha milamina ny zava-drehetra, dia maka zavatra miaraka amin'ny angon-drakitra fangatahana izy ireo ary manao simulation amin'ny fanatanterahana ny fifanarahana marani-tsaina (chaincode function) miaraka amin'ny data ity. Ny fifanarahana marani-tsaina dia ny lojikan'ny raharaham-barotra amin'ny fifampiraharahana, ny fepetra sy ny toromarika sasany (amin'ny tranga misy antsika, fanamarinana mpianatra izany, mpianatra vaovao ve izy, sa efa nisoratra anarana, fanamarinana taona, sns.). Mba hanatanterahana ny fifanarahana hendry dia mila data avy amin'ny WorldState ihany koa ianao. Vokatry ny fanodinkodinana fifanarahana marani-tsaina amin'ny mpiara-miasa amin'ny Endorsing dia misy angon-drakitra roa azo - Read Set sy Write Set. Read Set sy Write Set no sanda WorldState tany am-boalohany sy vaovao. (vaovao - amin'ny heviny azo nandritra ny simulation ny fifanarahana marani-tsaina).

Lamba Hyperledger ho an'ny Dummies
Sary Faha 3. Fanatanterahana fifanarahana marani-tsaina

3) Famerenana ny angona amin'ny fampiharana mpanjifa

Rehefa avy nanao simulation ny fifanarahana marani-tsaina, ny Endorsing Peers dia mamerina ny angon-drakitra tany am-boalohany sy ny vokatry ny simulation, ary koa ny RW Set, nosoniavin'ny taratasy fanamarinana azy ireo amin'ny fangatahana mpanjifa. Amin'ity dingana ity dia tsy misy fiovana mitranga ao amin'ny rejisitra zaraina. Ny fampiharana mpanjifa dia manamarina ny sonia Endorsing Peer, ary mampitaha ihany koa ny angon-drakitra momba ny fifanakalozana tany am-boalohany nalefa sy ny angon-drakitra naverina (izany hoe, manamarina raha toa ka navadika ny angon-drakitra tany am-boalohany nanaovana ny fifampiraharahana). Raha natao ho an'ny famakiana angon-drakitra avy amin'ny rejisitra fotsiny ny fifanakalozana, dia mahazo ny Read Set ilaina ny fampiharana mpanjifa ary mazàna izany dia mamita ny raharaham-barotra amim-pahombiazana nefa tsy manova ny rejisitra zaraina. Raha misy fifampiraharahana tsy maintsy manova angon-drakitra ao amin'ny rejisitra, ny fampiharana mpanjifa dia manamarina ihany koa ny fampiharana ny politikan'ny Endors. Azo atao ny tsy manamarina ny vokatry ny fanatanterahana ny Politika Fankatoavana ny fampiharana mpanjifa, fa ny sehatra Hyperledger Fabric amin'ity tranga ity dia manome ny fanamarinana ny politika amin'ny nodes (Committing Peers) eo amin'ny sehatry ny fampidirana fifanakalozana amin'ny rejisitra.

Lamba Hyperledger ho an'ny Dummies
Sary 4. Famerenana ny angona amin'ny fampiharana mpanjifa

4) Mandefa RW set amin'ny Ordering Peers

Ny fampiharana mpanjifa dia mandefa ny fifampiraharahana miaraka amin'ny angona miaraka amin'ny serivisy Ordering. Anisan'izany ny RW Set, Manohana sonia mpiara-mianatra, ary ny Channel ID.

Serivisy famandrihana - mifototra amin'ny anarana, ny tena anjara asan'ity serivisy ity dia ny mandamina ny fifanakalozana miditra amin'ny filaharana marina. Ary koa ny fananganana sakana vaovao amin'ny rejisitra zaraina ary azo antoka ny fandefasana ireo sakana vaovao navoaka ho an'ny nodes Commiting rehetra, noho izany dia miantoka ny tsy fitovian'ny angon-drakitra amin'ny nodes rehetra misy ny rejisitra mizara (Committing peers). Mandritra izany fotoana izany, ny serivisy Ordering mihitsy dia tsy manova ny rejisitra amin'ny fomba rehetra. Ny serivisy famandrihana dia singa manan-danja amin'ny rafitra, noho izany dia fitambaran'ny node maromaro. Ny Service Ordering dia tsy manamarina ny maha-ara-dalàna ny raharaham-barotra, manaiky fotsiny ny fifampiraharahana miaraka amin'ny famantarana fantsona iray, mandamina ny fifampiraharahana miditra amin'ny baiko iray ary mamorona sakana vaovao amin'ny rejisitra zaraina avy amin'izy ireo. Ny serivisy famandrihana iray dia afaka manompo fantsona maromaro miaraka. Ny serivisy famandrihana dia misy cluster Kafka, izay mitazona ny filaharana marina (tsy miova) (jereo ny teboka 7).

Lamba Hyperledger ho an'ny Dummies
Sary 5: Mandefa RW set amin'ny Ordering Peers

5) Mandefa sakana vokarina any amin'ny Committing Peer

Ny sakana vokarina ao amin'ny Serivisy famandrihana dia ampitaina (broadcast) amin'ny nodes rehetra. Ny node tsirairay, rehefa nahazo sakana vaovao, dia manamarina izany amin'ny fanarahana ny Politika Endorsing, manamarina fa nahazo vokatra mitovy (Soraty Set) ny mpiara-miasa rehetra, vokatry ny simulation fifanarahana marani-tsaina, ary manamarina koa raha manana ny soatoavina tany am-boalohany. niova (izany hoe, Read Set - angon-drakitra novakian'ny fifanarahana marani-tsaina avy amin'ny WorldState) nanomboka tamin'ny fotoana nanombohana ny fifampiraharahana. Raha feno ny fepetra rehetra dia voamarika ho manan-kery ny fifampiraharahana, raha tsy izany dia mahazo ny sata tsy manan-kery ny fifampiraharahana.

Lamba Hyperledger ho an'ny Dummies
Sary 6: Mandefa sakana natsangana ho amin'ny Committing Peer

6) Manampy sakana amin'ny rejisitra

Ny node tsirairay dia manampy fifampiraharahana amin'ny kopia eo an-toerana amin'ny rejisitra zaraina, ary raha manan-kery ny fifampiraharahana, dia ampiharina amin'ny WorldState (fanjakana ankehitriny) ny Write Set, ary mifanaraka amin'izany, ny soatoavina vaovao amin'ireo zavatra voakasik'izany. ny transaction dia voasoratra. Raha misy fifampiraharahana nahazo mari-pankasitrahana tsy manan-kery (ohatra, fifampiraharahana roa nitranga tamin'ny zavatra iray ihany tao anatin'ny sakana iray ihany, dia ho tsy manan-kery ny iray amin'ireo fifanakalozana, satria ny soatoavina tany am-boalohany dia efa novain'ny hafa. transaction). Ity fifampiraharahana ity dia ampidirina amin'ny ledger zaraina miaraka amin'ny mari-pamantarana tsy mety, fa ny Write Set an'ity transaction ity dia tsy mihatra amin'ny WorldState ankehitriny ary, araka izany, dia tsy manova ny zavatra mandray anjara amin'ny fifanakalozana. Aorian’izay dia alefa any amin’ny rindranasan’ny mpampiasa ny fampandrenesana fa nampidirina raikitra ao amin’ny rejisitra nozaraina ny fifampiraharahana, ary koa ny sata mifehy ny fifampiraharahana, izany hoe manankery na tsia...

Lamba Hyperledger ho an'ny Dummies
Sary 7: Manampy sakana amin'ny rejisitra

SERVICE MANODY

Ny Service Ordering dia misy cluster Kafka miaraka amin'ny ZooKeeper nodes sy Ordering Service Nodes (OSN), izay mijoro eo anelanelan'ny mpanjifa serivisy Ordering sy ny Cluster Kafka. Ny kluster Kafka dia sehatra fitantanana miparitaka sy mandefitra amin'ny fandeferana (hafatra). Ny fantsona tsirairay (lohahevitra) ao amin'ny Kafka dia filaharan-drakitra tsy azo ovaina izay tsy manohana afa-tsy ny fampidirana rakitsoratra vaovao (tsy azo atao ny mamafa ny efa misy). Ny fanoharana momba ny rafitry ny lohahevitra dia aseho eto ambany. Io fananan'i Kafka io no ampiasaina hananganana sehatra blockchain.

Lamba Hyperledger ho an'ny Dummies
nalaina tao amin'ny kafka.apache.org

  • Sary 8. Firafitry ny lohahevitra momba ny serivisy *

Rohy mahasoa

Youtube - Manangana sakana ho an'ny orinasa miaraka amin'ny Tetikasa Hyperledger
Hyperledger Fabric Docs
Hyperledger lamba: rafitra fiasana zaraina ho an'ny blockchain nahazo alalana

fankatelemana

Te-haneho ny fankasitrahana lalina an'ireo mpiara-miasa amiko aho noho ny fanampian'izy ireo tamin'ny fanomanana ity lahatsoratra ity:
Nikolay Marin
Igor Khapov
Dmitry Gorbachev
Alexander Zemtsov
Ekaterina Guseva

Source: www.habr.com

Add a comment