Hyperledger Fabric fun Dummies

A Blockchain Platform fun Idawọlẹ

Hyperledger Fabric fun Dummies

O dara ni ọsan, awọn olufẹ ọwọn, orukọ mi ni Nikolay Nefedov, Mo jẹ alamọja imọ-ẹrọ ni IBM, ninu nkan yii Emi yoo fẹ lati ṣafihan rẹ si pẹpẹ blockchain - Hyperledger Fabric. Syeed jẹ apẹrẹ fun kikọ awọn ohun elo iṣowo-kilasi ile-iṣẹ. Ipele ti nkan naa jẹ fun awọn oluka ti ko murasilẹ pẹlu imọ ipilẹ ti awọn imọ-ẹrọ IT.

Hyperledger Fabric jẹ iṣẹ akanṣe orisun-ìmọ, ọkan ninu awọn ẹka ti iṣẹ-ṣiṣe orisun orisun Hyperledger, ẹgbẹ kan ti Linux Foundation. Hyperledger Fabric ti bẹrẹ ni akọkọ nipasẹ Awọn ohun-ini Digital ati IBM. Ẹya akọkọ ti Hyperledger Fabric Syeed jẹ idojukọ rẹ lori lilo ile-iṣẹ. Nitorinaa, Syeed ti ni idagbasoke ni akiyesi iyara giga ti awọn iṣowo ati idiyele kekere wọn, ati idanimọ ti gbogbo awọn olukopa. Awọn anfani wọnyi ni aṣeyọri nipasẹ ipinya ti iṣẹ ijẹrisi idunadura ati dida awọn bulọọki tuntun ti iforukọsilẹ pinpin, ati lilo ile-iṣẹ ijẹrisi ati aṣẹ ti awọn olukopa.

Nkan mi jẹ apakan ti onka awọn nkan nipa Hyperledger Fabric, laarin eyiti a ṣe apejuwe iṣẹ akanṣe kan fun gbigbasilẹ awọn ọmọ ile-iwe ti nwọle ile-ẹkọ giga kan.

Gbogbogbo faaji ti Hyperledger Fabric

Hyperledger Fabric jẹ nẹtiwọọki blockchain pinpin ti o ni ọpọlọpọ awọn paati iṣẹ ṣiṣe ti a fi sori awọn apa nẹtiwọki. Awọn paati aṣọ Hyperledger jẹ awọn apoti Docker ti o le ṣe igbasilẹ larọwọto lati DockerHub. Hyperledger Fabric tun le ṣiṣẹ ni agbegbe Kubernetes kan.

Lati kọ awọn iwe adehun ti o gbọn (chaincode ni ipo ti Hyperledger Fabric), a lo Golang (biotilejepe Hyperledger Fabric gba laaye lilo awọn ede miiran). Lati ṣe agbekalẹ ohun elo aṣa, ninu ọran wa, a lo Node.js pẹlu Hyperledger Fabric SDK ti o baamu.

Awọn apa naa ṣiṣẹ ọgbọn iṣowo (adehun ọlọgbọn) - chaincode, tọju ipo iforukọsilẹ ti pinpin (data iwe afọwọkọ) ati ṣiṣẹ awọn iṣẹ eto miiran ti pẹpẹ. Ipade kan jẹ ẹyọ ọgbọn nikan; awọn apa oriṣiriṣi le wa lori olupin ti ara kanna. Pupọ diẹ sii ni bi a ṣe ṣe akojọpọ awọn apa (agbegbe igbẹkẹle) ati awọn iṣẹ wo ni nẹtiwọọki blockchain ti wọn ni nkan ṣe pẹlu.

Awọn faaji gbogbogbo dabi eyi:

Hyperledger Fabric fun Dummies

Aworan 1. Gbogbogbo Architecture ti Hyperledger Fabric

Ohun elo olumulo (Fifisilẹ Onibara) jẹ ohun elo pẹlu eyiti awọn olumulo n ṣiṣẹ pẹlu nẹtiwọọki blockchain. Lati ṣiṣẹ, o gbọdọ ni aṣẹ ati ni awọn ẹtọ ti o yẹ fun awọn oriṣiriṣi awọn iṣe lori nẹtiwọọki.

