Iroha ရှင်းပြချက်
Iroha 3 သည်ပထမဦးဆုံးထုတ်ဝေသော Hyperledger Iroha ပလက်ဖောင်းဖြစ်သည်။ အလားတူဗဟိုသည် မိမိဘာသာ တည်းခိုထားသည့်ကွန်ရက်များနှင့် SORA Nexus ဒေတာနေရာများနှင့် multi-lane routing အတွက်လုပ်ဆောင်မှုပုံစံကိုထောက်ခံသည်။
အခြေခံ အဆောက်အအုံများ
irohadလုပ်ဖော်ကိုင်ဖက်တွေကို လည်ပတ်တယ်။- Torii က client နဲ့ operator gateway ဖြစ်ပါတယ်
- Sumeragi က သဘောတူညီချက် ကိုင်တွယ်တယ်။
- Norito သည် canonical binary format ဖြစ်သည်။
- IVM ကို portable smart contracts နဲ့ byte code တွေကို run လုပ်ပေးတယ်။
- Kotodama သည် အဆင့်မြင့်
.koစာချုပ်များကို IVM.toဘိုက်ကုဒ်သို့ စုစည်းသည်။ - Kagami ကီးများ၊ မျိုးရိုးဗီဇများ၊ ပရိုဖိုင်များနှင့် ဒေသတွင်းကွန်ရက်များကို ပြင်ဆင်ပေးသည်။
- SORA Nexus ဝန်ဆောင်မှု လေယာဉ်ပေါင်း Soracloud, Inrou၊ SoraNet, SoraFS, နှင့် SoraDNS app hosting, privacy transport, storage နဲ့ name တွေအတွက်
အကောင်အထည်ဖော်မှုပုံစံ
ကမ္ဘာ့အခြေအနေ ပြောင်းလဲမှုတိုင်းဟာ ငွေကြေးလုပ်ငန်းများမှတဆင့် ဖြစ်ပေါ်နေဆဲပါ။ ငွေကြေး လုပ်ငန်းတွေမှာ ညွှန်ကြားချက် (သို့) IVM ဘိုင်တာကုဒ်ရှိပြီး Torii သည် ဖောက်သည်များက ၎င်းတို့ကို ပေးပို့ခြင်း သို့မဟုတ် ၎င်းတို့၏ သက်ရောက်မှုကို လေ့လာခြင်းအတွက် အဓိကနည်းလမ်းဖြစ်သည်။
- Nexus သတိထားမိတဲ့ ဖွဲ့စည်းပုံတွေက လမ်းကြောင်းများစွာကို သတ်မှတ်နိုင်ပါတယ်
- data spaces တွေဟာ workloads ကို သီးခြားခွဲထားပြီး တစ်ကိုယ်တော် ledger ပုံစံရဲ့ အစိတ်အပိုင်းအဖြစ် ဆက်ရှိနေတုန်းပါ။
- Routing policy ကတော့ ဘယ် lane နဲ့ data space တွေက အလုပ်အကိုင် အမျိုးအစားကို ကိုင်တွယ်မလဲဆိုတာ ဆုံးဖြတ်ပေးပါတယ်။
multi-data space ဗိသုကာ
Datapace သည် သီးခြား blockchain မဟုတ်ဘဲ Routing နှင့် Namespace နယ်နိမိတ်တစ်ခုဖြစ်သည်။ Runtime တွင် World တစ်ခု၊ ငွေပေးချေမှုပုံစံတစ်ခုနှင့် သဘောတူညီချက် pipeline တစ်ခုရှိသည်။ Nexus သည် node ကိုလိုင်းများအကြား partition အလုပ်လုပ်ပုံကိုပြောပြသည့်စာရင်းများကိုထည့်သွင်းသည်
Runtime တွင် data space ကို numeric DataSpaceId နှင့် catalog metadata များဖြင့် ကိုယ်စားပြုသည်။ DataSpaceId::UNIVERSAL သည် 0 အဖြစ်စုဆောင်းထားသည်။ ကြိုတင်ဖွင့်လှစ်ထားသော catalog တွင် universal dataspace ပါရှိသည်။ သတ်မှတ်ထားသည့် datapace တစ်ခုစီမှာ:
- ထူးခြားသော ကိန်းဂဏန်း ID
universal,governanceသို့မဟုတ်zkကဲ့သို့သော ထူးခြားသော အမည်မဖော်လိုပါ။- အော်ပရေတာမျက်နှာပြင်အတွက် ရွေးချယ်စရာ သရုပ်ဖော်ချက်
- ရေလွှမ်းမိုးရေးကော်မတီများအတွက် အသုံးပြုသော သုညမဟုတ်သည့် တန်ဖိုး
fault_tolerance
Lane တွေဟာ ဒီဒေတာဘေ့စ်တွေကို ချိတ်ဆက်ထားတဲ့ အကောင်အထည်ဖော်ရေးနဲ့ သိုလှောင်ရေး လမ်းကြောင်းတွေပါ။ LaneId, ကော်မတီ DataSpaceId အမည်မဖော်လိုသူ၊ မြင်နိုင်မှု (public ဒါမှမဟုတ် restricted), သိုလှောင်ပုံပြင် (full_replica, commitment_only, ဒါမှမဟုတ် split_replica), proof scheme နဲ့ optional governance, settlement နဲ့ scheduler metadata တွေကို သုံးနိုင်ပါတယ်။ Runtime ကတော့ ဒီစာရင်းကနေ လိုင်စင်တစ်ခုချင်း သိုလှောင်တဲ့ ဂျီသြမေထရီကို ရယူပါတယ်။ Kura segment နာမည်များနှင့် deterministic key prefixes များ။
လမ်းညွှန်လမ်းကြောင်းက-
- Configuration သည် validated
DataSpaceCatalog,LaneCatalogနှင့်LaneRoutingPolicyကိုတည်ဆောက်သည်။ multiple lanes, multiple data spaces သို့မဟုတ် non-default routing ကိုလိုအပ်သည်nexus.enabled = true. - Transaction queue ကတော့ Active Lane Router ကို
RoutingDecisionဆိုပြီး trajectory ID နဲ့ data space ID ပါတဲ့ trajectory တစ်ခုကို မေးမြန်းပါတယ်။ - ပွင့်လင်းမြင်သာသော လမ်းညွှန်စည်းမျဉ်းများသည် အာဏာ/အကောင့် သို့မဟုတ် ညွှန်ကြားချက် တံဆိပ်ဖြင့် ကိုက်ညီနိုင်သည်။ ကိုက်ညီသည့် စည်းမျဉ်းမရှိဘဲ Router သည် ဒေတာနေရာကို နယ်ပယ် IDs မှ၊ အရင်းအမြစ်အဓိပ္ပါယ်သတ်မှတ်မှု ခန့်မှန်းချက်များမှ၊ ဒေတာနေရာအရ ခွင့်ပြုချက်များ၊ ငွေပေးချေခြင်း ခြေထောက်များမှ (သို့) အာဏာပိုင်၏ ချုပ်နှောင်ထားသော အကောင့်အဝန်းမှ ရယူနိုင်သည်။
- ဖြေရှင်းထားသော လမ်းကြောင်းကို နှစ်ခုစလုံး၏စာရင်းများနှင့် စစ်ဆေးသည်။ မသိသောလမ်းကြောင်းများ၊မသိသော ဒေတာနေရာများနှင့်လမ်းကြောင်း/ဒေတာနေရာ မညီမျှမှုများသည် deterministic routing error များဖြစ်ပါသည်။ ငွေပေးချေမှုတစ်ခုက မတူညီတဲ့ ဒေတာနေရာ ရည်မှန်းချက် နှစ်ခုကို ရေးသားပါက ပဋိပက္ခဖြစ်နေတဲ့ လမ်းကြောင်းအဖြစ် ငြင်းပယ်ခံရပြီး ကွင်းဆက်ဒေတာနေရာ DVP/PVP ဖြေရှင်းမှုကို အထွေထွေ ညှိနှိုင်းရေးလမ်းကြောင်းမှတစ်ဆင့် လမ်းညွှန်ပေးတယ်။
- Sumeragi နှင့် တယ်လီမီထရီက တာဝန်ကို လမ်းကြောင်းနှင့် ဒေတာနေရာ လှုပ်ရှားမှု၊ နောက်ဆုတ်ချက်များနှင့် ကတိပြုချက် snapshots များအဖြစ် မြင်နိုင်စေသည်။
ဒီအကြောင်းကြောင့် Object Identifier တွေက အရေးပါပါတယ်။ Domain တွေမှာ data space alias တွေကို သူတို့ရဲ့ ID, ဥပမာ payments.universal, Domain-scoped writes တွေကို Rout လုပ်လို့ရပါတယ်။ Account တွေဟာ Canonical နဲ့ domainless ဖြစ်နေတုန်းပါ။ ထို့ကြောင့် account တစ်ခုတည်းကို application scope အမျိုးမျိုးသို့ ပြောင်းလဲခြင်းမရှိဘဲ ချိတ်ဆက်နိုင်သည်။ AccountId. Asset Definitions က domain/dataspace projection ကို ဆောင်ရွက်နိုင်ပြီး asset operations တွေကို datapace လမ်းကြောင်း မှန်ကန်စွာ အမွေခံခွင့်ပေးပါတယ်။
Nexus overrides မပါဘဲ node က single lane နဲ့ universal data space ကို အသုံးပြုပါတယ်။ bundled SORA profile ကတော့ သုံးလိုင်းစာရင်းနဲ့ အစားထိုးပေးတယ်။ core ပြည်သူ့လမ်းကြောင်းအတွက်၊ governance အုပ်ချုပ်ရေးလမ်းကြောင်းအတွက်နှင့် zk သုည အသိပညာချိတ်ဆက်ခြင်းနှင့် စာချုပ်ဖြန့်ချိခြင်းလမ်းကြောင်းအတွက်။
အဲဒီသုံးခုဟာ အလုပ်အကိုင် ဝန်ဆောင်မှု အမျိုးအစားတွေကို ခွဲခြားဖို့ ကြံစည်ထားတာပါ။
| ဒေတာနေရာများ | Lane ကို | ဘာကြောင့် တည်ရှိတာလဲ။ |
|---|---|---|
universal | core | သာမန် အများပြည်သူစာအုပ်များအတွက် ရောင်းဝယ်မှုနှင့် နောက်ပြန်လမ်းညွှန်ခြင်းအတွက် သတ်မှတ်ထားသော ဒေတာနေရာ (DataSpaceId::UNIVERSAL == 0) ။ |
governance | governance | အုပ်ချုပ်ရေးနှင့် လွှတ်တော် ယာဉ်ကြောအတွက် ကန့်သတ်ထားသောလမ်းကြောင်းဖြစ်သည်၊ ထို့ကြောင့် ထိန်းချုပ်မှုအဆင့် လှုပ်ရှားမှုကို ယေဘုယျအသုံးချ ရေးသားချက်များနှင့် ရောနှောခြင်း မရှိပါ။ |
zk | zk | သုည အသိသုတ သက်သေပြချက်များ၊ ချိတ်ဆက်ချက်များနှင့် စာချုပ် ဖြန့်ချိမှု လမ်းညွှန်ချက်များအတွက် ကန့်သတ်ထားသောလမ်းကြောင်း၊ အထောက်အထားအပြင်းအထန် အလုပ်ဖြစ်စဉ်များကို ပုံမှန် ရေးသားခြင်းမှ ခွဲခြားထားသည်။ |
တစ်ခုတည်းသော universal ကန့်သတ်ထားတဲ့ မူလတန်းပါ။ governance နှင့် zk ရှိသည် SORA စုစည်းထားတဲ့ စာရင်းနဲ့ လမ်းညွှန်ရေး မူဝါဒမှာ ကုဒ်သွင်းထားတဲ့ ကိုယ်စားလှယ်လက္ခဏာ ရွေးချယ်မှုတွေ၊ Operator တွေဟာ မတူတဲ့ Data Space နယ်နိမိတ်တွေ လိုအပ်တဲ့အခါ ကွဲပြားတဲ့ Catalog ကို သတ်မှတ်နိုင်ပါတယ်။
Sumeragi သည် အမြဲတမ်း ဒေတာရရှိနိုင်မှုနှင့် ယုံကြည်စိတ်ချရတဲ့ ထုတ်လွှင့်မှုကို အသုံးပြုသည်။ ဤလမ်းကြောင်းများသည် Iroha 3 သဘောတူညီချက် ပရိုတိုကော၏ အစိတ်အပိုင်းဖြစ်ပြီး ဖြန့်ဖြူးရေးပရိုဖိုင်တစ်ခုမှ မပိတ်နိုင်ပါ။
Runtime အပြုအမူကို configuration ဖိုင်များနှင့် on-chain parameters များမှ ရယူထားသည်။ Environment variables သည်ထုတ်လုပ်ရေး feature gate များမဟုတ်ပါ။