Bitcoin အကြောင်း (Part 1)

(Public Key Cryptography အကြောင်းမဖတ်ရသေးဘဲ ဒါကို မဖတ်သင့်ပါဘူး၊
အဲ့ဒီ Article မှာရေးထားတဲ့အချက်တွေထဲက အနည်းအကျဉ်းပဲ ဒီမှာပြန်ရှင်းပြတော့မှာပါ)

Bitcoin က Digital Currency (လေလှိုင်းပေါ်ကငွေကြေး) တစ်ခု ဆိုတာတော့ လူတိုင်းသိကြမှာပါ။
ဒါပေမယ့် ထူးခြားတာက သူ့ကိုထိန်းချုပ်တဲ့ အစိုးရမရှိသလို၊ ဘဏ်တွေမှာလည်း Account သွားဖွင့်စရာမလိုပါဘူး
အဲ့ဒါဆို ဘယ်သူက တီထွင်ထားတာလဲဆိုတာမေးစရာ ရှိလာပါတယ်။ (စိတ်ချရရဲ့လားပေါ့)
ဆိုတော့… ဘယ်သူတီထွင်ထားလဲဆိုတာကို သေသေချာချာမသိကြပါဘူး။

ဗဟိုထိန်းချုပ်မှု

Cryptography နည်းကိုသုံးထားတဲ့အတွက် Cryptocurrency လို့ခေါ်ပါတယ်။
Cryptography ဆိုတာ ကိုယ့်ရဲ့ information တွေကို မသက်ဆိုင်တဲ့လူတစ်ယောက် ကြားဝင်ရယူမသွားနိုင်ဘဲ ကိုယ်ရည်ရွယ်တဲ့လူဆီကို တိုက်ရိုက်ရောက်အောင် ကာကွယ်ပေးထားတဲ့နည်းပါ။
(သေချာသိချင်ရင် “အင်တာနက်ပေါ်မှာ လျှို့ဝှက်ဆက်သွယ်ခြင်းနည်းနာများ” ဆိုတာကိုတင်ပေးထားပါတယ်၊ ဖတ်ကြည့်ပေးပါ)

https://ouo.io/ouheba (Part 1)

https://ouo.io/H09gObh (Part 2)

Bitcoin တစ်မျိုးတည်းမဟုတ်ဘဲ အခြား Cryptocurrency တွေလည်း အများကြီးရှိပါတယ်။

Cryptocurrency သုံးမယ်ဆိုရင် သူဘယ်လိုအလုပ်လုပ်လဲသိစရာ မလိုပါဘူး။
ဒီအတိုင်းသုံးလို့ရပါတယ်။

ကျွန်တော်တို့ ATM card တွေသုံးတဲ့အခါ သူတို့ဘယ်လိုအလုပ်လုပ်နေလဲ သိစရာမလိုသလိုပါပဲ။
(ဒါပေမယ့် အစိုးရက ထိန်းချုပ်ထားလို့ Trust ရှိတဲ့အတွက် မသိချင်ရင် မသိလို့ရပါတယ်)
Cryptocurrency မှာ ထိန်းချုပ်ထားတဲ့လူမရှိတော့ ဘယ်လိုအလုပ်လုပ်သလဲဆိုတာ သိထားသင့်ပါတယ်။
ဒါမှ ယုံလို့ရမရ ကိုယ့်ဘာသာတွက်ဆနိုင်မှာပါ။

ဥပမာနဲ့ပြောချင်ပါတယ်။
သူငယ်ချင်း ၄ ယောက်ရှိတယ်။ A, B, C, D ဆိုပါစို့။
အမြဲအတူတူ သွားကြလာကြ၊ စားကြသောက်ကြဆိုတော့ တစ်ယောက်နဲ့တစ်ယောက် ပေးစရာအကြွေးတွေရှိကြတယ်။
A က B ကိုပေးစရာရှိတယ်၊ B က C အပေါ်မှာ အကြွေးတင်နေတယ်၊ C က D ဆီကချေးထားတာ ပြန်ဆပ်ရဦးမယ်၊ D ကလည်း A ပေါ်မှာ အကြွေးကျန်ရှိတယ်။
အချင်းချင်း Cash နဲ့ပေးနေရင် ခရီးမတွင်ဘူး။ အလုပ်လည်းရှုပ်တယ်။

