Stuth Hyperledger airson Dummies

Àrd-ùrlar Blockchain airson an Iomairt

Stuth Hyperledger airson Dummies

Feasgar math, a leughadairean, is e m ’ainm Nikolay Nefedov, tha mi nam eòlaiche teignigeach aig IBM, san artaigil seo bu mhath leam do thoirt a-steach don àrd-ùrlar blockchain - Hyperledger Fabric. Tha an àrd-ùrlar air a dhealbhadh airson tagraidhean gnìomhachais clas iomairt a thogail. Tha ìre an artaigil airson leughadairean neo-ullaichte le eòlas bunaiteach air teicneòlasan IT.

Tha Hyperledger Fabric na phròiseact stòr fosgailte, aon de na meuran den phròiseact stòr fosgailte Hyperledger, co-bhanntachd de Linux Foundation. Chaidh Hyperledger Fabric a thòiseachadh an toiseach le Digital Assets agus IBM. Is e prìomh fheart an àrd-ùrlar Hyperledger Fabric am fòcas air cleachdadh iomairt. Mar sin, chaidh an àrd-ùrlar a leasachadh a 'gabhail a-steach astar àrd nan gnothaichean agus an cosgais ìseal, a bharrachd air comharrachadh a h-uile com-pàirtiche. Tha na buannachdan sin air an coileanadh tro bhith a 'sgaradh an t-seirbheis dearbhaidh malairt agus a' cruthachadh bhlocaichean ùra den chlàr sgaoilte, a bharrachd air a bhith a 'cleachdadh ionad teisteanais agus cead bho chom-pàirtichean.

Tha an artaigil agam mar phàirt de shreath artaigilean mu Hyperledger Fabric, anns a bheil sinn a’ toirt cunntas air pròiseact siostam airson oileanaich a tha a’ dol a-steach gu oilthigh a chlàradh.

Ailtireachd coitcheann de Hyperledger Fabric

Tha Hyperledger Fabric na lìonra blockchain sgaoilte anns a bheil grunn phàirtean gnìomh a tha air an cur a-steach air nodan lìonra. Tha co-phàirtean Hyperledger Fabric nan soithichean Docker a ghabhas luchdachadh sìos gu saor bho DockerHub. Faodar Hyperledger Fabric a ruith cuideachd ann an àrainneachd Kubernetes.

Gus cùmhnantan snasail a sgrìobhadh (còd slabhraidh ann an co-theacsa Hyperledger Fabric), chleachd sinn Golang (ged a tha Hyperledger Fabric a’ ceadachadh cànanan eile a chleachdadh). Gus tagradh àbhaisteach a leasachadh, anns a’ chùis againn, chleachd sinn Node.js leis an Hyperledger Fabric SDK co-fhreagarrach.

Bidh na nodan a’ cur an gnìomh loidsig gnìomhachais (cùmhnant snasail) - chaincode, a’ stòradh staid a’ chlàr sgaoilte (dàta leabhar-cunntais) agus a’ cur an gnìomh seirbheisean siostam eile den àrd-ùrlar. Chan eil ann an nód ach aonad loidsigeach; faodaidh nodan eadar-dhealaichte a bhith ann air an aon fhrithealaiche fiosaigeach. Tha e tòrr nas cudromaiche mar a tha na nodan air an cruinneachadh (fearann ​​earbsach) agus dè na gnìomhan aig an lìonra blockchain ris a bheil iad co-cheangailte.

Tha an ailtireachd coitcheann a 'coimhead mar seo:

Stuth Hyperledger airson Dummies

Dealbh 1. Ailtireachd Coitcheann de Hyperledger Fabric

Is e tagradh cleachdaiche (A’ cur a-steach teachdaiche) tagradh leis am bi luchd-cleachdaidh ag obair leis an lìonra blockchain. Gus obrachadh, feumaidh tu a bhith ùghdarraichte agus na còraichean iomchaidh a bhith agad airson diofar sheòrsaichean de ghnìomhan air an lìonra.

