Blockchain: From Past to Present จากอดีตจนถึงปัจจุบัน

Supakorn Kanjanakaroon
KBTG Life
Published in
4 min readAug 9, 2022

ในโลกการเงินทุกวันนี้ การค้าขายออนไลน์แบบข้ามประเทศเป็นอีกเรื่องหนึ่งที่สำคัญและกำลังมีแนวโน้มเติบโตขึ้นเรื่อยๆในหลายประเทศ แต่เบื้องหลังการค้าขายแบบออนไลน์นั้น ผู้ซื้อและผู้ขายจำเป็นต้องอาศัยตัวกลางในการทำธุรกรรม ไม่ว่าจะเป็นสถาบันการเงินหรือสตาร์ทอัพต่างๆ โดยผู้พัฒนาแพลตฟอร์มก็พยายามปรับปรุงให้มีความสะดวกรวดเร็วขึ้น อย่างไรก็ตามการโอนเงินหรือการชำระค่าบริการยังต้องอาศัยสถาบันการเงินต้นทางของแต่ละประเทศในการพัฒนาแพลตฟอร์มของตนเองให้เชื่อมต่อกับ API ตัวกลางการเงินในประเทศต่างๆ ยกตัวอย่าง Online Payment ของจีน เช่น Alipay API

รูปที่ 1: แสดงมาตรฐาน Alipay API

จากรูปจะเห็นว่ากระบวนการดังกล่าวมีทั้งขั้นตอนการพัฒนา การทดสอบระบบ Message Format และการคิดค่าธรรมเนียม (Transaction Fee) ซึ่งนี่เป็นแค่ตัวอย่างความยาก (Pain) อย่างหนึ่งสำหรับการเชื่อม API กับผู้ให้บริการรายเดียว ดังนั้นการเชื่อมต่อ API ของตนเองเข้ากับทุกประเทศทั่วโลกคงเป็นเรื่องที่ยากมากและใช้เงินลงทุนสูง หากเราลองพิจารณาอีกระบบหนึ่ง ซึ่งเสนอให้ใช้ Digital Currency แทนระบบ Currency ปัจจุบัน พร้อมใช้ระบบ Distributed Computing System ทำหน้าที่ประมวลผล Transaction แทนสถาบันการเงิน เท่านี้ระบบก็จะมีความสามารถในการรองรับการจ่ายเงินได้ทั้งโลก (Global Payment Platform) โดยที่ในตัวระบบมีการเสนอวิธีการป้องกันการเกิด Fraud Transaction และมีความยากในการที่จะถูกโจมตีโดยผู้ไม่หวังดี

เทคโนโลยีที่อยู่เบื้องหลังความสามารถทั้งหมดนี้คือ Blockchain นั่นเอง

เมื่อพูดถึงจุดเริ่มต้น ขอย้อนกลับไปในปี 2008 มีกลุ่มคนที่ใช้นามแฝงว่า Satoshi Nakamoto ได้จัดตั้งเว็บไซต์ในชื่อว่า bitcoin.org และทำการเผยแพร่เอกสารงานวิจัยในชื่อเรื่อง “Bitcoin: A Peer-to-Peer Electronic Cash System” โดยมีวัตถุประสงค์เพื่อนำเสนอระบบการชำระเงินออนไลน์แบบใหม่ที่กำหนด Chain ของ Digital Signature มาเป็นสินทรัพย์ของผู้ถือครอง และใช้ Proof-of-Work Algorithm ในการ Verify Transaction ซึ่งจะนำเสนอรายละเอียดในลำดับถัดไป

ก่อนที่จะเข้าสู่เนื้อหาของ Blockchain ขอทบทวนระบบการชำระเงินออนไลน์แบบอาศัยตัวกลาง (Centralized System) ในปัจจุบันที่เราคุ้นเคยกันดีก่อน เพื่อให้ผู้อ่านเห็นภาพความแตกต่าง