Awọn ẹlẹgbẹ wa ni awọn ipa pupọ:

  • Ifọwọsi Ẹlẹgbẹ jẹ apa kan ti o ṣe adaṣe ipaniyan ti idunadura kan (n ṣiṣẹ koodu adehun ijafafa naa). Lẹhin ijẹrisi ati ipaniyan ti adehun ọlọgbọn, ipade naa da awọn abajade ipaniyan pada si ohun elo alabara pẹlu ibuwọlu rẹ.
  • Iṣẹ Ibere ​​jẹ iṣẹ ti a pin lori ọpọlọpọ awọn apa, ti a lo lati ṣe ipilẹṣẹ awọn bulọọki tuntun ti iforukọsilẹ pinpin ati ṣẹda isinyi fun ipaniyan awọn iṣowo. Iṣẹ Ibere ​​ko ṣafikun awọn bulọọki tuntun si iforukọsilẹ (Ẹya yii ti gbe lọ si Ṣiṣe Awọn ẹlẹgbẹ lati mu iṣẹ dara si).
  • Igbẹkẹle ẹlẹgbẹ jẹ ipade ti o ni iforukọsilẹ pinpin ati ṣafikun awọn bulọọki tuntun si iforukọsilẹ (eyiti o jẹ ipilẹṣẹ nipasẹ Iṣẹ Ipeṣẹ). Gbogbo Awọn ẹlẹgbẹ Ifaramọ ni ẹda agbegbe ti iwe afọwọkọ ti o pin ninu. Ṣiṣẹda Ẹlẹgbẹ ṣayẹwo gbogbo awọn iṣowo laarin bulọki fun iwulo ṣaaju fifi bulọọki tuntun kun ni agbegbe.

Ilana Ifọwọsi jẹ eto imulo fun ṣiṣe ayẹwo iwulo ti idunadura kan. Awọn eto imulo wọnyi ṣalaye eto ti a beere ti awọn apa lori eyiti adehun ọlọgbọn gbọdọ wa ni ṣiṣe ni ibere ki idunadura naa le mọ bi o wulo.

Iforukọsilẹ pinpin - Lerger - ni awọn ẹya meji: WolrldState (ti a tun pe ni State DataBase) ati BlockChain.

BlockChain jẹ ẹwọn awọn bulọọki ti o tọju awọn igbasilẹ ti gbogbo awọn ayipada ti o ṣẹlẹ si awọn nkan iforukọsilẹ pinpin.

WolrldState jẹ paati iwe afọwọkọ pinpin ti o tọju awọn iye lọwọlọwọ (eti gige) ti gbogbo awọn nkan iwe afọwọkọ pinpin.

WorldState jẹ ibi ipamọ data, ninu ẹya ipilẹ - LevelDB tabi ọkan ti o ni eka diẹ sii - CouchDB, eyiti o ni awọn orisii iye bọtini, fun apẹẹrẹ: Orukọ akọkọ - Ivan, Orukọ idile - Ivanov, ọjọ iforukọsilẹ ninu eto - 12.12.21/17.12.1961/XNUMX , ọjọ ibi - XNUMX/XNUMX/XNUMX, ati bẹbẹ lọ. WorldState ati iforukọsilẹ pinpin gbọdọ wa ni ibamu laarin gbogbo awọn olukopa ninu ikanni ti a fun.

Niwọn igba ti Hyperledger Fabric jẹ nẹtiwọọki ninu eyiti gbogbo awọn olukopa ti mọ ati ifọwọsi, o nlo aṣẹ iwe-ẹri iyasọtọ - CA (Aṣẹ Iwe-ẹri). CA nṣiṣẹ da lori boṣewa X.509 ati awọn amayederun bọtini gbangba - PKI.

Iṣẹ ọmọ ẹgbẹ jẹ iṣẹ nipasẹ eyiti awọn ọmọ ẹgbẹ rii daju pe ohun kan jẹ ti agbari tabi ikanni kan pato.

Idunadura kan – ni ọpọlọpọ igba, jẹ kikọ data tuntun si iforukọsilẹ pinpin.
Awọn iṣowo tun wa fun ṣiṣẹda awọn ikanni tabi awọn adehun ọlọgbọn. Idunadura naa bẹrẹ nipasẹ ohun elo olumulo ati pari pẹlu igbasilẹ ninu iwe afọwọkọ ti a pin.

Ikanni jẹ iṣẹ-asopọ-apakan ti o ni pipade ti o ni meji tabi diẹ ẹ sii awọn olukopa nẹtiwọọki blockchain, ti a ṣe lati ṣe awọn iṣowo aṣiri laarin agbegbe ti o lopin ṣugbọn ti a mọ ti awọn olukopa. Ikanni naa jẹ ipinnu nipasẹ awọn olukopa, iforukọsilẹ pinpin rẹ, awọn adehun ọlọgbọn, Iṣẹ Ibere, WorldState. Olukopa ikanni kọọkan gbọdọ ni aṣẹ lati wọle si ikanni ati ni ẹtọ lati ṣe awọn oriṣiriṣi awọn iṣowo. Aṣẹ ti wa ni ošišẹ ti lilo awọn Iṣẹ omo egbe.

