စိတ်ကူးမှသည် အကောင်အထည်ဖော်မှုအထိ- ကျွန်ုပ်တို့သည် အဆုံးအဖြတ်ရှိစေရန်အတွက် လက်ရှိ elliptic curve ဒစ်ဂျစ်တယ်လက်မှတ်အစီအစဉ်ကို မွမ်းမံပြင်ဆင်ပြီး ၎င်းကိုအခြေခံ၍ blockchain အတွင်း pseudo-random နံပါတ်များရရှိခြင်းအတွက် လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးပါသည်။
စိတ်ကူး
2018 ၏ဆောင်းဦးရာသီတွင်, Waves blockchain ပါဝင်သည်။
ဤမေးခွန်းအတွက် စိတ်ရှုပ်ထွေးနေကာ နောက်ဆုံးတွင် ကျွန်ုပ်သည် နိဂုံးချုပ်လာသည်- မည်သည့် blockchain သည် ဆဲလ်တစ်ခုဖြစ်သည်၊ ပိတ်ထားသောစနစ်တွင် ယုံကြည်စိတ်ချရသော entropy အရင်းအမြစ်ကို ရယူရန် မဖြစ်နိုင်ပေ။
ဒါပေမယ့် ကျွန်တော် အကြံတစ်ခုတော့ ကြိုက်တုန်းပဲ၊ if
Waves blockchain ပလပ်ဖောင်းသည် လက်မှတ်အစီအစဉ်ကို အသုံးပြုသည်။
၎င်း၏ သန့်ရှင်းသောပုံစံဖြင့်၊ ထိုသို့သော လက်မှတ်ကို အတိအကျသတ်မှတ်ခြင်းမဟုတ်သောကြောင့် ၎င်းကို pseudo-random နံပါတ်များ၏ရင်းမြစ်တစ်ခုအဖြစ် အသုံးမပြုနိုင်သောကြောင့်၊ ထို့ကြောင့်၊ ထို့ကြောင့်၊ oracle မှ အလွယ်တကူ ခြယ်လှယ်နိုင်သည်။
သို့သော် ထွက်ပေါ်လာသည့်အတိုင်း၊ ၎င်းကို အမှန်တကယ် အဆုံးအဖြတ်ပေးနိုင်သည် ။
ငါမျှော်လင့်ချက်ကြီးကြီးမားမားရှိခဲ့တယ်။
အနည်းငယ်စဉ်းစားပြီး ပြည်တွင်းလေ့လာသုံးသပ်သူများ၏ ပံ့ပိုးကူညီမှုကို စာရင်းသွင်းပြီးနောက် VECRO အလုပ်အစီအစဉ်ကို မွေးဖွားလာခဲ့သည်။
VECRO သည် Verifiable Elliptic Curve Random Oracle ၏ အတိုကောက်ဖြစ်ပြီး ရုရှားဘာသာဖြင့် elliptic မျဉ်းကွေးများပေါ်ရှိ အတည်ပြုနိုင်သော ကျပန်း oracle ကို ဆိုလိုသည်။
အရာအားလုံးသည် အတော်လေးရိုးရှင်းသွားသည်; အဆုံးအဖြတ်ခံယူရန်၊ လက်မှတ်ရေးထိုးရမည့်မက်ဆေ့ချ်မပေါ်မီ R ၏တန်ဖိုးကို သင်ပြုပြင်ရန်လိုအပ်သည်။ R သည် ကတိသစ္စာပြုပြီး လက်မှတ်ထိုးထားသည့် မက်ဆေ့ဂျ်၏ တစ်စိတ်တစ်ပိုင်းဖြစ်ပါက၊ မက်ဆေ့ချ်တွင် R ကတိသစ္စာပြုကြောင်း သေချာစေသော၊ S ၏တန်ဖိုးကို အသုံးပြုသူ၏မက်ဆေ့ချ်မှ ထူးထူးခြားခြားဆုံးဖြတ်ပြီး ထို့ကြောင့် လိမ်လည်နံပါတ်များအတွက် အရင်းအမြစ်အဖြစ် အသုံးပြုနိုင်သည်။
ထိုသို့သောအစီအစဥ်တွင်၊ R ကိုမည်ကဲ့သို့ပြင်ဆင်ရသည်မှာအရေးမကြီးပါ၊ ၎င်းသည် oracle ၏တာဝန်ဖြစ်သည်။ S ကို အသုံးပြုသူမှ သီးခြားသတ်မှတ်ထားရန် အရေးကြီးသော်လည်း oracle မှ မထုတ်ပြန်မချင်း ၎င်း၏တန်ဖိုးကို မသိရသေးပါ။ ငါတို့အလိုရှိသမျှ။
ပုံသေ R အကြောင်းပြောရင် အဲဒါကို သတိပြုပါ။
စုစုပေါင်း၊ oracle သည် သုံးစွဲသူများအား လုပ်ဆောင်ချက်နှစ်ခုကို ပေးဆောင်ရမည်- ကနဦးသတ်မှတ်ခြင်း၊ တန်ဖိုး R နှင့် S တန်ဖိုးကို ပြန်ပေးသည့် လက်မှတ်တို့ကို ပြင်ဆင်ပေးသည့် ကနဦးလုပ်ဆောင်မှု နှစ်ခုဖြစ်သည်။ ဤအခြေအနေတွင်၊ အတွဲ R၊ S သည် ပုံသေပါရှိသော အသုံးပြုသူမက်ဆေ့ချ်တစ်ခု၏ ပုံမှန်အတည်ပြုနိုင်သော လက်မှတ်ဖြစ်သည်။ တန်ဖိုး R နှင့် မတရားသော သုံးစွဲသူဒေတာ။
blockchain အတွက်ဤအစီအစဥ်သည်သာမန်ထက်ဘာမှမပိုကြောင်းစောဒကတက်နိုင်သည်။
ခြောက်လလောက်ကြာအောင် အကောင်အထည်ဖော်ဖို့ စိတ်ကူးက ငါ့ခေါင်းထဲမှာ တအုံနွေးနွေးဖြစ်ပြီး နောက်ဆုံးတော့ စေ့ဆော်မှုပုံစံပေါ်လာတဲ့အထိ၊
အကောင်အထည်ဖော်မှု
ဒီတော့ ဒီပရောဂျက်မှာ
တစ်ဖန် ၎င်းကို ဘေးဖယ်ထား၍ ပိုမိုရှင်းလင်းစေပါသည်။ oracle သည် အဆိုပြုထားသော အစီအစဉ်အတိုင်း အလုပ်မလုပ်ပါ။ ၎င်း၏လုပ်ငန်းကို တည်ထောင်သူမှ blockchain အဆင့်တွင် လုံးဝထိန်းချုပ်ထားသည်။
လောလောဆယ်တွင်၊ Waves mainnet ပေါ်တွင် VECRO တစ်ခုအလုပ်လုပ်နေသည် (သင်ကိုယ်တိုင်လုပ်ဆောင်နိုင်သည်၊ ၎င်းသည်မခက်ခဲပါ၊
oracle ဝန်ဆောင်မှုကို အသုံးပြုရန်အတွက် သင်သည် လိုအပ်သည်-
- R ကိုပြင်ဆင်ပါ
- oracle alias init@vecr သို့ အနည်းဆုံး 0.005 Waves ပေးပို့ပါ။
- oracle မှအသုံးပြုသူထံသို့ 1 R-vecr တိုကင်လွှဲပြောင်းခြင်းတွင် ပူးတွဲပါအကွက်တွင် R-ကုဒ်ကို လက်ခံရယူပါ။
- လက်မှတ်ရယူပါ။
- oracle alias random@vecr သို့ အနည်းဆုံး 0.005 Waves ပေးပို့ပြီး ပူးတွဲပါဖိုင်အကွက်တွင် ယခင်က ရရှိထားသော R-ကုဒ်နှင့် အပိုအသုံးပြုသူဒေတာတို့ကိုလည်း ညွှန်ပြရပါမည်။
- oracle မှ သုံးစွဲသူထံ 1 S-vecr တိုကင်ကို လွှဲပြောင်းရာတွင် ပူးတွဲပါအကွက်တွင် S-ကုဒ်ကို လက်ခံရယူပါ။
- S-code ကို pseudo-random နံပါတ်၏ရင်းမြစ်အဖြစ် အသုံးပြုပါ။
လက်ရှိအကောင်အထည်ဖော်မှု၏ ကွဲလွဲချက်များ-
- oracle သို့ ပေးပို့ထားသော လှိုင်းများကို အများဆုံး 1 Waves အထိ သုံးစွဲသူထံ ပြန်ပေးငွေအတွက် ကော်မရှင်အဖြစ် အသုံးပြုပါသည်။
- R-code သည် 'R' စာလုံး၏ byte တစ်ခုနှင့် 32-byte base58-encoded R တန်ဖိုး၊
- ပူးတွဲပါရှိ R-ကုဒ်သည် ပထမဖြစ်သင့်သည်၊ အသုံးပြုသူဒေတာသည် R-ကုဒ်ပြီးနောက် ထွက်ပေါ်လာသည်။
- S-code သည် 'S' အက္ခရာ၏ byte တစ်ခုနှင့် S ၏ 32-byte base58-encoded value၊
- S သည် modulo ပိုင်းခြားခြင်း၏ရလဒ်ဖြစ်သောကြောင့် 256-bit pseudorandom နံပါတ်အပြည့်အစုံအဖြစ် S ကို သင်အသုံးမပြုနိုင်ပါ။
- အရိုးရှင်းဆုံးရွေးချယ်မှုမှာ S-code hash ကို pseudo-random နံပါတ်အဖြစ် အသုံးပြုရန်ဖြစ်သည်။
S-code လက်ခံခြင်း၏ ဥပမာ-
- စတင်ခြင်း-
https://wavesexplorer.com/tx/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6 - R-code ရယူခြင်း-
https://wavesexplorer.com/tx/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd - R-code လက်မှတ်ထိုးခြင်းနှင့် သုံးစွဲသူဒေတာ “ကျပန်း” ၏ရလဒ်ကို မေးမြန်းခြင်း-
https://wavesexplorer.com/tx/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz - S-ကုဒ်ကို လက်ခံနေသည်-
https://wavesexplorer.com/tx/C5VrFLQcprbA1KXAToaNvMP4Kg2rq43NkwWuADAA7wXX
နည်းပညာပိုင်းအရ ကြည့်ပါက၊ oracle သည် အလုပ်အတွက် လုံးဝအဆင်သင့်ဖြစ်ပြီ၊ သင်သည် ၎င်းကို ဘေးကင်းစွာ အသုံးပြုနိုင်သည်။ ပျမ်းမျှအသုံးပြုသူ၏အသုံးပြုမှုအမြင်အရ၊ အဆင်ပြေသောဂရပ်ဖစ်အင်တာဖေ့စ်မရှိခြင်း၊ ၎င်းကိုစောင့်ဆိုင်းရမည်ဖြစ်ပါသည်။
မေးခွန်းလေးတွေ ဖြေပြီး မှတ်ချက်တွေ လက်ခံပေးလို့ ဝမ်းသာပါတယ် ကျေးဇူးပါ။
source: www.habr.com