Bidh co-aoisean a 'tighinn ann an grunn dhreuchdan:

  • Is e nód a th’ ann a bhith a’ toirt taic do cho-aoisean a bhios a’ dèanamh atharrais air coileanadh malairt (a’ cur an gnìomh a’ chòd cùmhnant smart). Às deidh dearbhadh agus coileanadh a ’chùmhnant snasail, bidh an nód a’ tilleadh na toraidhean gu bàs gu tagradh an neach-dèiligidh còmhla ris an ainm-sgrìobhte aige.
  • Is e seirbheis sgaoilte a th’ ann an Seirbheis Òrdachaidh air grunn nodan, air a chleachdadh gus blocaichean ùra den chlàr sgaoilte a ghineadh agus ciudha a chruthachadh airson gnothaichean a choileanadh. Cha chuir an t-Seirbheis Òrdachaidh blocaichean ùra ris a’ chlàr (Chaidh am feart seo a ghluasad gu Comitting Peers gus coileanadh a leasachadh).
  • Is e nód a th’ ann an Com-pàirteachaidh anns a bheil clàr sgaoilte agus a chuireas blocaichean ùra ris a’ chlàr (a chaidh a chruthachadh leis an t-Seirbheis Òrdachaidh). Tha leth-bhreac ionadail den leabhar-cunntais sgaoilte anns a h-uile Co-aoisean Dealasach. Bidh gealltanas co-aoisean a’ sgrùdadh a h-uile gnothach taobh a-staigh a’ bhloc airson dligheachd mus cuir thu bloc ùr gu h-ionadail.

Is e Poileasaidh Dearbhaidh am poileasaidh airson sgrùdadh a dhèanamh air èifeachd malairt. Tha na poileasaidhean sin a’ mìneachadh an t-seata nodan a tha a dhìth air am feumar an cùmhnant snasail a chur an gnìomh gus an tèid an gnothach aithneachadh mar dhligheach.

Tha an clàr sgaoilte - Lerger - air a dhèanamh suas de dhà phàirt: WolrldState (ris an canar cuideachd State DataBase) agus BlockChain.

Is e sreath de bhlocaichean a th’ ann am BlockChain a bhios a’ stòradh chlàran de gach atharrachadh a thachair air nithean clàraidh sgaoilte.

Is e pàirt leabhar-cunntais sgaoilte a th’ ann an WolrldState a bhios a’ stòradh luachan gnàthach (ùr-nodha) a h-uile nì leabhar-cunntais sgaoilte.

Is e stòr-dàta a th’ ann an WorldState, anns an dreach bunaiteach - LevelDB no fear nas iom-fhillte - CouchDB, anns a bheil paidhrichean prìomh luach, mar eisimpleir: Ciad ainm - Ivan, Ainm mu dheireadh - Ivanov, ceann-latha clàraidh san t-siostam - 12.12.21/17.12.1961/XNUMX , ceann-latha breith - XNUMX/XNUMX/XNUMX, msaa. Feumaidh WorldState agus an clàr sgaoilte a bhith cunbhalach am measg a h-uile com-pàirtiche ann an seanal sònraichte.

Leis gur e lìonra a th’ ann an Hyperledger Fabric anns a bheil fios agus dearbhadh air a h-uile com-pàirtiche, bidh e a’ cleachdadh ùghdarras teisteanais sònraichte - CA (Ùghdarras Teisteanas). Tha CA ag obrachadh stèidhichte air bun-structar àbhaisteach X.509 agus iuchair phoblach - PKI.

Is e seirbheis a th’ ann an Seirbheis Ballrachd tro bheil buill a’ dearbhadh gur ann le buidheann no seanail sònraichte a tha nì.

Gnìomh - sa mhòr-chuid de chùisean, a 'sgrìobhadh dàta ùr gu clàr sgaoilte.
Tha gnothaichean ann cuideachd airson seanalan no cùmhnantan snasail a chruthachadh. Tha an gnothach air a thòiseachadh leis an tagradh cleachdaiche agus a’ crìochnachadh le clàr anns an leabhar-cunntais sgaoilte.

Is e fo-lìonra dùinte a th’ ann an Sianal anns a bheil dithis no barrachd chom-pàirtichean lìonra blockchain, air an dealbhadh gus gnothaichean dìomhair a dhèanamh taobh a-staigh cearcall cuibhrichte ach aithnichte de chom-pàirtichean. Tha an sianal air a dhearbhadh leis na com-pàirtichean, an clàr sgaoilte aige, cùmhnantan snasail, Seirbheis Òrdachaidh, WorldState. Feumaidh cead a bhith aig gach com-pàirtiche seanail faighinn chun t-seanail agus còir a bhith aca diofar sheòrsaichean de ghnothaichean a dhèanamh. Thèid cead a thoirt seachad a’ cleachdadh an t-Seirbheis Ballrachd.