Aṣoju idunadura ipaniyan ohn

Nigbamii ti, Emi yoo fẹ lati sọrọ nipa oju iṣẹlẹ ipaniyan idunadura aṣoju nipa lilo iṣẹ akanṣe wa bi apẹẹrẹ.

Gẹgẹbi apakan ti iṣẹ inu inu wa, a ṣẹda nẹtiwọki Hyperledger Fabric, eyiti a ṣe apẹrẹ lati forukọsilẹ ati akọọlẹ fun awọn ọmọ ile-iwe ti nwọle awọn ile-ẹkọ giga. Nẹtiwọọki wa ni awọn ẹgbẹ meji ti o jẹ ti Ile-ẹkọ giga A ati Ile-ẹkọ giga B. Ẹgbẹ kọọkan ni ohun elo alabara kan, bakanna bi Ifaramọ ati Ififunni Ẹlẹgbẹ tirẹ. A tun lo awọn iṣẹ ti o wọpọ Iṣẹ Bere fun, Iṣẹ Ọmọ ẹgbẹ ati Alaṣẹ Iwe-ẹri.

1) Bibẹrẹ ti Iṣowo

Ohun elo olumulo kan, ni lilo Hyperledger Fabric SDK, bẹrẹ ibeere idunadura kan ati firanṣẹ ibeere si awọn apa pẹlu awọn iwe adehun ọlọgbọn. Ibeere naa le jẹ lati yipada tabi ka lati iforukọsilẹ pinpin (Ledger). Ti a ba ṣe akiyesi apẹẹrẹ ti iṣeto eto idanwo wa fun ṣiṣe iṣiro fun awọn ọmọ ile-iwe giga, ohun elo alabara firanṣẹ ibeere idunadura kan si awọn apa ti awọn ile-ẹkọ giga A ati B, eyiti o wa ninu ilana Ifọwọsi ti adehun smart ti a pe. Node A jẹ ipade ti o wa ni ile-ẹkọ giga ti o forukọsilẹ ọmọ ile-iwe ti nwọle, ati ipade B jẹ ipade ti o wa ni ile-ẹkọ giga miiran. Ni ibere fun idunadura kan lati wa ni fipamọ si iforukọsilẹ pinpin, o jẹ dandan pe gbogbo awọn apa ti, ni ibamu si ọgbọn iṣowo, gbọdọ fọwọsi idunadura naa, ni ifijišẹ ṣiṣẹ awọn adehun ọlọgbọn pẹlu abajade kanna. Oju ipade A ohun elo olumulo, ni lilo awọn irinṣẹ Hyperledger Fabric SDK, gba eto imulo Ifọwọsi ati kọ ẹkọ iru awọn apa lati fi ibeere idunadura ranṣẹ si. Eyi jẹ ibeere kan lati pe adehun ijafafa kan pato (iṣẹ chaincode) lati ka tabi kọ data kan si iforukọsilẹ pinpin. Ni imọ-ẹrọ, SDK alabara nlo iṣẹ ti o baamu, API eyiti o ti kọja ohun kan pẹlu awọn iwọn idunadura, ati pe o tun ṣafikun ibuwọlu alabara kan ati firanṣẹ data yii nipasẹ ifipamọ ilana lori gRPC si awọn apa ti o yẹ (awọn ẹlẹgbẹ ti o fọwọsi).

Hyperledger Fabric fun Dummies
Aworan 2. Bibẹrẹ Iṣowo kan

2) Ipaniyan ti smati guide

Awọn apa (Awọn ẹlẹgbẹ Ifọwọsi), ti gba ibeere kan lati ṣe idunadura kan, ṣayẹwo ibuwọlu alabara ati ti ohun gbogbo ba wa ni ibere, wọn mu ohun kan pẹlu data ibeere ati ṣiṣe iṣeṣiro ti ipaniyan ti adehun ọlọgbọn kan (iṣẹ chaincode) pẹlu yi data. Iwe adehun ọlọgbọn jẹ ọgbọn iṣowo ti iṣowo kan, eto awọn ipo kan ati awọn ilana (ninu ọran wa, eyi jẹ ijẹrisi ọmọ ile-iwe, jẹ ọmọ ile-iwe tuntun, tabi o ti forukọsilẹ tẹlẹ, ijẹrisi ọjọ-ori, ati bẹbẹ lọ). Lati ṣiṣẹ adehun ọlọgbọn, iwọ yoo tun nilo data lati WorldState. Bi abajade ti kikopa iwe adehun ọlọgbọn kan lori ẹlẹgbẹ Ifọwọsi, awọn eto data meji ni a gba - Ṣeto Ka ati Ṣeto Kọ. Ṣeto Ka ati Ṣeto Kọ jẹ atilẹba ati awọn iye Ipinle Agbaye tuntun. (tuntun - ni ori ti a gba lakoko kikopa ti adehun ọlọgbọn).

