Ka lole Hyperledger no nā Dummies

ʻO kahi papahana Blockchain no ka ʻoihana

Ka lole Hyperledger no nā Dummies

Aloha ahiahi, e nā mea heluhelu aloha, ʻo Nikolay Nefedov koʻu inoa, he loea loea wau ma IBM, ma kēia ʻatikala makemake wau e hoʻolauna iā ʻoe i ka platform blockchain - Hyperledger Fabric. Hoʻolālā ʻia ka paepae no ke kūkulu ʻana i nā noi ʻoihana ʻoihana. ʻO ka pae o ka ʻatikala no ka poʻe heluhelu mākaukau ʻole me ka ʻike kumu o nā ʻenehana IT.

ʻO Hyperledger Fabric kahi papahana open-source, kekahi o nā lālā o ka open source Hyperledger project, kahi consortium o ka Linux Foundation. Ua hoʻomaka mua ʻia ka Hyperledger Fabric e Digital Assets a me IBM. ʻO ka hiʻohiʻona nui o ka Hyperledger Fabric platform ʻo ia ka nānā ʻana i ka hoʻohana ʻoihana. No laila, ua hoʻomohala ʻia ka paepae me ka noʻonoʻo ʻana i ka wikiwiki kiʻekiʻe o nā kālepa a me kā lākou kumukūʻai haʻahaʻa, a me ka ʻike ʻana o nā mea komo a pau. Loaʻa kēia mau pōmaikaʻi ma o ka hoʻokaʻawale ʻana i ka lawelawe hōʻoia kālepa a me ka hoʻokumu ʻana i nā poloka hou o ka papa inoa i hoʻolaha ʻia, a me ka hoʻohana ʻana i kahi kikowaena hōʻoia a me ka ʻae ʻana o nā mea komo.

ʻO kaʻu ʻatikala he ʻāpana ia o nā ʻatikala e pili ana i ka Hyperledger Fabric, kahi e wehewehe ai mākou i kahi papahana ʻōnaehana no ka hoʻopaʻa ʻana i nā haumāna e komo ana i ke kulanui.

Hoʻolālā nui o Hyperledger Fabric

ʻO ka Hyperledger Fabric kahi pūnaewele blockchain i māhele ʻia me nā ʻāpana hana like ʻole i kau ʻia ma nā nodes pūnaewele. ʻO nā ʻāpana Hyperledger Fabric nā pahu Docker hiki ke hoʻoiho manuahi mai DockerHub. Hiki ke holo ʻia ka Hyperledger Fabric ma kahi kaiapuni Kubernetes.

No ke kākau ʻana i nā ʻaelike akamai (chaincode i ka pōʻaiapili o Hyperledger Fabric), ua hoʻohana mākou iā Golang (ʻoiai ʻo Hyperledger Fabric e ʻae i ka hoʻohana ʻana i nā ʻōlelo ʻē aʻe). No ka hoʻomohala ʻana i kahi noi maʻamau, i kā mākou hihia, ua hoʻohana mākou iā Node.js me ka Hyperledger Fabric SDK.

Hoʻokō nā nodes i ka loiloi pāʻoihana (smart contract) - chaincode, mālama i ka mokuʻāina o ka papa inoa i hāʻawi ʻia (ledger data) a hoʻokō i nā lawelawe ʻōnaehana ʻē aʻe o ka paepae. ʻO kahi node he ʻāpana logical wale nō; hiki ke loaʻa nā ʻokoʻa ʻokoʻa ma ke kikowaena kino like. ʻOi aku ka nui o ke ʻano o ka hui ʻana o nā nodes (Trusted domain) a me nā hana o ka pūnaewele blockchain e pili pū ai lākou.

ʻO ke ʻano o ka hale hana maʻamau e like me kēia:

Ka lole Hyperledger no nā Dummies

Kiʻi 1. Hoʻolālā Nui o Hyperledger Fabric

ʻO ka mea hoʻohana (Submitting Client) kahi noi e hana ai nā mea hoʻohana me ka pūnaewele blockchain. No ka hana, pono ʻoe e ʻae ʻia a loaʻa iā ʻoe nā kuleana kūpono no nā ʻano hana like ʻole ma ka pūnaewele.