An suidheachadh àbhaisteach de ghnìomhachd malairt

An ath rud, bu mhath leam bruidhinn mu shuidheachadh àbhaisteach gnìomh malairt a’ cleachdadh ar pròiseact mar eisimpleir.

Mar phàirt den phròiseact taobh a-staigh againn, chruthaich sinn lìonra Hyperledger Fabric, a tha air a dhealbhadh gus oileanaich a tha a’ dol a-steach do dh’ oilthighean a chlàradh agus cunntas a thoirt orra. Tha an lìonra againn air a dhèanamh suas de dhà bhuidheann a bhuineas do Oilthigh A agus Oilthigh B. Tha tagradh teachdaiche anns gach buidheann, a bharrachd air an co-aoisean Dealasach is Taic aca fhèin. Bidh sinn cuideachd a’ cleachdadh Seirbheis Òrdachaidh nan seirbheisean cumanta, Seirbheis Ballrachd agus Ùghdarras Teisteanas.

1) Gnìomh a thòiseachadh

Bidh tagradh neach-cleachdaidh, a ’cleachdadh an Hyperledger Fabric SDK, a’ tòiseachadh iarrtas malairt agus a ’cur an iarrtas gu nodan le cùmhnantan snasail. Faodaidh an t-iarrtas a bhith atharrachadh no leughadh bho chlàr sgaoilte (Ledger). Ma bheachdaicheas sinn air eisimpleir de rèiteachadh an t-siostam deuchainn againn airson cunntasachd airson oileanaich oilthigh, bidh an tagradh teachdaiche a’ cur iarrtas malairt gu nodan oilthighean A agus B, a tha air an gabhail a-steach ann am poileasaidh taic a’ chùmhnant snasail ris an canar. Tha Node A na nód a tha suidhichte aig an oilthigh a bhios a’ clàradh an oileanach a tha a’ tighinn a-steach, agus tha nód B na nód a tha suidhichte aig oilthigh eile. Gus an tèid gnothach a shàbhaladh gu clàr sgaoilte, tha e riatanach gum feum a h-uile nod, a rèir loidsig gnìomhachais, aonta a thoirt don ghnothach, cùmhnantan snasail a chuir an gnìomh gu soirbheachail leis an aon toradh. An nód Bidh tagradh neach-cleachdaidh, a’ cleachdadh innealan Hyperledger Fabric SDK, a’ faighinn a’ phoileasaidh Dearbhaidh agus ag ionnsachadh dè na nodan airson iarrtas malairt a chuir thuige. Is e seo iarrtas airson cùmhnant snasail sònraichte (gnìomh còd slabhraidh) a chleachdadh gus dàta sònraichte a leughadh no a sgrìobhadh gu clàr sgaoilte. Gu teicnigeach, bidh an neach-dèiligidh SDK a ’cleachdadh a’ ghnìomh fhreagarrach, agus tha an API dheth air a dhol seachad air rud sònraichte le paramadairean malairt, agus cuideachd a ’cur ainm-sgrìobhte teachdaiche agus a’ cur an dàta seo tro bufair protocol thairis air gRPC gu na nodan iomchaidh (a ’toirt taic do cho-aoisean).

Stuth Hyperledger airson Dummies
Dealbh 2. Gnìomh a thòiseachadh

2) Cur an gnìomh cùmhnant smart

Nodes (A’ toirt taic do cho-aoisean), às deidh dhaibh iarrtas fhaighinn airson gnothach a dhèanamh, thoir sùil air ainm-sgrìobhte an neach-dèiligidh agus ma tha a h-uile càil ann an òrdugh, bheir iad rud leis an dàta iarrtas agus ruith iad atharrais air coileanadh cùmhnant snasail (gnìomh còd slabhraidh) le an dàta seo. Is e cùmhnant snasail loidsig gnìomhachais malairt, seata sònraichte de chumhachan agus stiùireadh (anns a ’chùis againn, is e seo dearbhadh oileanach, an e oileanach ùr a tha seo, no a bheil e clàraichte mu thràth, dearbhadh aois, msaa). Gus an cùmhnant snasail a chuir an gnìomh, bidh feum agad air dàta bho WorldState cuideachd. Mar thoradh air a bhith a’ dèanamh atharrais air cùmhnant snasail air an co-aoisean Endorsing, gheibhear dà sheata de dhàta - Leugh Set agus Sgrìobh Set. Is e Read Set and Write Set na luachan tùsail agus ùr WorldState. (ùr - anns an t-seadh a gheibhear nuair a thathar a’ dèanamh atharrais air cùmhnant snasail).

