Mar 12, 2024

Блокчэйн гэж юу вэ?

Блокчэйны талаар суралцацгаая

Ankhbayasgalan
by Ankhbayasgalan
Блокчэйн гэж юу вэ?

World Wide Web буюу WWW нь анх гарч ирснээсээ хойш 2 хувилбар гараад одоо 3-дах хувилбар луугаа шилжиж байна гэж зарим хүмүүс үздэг.

  • Вэб 1.0 нь статик : Зөвхөн мэдээлэл харах
  • Вэб 2.0 нь динамик : Интерактив буюу үйлдэл хийх
  • Вэб 3.0 нь тархмал : Хиймэл оюун ухаан болон тархсан P2P голлосон

Үүлэн технологи нь хэдий тоног төхөөрөмжийн хувьд “decentralized” гэж болох ч эсрэгээрээ аппликэйшн түвшинд (Facebook, Google, Twitter …) төвлөрлийг үүсгээд байгаа нь одоо Блокчэйн болон Тархсан бүртгэлийн технологийн (цаашид DLT — Distributed Ledger Technology гэх) ачаар өөрчлөгдөх талруугаа хандаад байгааг нь Вэб 3.0 үндсэн шинжүүдийн нэг гэж тодорхойлоод байна.

Византын генералуудын түүх (1982)

Блокчэйнийг тайлбарлах хамгийн энгийн арга нь 👆👆👆 түүхийг жишээ татах байдаг. Урт түүхийг нь өөрсдөө дэлгэрүүлэн уншина биз. Товчоор бол

  1. Нэг армийн тархан байрласан хэдэн хэсгүүд нэг хотыг эзлэх зорилготой.
  2. Бүгдээрээ дайрах эсвэл бүгдээрээ ухрах гэсэн хоёрхон л сонголттой. Үгүй бол ялагдана.
  3. Хоорондоо элчээр мэдээллээ дамжуулна.
  4. Зарим генерал эсвэл элч нь урвагч байх магадлалтай тул тэд нараас үл хамааран хэрхэн ЯЛАЛТ-анд хүрэх вэ?

Attack or Retreat (but in UNION)

Хариулт нь : Зөвшилцлийн алгоритм (Consensus Algorithm)

Блокчэйн гэж юу вэ? (Blockchain)

Энгийн үгээр Блокчэйн гэдэг нь өгөгдлийг тархмал байдлаар хадгалсан, хуучин өгөгдлийг өөрчлөхгүйгээр зөвхөн нэмэх боломжтой технологи.

Блокчэйн : Decentralization & Privacy & Immutability

Блокчэйн нь дараах чанаруудыг агуулж байдаг.

History (Bitcoin is a Blockchain, but Blockchain is NOT Bitcoin)

Эхний хэсгээс таныг яагаад хүмүүс “Блокчэйн”-ийг сонирхоод байгаа талаар ойлголттой болсон гэж бодож байна. Одоо харин Блокчэйний дотоод техникийн талаас юу юу байдаг, яаж ажилладгийг нь сонирхоцгооё.

Блокчэйн дотроо :\

  1. Peer to Peer (P2P)\
  2. Hashing (SHA-256)\
  3. Transaction (TX)\
  4. Block (Hash + Data)\
  • Nonce (Number only used once)\
  • Merkle Tree + Merkle Root\
  1. Blockchain (Genesis Block 0 🔗 Block 1 🔗 Block 2 🔗 Block 3)\
  2. Consensus Algorithm (PoW, PoS, DPoS, PBFT, SBFT, PoA, PoET etc…)\
  3. Smart Contract (Pre-set condition triggered execution)

гэсэн зүйлсийг агуулах бөгөөд нэг нэгээр нь товч тайлбарлана.

1. Peer-to-Peer (P2P)

Төвлөрсөн нэг серверт холбогдон мэдээлэл авахаас илүү бусад зангилаа (node) руу шууд холбогдохыг P2P гэж нэрлээд байгаа.

  • Тархмал (Distributed)
    Энэ чанарыг нь ашиглан Блокчэйн технологи нь өгөгдлийг нэг цэгт биш бүх зангилаа болгонд хадгалсан, аюул багатай найдвартай сүлжээг үүсгэдэг.
  • Тогтмол ажиллагаа - No single point of failure (No SPoF)
    Маш олон компьютер интернетээр дамжуулж нэг сүлжээ болох бөгөөд аль нэг компьютерыг сүлжээнээс салгалаа гэхэд сүлжээнд огт нөлөөлөхгүй.