Hele mai nā hoa ma kekahi mau hana:

  • ʻO ke kākoʻo ʻana i ka Peer kahi node e hoʻohālikelike ana i ka hoʻokō ʻana o kahi kālepa (hoʻokō i ke code aelike akamai). Ma hope o ka hōʻoia ʻana a me ka hoʻokō ʻana i ka ʻaelike akamai, hoʻihoʻi ka node i nā hopena hoʻokō i ka noi mea kūʻai aku me kāna pūlima.
  • ʻO ka Ordering Service kahi lawelawe i hoʻokaʻawale ʻia ma kekahi mau nodes, i hoʻohana ʻia e hana i nā poloka hou o ka papa inoa i hāʻawi ʻia a hana i kahi laina no ka hoʻokō ʻana i nā hana. ʻAʻole hoʻohui ʻia ka lawelawe kauoha i nā poloka hou i ke kākau inoa (Ua hoʻoneʻe ʻia kēia hiʻohiʻona i ka Committing Peers e hoʻomaikaʻi i ka hana).
  • ʻO ka hoʻopaʻa ʻana i ka Peer kahi node i loaʻa kahi papa inoa i hoʻokaʻawale ʻia a hoʻohui i nā poloka hou i ke kākau inoa (i hana ʻia e ka Ordering Service). Loaʻa i nā hoa hana a pau kahi kope kūloko o ka waihona i puʻunaue ʻia. ʻO ka hoʻokō ʻana i nā hoa e nānā i nā hana āpau i loko o ka poloka no ka pono ma mua o ka hoʻohui ʻana i kahi poloka hou ma ka ʻāina.

ʻO ke kulekele kākoʻo ke kulekele no ka nānā ʻana i ka pono o kahi kālepa. Hōʻike kēia mau kulekele i ka hoʻonohonoho pono o nā nodes kahi e hoʻokō ʻia ai ka ʻaelike akamai i mea e ʻike ʻia ai ke kālepa ʻana he kūpono.

ʻO ka papa inoa i hoʻokaʻawale ʻia - Lerger - he ʻelua ʻāpana: WolrldState (i kapa ʻia ʻo State DataBase) a me BlockChain.

ʻO BlockChain kahi kaulahao o nā poloka e mālama ai i nā moʻolelo o nā hoʻololi āpau i hana ʻia i nā mea hoʻopaʻa inoa.

ʻO WolrldState kahi ʻāpana ledger i hoʻokaʻawale ʻia e mālama i nā waiwai o kēia manawa (ʻoki ʻoki) o nā mea ledger i hoʻoili ʻia.

ʻO ka WorldState kahi waihona, ma ka mana kumu - LevelDB a i ʻole kahi mea paʻakikī - CouchDB, aia nā kī-waiwai pai, no ka laʻana: inoa mua - Ivan, inoa hope - Ivanov, lā hoʻopaʻa inoa ma ka ʻōnaehana - 12.12.21/17.12.1961/XNUMX , lā hānau - XNUMX/XNUMX/XNUMX, etc. Pono ka WorldState a me ka papa inoa i hoʻokaʻawale ʻia ma waena o nā poʻe a pau i komo i kahi ala i hāʻawi ʻia.

No ka mea he pūnaewele ʻo Hyperledger Fabric kahi i ʻike ʻia a hōʻoia ʻia nā mea komo a pau, hoʻohana ia i kahi mana hōʻoia hoʻolaʻa - CA (Certification Authority). Hana ʻia ʻo CA ma muli o ka X.509 maʻamau a me nā ʻōnaehana kī lehulehu - PKI.

ʻO ka lawelawe lālā he lawelawe kahi e hōʻoia ai nā lālā no kahi hui a i ʻole kaila.

ʻO kahi kālepa - ma ka hapanui o nā hihia, ke kākau nei i nā ʻikepili hou i kahi papa inoa hoʻolaha.
Aia kekahi mau kālepa no ka hana ʻana i nā alahele a i ʻole nā ​​​​ʻaelike akamai. Hoʻomaka ʻia ke kālepa e ka mea hoʻohana a hoʻopau me kahi moʻolelo i loko o ka waihona i puʻunaue ʻia.

ʻO kahi Kanal kahi subnetwork i pani ʻia me ʻelua a ʻoi aʻe paha i hui pū me ka pūnaewele blockchain, i hoʻolālā ʻia e hana i nā hana huna i loko o kahi pōʻai palena akā ʻike ʻia o nā mea komo. Hoʻoholo ʻia ke kahawai e ka poʻe i komo, kāna papa inoa i hāʻawi ʻia, nā ʻaelike akamai, Ordering Service, WorldState. Pono e ʻae ʻia kēlā me kēia mea e komo ai i ke kahawai a loaʻa iā ia ke kuleana e hana i nā ʻano hana like ʻole. Hana ʻia ka ʻae ʻana me ka hoʻohana ʻana i ka lawelawe lālā.