Stuth Hyperledger airson Dummies
Dealbh 3. Cur gu bàs cùmhnant smart

3) A 'tilleadh dàta gu tagradh an neach-cleachdaidh

Às deidh dhaibh atharrais a dhèanamh den chùmhnant snasail, bidh Endorsing Peers a’ tilleadh an dàta tùsail agus toradh an atharrais, a bharrachd air an RW Set, air a shoidhnigeadh leis an teisteanas aca gu tagradh an neach-dèiligidh. Aig an ìre seo, chan eil atharrachaidhean sam bith anns a’ chlàr sgaoilte. Bidh an tagradh teachdaiche a’ sgrùdadh ainm-sgrìobhte an neach a tha a’ toirt taic do cho-aoisean, agus cuideachd a’ dèanamh coimeas eadar an dàta malairt tùsail a chaidh a chuir a-steach agus an dàta a chaidh a thilleadh (is e sin, bidh e a’ sgrùdadh a bheil an dàta tùsail air an deach an gnothach a shamhlachadh air a shaobhadh). Mura robh an gnothach ach airson dàta bhon chlàr a leughadh, bidh an tagradh teachdaiche a rèir sin a’ faighinn an Read Set riatanach agus mar as trice bidh seo a’ crìochnachadh a’ ghnothaich gu soirbheachail gun a bhith ag atharrachadh a’ chlàr sgaoilte. Ann an cùis malairt a dh’ fheumas dàta atharrachadh sa chlàr, bidh an tagradh teachdaiche cuideachd a’ sgrùdadh buileachadh a’ phoileasaidh taic. Tha e comasach nach dèan tagradh teachdaiche sùil air toradh coileanadh a’ Phoileasaidh Dearbhaidh, ach tha an àrd-ùrlar Hyperledger Fabric sa chùis seo a’ solarachadh airson sgrùdadh a dhèanamh air poileasaidhean air nodan (Gealltanas Co-aoisean) aig an ìre de bhith a’ cur gnothach ris a’ chlàr.

Stuth Hyperledger airson Dummies
Dealbh 4. A 'tilleadh dàta gu tagradh an neach-dèiligidh

4) A 'cur sheataichean RW gu Co-aoisean Òrdachaidh

Bidh an tagradh teachdaiche a’ cur a’ ghnothaich còmhla ris an dàta na chois chun t-seirbheis Òrdachaidh. Tha seo a’ toirt a-steach an RW Set, a’ cur taic ri ainmean-sgrìobhte co-aoisean, agus ID an t-Sianail.

Seirbheis òrdachaidh - stèidhichte air an ainm, is e prìomh obair na seirbheis seo gnothaichean a thig a-steach a chuir air dòigh san òrdugh cheart. A bharrachd air a bhith a’ cruthachadh bloc ùr den chlàr sgaoilte agus lìbhrigeadh cinnteach de bhlocaichean gineadh ùra gu na nodan gealltanas gu lèir, mar sin a’ dèanamh cinnteach à cunbhalachd dàta air a h-uile nod anns a bheil an clàr sgaoilte (Co-aoisean gealltanas). Aig an aon àm, chan eil an t-seirbheis Òrdachaidh fhèin ag atharrachadh a’ chlàr ann an dòigh sam bith. Tha Seirbheis Òrdachaidh na phàirt deatamach den t-siostam, agus mar sin tha e na chruinneachadh de ghrunn nodan. Cha bhith an t-Seirbheis Òrdachaidh a’ sgrùdadh a’ ghnothaich airson dligheachd, tha e dìreach a’ gabhail ri gnothach le aithnichear seanail sònraichte, a’ rèiteachadh ghnothaichean a thig a-steach ann an òrdugh sònraichte agus a’ cruthachadh bhlocaichean ùra den chlàr sgaoilte bhuapa. Faodaidh aon Sheirbheis Òrdachaidh grunn shianalan a fhrithealadh aig an aon àm. Tha an t-Seirbheis Òrdachaidh a’ toirt a-steach cruinneachadh Kafka, a chumas an ciudha malairt ceart (sì-ruigsinneach) (faic Puing 7).

Stuth Hyperledger airson Dummies
Dealbh 5. A 'cur sheataichean RW gu Co-aoisean Òrdachaidh