YouTube — Тайлбар бичлэг

P2P сүлжээний хамгийн алдартай нь : Napster & BitTorrent

2. Hashing

Ямар нэг өгөгдлийг авч Хаш алгоримийг ашиглан үр дүн гаргахыг Hashing гэж нэрлэдэг. Secure Hashing Algorithm - SHA-256-г турших

  • Оруулж байгаа өгөгдлийн хэмжээ нөлөөлөхгүй (any length)
  • Гарч буй үр дүн тодорхой урттай (fixed-length)
  • Өгөгдөлд нэг бит л өөрчлөгдөхөд үр дүн ч бас өөрчлөгдөнө
  • Үр дүнгээс оруулсан өгөгдлийг хөөж олох нь бараг л боломжгүй (reverse)

YouTube — Тайлбар бичлэг

Түгээмэл хэрэглэгддэг Хаш алгоритм : MD-5, SHA-256

3. Transaction (TX)

Блокчэйн сүлжээ дотор хүмүүсийн гол хийж буй үйлдэл нь Гүйлгээ (Transaction - TX) хийх байдаг. Гүйлгээ хийхийн тулд эхлээд өөрийн цахим гарын үсгийг ашиглан Нууц түлхүүр (Private-key)-ээр түгжин илгээх бөгөөд Ил түлхүүр (Public-key)-ээр нь хуурамч эсэхийг хэн дуртай нь шалгах боломжтой. Гүйлгээ нь

  • Өгөгдлийн бүрэн бүтэн байдал (Integrity)
  • Хэн илгээсэн нь баталгаажуулах (Authenticity)
  • Өгөгдөл эсвэл Ил түлхүүрээс нь Нууц түлхүүрийг олох боломжгүй

гэсэн чанаруудыг агуулж байдаг.

YouTube — Тайлбар бичлэг

Блокчэйн технологи нь Хаш алгоритм болон Цахим гарын үсгийг хослуулан ашигладаг.

4. Block

Блок нь Гүйлгээнүүдийг багц багцаар нь нэгтгэсэн өгөгдөл дээр Санамсаргүй тоо (Nonce)-г нэмэн хашийг нь тооцоолон хадгалдаг. Блок нь

  • Өмнөх блокийн хаш (Previous block hash)
  • Өөрийнхөө хаш (Current block hash)
  • Санамсаргүй тоо (Nonce - Number only used once)
  • Блокын өндөр буюу дугаар (Height or Index)
  • Огноо (Timestamp)
  • Нэмэлт өгөгдөл (Data -> TXs, Merkle Root, Memo etc…)

өөртөө агуулна.

Блок угсрах (TX pool -> TXs -> Compute Hash -> Insert into Block)

Блокын талаар нэмэлт мэдээлэл : 📝📝📝

- Хадгалах өгөгдөл : ямар ч төрлийн өгөгдөл байж болно.
- Хэмжээ : Тогтсон хэмжээ гэж байхгүй боловч их хэмжээний өгөгдөл хадгалах нь тохиромжтой биш.
- Хашийн шалгуур : Дараалсан X тэмдэгт. Байрлал нь хаана ч байх боломжтой. Зөвхөн эхлэл биш. Дараалсан тэмдэгтийн тоо олон болох тусам тооцоолохд хэцүү болдог.
- Merkle Tree : Мод хэлбэртэй Хашуудын мэдээллийг хадгалсан бүтэц. O(log(N)) хурдаар модны салаа (Branch) болон навчнуудыг (Leaf) маш хурдан шалгах боломжтой.

Merkle Tree -> Root -> Branches -> Leaves

5. Blockchain

👆👆👆 дээр гарсан Блокуудыг холбосныг нь Блокчэйн гээд байгаа юм. Блок 🔗 Блок 🔗 Блок буюу гинжин холбоосоор холбодог. Нэгэнт блок холбогдсон л бол та Блок 10 доторх өгөгдөлд өөрчлөлт оруулахад Блок 11, Блок 12 хоёулаа дахин Хашийг нь бодох ёстой болдог. Энэ нь блокчэйнийг найдвартай, үл өөрчлөгдөх (Immutability) байдлыг хангахад чухал үүрэгтэй.