Hyperledger Fabric fun Dummies
Aworan 3. Ipaniyan ti a smati guide

3) Npadabọ data si ohun elo alabara

Lẹhin ṣiṣe iṣeṣiro kan ti adehun ọlọgbọn, Awọn ẹlẹgbẹ Ifọwọsi pada data atilẹba ati abajade ti kikopa, bakanna bi RW Ṣeto, ti o fowo si nipasẹ ijẹrisi wọn, si ohun elo alabara. Ni ipele yii, ko si awọn ayipada ninu iforukọsilẹ pinpin. Ohun elo alabara ṣayẹwo Ibuwọlu Ẹlẹgbẹ Ifọwọsi, ati tun ṣe afiwe data idunadura atilẹba ti o firanṣẹ ati data ti o pada (iyẹn, o ṣayẹwo boya data atilẹba lori eyiti a ṣe adaṣe idunadura naa ti daru). Ti idunadura naa ba jẹ fun kika data nikan lati iforukọsilẹ, lẹhinna ohun elo alabara ni ibamu gba Eto kika to wulo ati pe eyi nigbagbogbo pari idunadura naa ni aṣeyọri laisi iyipada iforukọsilẹ pinpin. Ninu ọran ti idunadura kan ti o gbọdọ yi data pada ninu iforukọsilẹ, ohun elo alabara ni afikun sọwedowo imuse ti eto imulo Ifọwọsi. O ṣee ṣe pe ohun elo alabara kan ko ṣayẹwo abajade ti ṣiṣe Afihan Ifọwọsi, ṣugbọn ipilẹ ile-iṣẹ Hyperledger Fabric ninu ọran yii pese fun awọn eto imulo ṣayẹwo lori awọn apa (Awọn ẹlẹgbẹ Iṣeduro) ni ipele ti fifi iṣowo kan kun si iforukọsilẹ.

Hyperledger Fabric fun Dummies
Aworan 4. Nda data pada si ohun elo onibara

4) Fifiranṣẹ awọn eto RW si Awọn ẹlẹgbẹ Bere fun

Ohun elo alabara nfi idunadura naa ranṣẹ pẹlu data ti o tẹle si iṣẹ Ipeṣẹ. Eyi pẹlu Eto RW, Awọn ibuwọlu ẹlẹgbẹ, ati ID ikanni.

Iṣẹ ibere - da lori orukọ, iṣẹ akọkọ ti iṣẹ yii ni lati ṣeto awọn iṣowo ti nwọle ni ilana to tọ. Bii didasilẹ bulọọki tuntun ti iforukọsilẹ pinpin ati ifijiṣẹ iṣeduro ti awọn bulọọki ti ipilẹṣẹ tuntun si gbogbo awọn apa Iṣeduro, nitorinaa aridaju aitasera data lori gbogbo awọn apa ti o ni iforukọsilẹ pinpin (Ṣiṣe awọn ẹlẹgbẹ). Ni akoko kanna, iṣẹ Ipeṣẹ ​​funrararẹ ko yi iforukọsilẹ pada ni ọna eyikeyi. Iṣẹ Ibere ​​jẹ paati pataki ti eto naa, nitorinaa o jẹ iṣupọ ti awọn apa pupọ. Iṣẹ Ipeṣẹ ​​ko ṣayẹwo idunadura naa fun iwulo, o kan gba idunadura kan pẹlu idanimọ ikanni kan, ṣeto awọn iṣowo ti nwọle ni aṣẹ kan ati ṣe awọn bulọọki tuntun ti iforukọsilẹ pinpin lati ọdọ wọn. Iṣẹ Ibere ​​kan le sin awọn ikanni pupọ ni nigbakannaa. Iṣẹ Ipeṣẹ ​​pẹlu iṣupọ Kafka kan, eyiti o ṣetọju isinyi idunadura deede (aileyipada) (wo Point 7).

Hyperledger Fabric fun Dummies
Aworan 5. Fifiranṣẹ awọn eto RW si Awọn ẹlẹgbẹ Bere fun

5) Fifiranṣẹ awọn ohun amorindun ti ipilẹṣẹ si Ṣiṣe Ẹlẹgbẹ

