เว็บเรียนเทรดและวิเคราะห์ตลาดการเงินสำหรับคนไทย — หุ้น ทองคำ คริปโต ดัชนี · คอร์สฟรี บทความ TA/FA เครื่องมือคำนวณเริ่มเรียน
คริปโต

Blockchain ทำงานยังไง — ฉบับเข้าใจง่ายไม่ต้องเขียนโค้ด

Blockchain ทำงานยังไง — ฉบับเข้าใจง่ายไม่ต้องเขียนโค้ด

รู้ว่า Blockchain "ปลอมแปลงไม่ได้" แต่ไม่มีใครอธิบายว่าเพราะอะไร — บทนี้พาดูกลไกข้างในทีละชั้น ตั้งแต่บล็อกหนึ่งก้อนมีอะไร ไปจนถึงเหตุผลทางคณิตศาสตร์ที่ทำให้แก้ข้อมูลย้อนหลังไม่ได้ แบบไม่ต้องเขียนโค้ดสักบรรทัด

คำว่า Blockchain โผล่ทุกครั้งที่มีคนพูดถึงคริปโต จนหลายคนพยักหน้ารับไปโดยที่ยังตอบไม่ได้ว่ามันทำงานยังไง — รู้แค่ว่า "เป็นเทคโนโลยีเบื้องหลัง Bitcoin" และ "ปลอมแปลงไม่ได้" แต่ปลอมไม่ได้เพราะอะไร ไม่มีใครอธิบายให้ฟังชัด ๆ สักที

บทนี้จะพาดูกลไกข้างในทีละชั้น ตั้งแต่ "บล็อก" หนึ่งก้อนมีอะไรอยู่ข้างใน ไปจนถึงเหตุผลทางคณิตศาสตร์ที่ทำให้แก้ข้อมูลย้อนหลังไม่ได้ — แบบไม่ต้องเขียนโค้ดเป็นสักบรรทัด

ตั้งต้นจากปัญหา: จะทำสมุดบัญชีที่ไม่มีเจ้าของได้ยังไง

ลองนึกภาพสมุดบัญชีของธนาคาร ทุกครั้งที่เราโอนเงิน ธนาคารจะแก้ตัวเลขในสมุดของเขา เราเชื่อว่าตัวเลขถูก เพราะเราเชื่อใจธนาคาร — สมุดมีเจ้าของ และเจ้าของคือคนที่เราต้องไว้ใจ

ทีนี้ถ้าอยากได้สมุดบัญชีที่ไม่มีเจ้าของล่ะ ใครก็เขียนลงไปได้ ใครก็อ่านได้ ปัญหาใหญ่จะตามมาทันที 2 ข้อ คือ (1) จะรู้ได้ยังไงว่าใครโกหก เขียนว่าตัวเองมีเงินเพิ่มขึ้นเฉย ๆ และ (2) จะรู้ได้ยังไงว่าไม่มีใครแอบกลับไปแก้บรรทัดเก่า Blockchain คือคำตอบของสองข้อนี้ — มันไม่ใช่ "ฐานข้อมูลวิเศษ" แต่เป็นวิธีจัดเรียงข้อมูลที่ทำให้การโกงแพงเกินกว่าจะคุ้ม

ชั้นที่ 1 — "บล็อก" หนึ่งก้อนมีอะไรอยู่ข้างใน

บล็อกก็คือ หน้ากระดาษหนึ่งหน้าในสมุดบัญชี ที่รวบรวมธุรกรรมช่วงเวลาหนึ่งไว้ด้วยกัน ในทางเทคนิคหนึ่งบล็อกจะประกอบด้วย 3 ส่วนหลัก

1) รายการธุรกรรม — เช่น "A ส่งให้ B 0.5 เหรียญ" หลายร้อยถึงหลายพันรายการต่อบล็อก · 2) แฮชของบล็อกก่อนหน้า — เลขชุดหนึ่งที่ชี้กลับไปยังหน้าก่อน ตรงนี้แหละคือ "โซ่" ที่ทำให้มันเป็น chain · 3) แฮชของตัวเอง — เลขที่คำนวณจากทุกอย่างในบล็อกนี้ กลายเป็นลายนิ้วมือประจำหน้า

เมื่อบล็อกใหม่อ้างถึงแฮชของบล็อกเก่าเสมอ หน้ากระดาษทั้งหมดจึงถูกร้อยต่อกันเป็นสายยาวตามลำดับเวลา — นี่คือที่มาของชื่อ Block + Chain

