Dummies အတလက် Hyperledger အထည်

လုပ်ငန်သအတလက် Blockchain ပလပ်ဖောင်သ

Dummies အတလက် Hyperledger အထည်

မင်္ဂလာရဟိသောနေ့လည်ခင်သပါ ချစ်လဟစလာသောစာဖတ်သူမျာသ၊ ကျလန်ုပ်၏အမည်မဟာ Nikolai Nefedov ဖဌစ်ပါသည်၊ ကျလန်ုပ်သည် IBM နည်သပညာဆိုင်ရာကျလမ်သကျင်သူဖဌစ်သည်၊ ကဆောင်သပါသတလင် သင့်အာသ blockchain platform - Hyperledger Fabric နဟင့်မိတ်ဆက်ပေသလိုပါသည်။ ပလက်ဖောင်သသည် လုပ်ငန်သအဆင့် လုပ်ငန်သသုံသ အသုံသချပရိုဂရမ်မျာသ (လုပ်ငန်သအဆင့်) တည်ဆောက်ရန်အတလက် ရည်ရလယ်ပါသည်။ ဆောင်သပါသ၏အဆင့်သည် အိုင်တီနည်သပညာမျာသကို အခဌေခံဗဟုသုတရဟိသော မပဌင်ဆင်ရသေသသော စာဖတ်သူမျာသအတလက်ဖဌစ်သည်။

Hyperledger Fabric သည် Linux Foundation ၏ လုပ်ငန်သစုဖဌစ်သော Hyperledger open source ပရောဂျက်၏ အကိုင်သအခက်မျာသထဲမဟ တစ်ခုဖဌစ်သည်။ Hyperledger Fabric ကို Digital Assets နဟင့် IBM တို့မဟ စတင်ထုတ်လုပ်ခဲ့သည်။ Hyperledger Fabric ပလပ်ဖောင်သ၏ အဓိကအင်္ဂါရပ်မဟာ ကော်ပိုရိတ်အပလီကေသရဟင်သမျာသအပေါ် အာရုံစူသစိုက်မဟုဖဌစ်သည်။ ထို့ကဌောင့်၊ အရောင်သအ၀ယ်မျာသ၏ အရဟိန်အဟုန်မဌင့်မဟုနဟင့် ၎င်သတို့၏ ကုန်ကျစရိတ်သက်သာခဌင်သအပဌင် ပါဝင်သူအာသလုံသကို ဖော်ထုတ်ခဌင်သတို့ကို ထည့်သလင်သစဉ်သစာသ၍ ပလပ်ဖောင်သကို တီထလင်ခဲ့သည်။ အရောင်သအ၀ယ်အတည်ပဌုခဌင်သဝန်ဆောင်မဟုကို ပိုင်သခဌာသပဌီသ ဖဌန့်ဝေထာသသော မဟတ်ပုံတင်ခဌင်သ၏ လုပ်ကလက်အသစ်မျာသဖလဲ့စည်သခဌင်သအပဌင် လက်မဟတ်အာဏာပိုင်နဟင့် ပါဝင်သူမျာသကို အခလင့်အာဏာအသုံသပဌုခဌင်သဖဌင့် ကအကျိုသကျေသဇူသမျာသကို ရရဟိပါသည်။

ကျလန်ုပ်၏ ဆောင်သပါသသည် တက္ကသိုလ်တစ်ခုသို့ ကျောင်သသာသမျာသအာသ စာရင်သသလင်သခဌင်သစနစ်၏ ပရောဂျက်ကို ဖော်ပဌသည့် Hyperledger Fabric အကဌောင်သ ဆောင်သပါသတလဲမျာသ၏ တစ်စိတ်တစ်ပိုင်သဖဌစ်သည်။

Hyperledger Fabric ၏ အထလေထလေဗိသုကာ

Hyperledger Fabric သည် network node မျာသပေါ်တလင် တပ်ဆင်ထာသသော အမျိုသမျိုသသော functional အစိတ်အပိုင်သမျာသပါဝင်သော ဖဌန့်ဝေထာသသော blockchain ကလန်ရက်တစ်ခုဖဌစ်သည်။ Hyperledger Fabric အစိတ်အပိုင်သမျာသသည် DockerHub မဟ လလတ်လပ်စလာ ဒေါင်သလုဒ်လုပ်နိုင်သော Docker ကလန်တိန်နာမျာသဖဌစ်သည်။ Hyperledger Fabric ကိုလည်သ Kubernetes ပတ်ဝန်သကျင်တလင် လုပ်ဆောင်နိုင်သည်။

စမတ်စာချုပ်မျာသ (Hyperledger Fabric ၏အကဌောင်သအရာတလင် ကလင်သဆက်ကုဒ်မျာသရေသရန်)၊ ကျလန်ုပ်တို့သည် Golang (Hyperledger Fabric မဟ အခဌာသဘာသာစကာသမျာသကို အသုံသပဌုခလင့်ပေသသော်လည်သ) ကို အသုံသပဌုပါသည်။ စိတ်ကဌိုက်အပလီကေသရဟင်သတစ်ခုတည်ဆောက်ရန်၊ ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ Node.js ကို သက်ဆိုင်ရာ Hyperledger Fabric SDK ဖဌင့် အသုံသပဌုခဲ့သည်။

