၎င်းသည် Cointelegraph Research မှ Bitcoin ပဋိညာဉ်များအကြောင်း နည်းပညာဆောင်းပါးစီးရီးတွင် အပိုင်း 4 ဖြစ်သည်။ ယခင်ဆောင်းပါးကိုဖတ်ရန် နှိပ်ပါ။ ဒီမှာ.
အောက်ဖော်ပြပါ ကုတ်နံပါတ်များသည် ပဋိညာဉ်လုပ်ဆောင်နိုင်စွမ်း အပြည့်အ၀ကို အမှီအခိုကင်းစွာ အကောင်အထည်မဖော်ပါ။ ယင်းအစား၊ ၎င်းတို့သည် အခြား opcodes သို့မဟုတ် script ဒြပ်စင်များနှင့် ပေါင်းစပ်သောအခါ ပဋိညာဉ်များတည်ဆောက်ရန်အတွက် အကွက်များတည်ဆောက်နေပါသည်။
OP_CHECKSIGFROMSTACK (OP_CSFS) နှင့် OP_CAT
OP_CSFS stack တွင်ပေးသော မတရားသောစာများပေါ်တွင် Bitcoin script ကိုအတည်ပြုရန်အဆိုပြုထားသော opcode တစ်ခုဖြစ်သည်။ မတူဘူး။ ON_CheckSIGအသက်ဝင်သော SIGHASH မုဒ်အရ အသုံးစရိတ်လွှဲပြောင်းမှုအပေါ် လက်မှတ်များကို အတည်ပြုသည်။ နံပါတ်စဉ်တပ်ထားသော ငွေပေးငွေယူအသေးစိတ်မှလွဲ၍ အခြားဒေတာအတွက် လက်မှတ်အတည်ပြုခြင်းကို ဖွင့်ခြင်းဖြင့်၊ OP_CSFS လက်တွေ့ကမ္ဘာဖြစ်ရပ်များကို ကိုယ်စားပြုသည့် ပြင်ပအဖွဲ့အစည်းမှ ကွင်းဆက်ပြင်ပစာတိုများကို လက်မှတ်ရေးထိုးသည့် oracle-based scripts များအပါအဝင် ကျယ်ပြန့်သောတည်ဆောက်မှုအမျိုးအစားကို ဖွင့်ပေးသည်။ ဥပမာအားဖြင့်၊ ယုံကြည်ရသော oracle သည် ပြင်ပရလဒ်များကို ကုဒ်ဝှက်ထားသော စာများပေါ်တွင် Schnorr လက်မှတ်များကို ထုတ်ဝေနိုင်ပြီး၊ OP_CSFS-based script သည် မှန်ကန်သော oracle လက်မှတ်ရှိနေခြင်းအတွက် ငွေပေးချေမှုအခြေအနေများကို ပေးနိုင်ပါသည်။
၎င်း၏ကိုယ်ပိုင်၊ OP_CSFS ပဋိညာဉ်များကို မဖော်ဆောင်ပါ။ ၎င်းသည် ပြင်ပဒေတာကို စစ်မှန်ကြောင်းသက်သေပြနိုင်သော်လည်း ၎င်းသည် အဆိုပါဒေတာကို အသုံးစရိတ်လွှဲပြောင်းမှု၏ဖွဲ့စည်းပုံနှင့် ချိတ်ဆက်ထားခြင်းမရှိပါ။ ထိုစည်းနှောင်မှု လိုအပ်သည်။ OP_CAT.
OP_CAT ကွဲပြားသော နှစ်ခုအစား တစ်ခုတည်းသော ဘိုက်အစီအစဥ်ကို ဖွဲ့စည်းရန် script stack ပေါ်ရှိ တန်ဖိုးနှစ်ခုကို ပေါင်းစပ်နိုင်စေမည့် အဆိုပြုထားသော opcode တစ်ခုဖြစ်သည်။ နှင့် ပေါင်းစပ်သောအခါ OP_CSFS၊ ၎င်းသည် script အား ရွေးချယ်ထားသော ငွေပေးငွေယူ အကွက်များကို canonical message အဖြစ် စုစည်းစေပြီး ပေးထားသော လက်မှတ်သည် ထိုမက်ဆေ့ဂျ်ကို ကျူးလွန်ကြောင်း အတည်ပြုနိုင်စေပါသည်။
OP_CSFS နှင့် OP_CAT သက်သေအစုတွင် ငွေပေးငွေယူအသေးစိတ်အချက်အလက်များကို ပေးဆောင်ရန် ငွေသုံးစွဲသူကို အတင်းအကြပ် ခိုင်းစေခြင်းဖြင့် အတူတကွ စစ်ဆေးမှုလုပ်ဆောင်နိုင်သည်။ နှစ်ခုလုံးရှိရင် OP_CSFS နှင့် ON_CheckSIG တူညီသောလက်မှတ်အတွက် အောင်မြင်သည်၊ ၎င်းသည် မှန်ကန်သော ငွေပေးငွေယူအသေးစိတ်အချက်အလက်များကို သက်သေခံအစုအဖွဲ့ထံ ပေးပို့ပြီးဖြစ်ကြောင်း သက်သေထူပြီး နောက်ထပ် ကျိုးကြောင်းဆင်ခြင်နိုင်သည်။ ကြိုတင်သတ်မှတ်ထားသော နမူနာပုံစံ၊ ပဋိညာဉ်တည်ဆောက်မှုနှင့် အလားတူသော ငွေပေးငွေယူကို စစ်ဆေးခြင်းဖြင့် OP_CTVပြဋ္ဌာန်းနိုင်သည်။ အနည်းစု စည်းဝေးပွဲနှစ်ခုက ၎င်းအလုပ်လုပ်ပုံကို ပြသသည်-
OP_CAT + muzzle လှည့်ကွက်များ
အသုံးပြုခြင်း။ OP_CATပဋိညာဉ်နှင့်တူသော တည်ဆောက်မှုများကို Taproot မပါဘဲ ကျင့်သုံးနိုင်သည်။ OP_CSFS ဘယ်လိုအသုံးချမလဲ။ Schnorr လက်မှတ်များ သတ်မှတ်ထားသော Taproot sighash စည်းမျဉ်းများနှင့် တုံ့ပြန်ပါ။ BIP ၃၄၁. ဆောက်လုပ်ရေးသည် သီးသန့်သော့တစ်ခု၏ပိုင်ဆိုင်မှုကို စစ်မှန်ကြောင်းအထောက်အထားပြရန်အတွက် OP_CHECKSIG ကို ငွေပေးငွေယူစစ်ဆေးခြင်းကိရိယာတစ်ခုအဖြစ် ပြန်လည်အသုံးပြုသည်။
schnorr လက်မှတ်သည် အတွဲ ⟨R, s⟩။ သာမန်အခြေအနေများတွင်၊ ဤ schnorr လက်မှတ်ကို လျှို့ဝှက်အမှတ်အသားတစ်ခုကို ရွေးချယ်ခြင်းဖြင့် ထုတ်လုပ်သည်။ ဋဆိုလိုရင်းက ဆင်းသက်လာသည်။ R = kGနှင့် လက်မှတ်တန်ဖိုးကို တွက်ချက်ခြင်း။ ၎ မက်ဆေ့ခ်ျ hash နှင့် private key ၏လုပ်ဆောင်ချက်တစ်ခုအနေဖြင့်။ ထို့နောက် အတည်ပြုသူသည် လက်မှတ်တွဲကို စစ်ဆေးသည်။ ⟨R၊ s⟩ အများသူငှာသော့ကိုဆန့်ကျင်သည်။ P နှင့် စာတိုကို ရေးထိုးထားသည်။ k ၏ကျပန်းကသေချာသည်။ ၎ သီးသန့်သော့ကို မသိဘဲ ကြိုတင်မှန်းဆ၍မရသော၊ ပြန်မရနိုင်ပါ။
ဥာဏ်ပညာ ဖြစ်ဖြစ်ပေါ့။ ဤကိန်းရှင်အချို့ကို ကြိုတင်ပြင်ဆင်ခြင်းဖြင့် randomness ကိုဖယ်ရှားခြင်းဖြင့်အလုပ်လုပ်သည်။ ရွေးချယ်မယ့်အစား R လက်မှတ်ထိုးနေစဉ် ကျပန်းအားဖြင့်၊ script သည် ကြိုတင်သတ်မှတ်ထားသော တန်ဖိုးတစ်ခုသို့ ကတိပြုပါသည်။ R ပုံသေအများပြည်သူသော့ဆီသို့ P. Schnorr စိစစ်ခြင်းသည် အဆုံးအဖြတ်ပေးသော ညီမျှခြင်းတစ်ခုကို လိုက်နာသောကြောင့်၊ လက်မှတ်စကေးကို ရရှိစေရန် ဤတန်ဖိုးများကို တည်ဆောက်ရန် ဖြစ်နိုင်သည်။ ၎ သတ်မှတ်ထားသော ငွေပေးငွေယူ ဘောင်များ၏ hash နှင့် ညီမျှရပါမည်။
အသုံးစရိတ်က ပေးတယ်။ R နှင့် ၎ သက်သေအကွက်ပေါ်မှာ။ OP_CAT ၎င်းတို့ကို လက်မှတ်တွဲ ⟨ တွင် ပေါင်းစပ်ပေးသည်R, sဖော်မတ်တွင် ⟩ ON_CheckSIG မျှော်လင့်သည်။ ဇာတ်ညွှန်းသည် ၎င်းကို hardcoded public key နှင့် ဆန့်ကျင်ပြီး အတည်ပြုသည်။ P. အဘယ်ကြောင့်ဆိုသော် R နှင့် P base point နဲ့ fixed လုပ်တယ်။ ဆ၊ ON_CheckSIG တွဲဖြစ်လျှင်သာ လက်ခံပါမည်။ ၎ ပရိုတိုကောကတွက်ချက်ထားသော အမှန်တကယ်ငွေပေးငွေယူဒေတာ၏ SHA256 hash နှင့် ညီမျှသည်။ အသုံးစရိတ်က တီထွင်ဖန်တီးလို့ မရဘူး။ ၎ ဖြတ်သန်းတယ်။ ON_CheckSIG အစစ်အမှန်ငွေပေးငွေယူဒေတာကို အမှန်တကယ်ထင်ဟပ်ခြင်းမရှိပါက။ အကြမ်းဖျင်းအားဖြင့် ပျမ်းမျှအားဖြင့် 256 ကြိမ်ကြိုးစားပြီး နည်းပါးသောကုန်ကျစရိတ်ကို ထပ်လောင်းပေးသော SHA256 hash သည် သီးခြားဘိုက်တစ်ခုတွင် ကုန်ဆုံးသည်အထိ အသုံးစရိတ်သုံးစွဲသူသည် ငွေပေးငွေယူဒေတာကို ကြိတ်ချေရပါမည်။
ဒီလိုမျိုး, ON_CheckSIG လျှို့ဝှက်သီးသန့်သော့၏ ပိုင်ဆိုင်မှုကို စစ်မှန်ကြောင်းအထောက်အထားပြရန် အသုံးမပြုတော့ဘဲ ငွေပေးငွေယူသည် သတ်သတ်မှတ်မှတ်ပုံစံပလိတ်တစ်ခုနှင့် ကိုက်ညီမှုရှိမရှိကို အတည်ပြုရန်အတွက် အသုံးမပြုတော့ပါ။ ဖော်ပြနိုင်စွမ်းသည် ကျယ်ပြန့်စွာ နှိုင်းယှဉ်နိုင်သည်။ OP_CTV.
ဤချဉ်းကပ်မှုသည် Schnorr လက်မှတ်များနှင့် taproot sighash algorithm ပေါ်တွင်မူတည်သောကြောင့် ၎င်းနှင့်သာ သက်ဆိုင်ပါသည်။ SegWit v1 အထွက်များ နှင့် SegWit v0 အထွက်များအထိ မချဲ့ပါ။ BIP-143 digest နှင့် ECDSA လက်မှတ်များကို အသုံးပြုသည်။
ကျွန်ုပ်တို့၏ နောက်ဆောင်းပါးတွင် ကျွန်ုပ်တို့၏ ဆွေးနွေးချက်ကို စတင်ပါမည်။ OP_CCVထက်တောင် ပိုစွမ်းပါတယ်။ OP_CSFS နှင့် OP_CAT ပေါင်းစပ်။