มีบทความมากมายที่สามารถค้นหาเกี่ยวกับความหมายของ “บล๊อคเชน” แต่ปัญหาก็คือบทความเกือบจะทั้งหมด อธิบายด้วยภาษาที่เข้าใจยากมาก แถมมีแต่ตัวหนังสือยาวเป็นพรืด ผมเองก็เป็นคนนึงที่เจอปัญหานั้นในช่วงที่ศึกษาเทคโนโลยีนี้ช่วงแรก ๆ และเมื่อมีความรู้ที่ค่อนข้างกระจ่างถึงแม้ว่าจะไม่ได้ลงลึกในรายละเอียดมาก แต่ก็สามารถที่จะถ่ายทอดให้ผู้อื่นศึกษาต่อได้ นั่นแหละคือที่มาของบทความนี้ ผมจะอธิบายให้ละเอียดและเข้าใจง่ายมากที่สุดครับ
ความหมายของบล๊อคเชน
บล๊อคเชน เป็นการจัดเก็บข้อมูลโดยแบ่งข้อมูลออกเป็นบล๊อค (Block) หรือกล่องสี่เหลี่ยม แล้วเอามาวางต่อกันไปเรื่อย ๆ ซึ่งแต่ละบล๊อคจะมีโซ่หรือเชน (Chain) ผูกติดกันเอาไว้เผื่อใช้ในการตรวจสอบความถูกต้องระหว่างบล๊อค พอรวมกันถึงเรียกว่า “บล๊อคเชน” (ภาพที่ 1)
ภาพที่ 1 : บล๊อคเชน
ข้อมูลที่อยู่ในแต่ละบล๊อคมีอะไรบ้าง แล้วแต่ละอย่างทำหน้าที่อะไร
เมื่อเข้าใจภาพกว้างของบล๊อคเชนแล้ว เราไปเจาะรายละเอียดกันดูว่าในแต่ละบล๊อค มีอะไรเก็บเอาไว้บ้าง มันทำงานยังงัย ทำไมมันถึงปลอดภัยและเป็นที่ยอมรับในวงกว้างอย่างรวดเร็ว (ภาพที่ : 2)
ภาพที่ 2 : ข้อมูลที่จัดเก็บไว้แต่ละบล๊อคเชน
ข้อมูล – Data
ข้อมูลในที่นี้ คือ รายการเกี่ยวกับการเงินที่เกิดขึ้น (Transaction) ในแต่ละบล๊อคสามารถเก็บรายการเหล่านี้ได้เป็นจำนวนมากกว่าหลักร้อยขึ้นไป ตัวอย่าง Alice โอนเงินไปให้ Bob เป็นเงิน 100$ ก็ถือเป็น 1 Transaction ถ้าโอน 10 ครั้งก็จะเก็บเอาไว้ 10 Transaction (ภาพที่ 3)
ภาพที่ 3 : ตัวอย่าง Transaction – Alice โอนเงินให้ Bob
แฮช – Hash
- Transaction Hash : เป็นหมายเลขที่ระบบสร้างขึ้นมาทุก ๆ รายการที่เกิดขึ้น เพื่อเอาไว้ใช้ตรวจสอบความถูกต้องของแต่ละรายการ เป็นค่าที่ไม่เคยซ้ำประกอบด้วยตัวเลขและตัวหนังสือยาวเป็นพรืด จำยังงัยก็จำไม่ได้ถ้าสมองไม่เทพพอ
ตัวอย่าง
- Alice โอนเงินให้ Bob เป็นเงิน = 100$ จะถูกสร้าง Hash ขึ้นมา 1 ชุด
- ถ้า Alice โอนเงินให้ Bob อีกไม่ว่าจะยอดเท่าไหร่ จะมี Hash ใหม่ถูกสร้างขึ้นมาอีก ไม่สามารถเอาอันเดิมมาใช้งานได้ ถึงแม้จะเป็นคนเดิมโอนหากัน
ภาพที่ 4 : Hash จะถูกสร้างขึ้นมาไม่ซ้ำในแต่ละ Transaction
- Hash of the previous block : นอกจาก Hash ที่ถูกสร้างขึ้นมาในการทำรายการแต่ละครั้งแล้วอย่างที่บอกในตอนต้นว่า ช่วงรอยต่อระหว่างบล๊อค จะมี Hash อีก 1 ชุดถูกสร้างขึ้นมาเพื่อใช้สำหรับตรวจสอบระหว่างบล๊อค
ตัวอย่าง
บล๊อคแรกมีการเก็บข้อมูลการโอนเงินจนข้อมูลเกือบจะเต็มบล๊อค แต่ก่อนจะเต็ม Hash จะถูกสร้างขึ้นมาปิดท้ายบล๊อคอันนั้นเอาไว้ แล้วก็จะถูกส่งไปที่บล๊อคถัดไป พอบล๊อคถัดไปได้รับ Hash มาก็จะเก็บเอาไว้เป็นตัวเชื่อมต่อกับบล๊อคก่อนหน้า แล้วก็เก็บแบบนี้ไปเรื่อย ๆ ทุกบล๊อค (ภาพที่ 5)
ภาพที่ 5 : Hash สำหรับใช้ในการตรวจสอบและเชื่อมแต่ละบล๊อคเข้าด้วยกัน
เพิ่มเติม
- ถ้ามีใครพยายามจะขโมยหรือเปลี่ยนแปลงข้อมูลในบล๊อค เช่น จะสลับบล๊อคอันที่ 100 มาไว้ที่ 50 จะทำได้ยากมาก เพราะต้องแก้ไข Hash ที่จะเชื่อมต่อกันให้ถูกต้อง ถ้าสลับเอามาวางทื่อ ๆ ยังงัยก็ต่อกันไม่ได้
- เพราะโครงสร้างที่ออกแบบมาแบบนี้ ทำให้รายการที่เกิดขึ้นในบล๊อคเชนไม่สามารถกลับไปแก้ไข หรือลบได้
- อยากรู้ว่า Hash หน้าตาเป็นยังงัย คลิกที่นี่ เมื่อเข้าเว็บไปแล้วให้ลองกรอกข้อมูลอะไรดูก็ได้ จะมี Hash ถูกสร้างขึ้นมาให้เห็นทันที
- อยากรู้ว่า Hash ที่ใช้ต่อระหว่างบล๊อค หน้าตาเป็นยังงัย คลิกที่นี่ แล้วลองกรอกข้อมูลเล่นดูได้เหมือนกัน
สิ่งที่ทำให้บล๊อคเชนปลอดภัยสูงม้ากกกก ….
การจัดเก็บข้อมูลทั้งหมดของบล๊อคเชน ไม่เก็บไว้ที่เดียวเหมือนระบบฐานข้อมูลแบบเดิม แต่จะกระจายข้อมูลชุดเดียวกันทั้งหมดออกไปไว้ในคอมพิวเตอร์ที่เชื่อมต่อเข้าด้วยกันทั่วโลก … (ย้ำนะว่าทั่วโลก) ระบบแบบนี้เรียกว่า “Peer to peer network” เครื่องคอมพิวเตอร์ที่มาเชื่อมเข้าด้วยกันจะเรียกว่า Node (ภาพที่ 6)
ภาพที่ 6 : การเชื่อมต่อแบบ Peer-to-Peer Network
เมื่อมีการทำรายการสักอย่างเกิดขึ้นในระบบ เอาตัวอย่างเดิมแล้วกันนะครับ Alice โอนเงินให้ Bob ข้อมูลก็จะถูกกระจายออกไปยังคอมพิวเตอร์ที่เชื่อมต่อทั้งหมดก่อน ไม่ว่าจะต่ออยู่กี่พันเครื่องก็จะค่อย ๆ กระจายออกไปจนมีข้อมูลชุดเดียวกัน
เมื่อได้รับข้อมูลว่า Alice โอนเงินให้ Bob แล้ว Node ยังมีหน้าที่อีกอย่างคือ ตรวจสอบดูว่ารายการนั้นถูกต้องจริง ๆ การตรวจสอบก็จะใช้ Hash ที่บันทึกเอาไว้น่ะแหละมาเช็ค เมื่อทุกเครื่องในระบบตรวจสอบและยืนยันตรงกันแล้วว่าข้อมูลนั้นถูกต้องจริง ๆ แล้วเท่านั้นถึงจะบันทึกข้อมูลลงไปในบล๊อค (ภาพที่ 7)
ภาพที่ 7 : ตัวอย่างการตรวจสอบรายการของ Node ในเครือข่าย
นี่แหละคือจุดแข็งมากของเทคโนโลยีบล๊อคเชน เพราะมันเจาะได้โคตรยากมาก หรือแทบจะเป็นไปไม่ได้เลยด้วยซ้ำ … ถ้ายังนึกไม่ออกว่ามันยากยังงัย
ลองสมมุติสถานการณ์ว่าเราเป็นแฮกเกอร์แล้วกันครับ … เผอิญว่าไปแฮคเข้าระบบธนาคารได้สักที่นึงละกันเนอะ … พอเข้าได้แบบทะลุทะลวงเราจะโอนเงิน เพิ่มเงิน หรือจะทำยังงัยก็ได้ให้เรามีเงินเยอะขึ้น มันเป็นเรื่องที่เป็นไปได้ เพราะข้อมูลของธนาคารจะถูกจัดเก็บและดูแลโดยธนาคารเอง แต่ถ้าจะแฮคบล๊อคเชนต่อให้เข้าได้สักเครื่องก็ทำอะไรไม่ได้อยู่ดี เนื่องจากข้อมูลที่ Node อื่นมันไม่เหมือนกับที่เราแก้ไขไป … จะทำยังงัยให้แฮคคอมพิวเตอร์ทุกเครื่องในระบบนี้ได้กันล่ะ จริงมั้ย
สรุปสั้น ๆ อีกรอบเกี่ยวกับบล๊อคเชน
- บล๊อคเชนเป็นวิธีการจัดเก็บข้อมูลแบบใหม่ โดยแบ่งข้อมูลออกเป็นบล๊อคสี่เหลี่ยมและมีโซ่เชื่อมแต่ละบล๊อคไว้ด้วยกัน
- ใช้ hash ในการยืนยันความถูกต้องและปลอดภัยในการทำรายการแต่ละครั้ง และ hash จะไม่มีทางซ้ำกัน
- กระจายข้อมูลออกไปเก็บไว้ที่ node ทุกเครื่องที่เชื่อมต่อเข้ามาในระบบ
- Node ที่เชื่อมต่อเข้ามาในระบบนอกจากจะเก็บข้อมูลบล๊อคเชนแล้ว ยังจะทำหน้าที่ในการยืนยันรายการที่เกิดขึ้นในเครือข่ายด้วย ถ้ารายการใดมี node ยืนยันไม่ตรงกันจะถือว่ารายการนั้นเป็นโมฆะไปจ้า
หวังเป็นอย่างยิ่งว่าเนื้อหาทั้งหมดเกี่ยวกับบล๊อคเชนในบทความนี้ จะมีประโยชน์กับผู้ที่กำลังหาความรู้ทางด้านนี้ ถ้าอ่านแล้วชอบก็แนะนำเพื่อนหรือแชร์บทความนี้ต่อ ๆ กันไป ช่วยประชาสัมพันธ์เว็บให้นิสนึง แค่นี้ก็มีกำลังใจหาความรู้มาเติมเรื่อย ๆ แล้วครับ
บทความนี้แปลและเรียบเรียงใหม่จากต้นฉบับ : Hackermoon สามารถนำไปเผยแพร่ต่อได้ แต่ต้องใส่ลิงค์อ้างอิงกลับมาที่นี่ทุกครั้งนะจ้ะ .