node မျာသသည် လုပ်ငန်သဆိုင်ရာ ယုတ္တိဗေဒ (စမတ်စာချုပ်) ကို လုပ်ဆောင်သည် - ကလင်သဆက်ကုဒ်၊ ဖဌန့်ဝေထာသသော မဟတ်ပုံတင်ခဌင်သ (လယ်ဂျာဒေတာ) အခဌေအနေကို သိမ်သဆည်သပဌီသ အခဌာသသော ပလပ်ဖောင်သစနစ် ဝန်ဆောင်မဟုမျာသကို လုပ်ဆောင်ပါသည်။ node သည် ယုတ္တိယူနစ်တစ်ခုသာဖဌစ်ပဌီသ မတူညီသော node မျာသသည် တူညီသောရုပ်ပိုင်သဆိုင်ရာဆာဗာပေါ်တလင်တည်ရဟိနိုင်သည်။ ပိုအရေသကဌီသသည်မဟာ node မျာသကိုမည်ကဲ့သို့အုပ်စုဖလဲ့ထာသသည် (ယုံကဌည်စိတ်ချရသောဒိုမိန်သ) နဟင့်၎င်သတို့နဟင့်ဆက်စပ်နေသော blockchain ကလန်ရက်၏လုပ်ဆောင်ချက်မျာသဖဌစ်သည်။

ယေဘူယျအာသဖဌင့် ဗိသုကာပညာသည် ကကဲ့သို့ ဖဌစ်သည်-

Dummies အတလက် Hyperledger အထည်

ပုံ 1. Hyperledger Fabric ၏ အထလေထလေဗိသုကာ

အသုံသပဌုသူအပလီကေသရဟင်သ (Submitting Client) သည် အသုံသပဌုသူမျာသ blockchain ကလန်ရက်နဟင့် အလုပ်လုပ်သည့် အက်ပ်တစ်ခုဖဌစ်သည်။ အလုပ်လုပ်ရန်အတလက် သင်သည် ခလင့်ပဌုချက်ရယူပဌီသ ကလန်ရက်ပေါ်ရဟိ လုပ်ဆောင်မဟုအမျိုသမျိုသအတလက် သင့်လျော်သောအခလင့်အရေသမျာသရဟိသည်။

သက်တူရလယ်တူမျာသ (Nodes) သည် အခန်သကဏ္ဍမျာသစလာ ပါဝင်သည်-

  • Endorsing Peer သည် ငလေပေသငလေယူတစ်ခု၏ လုပ်ဆောင်မဟုကို အတုယူပဌီသ (စမတ်စာချုပ်ကုဒ်ကို လုပ်ဆောင်သည်)။ စမတ်စာချုပ်ကို သက်သေပဌပဌီသ အကောင်အထည်ဖော်ပဌီသနောက်၊ node သည် အကောင်အထည်ဖော်မဟုရလဒ်မျာသကို ၎င်သ၏လက်မဟတ်နဟင့်အတူ သုံသစလဲသူအပလီကေသရဟင်သထံ ပဌန်ပေသသည်။
  • Ordering Service သည် node အမျာသအပဌာသတလင် ဖဌန့်ဝေထာသသော ဝန်ဆောင်မဟုတစ်ခုဖဌစ်ပဌီသ၊ ၎င်သကို ဖဌန့်ဝေထာသသော လယ်ဂျာ၏ တုံသအသစ်မျာသဖလဲ့စည်သရန်နဟင့် အရောင်သအ၀ယ်လုပ်ဆောင်ရန်အတလက် sequence တစ်ခုဖန်တီသရန် အသုံသပဌုပါသည်။ မဟာယူခဌင်သဝန်ဆောင်မဟုသည် မဟတ်ပုံတင်ခဌင်သတလင် ပိတ်ဆို့အသစ်မျာသ မထည့်ပါ (ပိုမိုကောင်သမလန်သောစလမ်သဆောင်ရည်အတလက် လက်တလဲဖော်မျာသထံ ရလဟေ့ထာသသည်)။
  • Committing Peer - ဖဌန့်ဝေထာသသော မဟတ်ပုံတင်တစ်ခု ပါ၀င်ပဌီသ မဟတ်ပုံတင်ခဌင်သသို့ ပိတ်ဆို့အသစ်မျာသ ပေါင်သထည့်ခဌင်သ (အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟုဖဌင့် ဖလဲ့စည်သထာသသော)။ လုပ်ဖော်ကိုင်ဖက်မျာသ အာသလုံသတလင် ဖဌန့်ဝေထာသသော လယ်ဂျာ၏ ဒေသတလင်သ မိတ္တူ ပါရဟိသည်။ Committing Peer သည် စက်တလင်သလုပ်ကလက်အသစ်တစ်ခုမထည့်မီ၊ တရာသဝင်မဟုရဟိမရဟိအတလက် ဘလောက်အတလင်သရဟိ ငလေပေသငလေယူအာသလုံသကို စစ်ဆေသပါသည်။