รูปที่ 2: ระบบการโอนเงินแบบอาศัยตัวกลาง Centralized System

ระบบนี้เริ่มต้นจากที่ผู้ Request ส่งคำสั่งไปที่ธนาคารผู้ Request จากนั้นธนาคารจะส่งคำสั่งไปใน PromptPay Network (ITMX) ซึ่งเป็นตัวเชื่อม ต่อไปยังธนาคารผู้โอนและผู้โอนปลายทางตามลำดับ ข้อสังเกตุ ระบบนี้ผู้ Request และผู้โอนจะต้องมีธนาคารเป็นตัวกลางเพื่อทำการโอนเงินระหว่างกันได้

รูปที่ 3: ระบบการโอนเงินแบบ Peer to Peer โดยใช้ Computing System แบบกระจายศูนย์ Decentralized System

เปรียบเทียบกับอีกระบบหนึ่งที่นำเสนอโดยกลุ่มของ Satoshi จะเห็นว่า Request Transaction จาก User A ที่อยู่ในรูปแบบ Data Block จะถูกกระจายเข้าไปใน Computing System ที่อยู่ในระบบ Network เพื่อทำการ Verify Transaction หลังจาก Transaction นั้นๆ ถูกตรวจสอบว่าถูกต้อง Node Validator ก็จะออก New Block ให้กับ User B และเชื่อมโยง New Block เข้ากับ Old Block ของ User A

อนึ่ง เนื่องจากระบบ Blockchain เป็นการเรียงข้อมูล Digital Signature ต่อกันเป็น Chain ดังนั้นการที่ระบบจะเริ่มต้นทำงานได้จะต้องมี Block เริ่มต้น หรือ Genesis Block เกิดขึ้นมาก่อน ซึ่งแสดงรายละเอียดดังในรูปที่ 4

รูปที่ 4: แสดงตัวอย่างข้อมูลค่า Hash จาก Block#0 หรือ Genesis Block

มาต่อกันที่ Transaction Data การโอน Bitcoin ระหว่าง User A และ User B ในรูปที่ 3 จะมีกระบวนทำงาน ดังนี้

  • ผู้โอน User A ใช้กุญแจส่วนตัวที่ 1 (Owner 1’s Private Key) ทำการ Sign Transaction โดยใช้ข้อมูล Hash ของ Previous Transaction บวกกับ Public Key ของ User B ผู้รับโอนปลายทาง (Owner 2’s Public Key) และเพิ่มข้อมูลนี้ลงไปใน Transaction
  • ผู้รับโอน User B สามารถใช้กุญแจสาธารณะของ User A (Owner 1’s Public Key) ในการ Verify ความเป็นเจ้าของ Chain นี้ได้
รูปที่ 5: แสดงรูปแบบกระบวนการจัดการ Transaction ระหว่าง P2P

อย่างไรก็ตามด้วยกระบวนการนี้ ผู้รับโอน User B จะไม่สามารถตรวจสอบได้ว่า User A ได้ทำการ Fraud มาก่อนรึเปล่า (Double-Spend Transaction) วิธีการแก้ไขคือเพิ่ม Node Validator เข้าไปในเครือข่ายหรือเรียกว่า Mint เพื่อใช้ในการตรวจสอบการทำธุรกรรมว่ามี Double-Spend หรือไม่ โดยผู้ใช้งาน User A จะต้อง Submit Transaction ไปให้ Node Validator เพื่อตรวจสอบ เมื่อการตรวจสอบเสร็จสิ้น Node Validator จะเพิ่มข้อมูลของ Block ลงไปใน Chain และส่งค่า Block ใหม่กลับไปให้ User B ทั้งนี้ Node Validator จะต้องเป็นที่น่าเชื่อถือได้