Awọn bulọọki ti o ti ipilẹṣẹ ninu Iṣẹ Ipeṣẹ ​​ti wa ni gbigbe (igbohunsafẹfẹ) si gbogbo awọn apa nẹtiwọki. Oju ipade kọọkan, ti o ti gba bulọọki tuntun kan, ṣayẹwo rẹ fun ibamu pẹlu Ilana Ifọwọsi, ṣayẹwo pe gbogbo Awọn ẹlẹgbẹ Ifọwọsi gba abajade kanna (Ṣeto Kọ) bi abajade ti kikopa adehun adehun ọlọgbọn, ati tun ṣayẹwo boya awọn iye atilẹba ni. yi pada (ti o ni, Ka Ṣeto - data ka nipa awọn smati guide lati WorldState) lati akoko awọn idunadura ti a initiated. Ti gbogbo awọn ipo ba pade, idunadura naa ti samisi bi iwulo, bibẹẹkọ, idunadura naa gba ipo aiṣedeede.

Hyperledger Fabric fun Dummies
Aworan 6. Fifiranṣẹ awọn ohun amorindun ti ipilẹṣẹ si Ṣiṣe awọn ẹlẹgbẹ

6) Fifi kan Àkọsílẹ si awọn iforukọsilẹ

Apapọ kọọkan ṣafikun idunadura kan si ẹda agbegbe ti iforukọsilẹ ti pinpin, ati pe ti iṣowo naa ba wulo, lẹhinna Eto kikọ naa ni a lo si WorldState (ipo lọwọlọwọ), ati ni ibamu si awọn iye tuntun ti awọn nkan ti o kan nipasẹ idunadura ti kọ. Ti idunadura kan ba gba ami-ami ti ko wulo (fun apẹẹrẹ, awọn iṣowo meji waye pẹlu awọn nkan kanna laarin bulọọki kanna, lẹhinna ọkan ninu awọn iṣowo naa yoo jẹ asan, nitori pe awọn iye atilẹba ti ti yipada tẹlẹ nipasẹ miiran. idunadura). Idunadura yii tun jẹ afikun si iwe afọwọkọ ti a pin pẹlu aami aitọ, ṣugbọn Eto kikọ ti idunadura yii ko lo si WorldState lọwọlọwọ ati, ni ibamu, ko yi awọn nkan ti o kopa ninu idunadura naa pada. Lẹhin eyi, a fi ifitonileti kan ranṣẹ si ohun elo olumulo pe idunadura naa ti ṣafikun titilai si iforukọsilẹ ti a pin, bakanna bi ipo idunadura naa, iyẹn, boya o wulo tabi rara…

Hyperledger Fabric fun Dummies
Aworan 7. Ṣafikun bulọọki kan si iforukọsilẹ

IBERE IṣẸ

Iṣẹ Ipeṣẹ ​​naa ni iṣupọ Kafka kan pẹlu awọn apa ZooKeeper ti o baamu ati Awọn apa Iṣẹ Ipeṣẹ ​​(OSN), eyiti o duro laarin awọn alabara iṣẹ Ibere ​​ati iṣupọ Kafka. iṣupọ Kafka jẹ ipilẹ ti o pin kaakiri, sisan ifarada-aṣiṣe (ifiranṣẹ) Syeed iṣakoso. Ikanni kọọkan (koko) ni Kafka jẹ ilana ti ko yipada ti awọn igbasilẹ ti o ṣe atilẹyin fifi igbasilẹ tuntun kan (piparẹ ti o wa tẹlẹ ko ṣee ṣe). Apejuwe ti eto koko ti han ni isalẹ. O jẹ ohun-ini yii ti Kafka ti a lo lati kọ pẹpẹ blockchain kan.

Hyperledger Fabric fun Dummies
gba lati kafka.apache.org

  • Aworan 8. Eto Koko-ọrọ Iṣẹ ti n paṣẹ*

Awọn ọna asopọ to wulo

Youtube – Ilé kan blockchain fun owo pẹlu awọn Hyperledger Project
Hyperledger Fabric Docs
Aṣọ Hyperledger: ẹrọ ṣiṣe ti a pin fun awọn blockchains igbanilaaye

Awọn ijẹwọ

Emi yoo fẹ lati ṣe afihan ọpẹ mi nla si awọn ẹlẹgbẹ mi fun iranlọwọ wọn ni ṣiṣeradi nkan yii:
Nikolay Marin
Igor Khapov
Dmitry Gorbachev
Alexander Zemtsov
Ekaterina Guseva

orisun: www.habr.com

Fi ọrọìwòye kun