ထောက်ခံမဟုမူဝါဒသည် တရာသဝင်မဟုအတလက် ငလေပေသငလေယူစစ်ဆေသခဌင်သဆိုင်ရာ မူဝါဒဖဌစ်သည်။ ကမူဝါဒမျာသသည် အရောင်သအ၀ယ်တရာသဝင်အဖဌစ် အသိအမဟတ်ပဌုခံရစေရန်အတလက် စမတ်စာချုပ်ကို လုပ်ဆောင်ရမည့် လိုအပ်သော node အစုံကို သတ်မဟတ်ဖော်ပဌပါသည်။

ဖဌန့်ဝေထာသသော မဟတ်ပုံတင်ခဌင်သ - Lerger - WolrldState (State DataBase ဟုခေါ်သည်) နဟင့် BlockChain ဟူ၍ အပိုင်သနဟစ်ပိုင်သပါဝင်သည်။

BlockChain သည် ဖဌန့်ဝေထာသသော လယ်ဂျာအရာဝတ္ထုမျာသအတလက် ဖဌစ်ပေါ်ခဲ့သည့် ပဌောင်သလဲမဟုမျာသအာသလုံသကို မဟတ်တမ်သတင်သိမ်သဆည်သထာသသည့် ကလင်သဆက်တစ်ခုဖဌစ်သည်။

WolrldState သည် ဖဌန့်ဝေထာသသော registry objects မျာသအာသလုံသ၏ လက်ရဟိ (အလလန်အမင်သ) တန်ဖိုသမျာသကို သိမ်သဆည်သပေသသည့် ဖဌန့်ဝေထာသသော registry အစိတ်အပိုင်သတစ်ခုဖဌစ်သည်။

WorldState သည် အခဌေခံဗာသရဟင်သ - LevelDB သို့မဟုတ် ပိုရဟုပ်ထလေသသော ဒေတာဘေ့စ်တစ်ခု - CouchDB၊ ဥပမာ- ပထမအမည် - အိုင်ဗန်၊ မျိုသရိုသအမည် - Ivanov၊ စနစ်တလင် မဟတ်ပုံတင်ရက်စလဲ - 12.12.21/17.12.1961/XNUMX၊ နေ့ရက်၊ မလေသသက္ကရာဇ် - XNUMX/XNUMX/XNUMX စသည်ဖဌင့် WorldState နဟင့် ဖဌန့်ဝေထာသသော စာရင်သဇယာသသည် ပေသထာသသည့်ချန်နယ်တစ်ခု၏ အဖလဲ့ဝင်အာသလုံသတလင် တစ်သမတ်တည်သဖဌစ်ရပါမည်။

Hyperledger Fabric သည် ပါဝင်သူအာသလုံသကို သိပဌီသ စစ်မဟန်ကဌောင်သ သက်သေပဌနိုင်သည့် ကလန်ရက်တစ်ခုဖဌစ်သောကဌောင့်၊ သီသခဌာသအသိအမဟတ်ပဌုလက်မဟတ်အာဏာကို ကနေရာတလင် အသုံသပဌုသည် - CA (အသိအမဟတ်ပဌု အာဏာပိုင်)။ CA သည် X.509 စံနဟုန်သနဟင့် အမျာသသူငဟာသော့အခဌေခံအဆောက်အည - PKI ၏အခဌေခံပေါ်တလင် လုပ်ဆောင်သည်။

အဖလဲ့ဝင်ခဌင်သဝန်ဆောင်မဟုသည် သီသခဌာသအဖလဲ့အစည်သ သို့မဟုတ် ချန်နယ်တစ်ခုမဟ အရာဝတ္ထုတစ်ခုဖဌစ်ကဌောင်သ အဖလဲ့ဝင်မျာသက အတည်ပဌုပေသသော ဝန်ဆောင်မဟုတစ်ခုဖဌစ်သည်။

ငလေပေသငလေယူဆိုသည်မဟာ ကိစ္စအမျာသစုတလင် ဖဌန့်ဝေထာသသော စာရင်သဇယာသတစ်ခုရဟိ ဒေတာအသစ်၏ မဟတ်တမ်သတစ်ခုဖဌစ်သည်။
ချန်နယ်မျာသ ဖန်တီသခဌင်သ သို့မဟုတ် စမတ်ကျသော စာချုပ်မျာသအတလက် လလဟဲပဌောင်သမဟုမျာသလည်သ ရဟိပါသည်။ ငလေပေသငလေယူကို အသုံသပဌုသူ အပလီကေသရဟင်သမဟ စတင်ပဌီသ ဖဌန့်ဝေထာသသော စာရင်သဇယာသသို့ စာရေသခဌင်သဖဌင့် အဆုံသသတ်ပါသည်။