Блокчэйний бүтэц - холбоос

Блокчэйн : Genesis буюу Анхны Блок 0-оос эхлэн Блок 1, Блок 2, Блок 3 гэх мэт үргэлжилсэн гинжин холбоос үүсгэдэг.

6. Consensus Algorithm

Блокчэйний хамгийн чухал, хувьсгал хийсэн зүйл нь. Зөвшилцлийн Алгоритм нь сүлжээнд шинээр гүйлгээг нэмэхээс өмнө баталгаажуулж, “бүгдээрээ” хүлээн зөвшөөрөх процессийг хэлдэг.

  • Блокчэйнийг шинэчлэх
  • Аль нэг зангилаа (node) сүлжээг удирдах, хуурамч мэдээлэл оруулахаас сэргийлэх

гэсэн үндсэн хоёр үүрэгтэй.

Зөвшилцлийн Алгоритм

Хамгийн анхны Зөвшилцлийн Алгоритм нь Proof of Work (PoW) бөгөөд өөр Proof of Stake (PoS), Delegated Proof of Stake (DPoS), Practical Byzantine Fault Tolerance (PBFT), Simplified Byzantine Fault Tolerance (SBFT), Proof of Authority (PoA), Proof of Elapsed Time (PoET) гэх мэт олон төрөл байдаг.

Mining vs Minting (+Voting)

Хэдий Зөвшилцлийн Алгоритм нь сүлжээний аюулгүй байдлыг хангахад чухал үүрэгтэй ч 51% attack, Sybil Attacks, Block withholding гэх мэт эрсдэлүүд, зарим блокчэйн сүлжээний хувьд гүйлгээний хурд удаан (TPS), тэлэх боломж ярвигтай (Scalability) гэх мэт асуудлууд байгаа.

7. Smart Contract

Анх 1996 онд Nick Szabo гэдэг нөхөр Ухаалаг гэрээний санааг нь гаргаж ирсэн юм байна лээ. Гол санаа нь хүнээс хамааралгүйгээр урьдчилан тодорхойлсон ямар нэг нөхцөлийн биелэх үед автоматаар үйлдэл хийгдэнэ.

  • Хийгдсэн үйлдэл/гүйлгээ нь олон нийтэд ил байх ч, хэн хийсэн бэ гэдэг нь нууц байж болдог.
  • Сүлжээний бүх зангилаанууд Ухаалаг гэрээг ажиллуулдаг.
  • Цаг хугацаа хэмнэхээс гадна гарч болох олон асуудлыг шийдэх боломжтой. (3-дагч этгээдийг оролцоо хэрэггүй)

Ухаалаг гэрээ : жишээ

Блокчэйн хэрхэн ажилладаг вэ?

Дээрх бичлэгийг үзээд яаж ажилладгийг нь ойлгосон байх.\

  • Хүүгийн захидал : Гүйлгээ (Transaction)\
  • Аав : Зангилаа (Node - Bad actor)
  1. Гүйлгээг үүсгэж илгээнэ (TX sign with Private key & Send to nodes)
  2. Гүйлгээг баталгаажуулан Блок угсарна (Verify & Compute hash)
  3. Бусад зангилаанууд руу илгээнэ (Broadcast to all nodes)
  4. Блокчэйнд шинээр блок холбоно (Append blockchain)

Үр дүнд нь гүйлгээ баталгаажиж үүрд мөнх блокчэйн дээр хадгалагдана. 😋

Гүйлгээ хийх : Sign & Validate & Insert into block & Broadcast & Confirm

Хэрэглээ : Бараг л бүх салбарт

  • Аудит (Хурдан шалгах & Эхлэлээс төгсгөл хүртэлх түүх)
  • Мэдээллийн аюулгүй байдал (Хэн хандаж болох & хандсан түүх)
  • Интернет худалдаа (Крипто валют)
  • Бичиг баримтын менежмент (Өөрийн мэдээллийг удирдах & хуваалцах)
  • Зүйлсийн интернет : IoT (Бодит агшин дах хяналт)
  • Нийлүүлэлтийн менежмент (А-аас Я хүртэлх бүх шат)