เราสามารถจำลองการป้องกัน Attacker และกระบวนการเกิด Double-Spend Coin บน Blockchain Demo ได้ดังตัวอย่างต่อไปนี้

  • การป้องกัน Attacker Block#0 หรือ Genesis Block มีค่า Hash เป็น 000e97b37e1cef759d7c32d75a2c421709d204e93c0f4dec6c7cf09f0d0068b4 และ Prev Hash 0 ขณะที่ข้อมูลใน Block#1 จะมี Prev Hash 000e97b37e1cef759d7c32d75a2c421709d204e93c0f4dec6c7cf09f0d0068b4 ซึ่งตรงกันกับ Genesis Block ในกรณีนี้จะเรียกว่า Valid Block ในทางตรงกันข้าม หากมี Attacker เข้ามาแก้ไข Data ที่ Genesis Block ค่า Hash ที่ได้จะเปลี่ยนไปทันที ส่งผลให้ข้อมูลที่อยู่บน Chain นั้นๆ ไม่มีความน่าเชื่อถืออีกต่อไป
  • การเกิด Double-Spend Coin หากนำข้อมูล Block#0 มา Sign ใหม่เป็นค่า 000afb288a9ee071cb9ee8d4cd0331ad0e9f7d0685f58dc96bb723ad7ac0cf55 ้ระบบจะเกิดความสับสนเนื่องจากมีค่า Hash สองค่าที่ต่างกันและไม่รู้ว่าจะเชื่ออันไหน เพื่อแก้ไขปัญหานี้กลุ่มของ Satoshi ได้นำเสนอให้เพิ่ม Timestamp Server
รูปที่ 6: แสดงตัวอย่างข้อมูล Blockchain แบบ Valid Block
รูปที่ 7: แสดงตัวอย่างข้อมูลค่า Hash จาก Block#0 ที่โดนแก้ไข Data ส่งผลให้มีค่า Hash เปลี่ยนไปทำให้ Block#1 เป็น Invalid Block
รูปที่ 8: แสดงตัวอย่างข้อมูลค่า Hash จาก Block#0 ที่มีการทำ Transaction Signing อีกครั้ง

Timestamp Server เป็นสิ่งที่ช่วยแก้ไขปัญหา Double-Spend Coin โดยทำการ Hash ข้อมูลของ Block เป็น Timestamped และมีค่า Hash Timestamp ของ Block ก่อนหน้ามาร้อยเรียงต่อกันเป็น Chain เหมือนเดิม ซึ่งค่า Hash ที่ได้จะ Publish ลงไปใน Network จากนั้น Node Validator จะทำการตรวจสอบด้วยกลไก Proof-of-Work โดยทำการหาค่า Hash ด้วย SHA-256 ตามกลไก Cost-Function ของ Adam Back’s Hashcash ค่า Hash จะมีจำนวนเลข 0 ซ้ำกันนำหน้า Bit หากมี 0 จำนวนซ้ำกันมากเท่าไหร่ ก็จะช่วยให้ Network ปลอดภัยจาก Attacker มากยิ่งขึ้น เนื่องจากต้องใช้ Computing Power มากขึ้น

รูปที่ 9: แสดงกลไก Proof-of-Work

สำหรับค่าความยากในการหาค่า Hash ของ Bitcoin Block จากจุดเริ่มต้นถึงปัจจุบัน สามารถดูจากกราฟด้านล่างนี้ได้เลย

รูปที่ 10: แสดงค่าความยากในการหาค่า Hash ของ Bitcoin Block

จากการที่ระบบ Blockchain ต้องพึ่งพา Node ต่างๆ บน Network ในการ Proof-of-Work Transactions ซึ่งเสียทั้งค่า CPU Time ค่าไฟ และค่า Network Bandwidth ระบบจึงได้มีการแจก Bitcoin เป็นรางวัลให้กับ Node Validator เพื่อสนับสนุนการ Verify Transaction ทั้งนี้ได้มีการตั้ง Supply Limit ของรางวัลนี้ไว้ที่ 21 ล้าน Bitcoin และมีกลไกลดรางวัลลงครึ่งนึงเมื่อมีการสร้าง Block ใหม่ในทุกๆ 210,000 Blocks