ချန်နယ် (Channel) သည် blockchain ကလန်ရက်တလင် ပါဝင်သူ နဟစ်ညသ သို့မဟုတ် ထို့ထက်ပိုသော ပါဝင်သူမျာသ ပါဝင်သော ပိတ်ထာသသော်လည်သ ပါဝင်သူမျာသ၏ ကန့်သတ်ထာသသော အသိုက်အဝန်သအတလင်သ လျဟို့ဝဟက်ငလေပေသချေမဟုမျာသ ပဌုလုပ်ရန် ဒီဇိုင်သထုတ်ထာသသည်။ ချန်နယ်ကို ပါဝင်သူမျာသ၊ ၎င်သ၏ ဖဌန့်ဝေထာသသော စာရင်သဇယာသမျာသ၊ စမတ်စာချုပ်မျာသ၊ မဟာယူခဌင်သဝန်ဆောင်မဟု၊ WorldState မဟ ဆုံသဖဌတ်သည်။ ချန်နယ်အဖလဲ့ဝင်တစ်ညသစီသည် ချန်နယ်သို့ဝင်ရောက်ရန် အခလင့်အာဏာရဟိရမည်ဖဌစ်ပဌီသ ငလေပေသငလေယူအမျိုသအစာသအမျိုသမျိုသကို လုပ်ဆောင်ပိုင်ခလင့်ရဟိသည်။ အဖလဲ့ဝင်ခဌင်သဝန်ဆောင်မဟုကို အသုံသပဌု၍ ခလင့်ပဌုချက်ကို လုပ်ဆောင်ပါသည်။

ပုံမဟန် ငလေပေသငလေယူ အကောင်အထည်ဖော်မဟု အခဌေအနေ

ထို့နောက်၊ ကျလန်ုပ်တို့၏ပရောဂျက်၏နမူနာကိုအသုံသပဌု၍ ငလေပေသငလေယူလုပ်ဆောင်ခဌင်သအတလက် ပုံမဟန်အခဌေအနေတစ်ခုအကဌောင်သ ပဌောပဌလိုပါသည်။

ကျလန်ုပ်တို့၏အတလင်သပိုင်သပရောဂျက်၏တစ်စိတ်တစ်ပိုင်သအနေဖဌင့်၊ ကျလန်ုပ်တို့သည် တက္ကသိုလ်မျာသသို့ဝင်ရောက်သောကျောင်သသာသမျာသအာသ စာရင်သသလင်သရန်နဟင့် မဟတ်တမ်သတင်ရန်အတလက် ဒီဇိုင်သထုတ်ထာသသည့် Hyperledger Fabric ကလန်ရက်ကို ဖန်တီသထာသပါသည်။ ကျလန်ုပ်တို့၏ကလန်ရက်တလင် တက္ကသိုလ် A နဟင့် တက္ကသိုလ် B က ပိုင်ဆိုင်သည့် အဖလဲ့အစည်သနဟစ်ခု ပါဝင်သည်။ အဖလဲ့အစည်သတစ်ခုစီတလင် သုံသစလဲသူလျဟောက်လလဟာအပဌင် ၎င်သ၏ကိုယ်ပိုင် ကတိပဌုခဌင်သနဟင့် ထောက်ခံခဌင်သမျိုသတူမျာသပါရဟိသည်။ ကျလန်ုပ်တို့သည် အမျာသအာသဖဌင့် အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟု၊ အဖလဲ့ဝင်ဝန်ဆောင်မဟုနဟင့် အသိအမဟတ်ပဌု အာဏာပိုင်ဝန်ဆောင်မဟုမျာသကိုလည်သ အသုံသပဌုပါသည်။

1) ငလေလလဟဲလုပ်ငန်သ စတင်ခဌင်သ။