บล็อกต่อกันเป็นโซ่ด้วย "แฮชของบล็อกก่อนหน้า" บล็อก #101 แฮชบล็อกก่อนหน้า 0000a7f2... ธุรกรรมในบล็อก A ส่ง B · C ส่ง D ... แฮชของตัวเอง 0000c3b9... บล็อก #102 แฮชบล็อกก่อนหน้า 0000c3b9... ธุรกรรมในบล็อก E ส่ง F · G ส่ง H ... แฮชของตัวเอง 0000e81d... บล็อก #103 แฮชบล็อกก่อนหน้า 0000e81d... ธุรกรรมในบล็อก I ส่ง J · K ส่ง L ... แฮชของตัวเอง 00007a4c... แฮชท้ายของบล็อกหนึ่ง กลายเป็นหัวของบล็อกถัดไป — ร้อยกันเป็นสายเดียว

ชั้นที่ 2 — แฮชคืออะไร ทำไมมันคือหัวใจของทั้งระบบ

แฮช (Hash) คือการเอาข้อมูลก้อนหนึ่ง ไม่ว่าจะยาวแค่ไหน ไปผ่านสูตรคณิตศาสตร์ แล้วได้ผลลัพธ์เป็นรหัสความยาวคงที่ออกมา คิดง่าย ๆ ว่าเป็น ลายนิ้วมือของข้อมูล ที่มีคุณสมบัติสำคัญ 3 อย่าง

1) ข้อมูลเดิม ให้แฮชเดิมเสมอ — คำนวณกี่ครั้งก็ได้ค่าเดียวกัน · 2) เปลี่ยนข้อมูลนิดเดียว แฮชเปลี่ยนทั้งชุด — แก้แค่จุดทศนิยมตัวเดียว ผลลัพธ์จะกลายเป็นคนละชุดโดยสิ้นเชิง ดูไม่ออกเลยว่าเคยใกล้เคียงกัน · 3) ย้อนกลับไม่ได้ — จากแฮชคำนวณกลับไปหาข้อมูลต้นทางไม่ได้ ทำได้อย่างเดียวคือเดาแล้วลองใหม่

ข้อ 2 คือกุญแจ เพราะมันทำให้ การแอบแก้ข้อมูลทิ้งร่องรอยเสมอ ต่อให้แก้ละเอียดแค่ไหน ลายนิ้วมือก็เปลี่ยน และเมื่อลายนิ้วมือเปลี่ยน บล็อกถัดไปที่จดแฮชเก่าไว้ก็จะชี้ไม่ตรงทันที

แก้ข้อมูลนิดเดียว ลายนิ้วมือเปลี่ยนทั้งชุด ข้อความ: "A ส่งให้ B 10 เหรียญ" ได้แฮช: 9c1f4ab7d2e05f83... แก้เป็น: "A ส่งให้ B 11 เหรียญ" (เปลี่ยนตัวเลขตัวเดียว) ได้แฮช: 4e83b0c69a17df25... คนละชุดทั้งหมด แฮชใหม่ไม่ได้ใกล้เคียงของเดิมเลย — จึงซ่อนการแก้ไขไม่ได้

ชั้นที่ 3 — ทำไมแก้ย้อนหลังไม่ได้จริง ๆ

สมมติมีคนอยากกลับไปแก้ธุรกรรมในบล็อก #101 ให้ตัวเองได้เงินเพิ่ม สิ่งที่จะเกิดขึ้นคือ

พอแก้เนื้อในบล็อก #101 แฮชของ #101 จะเปลี่ยนทันที แต่บล็อก #102 จดแฮชเก่าของ #101 เอาไว้ โซ่จึงขาดตรงนั้น เขาต้องไปแก้ #102 ให้ชี้แฮชใหม่ พอแก้ #102 แฮชของ #102 ก็เปลี่ยนอีก ต้องไปแก้ #103 ต่อ ไล่ไปเรื่อย ๆ จนถึงบล็อกล่าสุด — แก้หนึ่งจุด = ต้องรื้อทั้งสายตั้งแต่จุดนั้นถึงปัจจุบัน

และนั่นยังไม่จบ เพราะสำเนาสมุดบัญชีนี้ไม่ได้มีเล่มเดียว มันถูกกระจายอยู่ในคอมพิวเตอร์ (Node) นับหมื่นเครื่องทั่วโลก เขาต้องทำสิ่งเดียวกันสำเร็จบนเครื่องส่วนใหญ่ของทั้งเครือข่ายพร้อมกัน แข่งกับเครื่องที่เหลือที่กำลังต่อบล็อกใหม่ไปข้างหน้าตลอดเวลา ต้นทุนไฟฟ้าและอุปกรณ์ที่ต้องใช้มหาศาลจนไม่คุ้ม — Blockchain ไม่ได้แก้ไม่ได้เพราะเป็นเวทมนตร์ แต่เพราะการแก้แพงเกินกว่าจะคุ้ม