รูปที่ 11: แสดง Reward ของ Miner จากอดีตถึงปัจจุบัน

หากเราลองมาดูข้อมูล Block ปัจจุบัน ซึ่งลง Timestamp ไว้ที่ 2022–07–20 06:13 Block#745682

รูปที่ 12: แสดง Block Reward และ Fee Reward ของ Block#745682

จะเห็นว่า Block Reward ลดลงจาก 50 BTC ในปี 2009 เหลือ 6.25 BTC ในปัจจุบัน และค่า Fee Reward นั้นเพิ่มมากขึ้น นั่นแสดงให้เห็นว่าในอนาคตค่าธรรมเนียมการทำธุรกรรม Bitcoin บน Blockchain อาจมีค่าอัตราเพิ่มขึ้นก็เป็นได้

ทั้งนี้ในมุมของผู้ใช้งาน เรามาลองดูการคิดค่าธรรมเนียมปัจจุบันกันก่อน อ้างอิงจากเว็บไซต์ผู้นำตลาด Crypto ในเมืองไทย จากตารางจะพบว่าค่าธรรมเนียมปัจจุบันตั้งเป็น Flat Rate อยู่ที่ 0.0002 BTC หรือประมาณ 172 THB (อ้างอิงข้อมูลซื้อขาย Crypto ณ วันที่ 20-July-22) ค่าธรรมเนียมยังค่อนข้างต่ำ จึงเหมาะสมเป็นอย่างยิ่งกับการเป็นแพลตฟอร์มสำหรับนักเดินทางที่ไม่จำเป็นต้องแลกเปลี่ยนสกุลเงิน และสะดวกต่อนักธุรกิจที่ทำการค้าขายกับต่างประเทศ เนื่องจากสามารถใช้ Digital Asset ที่มีความคล่องตัวกว่า ชำระเงินถึงปลายทางได้โดยมีค่าใช้จ่ายในการดำเนินการที่ต่ำกว่า

รูปที่ 13: แสดงค่าธรรมเนียมการโอน Withdrawal Fees ของ BTC บน Blockchain Technology

แม้ว่าระบบ Blockchain นั้นดูเหมือนจะมีข้อดีจากการเข้ามาแก้ปัญหาระบบการชำระเงินออนไลน์ แต่การออกสกุลเงินใหม่ (Digital Asset) ที่ไม่ได้มีมาตรการรับรองโดยรัฐบาลของแต่ละประเทศ รวมถึงการตรวจสอบ Source Code ที่ไม่ได้ดำเนินการโดยหน่วยงานกำกับ ทำให้เกิดปัญหามากมายตามมา ยกตัวอย่างเช่นโปรเจค Libra ของเฟสบุ๊กที่ประกาศใช้ในปี 2020 ต้องหยุดชะงักไปเนื่องจากไม่ได้รับอนุมัติจากหน่วยงาน หรือราคาของ Bitcoin ที่ยังมีความผันผวนสูงมาก ระบบ Blockchain ในปัจจุบันจึงได้ออกสินทรัพย์ชนิดใหมประเภท Stablecoi่n ซึ่งมีการอ้างอิงกับสกุลเงินในปัจจุบัน เช่น USD Coin (USDC), Tether (USDT) ในอนาคตโลกของ Cryptocurrency ยังคงมีการพัฒนาอยู่เสมอ ในฐานะผู้สร้างหรือผู้ใช้งานเราจำเป็นที่จะต้องเรียนรู้เทคโนโลยีนี้ เพื่อนำไปประยุกต์ใช้ประโยชน์ต่อไป

สำหรับชาวเทคคนไหนที่สนใจเรื่องราวดีๆแบบนี้ หรืออยากเรียนรู้เกี่ยวกับ Product ใหม่ๆ ของ KBTG สามารถติดตามรายละเอียดกันได้ที่เว็บไซต์ www.kbtg.tech

--

--