สรุป Blockchain

Blockchain คือโครงสร้างข้อมูล (Data structure)

ตัวอย่างโครงสร้างข้อมูลในชีวิตประจำวันเช่น
สมุดพก คือโครงสร้างข้อมูลที่ไว้เก็บผลการเรียน
สมุดบัญชีก็คือโครงสร้างข้อมูลเอาไว้เก็บข้อมูลฝาก-ถอนในบัญชีธนาคารของเรา
สมุดสะสมแต้ม เอาไว้เก็บแสตมป์ที่ได้จากเซเว่น
ตัวอย่างข้างต้นเป็นตัวอย่างที่เราพบเห็นได้ในชีวิตประจำวัน ซึ่งก็เป็นโครงสร้างข้อมูลแบบง่ายๆ ที่เราอาจจะทำเลียนแบบได้ในโปรแกรม excel ซึ่งเป็นลักษณะของโครงสร้างข้อมูลแบบตาราง
สำหรับตัวอย่างโครงสร้างข้อมูลแบบ Blockchain เราอาจจะนึกแบบเรียน หรือหนังสืออะไรก็ได้ที่มีเลขหน้า ใช่ครับ หนังสือนี่แหละคือตัวอย่างโครงสร้างข้อมูลแบบ Blockchain แต่ละหน้าก็มีข้อมูลของตัวเองเป็น Block ส่วนเลขหน้าทำให้เรารู้ว่าหน้าก่อนหน้าคือหน้าอะไร หน้าถัดไปคือหน้าอะไร เชื่อมต่อกันเป็นสาย (chain)
แถมสำหรับโปรแกรมเมอร์ ลองดูตัวอย่างข้อมูลด้านล่างนี้ ส่วนที่อยู่ใน result ก็คือตัว data ที่เราสนใจ สำหรับส่วนหัวก็คือ link ที่จะเชื่อมไปหา block ก่อนหน้าและ block ถัดไป
{
 "count": 12,
 "next": https://example.com/abc/?pages=3,
 "previous": https://example.com/abc/?pages=1,
 "results": [
    ... data ...
 ]
}
ด้วยรูปแบบการจัดเก็บข้อมูลแบบนี้รวมกับความสามารถในการเชื่อมต่อกันเป็นเครือข่ายขนาดใหญ่ ทำให้ Blockchain กลายเป็นเทคโนโลยีที่ถูกพูดถึงมากที่สุดตัวนึงในปี 2017

Blockchain คือสมุดบัญชีสาธารณะ (Open Ledger)


สมุดบัญชีใครก็ไม่รู้จากกระทู้พันทิป https://pantip.com/topic/32947500
ถ้าเราได้รับเงินเดือน หรือโอนเงินไปให้แม่ค้า หลังจากนั้นก็เอาสมุดบัญชีไปปรับยอด เราก็จะเห็นรายการเงินเข้าเงินออกของตัวเราเอง แต่คนที่จะบอกคนจ่ายเงินเดือนได้ว่าบัญชีเรามีจริงหรือไม่ ได้รับเท่านี้แล้วต้องปรับยอดเป็นเท่าไหร่ ก็คงมีแต่แบงค์เจ้าของบัญชีเท่านั้นที่บอกได้ เพราะฉะนั้นจะทำอะไรเกี่ยวกับเงินของเราก็ต้องทำผ่านแบงค์ แบงค์เค้าจะคิดค่านู่นนี่นั่นเท่าไหร่ก็แล้วแต่ความกรุณาของแบงค์
ที่นี้ถ้าสมมุติว่าสมุดบัญชีของเราไม่ได้เป็นของธนาคารล่ะ สมมุติว่ามันเป็นของสาธารณะ ถูกแจกจ่ายไปทั่ว ใครๆ ก็ตรวจสอบได้ โอนเงินมาให้ก็ได้ แต่โอนออกได้โดยเราเพียงผู้เดียว ถ้าทำแบบนั้นได้การใช้เงินออนไลน์ก็แทบไม่มีอะไรต่างจากการใช้เงินสดเลยสินะ
ในโลกสมมุติที่เราใช้ระบบแบบนั้นได้เราทุกคนก็จะต้องมีข้อมูลบัญชีของทุกคนที่อยู่ในเครือข่าย เพื่อที่ทุกคนจะสามารถตรวจสอบได้ ยกตัวอย่างเช่น เริ่มต้นระบบให้นายสมชายมีเงินอยู่ 10 บาท นายสมชายโอนเงินไปให้แม่ค้าออนไลน์ 8 บาท เมื่อแม่ค้าตรวจสอบแล้วว่านายสมชายมีเงินอยู่เกิน 8 บาทจริงๆ ก็บันทึกลงในบัญชีของตนเองว่าได้รับโอนจากนายสมชาย 8 บาท และบันทึกบัญชีของนายสมชายว่าเหลือเงิน 2 บาท และเนื่องจากข้อมูลพวกนี้เป็นข้อมูลสาธารณะ ดังนั้นการที่แม่ค้าจะฮั้วกับสมชายเพื่อสร้างเงินปลอมขึ้นมาในระบบจึงเป็นไปไม่ได้ เพราะข้อมูลชุดเดียวกันนี้ก็ถูกกระจายไปทั่วทั้งเครือข่าย เช่น นายสมชายเสกเงินปลอมขึ้นมา 5 บาท และโอนให้กับแม่ค้าและแม่ค้าก็หยวนๆ รับมาเพิ่มในบัญชีของตัวเอง ทีนี้เมื่อแม่ค้านำเงินนี้ไปใช้จ่ายกับนายสมศักดิ์ นายสมศักดิ์ก็จะรู้ทันทีว่าเงิน 5 บาทนี้ไม่มีจริงและปฏิเสธการชำระเงินได้ แบบเดียวกันกับเวลาที่เราจ่ายเงินด้วยแบงค์กาโม่นั่นเอง
การที่เราจะจัดเก็บข้อมูลบัญชีของคนทั้งเครือข่าย เพื่อใช้ในการตรวจสอบและทำรายการ แถมไม่ได้เก็บไว้ที่ส่วนกลางคนใดคนนึง แต่ต้องกระจายไปทั้งเครือข่าย เราก็จำเป็นจะต้องมีระบบการจัดเก็บข้อมูลที่มีประสิทธิภาพสูง และเทคโนโลยีการจัดเก็บสมุดบัญชีสาธารณะอย่างที่ว่ามาทั้งหมดนั้นก็คือการจัดเก็บข้อมูลแบบ Blockchain นั่นเอง