ʻO ke ʻano hana hoʻokō maʻamau

Ma hope aʻe, makemake wau e kamaʻilio e pili ana i kahi ʻano hana hoʻokō maʻamau e hoʻohana ana i kā mākou papahana ma ke ʻano he laʻana.

Ma ke ʻano o kā mākou papahana kūloko, ua hana mākou i ka pūnaewele Hyperledger Fabric, i hoʻolālā ʻia e hoʻopaʻa inoa a helu no nā haumāna e komo ana i nā kulanui. Loaʻa i kā mākou pūnaewele nā ​​hui ʻelua o ke Kulanui A a me ke Kulanui B. Aia i kēlā me kēia hui kahi noi mea kūʻai aku, a me kāna ʻoihana ponoʻī a me ke kākoʻo ʻana. Hoʻohana pū mākou i nā lawelawe maʻamau Ordering Service, Membership Service and Certification Authority.

1) Hoʻomaka i ka hana

ʻO kahi noi mea hoʻohana, me ka Hyperledger Fabric SDK, hoʻomaka i kahi noi kālepa a hoʻouna i ka noi i nā nodes me nā ʻaelike akamai. Hiki ke noi e hoʻololi a heluhelu paha mai kahi papa inoa i hoʻolaha ʻia (Ledger). Inā mākou e noʻonoʻo i kahi laʻana o kā mākou hoʻonohonoho ʻōnaehana hoʻāʻo no ka helu ʻana i nā haumāna kulanui, hoʻouna ka mea kūʻai aku i kahi noi kālepa i nā nodes o nā kulanui A a me B, i hoʻokomo ʻia i loko o ke kulekele Endorsement o ka ʻaelike akamai. ʻO ka Node A he node aia ma ke kulanui e hoʻopaʻa inoa ana i ka haumāna e komo mai ana, a ʻo ka node B he node i loaʻa ma kekahi kulanui ʻē aʻe. I mea e mālama ʻia ai kahi kālepa i kahi papa inoa i hoʻokaʻawale ʻia, pono nā nodes a pau, e like me ka loiloi ʻoihana, pono e ʻae i ke kālepa, e hoʻokō pono i nā ʻaelike akamai me ka hopena like. ʻO ka node ʻO kahi noi mea hoʻohana, me ka hoʻohana ʻana i nā hāmeʻa Hyperledger Fabric SDK, loaʻa ke kulekele Endorsement a aʻo i nā node e hoʻouna ai i kahi noi kālepa. He noi kēia e kāhea i kahi ʻaelike akamai kūikawā (chaincode function) e heluhelu a kākau paha i kekahi mau ʻikepili i kahi papa inoa hoʻolaha. Ma keʻano loea, hoʻohana ka SDK mea kūʻai aku i ka hana pili, ka API o ia mea i hāʻawi ʻia i kekahi mea me nā ʻāpana kālepa, a hoʻohui pū i kahi pūlima mea kūʻai aku a hoʻouna i kēia ʻikepili ma o ka protocol buffer ma luna o ka gRPC i nā node kūpono (e kākoʻo ana i nā hoa).

Ka lole Hyperledger no nā Dummies
Kiʻi 2. Hoʻomaka i kahi hana

2) Hoʻokō i ka ʻaelike akamai

Nodes (Endorsing Peers), i ka loaʻa ʻana o kahi noi e hana i kahi kālepa, e nānā i ka inoa o ka mea kūʻai aku a inā pololei nā mea a pau, lawe lākou i kahi mea me ka ʻikepili noi a holo i kahi simulation o ka hoʻokō ʻana i kahi ʻaelike akamai (chaincode function) me keia ikepili. ʻO kahi ʻaelike akamai ka loiloi ʻoihana o kahi kālepa, kahi ʻano o nā kūlana a me nā ʻōlelo aʻo (i kā mākou hihia, ʻo kēia ka hōʻoia o kahi haumāna, he haumāna hou kēia, a i ʻole ua hoʻopaʻa inoa ʻia ʻo ia, hōʻoia makahiki, etc.). No ka hoʻokō ʻana i ka ʻaelike akamai, pono ʻoe i ka ʻikepili mai WorldState. Ma muli o ka hoʻohālikelike ʻana i kahi ʻaelike akamai ma ka hoa Endorsing, loaʻa ʻelua pūʻulu ʻikepili - Heluhelu Set a kākau Set. Heluhelu Set a kākau Set nā kumu kumu a me ka hou WorldState waiwai. (hou - ma ke ʻano i loaʻa i ka wā o ka simulation o kahi ʻaelike akamai).