အဲ့ဒီတော့ ဘာလုပ်သလဲဆို စာအုပ်တစ်အုပ်ထဲမှာ ပေးစရာရှိတာတွေကို ချရေးလိုက်တာပေါ့။
A က B ကို ၁ သောင်းပေးတယ်၊ B က C ကို ၅ ထောင်ပေးတယ်… စသဖြင့်ပေါ့။ (တကယ်မပေးသေးဘူး၊ ပေးဖို့ရည်ရွယ်ထားတာကို ချရေးထားတာပါ)

အဲ့ဒီစာအုပ်ကို ၄ ယောက်လုံး ဘယ်သူမှ ကိုင်မထားသင့်ဘူး။ (ယုံကြည်မှုအရပေါ့)
စာအုပ်ကို ဘယ်မှာထားမလဲဆိုတော့ Internet ပေါ်က Website တစ်ခုမှာ တင်ထားလိုက်တာ အန္တရာယ်ကင်းတာပေါ့။
အဲ့ဒီအတွက် လူတိုင်း ဝင်ပြီး ကြည့်လို့ရတယ်။

လူတိုင်းလည်း ဝင်ပါလို့ရတယ်။
ရှေ့က သူငယ်ချင်း ၄ယောက်ရဲ့ အသိ E နဲ့ F က ဝင်ပါချင်တယ်ဆိုပါတော့။ ဘယ်လိုပါမလဲဆိုရင် သူတို့အချင်းချင်းပေးရမယ့်ငွေကို စာအုပ်ထဲမှာ ရေးလိုက်ရုံပါပဲ။
E က F ကို ၁ သောင်းပေးတယ်… ဆိုတာမျိုးပေါ့။

လကုန်တဲ့အခါ စာရင်းပြန်တွက်ပြီး ကိုယ်သုံးထားတာက ရမှာထက်ပိုနေရင် ငွေပေးရတယ်။
ရမှာကပိုနေရင်တော့ ငွေပြန်ရမှာပေါ့။ (ဘယ်ကရမလဲဆိုရင် သုံးတာက ရမှာထက်ပိုနေတဲ့သူရဲ့ ပိုက်ဆံကို ရမှာပါ။)

ဒါပေမယ့် ပြဿနာရှိနေတာက လူတိုင်းသူတို့ရေးချင်တာရေးလို့ရနေတာပဲ
ဥပမာ A က B ကို ၁သောင်းပေးရမယ့်အစား B က A ကို၁သောင်းပေးတယ်လို့ A က လိမ်ရေးလိုက်ရင် ဇာတ်လမ်းစရှုပ်ပြီ…

ဒီနေရာမှာ Digital Signature ဆိုတာ အရေးပါလာပါတယ်။ (Digital Signature အကြောင်းကိုလည်း ဖတ်ဖို့ တင်ပေးထားပါတယ်)
A က B ကို ၁သောင်းပေးတယ်ဆိုရင် A ရဲ့ Digital Signature ပါရမယ်

Illustration of Digital Signature

Digital Signature ဆိုတာ ကွန်ပြူတာကနားလည်တဲ့ 0,1 တွေပါပဲ။
ဆိုတော့… စာလုံးတွေတောင် CTRL+C နဲ့ copy ကူးနေကြတာ သူ့ကိုရော copy ကူးလို့မရနိုင်ဘူးလား။

သူ့မှာ Public Key (ကိုယ်နဲ့ဆက်သွယ်ချင်တဲ့သူကသိ) နဲ့ Private Key (ကိုယ်တစ်ယောက်တည်းသိ) ၂မျိုးရှိပါတယ်။
Digital Signature က ကိုယ်ရေးတဲ့ Message နဲ့ ကိုယ်တစ်ယောက်ပဲသိတဲ့ Private Key ပေါ်မူတည်ပြီး တစ်ခါနဲ့တစ်ခါ မတူပါဘူး။
ဥပမာ A က B ကို ၁သောင်းပေးတယ်ဆိုရင် A ရဲ့ Signature က တစ်မျိုးဖြစ်မယ်၊
A က B ကို ၅ထောင်ပေးတယ်ဆိုရင် A ရဲ့ Signature က တစ်မျိုးဖြစ်မယ်။
ဆိုတော့… တစ်ခါရေးရင် Signature တစ်မျိုးပြောင်းနေတဲ့အတွက် လွယ်လွယ်နဲ့ Copy လိမ်လို့မရပါဘူး။