แก้บล็อกเก่า 1 ก้อน = โซ่พังทั้งสาย บล็อก #101 ถูกแก้ตัวเลข แฮชเปลี่ยน บล็อก #102 ชี้แฮชเดิมไม่ตรง ต้องแก้ตาม บล็อก #103 พังต่อเป็นทอด ต้องแก้ตาม ถึงบล็อกล่าสุด ที่ยังงอกใหม่ ตลอดเวลา และต้องทำสำเร็จบนเครื่องส่วนใหญ่ของเครือข่ายหลายหมื่นเครื่องพร้อมกัน ต้นทุนสูงเกินกว่าจะคุ้ม = เหตุผลจริงที่ข้อมูลเก่าถูกแก้ไม่ได้

ชั้นที่ 4 — ใครเป็นคนตัดสินว่าบล็อกไหนถูก

ในเมื่อไม่มีเจ้าของสมุด แล้วใครมีสิทธิ์เขียนหน้าใหม่ คำตอบคือกติกาที่เรียกว่า Consensus (ฉันทามติ) — วิธีที่คนแปลกหน้าทั่วโลกตกลงกันได้ว่าเวอร์ชันไหนคือของจริง ปัจจุบันมี 2 แบบที่ใช้กันมากที่สุด

Proof of Work (PoW) — ที่ Bitcoin ใช้ ผู้เข้าแข่ง (นักขุด) ต้องให้คอมพิวเตอร์เดาเลขไปเรื่อย ๆ จนได้แฮชที่เข้าเงื่อนไข ใครทำได้ก่อนได้สิทธิ์เพิ่มบล็อกและรับรางวัล จุดแข็งคือปลอดภัยสูงมาก จุดอ่อนคือกินไฟมหาศาล · Proof of Stake (PoS) — ที่ Ethereum เปลี่ยนมาใช้ แทนที่จะแข่งกันเดาเลข ผู้ตรวจสอบต้องวางเหรียญค้ำไว้เป็นหลักประกัน ระบบสุ่มเลือกคนขึ้นมาทำหน้าที่ ถ้าโกงจะถูกยึดเหรียญที่ค้ำ จุดแข็งคือประหยัดพลังงานกว่ามาก

ทั้งสองแบบต่างกันที่วิธี แต่เป้าหมายเดียวกันคือ ทำให้การโกงมีต้นทุนสูงกว่าผลตอบแทนที่จะได้

2 กติกาหลักที่ใช้ตกลงกันว่าใครได้เขียนบล็อก Proof of Work — ใช้พลังคำนวณ แข่งกันเดาเลขจนได้แฮชตามเงื่อนไข ใครได้ก่อน ได้สิทธิ์เขียน + รางวัล ข้อดี: ปลอดภัยสูงมาก ข้อเสีย: ใช้ไฟมหาศาล ตัวอย่าง: Bitcoin Proof of Stake — ใช้เหรียญค้ำ วางเหรียญค้ำเป็นหลักประกัน ระบบสุ่มเลือกผู้ตรวจสอบขึ้นมาทำงาน ข้อดี: ประหยัดพลังงานกว่ามาก ข้อเสีย: คนถือเยอะมีอิทธิพลมาก ตัวอย่าง: Ethereum

ธุรกรรมหนึ่งรายการ เดินทางยังไงตั้งแต่กดส่ง

เอากลไกทั้งหมดมาต่อกันเป็นเส้นเดียว จะได้ภาพแบบนี้ · 1) เซ็นด้วยกุญแจ — เจ้าของสั่งย้ายเหรียญพร้อมลายเซ็นดิจิทัลจากกุญแจส่วนตัว เพื่อพิสูจน์ว่าเป็นเจ้าของจริง · 2) กระจายเข้าเครือข่าย — คำสั่งถูกส่งไปให้ Node ทั่วโลกรับรู้ · 3) รอคิว — ธุรกรรมไปกองรวมกันในที่พักคอย รอถูกหยิบเข้าบล็อก (ช่วงที่คนแน่น ค่าธรรมเนียมสูงจะได้คิวก่อน) · 4) ถูกบรรจุลงบล็อก — ผู้ได้สิทธิ์ตามกติกา Consensus รวบธุรกรรมเป็นบล็อกใหม่ · 5) ยืนยันเพิ่มขึ้นเรื่อย ๆ — เมื่อมีบล็อกใหม่ต่อทับไปข้างบน จำนวน "confirmation" จะเพิ่มขึ้น ยิ่งมากยิ่งย้อนกลับยาก นี่คือเหตุผลที่บางแพลตฟอร์มให้รอหลายบล็อกก่อนปล่อยเหรียญให้