Ka lole Hyperledger no nā Dummies
Kiʻi 3. Ka hoʻokō ʻana i kahi ʻaelike akamai

3) Hoʻihoʻi i ka ʻikepili i ka noi mea kūʻai aku

Ma hope o ka hana ʻana i kahi simulation o ka ʻaelike akamai, hoʻihoʻi ʻo Endorsing Peers i ka ʻikepili kumu a me ka hopena o ka simulation, a me ka RW Set, i pūlima ʻia e kā lākou palapala hōʻoia i ka noi o ka mea kūʻai aku. I kēia pae, ʻaʻohe loli i ka papa inoa i puʻunaue ʻia. Nānā ka mea kūʻai aku i ka hōʻailona hōʻoia ʻana i nā hoa, a hoʻohālikelike pū i ka ʻikepili kūʻai kumu i hoʻouna ʻia a me ka ʻikepili i hoʻihoʻi ʻia (ʻo ia hoʻi, e nānā inā ua hoʻololi ʻia ka ʻikepili kumu i hoʻohālikelike ʻia). Inā no ka heluhelu ʻana i ka ʻikepili mai ke kākau inoa wale nō ka hana, a laila e loaʻa i ka mea kūʻai aku ka mea kūʻai aku i ka Read Set e pono ai a hoʻopau maikaʻi kēia i ke kālepa me ka ʻole o ka hoʻololi ʻana i ka papa inoa i hāʻawi ʻia. I ka hihia o kahi kālepa e pono e hoʻololi i ka ʻikepili i loko o ke kākau inoa, e nānā hou ka mea kūʻai aku i ka hoʻokō ʻana i ke kulekele Hoʻopaʻa. ʻAʻole hiki i kahi noi mea kūʻai ke nānā i ka hopena o ka hoʻokō ʻana i ke Kulekele Endorsement, akā ʻo ka Hyperledger Fabric platform i kēia hihia e hāʻawi i ka nānā ʻana i nā kulekele ma nā nodes (Committing Peers) ma ke kahua o ka hoʻohui ʻana i kahi kālepa i ke kākau inoa.

Ka lole Hyperledger no nā Dummies
Kiʻi 4. E hoʻihoʻi ana i ka ʻikepili i ka noi mea kūʻai aku

4) Ka hoʻouna ʻana i nā pūʻulu RW i ke kauoha ʻana i nā hoa

Hoʻouna ka noi mea kūʻai aku i ke kālepa me ka ʻikepili pili i ka lawelawe Kauoha. Loaʻa kēia i ka RW Set, Hoʻopaʻa i nā pūlima hoa, a me ka ID Channel.

ʻO ka lawelawe kauoha - e pili ana i ka inoa, ʻo ka hana nui o kēia lawelawe ʻo ia ka hoʻonohonoho ʻana i nā hana komo i ka hoʻonohonoho pololei. E like me ka hoʻokumu ʻana i kahi poloka hou o ka papa inoa i hāʻawi ʻia a hōʻoiaʻiʻo ʻia i ka hāʻawi ʻana i nā poloka i hana ʻia i nā nodes Commiting a pau, pēlā e hōʻoia ai i ka kūlike o ka ʻikepili ma nā nodes āpau i loaʻa ka papa inoa i hoʻolaha ʻia (Committing peers). I ka manawa like, ʻaʻole hoʻololi ka lawelawe kauoha iā ia iho i ke kākau inoa ma kekahi ʻano. He ʻāpana koʻikoʻi o ka ʻōnaehana kauoha ʻoihana, no laila he pūʻulu o nā nodes. ʻAʻole nānā ka Ordering Service i ke kālepa no ka pono, e ʻae wale ia i kahi kālepa me kahi ʻike channel, hoʻonohonoho i nā hana komo i loko o kahi kauoha a hana i nā poloka hou o ka hoʻopaʻa inoa i hoʻokaʻawale ʻia mai iā lākou. Hiki i kekahi lawelawe kauoha ke lawelawe i kekahi mau ala i ka manawa like. Aia i loko o ka lawelawe kauoha kahi pūʻulu Kafka, nāna e mālama i ka laina kūʻai pololei (hiki ʻole) (e nānā i ka Point 7).

Ka lole Hyperledger no nā Dummies
Kiʻi 5. Ka hoʻouna ʻana i nā pūʻulu RW i ke kauoha ʻana i nā hoa

5) Ka hoʻouna ʻana i nā poloka i hana ʻia i ka Committing Peer