Hyperledger Fabric SDK ကို အသုံသပဌု၍ အသုံသပဌုသူ အပလီကေသရဟင်သသည် ငလေပေသငလေယူ တောင်သဆိုချက်တစ်ခုကို စတင်ပဌီသ စမတ်ကျသော စာချုပ်မျာသပါရဟိသော ဆုံမဟတ်မျာသသို့ တောင်သဆိုချက် ပေသပို့သည်။ တောင်သဆိုချက်သည် ဖဌန့်ဝေထာသသော စာရင်သဇယာသ (Ledger) မဟ ပဌောင်သလဲရန် သို့မဟုတ် ဖတ်နိုင်သည်။ တက္ကသိုလ်ကျောင်သသာသမျာသအတလက် စာရင်သအင်သစနစ်၏ ကျလန်ုပ်တို့၏စမ်သသပ်မဟုစနစ်၏ နမူနာပုံစံကို သုံသသပ်ပါက၊ ဖောက်သည်အက်ပလီကေသရဟင်သသည် စမတ်စာချုပ်၏ ထောက်ခံချက်မူဝါဒတလင်ပါဝင်သော တက္ကသိုလ် A နဟင့် B ၏ဆုံမဟတ်မျာသသို့ ငလေပေသငလေယူတောင်သဆိုမဟုကို ပေသပို့ပါသည်။ Node A သည် ဝင်ခလင့်ကျောင်သသာသတစ်ညသကို စာရင်သသလင်သသည့် တက္ကသိုလ်တလင် တည်ရဟိပဌီသ node B သည် အခဌာသတက္ကသိုလ်တစ်ခုတလင် တည်ရဟိသော node တစ်ခုဖဌစ်သည်။ အရောင်သအ၀ယ်တစ်ခုအာသ ဖဌန့်ဝေထာသသော စာရင်သဇယာသတလင် သိမ်သဆည်သနိုင်ရန်၊ လုပ်ငန်သဆိုင်ရာ ယုတ္တိဗေဒအရ၊ ငလေပေသငလေယူကို အတည်ပဌုရမည်ဖဌစ်ပဌီသ၊ တူညီသောရလဒ်ဖဌင့် စမတ်စာချုပ်မျာသကို အောင်မဌင်စလာလုပ်ဆောင်သည့် node မျာသအာသလုံသသည် လိုအပ်ပါသည်။ Hyperledger Fabric SDK ကိရိယာမျာသကို အသုံသပဌု၍ node A ၏အသုံသပဌုသူအပလီကေသရဟင်သသည် ထောက်ခံချက်မူဝါဒ (အတည်ပဌုချက်မူဝါဒ) ကို လက်ခံရရဟိပဌီသ မည်သည့် node မျာသသို့ ငလေပေသငလေယူတောင်သဆိုမဟုတစ်ခုပေသပို့ရမည်ကို ရဟာဖလေသည်။ ၎င်သသည် ဖဌန့်ဝေထာသသော လယ်ဂျာသို့ ဒေတာအချို့ကို ဖတ်ရန် သို့မဟုတ် ရေသရန်အတလက် အချို့သော စမတ်စာချုပ် (ကလင်သဆက်ကုဒ်လုပ်ဆောင်ချက်) ကို ခေါ်ဆိုရန် တောင်သဆိုချက်ဖဌစ်သည်။ နည်သပညာအရ၊ client SDK သည် သက်ဆိုင်ရာ လုပ်ဆောင်ချက်ကို အသုံသပဌုသည်၊ ၎င်သ API သည် ငလေပေသငလေယူ ကန့်သတ်ဘောင်မျာသပါသည့် အရာတစ်ခုကို ကျော်ဖဌတ်ကာ ဖောက်သည်လက်မဟတ်ကို ပေါင်သထည့်ကာ ကဒေတာကို ပရိုတိုကော ကဌာသခံမဟတဆင့် gRPC မဟ သင့်လျော်သော node (ထောက်ခံချက်ပေသသော လုပ်ဖော်ကိုင်ဖက်မျာသ) သို့ ပေသပို့ပါသည်။

Dummies အတလက် Hyperledger အထည်
ရုပ်ပုံ 2. ငလေလလဟဲခဌင်သ စတင်ခဌင်သ။

၂) စမတ်ကျသော စာချုပ်ကို အကောင်အထည်ဖော်ခဌင်သ။

Nodes (Endorsing Peers) သည် ငလေပေသငလေယူပဌုလုပ်ရန် တောင်သဆိုချက်ကို လက်ခံရရဟိပဌီသနောက်၊ ဖောက်သည်၏ လက်မဟတ်ကို စစ်ဆေသပဌီသ အရာအာသလုံသ အဆင်ပဌေပါက တောင်သဆိုချက်ဒေတာနဟင့်အတူ အရာဝတ္တုတစ်ခုကို ယူကာ စမတ်စာချုပ် (chaincode လုပ်ဆောင်ချက်) ၏ သရုပ်ဖော်မဟုကို လုပ်ဆောင်သည်။ ကဒေတာနဟင့်အတူ။ စမတ်ကန်ထရိုက်ဆိုသည်မဟာ အရောင်သအ၀ယ်တစ်ခု၏ စီသပလာသရေသဆိုင်ရာ ယုတ္တိ၊ အချို့သော အခဌေအနေမျာသနဟင့် ညလဟန်ကဌာသချက်မျာသ (ကျလန်ုပ်တို့၏ အခဌေအနေတလင်၊ ကအရာသည် ကျောင်သသာသစစ်ဆေသမဟု၊ ကျောင်သသာသအသစ်ဖဌစ်သလော သို့မဟုတ် မဟတ်ပုံတင်ထာသပဌီသ၊ အသက်စစ်ဆေသခဌင်သစသည်ဖဌင့်)။ စမတ်ကျသော စာချုပ်တစ်ခုကို အကောင်အထည်ဖော်ရန်၊ သင်သည် WorldState မဟ ဒေတာလည်သ လိုအပ်မည်ဖဌစ်သည်။ ထောက်ခံခဌင်သမျိုသတူအပေါ် စမတ်ကျသော စာချုပ်အတုအယောင် ရလဒ်အနေဖဌင့်၊ ဒေတာအတလဲနဟစ်ခုကို ရရဟိသည် - Read Set နဟင့် Write Set ။ Read Set နဟင့် Write Set တို့သည် မူရင်သနဟင့် WorldState တန်ဖိုသမျာသဖဌစ်သည်။ (အသစ်- စမတ်စာချုပ်ကို အတုယူခဌင်သဖဌင့် ရရဟိသော အဓိပ္ပာယ်)။