အဲ့ဒါတော့ ဟုတ်ပါပြီ၊ A ရဲ့ Signature ဟုတ်ကြောင်း တစ်ဖက်လူက ဘယ်လိုစစ်ဆေး (Verify) လုပ်မလဲဆိုတာ မေးစရာရှိလာပါတယ်။
ဒီအတွက် A ရဲ့ Public Key ကိုသုံးပါတယ်
Public Key က A ရဲ့ကိုယ်ပိုင် Private Key ကိုသုံးပြီး ရလာတဲ့ Signature ဟုတ်မဟုတ် ပြန်ပြီးချိန်ကိုက်နိုင်ပါတယ်။

လွယ်လွယ်ပြောရရင် Private Key ကိုမသိဘဲ ကိုယ့်ရဲ့ Signature ကို တစ်ဖက်လူလုံးဝမသိနိုင်ပါဘူး။ (မှန်းဆဖို့ဘယ်လောက်ခက်လဲဆိုရင် ကိုယ်တစ်ခါရေးလိုက်တိုင်း ဖြစ်နိုင်တဲ့ Signature အရေအတွက်သည် 2256 ရှိပါတယ်)

ဒီမှာ ဟာကွက်ကြီး (Loophole) တစ်ခုရှိနေပါတယ်
ကိုယ်ရေးတဲ့စာနဲ့ကိုယ့်ရဲ့ Private Key ကြောင့် ကိုယ့်ရဲ့ Signature တစ်ခုရလာတာတော့ ဟုတ်ပါပြီ။

တစ်ဖက်လူက အဲဲ့ဒီ စာကို နောက်တစ်ခါ Copy ကူးပြီး စာအုပ်ထဲမှာ ရေးလို့မရဘူးလား။
ဥပမာ A က B ကို ၁သောင်းပေးတယ် (Signature of A) ကို နောက်တစ်ခါ Copy ကူးပြီး စာအုပ်ထဲမှာ ထပ်ရေးတာကိုပြောတာပါ။
အဲ့ဒါဆိုရင် A ရဲ့ Signature ကို B က ခန့်မှန်းစရာမလိုတော့ဘဲ ၁သောင်းအချောင်ရပြီပေါ့… လို့ထင်စရာရှိပါတယ်။

ဒါပေမယ့် (ခပ်လွယ်လွယ်ပြောရရင်) အဲ့လို ပုံစံတူ Message တွေဖြစ်လာရင် ID တွေကွဲအောင်လုပ်ထားပါတယ်။ အဲ့ဒီအတွက် Signature လည်း ပုံစံပြောင်းသွားပါတယ်။
B က ၁သောင်းလိုချင်လို့ Copy, Paste လုပ်လည်း A ရဲ့ Signature က စာအုပ်ထဲမှာ သွားတူနေလို့ Valid ဖြစ်မှာမဟုတ်ပါဘူး။ (Signature ၂ခုတူနေစရာ အကြောင်းကိုမရှိလို့ပါ)

စာကတော်တော်ရှည်နေပြီမို့ Part 2 မှာဆက်ဖတ်ပေးပါ။
ခုထိလိုရင်းမရောက်သေးပါဘူး။

SAGAN

အသိအမြင်၊ အတွေးအခေါ် အသစ်တစ်ခုခုရသွားလို့ လှူဒါန်းလိုပါက Science Nuts (Facebook Page) ကို ဆက်သွယ်လှူဒါန်းနိုင်ပါတယ်။
လှူသမျှငွေအကုန်လုံးကို လိုအပ်တဲ့နေရာတွေမှာ ပြန်လည်လှူဒါန်းပေးသွားမှာပါ။

2 thoughts on “Bitcoin အကြောင်း (Part 1)

  1. ဘစ်ကွိုင်တို့ ခရပ်တို တို့ကလည်း တနေ့နေ့ ဖြစ်လာမှာ ဆိုတော့ နားလည်းထားသင့်တယ် ဖတ်၇တာ ကျေးဇူးပါ

    Like

Leave a comment

Design a site like this with WordPress.com
Get started