5) A’ cur bhlocaichean gineadh gu Comitting Peer

Bithear a’ cur blocaichean a thèid a chruthachadh san t-Seirbheis Òrdachaidh (craoladh) gu gach nod lìonra. Bidh gach nód, an dèidh bloc ùr fhaighinn, ga sgrùdadh airson gèilleadh ris a’ Phoileasaidh Dearbhaidh, a’ dèanamh cinnteach gun d’ fhuair a h-uile co-aoisean taiceil an aon toradh (Set sgrìobhaidh) mar thoradh air an atharrais cùmhnant snasail, agus cuideachd a’ sgrùdadh a bheil na luachan tùsail air. air atharrachadh (is e sin Read Set - dàta air a leughadh leis a’ chùmhnant snasail bho WorldState) bhon mhionaid a chaidh an gnothach a thòiseachadh. Ma thèid a h-uile suidheachadh a choileanadh, tha an gnothach air a chomharrachadh mar dhligheach, air neo, gheibh an gnothach an inbhe neo-dhligheach.

Stuth Hyperledger airson Dummies
Dealbh 6. A 'cur bhlocaichean a chaidh a ghineadh gu Comitting Peer

6) A 'cur bloc ris a' chlàr

Bidh gach nód a’ cur malairt ris an leth-bhreac ionadail aige den chlàr sgaoilte, agus ma tha an gnothach dligheach, thèid an Set Set a chuir an sàs anns an WorldState (staid làithreach), agus a rèir sin, luachan ùra nan nithean air an tug an tha malairt sgrìobhte. Ma fhuair malairt comharra nach eil dligheach (mar eisimpleir, thachair dà ghnothach leis na h-aon nithean taobh a-staigh an aon bhloca, tionndaidhidh aon de na gnothaichean gu bhith neo-dhligheach, leis gu bheil na luachan tùsail air an atharrachadh le fear eile mu thràth. malairt). Tha an gnothach seo cuideachd air a chur ris an leabhar-cunntais sgaoilte le comharra neo-dhligheach, ach chan eil an Sgrìobh Set den ghnothach seo air a chuir an sàs anns an WorldState gnàthach agus, mar sin, chan eil e ag atharrachadh na nithean a tha a’ gabhail pàirt sa ghnothach. Às deidh seo, thèid fios a chuir chun tagradh neach-cleachdaidh gu bheil an gnothach air a chuir gu maireannach ris a ’chlàr sgaoilte, a bharrachd air inbhe a’ ghnothaich, is e sin, a bheil e dligheach no nach eil ...

Stuth Hyperledger airson Dummies
Dealbh 7. A 'cur bloc ris a' chlàr

SEIRBHEIS ORDUGH

Tha an t-Seirbheis Òrdachaidh air a dhèanamh suas de bhuidheann Kafka le nodan ZooKeeper co-fhreagarrach agus Nodes Seirbheis Òrdachaidh (OSN), a tha a’ seasamh eadar teachdaichean seirbheis Òrdachaidh agus Buidheann Kafka. Tha cruinneachadh Kafka na àrd-ùrlar riaghlaidh sruth sgaoilte, fulangach (teachdaireachd). Tha gach seanal (cuspair) ann an Kafka na shreath de chlàran nach gabh atharrachadh a bheir taic do bhith a’ cur clàr ùr a-steach (chan eil e comasach cuir às do chlàr a tha ann mar-thà). Tha dealbh de structar a’ chuspair ri fhaicinn gu h-ìosal. Is e an togalach seo de Kafka a thathas a’ cleachdadh gus àrd-ùrlar blockchain a thogail.

Stuth Hyperledger airson Dummies
air a thoirt bho kafka.apache.org

  • Dealbh 8. Structar Cuspair Seirbheis Òrdachaidh*

Ceanglaichean feumail

Youtube - A’ togail blockchain airson gnìomhachas leis a’ Phròiseact Hyperledger
Docs Stuth Hyperledger
Stuth Hyperledger: siostam obrachaidh sgaoilte airson blockchains ceadaichte

Buidheachas

Bu mhath leam mo thaing mhòr a thoirt do mo cho-obraichean airson an cuideachadh ann a bhith ag ullachadh an artaigil seo:
Nikolay Marin
Igor Khapov
Dmitry Gorbachev
Alasdair Zemtsov
Ekaterina Guseva

Source: www.habr.com

Cuir beachd ann