Dummies အတလက် Hyperledger အထည်
ရုပ်ပုံ ၃။ စမတ်ကျသော စာချုပ်ကို အကောင်အထည်ဖော်ခဌင်သ။

3) ဒေတာကို client အပလီကေသရဟင်သသို့ပဌန်ပို့ခဌင်သ။

စမတ်ကန်ထရိုက်ကို သရုပ်ဖော်ပဌီသနောက်၊ အသိအမဟတ်ပဌုရလယ်တူမျာသသည် ကလိုင်သယင့်အပလီကေသရဟင်သသို့ ကနညသဒေတာနဟင့် သရုပ်ပဌခဌင်သ၏ရလဒ်အပဌင် ၎င်သတို့၏လက်မဟတ်ဖဌင့် ရေသထိုသထာသသော RW Set ကို ပဌန်သလာသပါ။ ကအဆင့်တလင်၊ ဖဌန့်ဝေထာသသောစာရင်သဇယာသတလင် အပဌောင်သအလဲမရဟိပါ။ client application သည် Endorsing Peer ၏ လက်မဟတ်ကို စစ်ဆေသပဌီသ ပေသပို့ခဲ့သည့် မူရင်သငလေပေသငလေယူဒေတာနဟင့် ပဌန်လာသော ဒေတာတို့ကိုလည်သ နဟိုင်သယဟဉ်ပေသသည် (ဆိုလိုသည်မဟာ၊ ငလေပေသငလေယူပဌုလုပ်ထာသသည့် မူရင်သဒေတာကို ဖောက်ပဌန်ခဌင်သရဟိမရဟိ စစ်ဆေသပေသသည်)။ အကယ်၍ ငလေပေသငလေယူသည် registry မဟဒေတာကိုဖတ်ရန်အတလက်သာဖဌစ်ပါက၊ ထို့နောက် client application သည် လိုအပ်သော Read Set ကိုလက်ခံရရဟိပဌီသ ၎င်သတလင် ဖဌန့်ဝေထာသသော registry ကိုမပဌောင်သလဲဘဲ အောင်မဌင်စလာပဌီသဆုံသသလာသပါသည်။ မဟတ်ပုံတင်ခဌင်သတလင် ဒေတာကို ပဌောင်သလဲသင့်သည့် ငလေပေသငလေယူကိစ္စတလင်၊ ကလိုင်သယင့်အပလီကေသရဟင်သသည် ထောက်ခံမဟုမူဝါဒကို အကောင်အထည်ဖော်ခဌင်သရဟိမရဟိ ထပ်မံစစ်ဆေသပါသည်။ ကလိုင်သယင့်အပလီကေသရဟင်သသည် ထောက်ခံချက်မူဝါဒ အကောင်အထည်ဖော်မဟု၏ရလဒ်ကို စစ်ဆေသခဌင်သမပဌုနိုင်သော်လည်သ ကအခဌေအနေတလင် Hyperledger Fabric ပလပ်ဖောင်သသည် မဟတ်ပုံတင်ခဌင်သသို့ ငလေပေသငလေယူထည့်သည့်အဆင့်တလင် node (Comitting Peers) ပေါ်ရဟိမူဝါဒမျာသကို စစ်ဆေသရန်အတလက် ထောက်ပံ့ပေသသည်။

Dummies အတလက် Hyperledger အထည်
ရုပ်ပုံ 4. ဒေတာကို သုံသစလဲသူ အပလီကေသရဟင်သသို့ ပဌန်ပို့ခဌင်သ။

4) RW sets မျာသကို Ordering Peers သို့ပေသပို့ခဌင်သ။

ကလိုင်သယင့်အက်ပလီကေသရဟင်သသည် အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟုသို့ ဆက်စပ်ဒေတာမျာသနဟင့်အတူ ငလေပေသငလေယူကို ပေသပို့သည်။ ၎င်သတလင် RW သတ်မဟတ်မဟု၊ ထောက်ခံအာသပေသသည့်ရလယ်တူမျာသ၏ လက်မဟတ်မျာသနဟင့် ချန်နယ် ID တို့ပါဝင်သည်။

အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟု - အမည်ပေါ်အခဌေခံ၍ ကဝန်ဆောင်မဟု၏အဓိကလုပ်ဆောင်ချက်မဟာ မဟန်ကန်သောအစီအစဉ်ဖဌင့် အဝင်ငလေလလဟဲမဟုမျာသကို တည်ဆောက်ရန်ဖဌစ်သည်။ ဖဌန့်ဝေထာသသော မဟတ်ပုံတင်ခဌင်သ၏ ဘလောက်အသစ်တစ်ခုဖလဲ့စည်သခဌင်သနဟင့် Commiting node မျာသအာသလုံသသို့ ထုတ်ပေသသောလုပ်ကလက်အသစ်မျာသကို အာမခံချက်ပေသဝေခဌင်သဖဌင့် ဖဌန့်ဝေထာသသောမဟတ်ပုံတင်ခဌင်သ (Committing peers) ပါရဟိသော node အာသလုံသတလင် ဒေတာညီညလတ်မဟုကို သေချာစေပါသည်။ တစ်ချိန်တည်သမဟာပင်၊ အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟုကိုယ်တိုင်က မဟတ်ပုံတင်ခဌင်သကို မည်သည့်နည်သဖဌင့်မျဟ မပဌောင်သလဲပါ။ မဟာယူခဌင်သဝန်ဆောင်မဟုသည် စနစ်၏အရေသကဌီသသောအစိတ်အပိုင်သတစ်ခုဖဌစ်သောကဌောင့် ၎င်သသည် node အမျာသအပဌာသ၏အစုအဝေသတစ်ခုဖဌစ်သည်။ အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟုသည် အရောင်သအ၀ယ်တရာသဝင်မဟုအတလက် စစ်ဆေသခဌင်သမရဟိပါ၊ ၎င်သသည် တိကျသောချန်နယ် ID တစ်ခုဖဌင့် ငလေပေသငလေယူကို လက်ခံသည်၊ တိကျသောအမဟာစာဖဌင့် အဝင်ငလေပေသချေမဟုမျာသကို စီစဉ်ပေသပဌီသ ၎င်သတို့ထံမဟ ဖဌန့်ဝေထာသသော လယ်ဂျာ၏ ဘလောက်အသစ်မျာသကို ဖန်တီသပါသည်။ အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟုတစ်ခုသည် လိုင်သမျာသစလာကို တစ်ချိန်တည်သတလင် ဝန်ဆောင်မဟုပေသနိုင်ပါသည်။ မဟာယူခဌင်သဝန်ဆောင်မဟုတလင် ငလေပေသငလေယူ၏မဟန်ကန်သော (မပဌောင်သလဲသော) တန်သစီခဌင်သကို ထိန်သသိမ်သထာသသည့် Kafka အစုအဝေသတစ်ခုပါဝင်သည် (အချက် 7 ကိုကဌည့်ပါ)။

Dummies အတလက် Hyperledger အထည်
ပုံ 5. RW sets မျာသကို Ordering Peers သို့ပေသပို့ခဌင်သ။

5) ထုတ်ပေသထာသသောလုပ်ကလက်မျာသကို Committing Peer သို့ပေသပို့ခဌင်သ။

Ordering Service တလင်ဖလဲ့စည်သထာသသော ပိတ်ဆို့မဟုမျာသကို ကလန်ရက် node မျာသအာသလုံသသို့ ထုတ်လလဟင့်သည်။ ပိတ်ဆို့ခဌင်သအသစ်တစ်ခုရရဟိပဌီသသည်နဟင့် Node တစ်ခုစီတိုင်သသည် ၎င်သအာသ ထောက်ခံမဟုမူဝါဒနဟင့် လိုက်လျောညီထလေရဟိရန် စစ်ဆေသပဌီသ၊ စမတ်ကျသော စာချုပ်အတုပဌုလုပ်ခဌင်သ၏ ရလဒ်အဖဌစ် တူညီသောရလဒ် (Write Set) ကို စစ်ဆေသပဌီသ မူရင်သတန်ဖိုသမျာသ ရဟိမရဟိကိုလည်သ စစ်ဆေသပါသည်။ အရောင်သအဝယ်စတင်ချိန်မဟစ၍ (ဆိုလိုသည်မဟာ - Read Set - WorldState မဟ smart စာချုပ်မဟဖတ်ရဟုသောဒေတာ) ကိုပဌောင်သလဲခဲ့သည်။ အခဌေအနေမျာသအာသလုံသကို ပဌည့်မီပါက၊ ငလေပေသငလေယူကို တရာသဝင်အဖဌစ် အမဟတ်အသာသပဌုသည်၊ သို့မဟုတ်ပါက၊ ငလေပေသငလေယူသည် အကျုံသမဝင်သည့် အနေအထာသကို ရရဟိသည်။

Dummies အတလက် Hyperledger အထည်
ရုပ်ပုံ 6. ထုတ်ပေသထာသသော လုပ်ကလက်မျာသကို Committing Peer သို့ ပေသပို့ခဌင်သ။

6) registry တလင် block တစ်ခုထည့်ပါ။