สรุป


สรุปแล้ว Blockchain ก็คือรูปแบบการจัดเก็บข้อมูลชนิดหนึ่ง ที่มีลักษณะเป็นบล็อกเรียงต่อกันเป็นสาย แต่ละบล็อกก็จะมีชุดข้อมูลที่สามารถเชื่อมโยงไปยังบล็อกก่อนหน้าได้ ดังนั้นก็เลยเรียกว่า Blockchain ง่ายๆ แค่นี้ แต่จะเอาไปใช้งานอย่างตัวอย่างด้านบนได้ ก็จะต้องอาศัยเทคโนโลยีการเข้ารหัส ถอดรหัสเสริมเข้าไปอีก เพื่อรับประกันว่าทุกๆ รายการที่ถูกเขียนขึ้นมาใหม่นั้นถูกต้องเชื่อถือได้ รวมถึงเทคนิคในการลดขนาดการจัดเก็บข้อมูลเพื่อให้ข้อมูลบัญชีของทั้งเครือข่ายมีขนาดเล็กที่สุด แต่ยังคงความสามารถในการตรวจสอบเต็ม 100% เหมือนเดิม
สลายตัวกลาง กระจายงาน เพิ่มความเสถียร
Blockchain ไม่ได้ใช้ได้เฉพาะแต่กับระบบทางการเงินเพียงเท่านั้น แต่ยังสามารถนำไปประยุกต์กับระบบอื่นๆ ได้อีกด้วย ลองคิดดูว่าอะไรก็ตามที่เคยต้องรวมศูนย์และทำผ่านตัวกลางเพียงตัวเดียวเท่านั้น ถ้าตัวกลางล่มก็จบเห่ เช่นการลงคะแนนเสียงเลือกตั้ง, ระบบบันทึกประวัติทางการแพทย์, ระบบจัดเก็บกรรมสิทธิ์ทรัพย์สินต่างๆ เช่น ทะเบียนรถ, โฉนดที่ดิน, หุ้น, ระบบแต้มส่งเสริมการขายอย่าง The One Card, Stamp เซเว่น ฯลฯ ถ้าเปลี่ยนมาใช้เทคโนโลยี Blockchain ก็อาจจะสามารถเพิ่มเสถียรภาพให้ระบบ และลดต้นทุนในการขยายระบบได้อย่างมากมายมหาศาล

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

IC 13

DIY Arduino Traffic Light Pedestrian Light Push Button Control (https://thecustomizewindows.com/2016/06/diy-arduino-traffic-light-pae-push-button/)

Arduino Servo Motors (https://learn.adafruit.com/adafruit-arduino-lesson-14-servo-motors/arduino-code-for-sweep)