Blockchain ไม่ได้มีแค่คริปโต — และไม่ได้ดีทุกเรื่อง

เทคโนโลยีนี้ถูกเอาไปใช้นอกวงการเหรียญด้วย เช่น ตามรอยสินค้าในซัพพลายเชนว่าของมาจากไหน · บันทึกเอกสารสำคัญที่ต้องพิสูจน์ว่าไม่ถูกแก้ย้อนหลัง · ระบบชำระเงินข้ามประเทศที่ต้องการลดตัวกลาง

แต่ต้องเข้าใจข้อจำกัดด้วย · ช้าและแพงกว่าฐานข้อมูลปกติมาก เพราะทุกเครื่องต้องเก็บสำเนาและตรวจซ้ำ งานที่ไม่ต้องการความไว้ใจแบบไร้ตัวกลางใช้ฐานข้อมูลธรรมดาคุ้มกว่าเยอะ · "แก้ไม่ได้" เป็นดาบสองคม ส่งผิดบัญชีก็เรียกคืนไม่ได้ ไม่มีใครกดยกเลิกให้ · ข้อมูลที่ใส่เข้าไปผิดตั้งแต่แรก ก็จะผิดอยู่อย่างนั้นตลอดไป — Blockchain รับประกันแค่ว่าข้อมูลไม่ถูกแก้ทีหลัง ไม่ได้รับประกันว่าข้อมูลนั้นจริง

สรุปบทเรียน

Blockchain คือวิธีเก็บข้อมูลแบบเรียงต่อกันเป็นสาย โดยแต่ละบล็อกจดลายนิ้วมือ (แฮช) ของบล็อกก่อนหน้าไว้ พอมีคนพยายามแก้ของเก่า แฮชจะเปลี่ยนและทำให้โซ่ทั้งสายขาด ต้องรื้อใหม่หมดบนเครื่องส่วนใหญ่ของเครือข่ายพร้อมกัน ซึ่งแพงเกินกว่าจะคุ้ม ส่วนคำถามว่าใครมีสิทธิ์เขียนบล็อกใหม่ ตอบด้วยกติกา Consensus อย่าง Proof of Work หรือ Proof of Stake ที่ออกแบบให้การโกงมีต้นทุนสูงกว่าผลตอบแทนเสมอ เข้าใจโครงนี้แล้ว เรื่องอื่นในโลกคริปโตจะต่อยอดได้ง่ายขึ้นมาก

สิ่งที่ต้องจำ

  • 1 บล็อก = ธุรกรรมชุดหนึ่ง + แฮชของบล็อกก่อนหน้า + แฮชของตัวเอง — แฮชคือสิ่งที่ร้อยบล็อกเป็นโซ่
  • แฮช = ลายนิ้วมือของข้อมูล · เปลี่ยนข้อมูลนิดเดียว แฮชเปลี่ยนทั้งชุด · ย้อนกลับไม่ได้
  • แก้บล็อกเก่า 1 ก้อน = ต้องรื้อทุกบล็อกหลังจากนั้น บนเครื่องส่วนใหญ่ของเครือข่ายพร้อมกัน — แพงเกินกว่าจะคุ้ม
  • Consensus = กติกาตัดสินว่าใครได้เขียนบล็อกใหม่ · PoW ใช้พลังคำนวณ (Bitcoin) · PoS ใช้เหรียญค้ำ (Ethereum)
  • ยิ่งมีบล็อกต่อทับข้างบนมาก (confirmation เยอะ) ยิ่งย้อนกลับยาก
  • ข้อจำกัด: ช้า/แพงกว่าฐานข้อมูลปกติ · ส่งผิดเรียกคืนไม่ได้ · รับประกันว่าไม่ถูกแก้ทีหลัง ไม่ได้รับประกันว่าข้อมูลจริง

คำเตือน: บทความนี้จัดทำขึ้นเพื่อให้ความรู้ด้านเทคโนโลยีและสินทรัพย์ดิจิทัลเบื้องต้นเท่านั้น ไม่ใช่คำแนะนำหรือคำชักชวนให้ลงทุนในคริปโทเคอร์เรนซีใด ๆ สินทรัพย์ดิจิทัลมีความเสี่ยงสูงและผันผวนรุนแรง ผู้ลงทุนอาจสูญเสียเงินลงทุนทั้งหมด โปรดศึกษาข้อมูลรอบด้าน กฎหมายและภาษีที่เกี่ยวข้อง และประเมินความเสี่ยงด้วยตนเองอย่างรอบคอบก่อนตัดสินใจ

อ่านต่อ

บทความที่เกี่ยวข้อง