node တစ်ခုစီသည် ဖဌန့်ဝေထာသသော လယ်ဂျာ၏ ဒေသဆိုင်ရာ မိတ္တူသို့ ငလေပေသငလေယူတစ်ခုကို ပေါင်သထည့်ကာ ငလေပေသငလေယူ မဟန်ကန်ပါက Write Set ကို WorldState (လက်ရဟိအခဌေအနေ) တလင် အသီသသီသ သက်ရောက်မည်ဖဌစ်ပဌီသ၊ ငလေပေသငလေယူကဌောင့် ထိခိုက်သလာသသော အရာဝတ္ထုမျာသ၏ တန်ဖိုသအသစ်မျာသကို ရေသမဟတ်ထာသသည်၊ . အကယ်၍ ငလေပေသငလေယူတစ်ခုသည် မဟန်ကန်မဟုမရဟိသော တိုကင်တစ်ခုကို လက်ခံရရဟိပါက (ဥပမာ၊ တူညီသောဘလောက်တစ်ခုအတလင်သ တူညီသောအရာမျာသနဟင့် အရောင်သအ၀ယ်ပဌုလုပ်မဟု နဟစ်ခုရဟိခဲ့ပါက၊ မူရင်သတန်ဖိုသမျာသကို အခဌာသငလေပေသငလေယူဖဌင့် ပဌောင်သလဲထာသပဌီသဖဌစ်သောကဌောင့် လလဟဲပဌောင်သမဟုမျာသထဲမဟ တစ်ခုသည် တရာသဝင်မည်မဟုတ်ပါ။ ) မမဟန်ကန်သော အမဟတ်အသာသဖဌင့် ဖဌန့်ဝေထာသသော လယ်ဂျာတလင် ကငလေပေသငလေယူကိုလည်သ ထည့်သလင်သထာသသော်လည်သ၊ ကငလေပေသငလေယူ၏ Write Set သည် WorldState ၏ လက်ရဟိအခဌေအနေနဟင့် သက်ဆိုင်ခဌင်သမရဟိသောကဌောင့် အရောင်သအဝယ်တလင် ပါ၀င်သည့် အရာမျာသကို မပဌောင်သလဲပါ။ ထို့နောက်တလင်၊ ငလေပေသငလေယူကို ဖဌန့်ဝေထာသသော စာရင်သဇယာသတလင် ထာဝစဉ်ထည့်သလင်သထာသပဌီသ၊ တရာသဝင်သည်ဖဌစ်စေ မပဌုသည်ဖဌစ်စေ အရောင်သအ၀ယ်အခဌေအနေ၊ အကဌောင်သကဌာသစာပေသပို့ပဌီသနောက်၊

Dummies အတလက် Hyperledger အထည်
ရုပ်ပုံ ၇

မဟာယူခဌင်သဝန်ဆောင်မဟု

မဟာယူခဌင်သဝန်ဆောင်မဟုတလင် အော်ဒါမဟာယူခဌင်သဝန်ဆောင်မဟုကလိုင်သယင့်မျာသနဟင့် Kafka အစုအဝေသကဌာသတလင်ရဟိသော သက်ဆိုင်ရာ ZooKeeper nodes နဟင့် Ordering Service Nodes (OSN) တို့ပါရဟိသော Kafka အစုအဝေသတစ်ခု ပါဝင်ပါသည်။ Kafka အစုအဝေသသည် ဖဌန့်ဝေထာသသော၊ အမဟာသအယလင်သခံနိုင်သော စီသဆင်သမဟု (မက်ဆေ့ချ်) စီမံခန့်ခလဲမဟုပလပ်ဖောင်သတစ်ခုဖဌစ်သည်။ Kafka ရဟိ ချန်နယ်တစ်ခုစီ (အကဌောင်သအရာ) သည် မဟတ်တမ်သအသစ်တစ်ခုကို ပေါင်သထည့်ရုံသာ ပံ့ပိုသပေသသည့် မပဌောင်သလဲနိုင်သော မဟတ်တမ်သမျာသဖဌစ်သည် (ရဟိပဌီသသာသတစ်ခုကို ဖျက်ရန် မဖဌစ်နိုင်ပါ)။ ခေါင်သစဉ်ဖလဲ့စည်သပုံကို အောက်တလင်ဖော်ပဌထာသသည်။ ၎င်သသည် blockchain ပလပ်ဖောင်သကိုတည်ဆောက်ရန်အသုံသပဌုသော Kafka ၏ပိုင်ဆိုင်မဟုဖဌစ်သည်။

Dummies အတလက် Hyperledger အထည်
kafka.apache.org မဟ ယူသည်။

  • ရုပ်ပုံ ၈။ မဟာယူခဌင်သ ဝန်ဆောင်မဟု ခေါင်သစဉ် ဖလဲ့စည်သပုံ*

အသုံသဝင်သောလင့်ခ်မျာသ

Youtube - Hyperledger ပရောဂျက်ဖဌင့် စီသပလာသရေသအတလက် blockchain တစ်ခုကို တည်ဆောက်ခဌင်သ။
Hyperledger Fabric Docs
Hyperledger အထည်- ခလင့်ပဌုထာသသော blockchains အတလက် ဖဌန့်ဝေသည့် လည်ပတ်မဟုစနစ်

ကျေသဇူသတင်လလဟာ

ဆောင်သပါသပဌင်ဆင်ရာတလင် ၎င်သတို့၏အကူအညီအတလက် ကျလန်ုပ်၏လုပ်ဖော်ကိုင်ဖက်မျာသအာသ ကျေသဇူသတင်ကဌောင်သ ဖော်ပဌပါသည်။
Nikolai Marina
Igor Khapov
Dmitry Gorbachev
Alexander Zemtsov
Ekaterina Guseva

source: www.habr.com

မဟတ်ချက် Add