Hoʻouna ʻia nā poloka i hana ʻia ma ka lawelawe kauoha (hoʻolaha) i nā node pūnaewele āpau. ʻO kēlā me kēia node, i loaʻa i kahi poloka hou, nānā iā ia no ka hoʻokō ʻana i ke Kumukānāwai Hoʻopaʻa, nānā i loaʻa nā hopena like ʻole (Kākau Set) ma muli o ka simulation ʻaelike akamai, a nānā pū inā loaʻa nā waiwai kumu. hoʻololi (ʻo ia hoʻi, Heluhelu Set - ʻikepili i heluhelu ʻia e ka ʻaelike akamai mai WorldState) mai ka manawa i hoʻomaka ʻia ai ke kālepa. Inā hoʻokōʻia nā kūlana a pau, ua hōʻailonaʻia ke kālepa e like me ka pololei, ināʻaʻole, loaʻa i ke kālepa ke kūlana kūponoʻole.

Ka lole Hyperledger no nā Dummies
Kiʻi 6. Ka hoʻouna ʻana i nā poloka i hana ʻia i ka Committing Peer

6) Hoʻohui i kahi poloka i ka papa inoa

Hoʻohui kēlā me kēia node i kahi kālepa i kāna kope kūloko o ka papa inoa i hoʻokaʻawale ʻia, a inā pololei ke kālepa, a laila ua hoʻopili ʻia ka Set Set i ka WorldState (kūlana o kēia manawa), a no laila, nā waiwai hou o nā mea i hoʻopilikia ʻia e ka kākau ʻia ke kālepa. Inā loaʻa i kahi kālepa kahi hōʻailona kūpono ʻole (no ka laʻana, ʻelua mau hana i hana ʻia me nā mea like i loko o ka poloka hoʻokahi, a laila e lilo kekahi o nā hana i mea ʻole, no ka mea, ua hoʻololi ʻia nā waiwai kumu e kekahi. kālepa). Hoʻohui pū ʻia kēia kālepa i ka papa kuhikuhi i hāʻawi ʻia me kahi hōʻailona kūpono ʻole, akā ʻaʻole i hoʻopili ʻia ka Set Set o kēia kālepa i ka WorldState o kēia manawa a, no laila, ʻaʻole ia e hoʻololi i nā mea i komo i ke kālepa. Ma hope o kēia, hoʻouna ʻia kahi leka hoʻomaopopo i ka noi mea hoʻohana ua hoʻohui mau ʻia ke kālepa i ka papa inoa i hāʻawi ʻia, a me ke kūlana o ke kālepa, ʻo ia hoʻi, inā he kūpono a ʻaʻole paha ...

Ka lole Hyperledger no nā Dummies
Kiʻi 7. Hoʻohui i kahi poloka i ke kākau inoa

KA HANA KAUOHA

Aia i loko o ka Ordering Service kahi pūʻulu Kafka me nā node ZooKeeper pili a me Ordering Service Nodes (OSN), e kū nei ma waena o nā mea kūʻai lawelawe Ordering a me ka Cluster Kafka. ʻO ka pūʻulu ʻo Kafka kahi kahua hoʻokele hoʻokele hoʻokele hewa. ʻO kēlā me kēia kahawai (kumuhana) ma Kafka he ʻano moʻolelo hiki ʻole ke kākoʻo i ka hoʻohui ʻana i kahi moʻolelo hou (ʻaʻole hiki ke holoi i kahi moʻolelo). Hōʻike ʻia kahi kiʻi o ke ʻano kumuhana ma lalo nei. ʻO kēia waiwai o Kafka i hoʻohana ʻia e kūkulu i kahi kahua blockchain.

Ka lole Hyperledger no nā Dummies
lawe ʻia mai kafka.apache.org

  • Kiʻi 8. Hoʻonohonoho kumuhana lawelawe lawelawe *

Nā loulou pono

Youtube - Ke kūkulu nei i kahi blockchain no ka ʻoihana me ka Hyperledger Project
Nā Palapala lole Hyperledger
ʻO ka lole Hyperledger: kahi ʻōnaehana hana i hāʻawi ʻia no nā blockchain i ʻae ʻia

Mahalo

Makemake au e hōʻike i koʻu mahalo nui i koʻu mau hoa no kā lākou kōkua ʻana i ka hoʻomākaukau ʻana i kēia ʻatikala:
Nikolay Marin
Igor Khapov
ʻO Dmitry Gorbachev
Alexander Zemtsov
Ekaterina Guseva

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka