Fd Feature 18

รู้ทุกเรื่องของระบบ Blockchain ด้วยแบบจำลอง (ตอนที่2) [VDO]

Categories : Life+Style
Tags : , , ,

รู้ทุกเรื่องของระบบ Blockchain ด้วยแบบจำลอง (ตอนที่2)

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

 

สำหรับการโอนเงินในระบบ Blockchain นั้น ตามแบบจำลองจะมีการใช้ Private Key Public Key และการ Signing ในการควบคุมการโอนเงิน ซึ่งเฉพาะเจ้าของเงินเท่านั้น ที่จะมีสิทธิ์ในการโอนเงินไปหาคนอื่นได้ ไม่ใช่ว่าจะเป็นใครก็ได้ จะมาโอนเงินไปหาคนโน้นคนนี้ได้ ตามใจชอบ ส่วนรูปแบบการทำงานเป็นอย่างไร มีการใช้ Private Key Public Key และการ Signing อย่างไร ไปดูการทำงานจากแบบจำลองกันได้เลย​

 

 

เริ่มต้นเข้ามาในเว็บไซ http://anders.com  เมื่อเข้ามาแล้วจะพบหัวข้อ Key Transaction Signatures (เป็นเมนูอยู่บริเวณด้านบนทางขวามือ)

 

Everything About Blockchain 02 1

 

โดยเริ่มต้นจาก Public / Private Key / Pares กันก่อน ซึ่งความแตกต่างระหว่าง Public key และ Private key ก็คือตามชื่อเลยนะครับ Private key เป็นส่วนที่เจ้าของจะต้องเก็บข้อมูลไม่ให้ผู้อื่นทราบ เพราะหากผู้อื่นทราบ ก็จะทำการโอนเงินของเจ้าของไปให้คนอื่นได้ ในขณะที่ตัว Public key จะทำหน้าที่คล้ายกับบัญชีธนาคาร เป็นข้อมูลที่สามารถบอกผู้อื่นได้ เพราะว่าการที่เราจะรับเงินจากผู้อื่นได้ในระบบ Blockchain ได้ เราจะต้องให้ตัว Public key กับคนที่จะโอนเงินมาให้เรา

 

Everything About Blockchain 02 2

 

เราลองเปลี่ยนค่าใน Private key เราสามารถกำหนดเป็นค่าอะไรก็ได้ จะสังเกตว่าทุกครั้งที่ Private key มีการเปลี่ยนแปลง ตัว Public key จะมีการเปลี่ยนแปลงไปเรื่อย ๆ ตามการเปลี่ยนแปลงของ Private key ที่มีการเปลี่ยนแปลงไป โดยเราสามารถกดเปลี่ยนแปลงได้ด้วยการพิมพ์ข้อมูลในช่อง Private key หรือมากดปุ่ม Random ​ก็ได้เช่นเดียวกัน

 

จากตัวอย่างนี้ จะเห็นว่าเราสามารถเปลี่ยนแปลงได้เฉพาะ Private key แต่ Public key เราไม่สามารถเปลี่ยนแปลงค่าได้ เนื่องจากระบบ Blockchain ตัว Public key จะถูกสร้างมาจากตัว Private key แต่ตัว Public key ไม่สามารถถูกคำนวณย้อนกลับไปเป็น Private key ได้ ซึ่งมีคนยกตัวอย่างไว้ว่า ตัว Private key ก็เหมือนกับ ตัวหมู แล้ว Public key คือ ลูกชิ้นหมู คือ หมูถูกแปรรูปเป็นลูกชิ้นหมูได้ แต่ลูกชิ้นหมู ไม่สามารถแปรรูปเป็นตัวหมูได้

 

เข้าใจการทำงานของ Signatures

โดยการโอนเงินปกติเราต้องทราบว่า การโอนเงินมาจากเจ้าของเงินจริง ๆ  หรือเปล่า เพราะตัว Private key เป็นข้อมูลความลับที่เก็บไว้ในระบบ Blockchain และตัว Private key ไม่สามารถคิดคำนวณย้อนกลับ ด้วยตัว Public key ก็ทำให้ระบบ Blockchain มีการใช้ฟังก์ชั่นหนึ่งที่เรียกว่า Signatures ที่เข้ามาตรวจสอบการโอนเงิน

 

Everything About Blockchain 02 3

 

พอเข้ามาในส่วน Signatures เราจะเห็นในส่วนการทำงานของ Sign และ Verify โดยตัวอย่างการ Sign ก็เช่น ถ้าผู้ส่งต้องการส่งข้อความในกล่อง Message ให้กับผู้รับ  โดยผู้ส่งเป็นเจ้าของ Private key นี้ ในตัวอย่างนี้ให้ลองกดปุ่ม Sign ระบบ Blockchain จะมีการสร้าง Message Signature ขึ้นมา และตัว Message Signature จะถูกนำไปใช้ในขั้นตอนการ Verify ต่อไป

 

ขั้นตอนการ Verify

ในขั้นตอนการ Verify จะมีการใช้ข้อมูลในการ Verify คือ ตัว Message Public key ของผู้ส่ง Message Signature  ที่เราได้จากการ Sign ไปก่อนหน้า​ ให้เราลองคลิกปุ่ม Verify จะสังเกตเห็นว่า แบล็กกราวด้านหลังเป็นสีเขียว แสดงว่าข้อมูลถูกต้อง  หมายความว่า ตัว Signature มีการ Sign หรือการลงนาม โดยเจ้าของ Private key ที่อยู่เบื้องหลัง Public key ตัวนี้ ซึ่งเป็นการยืนยันว่าตัว Message ตัวนี้ มีการส่งโดยเจ้าของ Private key ที่อยู่เบื้องหลัง Public Key  ตัวนี้จริง ๆ

 

Everything About Blockchain 02 4

Transaction ขั้นตอนการโอนเงิน

ตัวอย่างการโอนเงินในส่วนของ Transaction ทางผู้ส่งซึ่งเป็นเจ้าของ Public key มีความต้องการจะส่งเงินจำนวน 20 us ผู้เป็นเจ้าของ Public key ตัวนี้ ส่วน Private key คือ ของผู้ส่ง ให้เราทำการกดไซน์ เพื่อให้ระบบ Blockchain สร้างตัว Message Signature ขึ้นมา หลังจากนั้นระบบ Blockchain จะเข้าสู่ขั้นตอนการ Verify เหมือนตัวอย่างแรก

 

Everything About Blockchain 02 5

ขั้นตอนการ Verify 

ตัวระบบ Blockchain จะทำการตรวจสอบข้อมูล Signature ที่มีการ Sign เป็นการส่งมาจากตัว Private key ที่อยู่เบื้องหลังตัว Public key นี้จริง ๆ หรือเปล่า ให้เราทำการคลิกปุ่ม Verify  เพื่อ Verify จะเห็นว่าแบล็กกราวด์เปลี่ยนเป็นสีเขียว คือ หมายความว่า ระบบ Blockchain ทำการตรวจสอบ Signature นี้ ก็พบว่า Signature  ถูกส่งมาจาก Private key ที่อยู่เบื้องหลังตัว Public key นี้จริง ๆ เป็นตัวอย่างการตรวจสอบความถูกต้องในส่วนของการโอนเงิน

 

Everything About Blockchain 02 6

ภาพรวมการโอนเงินในระบบ Blockchain

เมื่อเรามาดูข้อมูลในแบบ Blockchain จะเป็นการโอนเงินเข้าหากัน เป็นการบันทึกเฉพาะตัว Public key จาก Public key ไหน ไปสู่ Public key ไหน ไม่มีการบันทึกข้อมูลในส่วน Private key ไว้ในระบบ Blockchain เลย และจากตัวอย่างในแต่ละ Transaction ก็จะมี ตัว Signature ของแต่ละ Transaction ออกมาให้เราเห็นกัน  เราจะทราบแล้วว่า ตัว Signature จะถูกสร้างมาจากตัว Message  หรือตัวการโอนเงินควบคู่ไปกับ Private Key

 

Everything About Blockchain 02 7Everything About Blockchain 02 8

 

เดี๋ยวเราจะมาลองเปลี่ยนแปลงข้อมูลการโอนเงิน ว่าหลังจากการทดลองเปลี่ยนแปลงข้อมูลแล้วทำการ Mining เพื่อดูว่าข้อมูลใน Blockchain มีการเปลี่ยนแปลงไปอย่างไรบ้าง

 

จากตัวอย่าง หากลองเปลี่ยนข้อมูลจำนวนเงินที่โอน เป็น 29.9 us ตัว Signature จะเป็นสีแดง ตอนนี้ตัว Signature เป็นข้อมูลที่ไม่ถูกต้องไปแล้ว และตัวข้อมูลใน Block ก็เป็นข้อมูลที่ไม่ถูกต้อง เพราะแบล็กกราวด์กลายเป็นสีแดง ให้ลองทำการ Mining ดู หลังจากทำการ Mining ดูจะพบว่า ตัวรหัส Hash ขึ้นต้นด้วย 0000 และตัวแบล็กกราวด์ก็เป็นสีเขียว ตัวรหัส Hash มีความถูกต้องแล้ว

 

Everything About Blockchain 02 9 Everything About Blockchain 02 10

 

อย่างไรก็ตาม ตัว Signature ยังเป็นสีแดง เพราะการ Mining ไม่สามารถเข้ามาแก้ตัว Signature  ได้ เนื่องจากว่าการ Mining ตัว Node ต่าง ๆ ที่ทำการประมวลผลในระบบ Blockchain จะไม่มีข้อมูลในส่วน Private key ข้อมูลในส่วน Private key คนที่ทราบข้อมูลในส่วนนี้จะเป็นเฉพาะเจ้าของเงินเท่านั้น เพราะตัว Minus ในระบบ Blockchain จะไม่สามารถมาแก้ไขในส่วนตัว Signature ได้  เพราะตัว Minus ในระบบ Blockchain ไม่มีข้อมูลในส่วน Private key ซึ่งถือเป็นระบบรักษาความปลอดภัยในการโอนเงินของระบบ Blockchain ก็จะทำให้เรามั่นใจได้ว่า การโอนเงินจากคนหนึ่งไปสู่อีกคนหนึ่ง ในระบบ Blockchain จะเป็นการส่งคำสั่งการโอนเงินโดยเจ้าของเงินจริง ๆ ไม่ใช่ว่าใครก็ได้จะมาเป็นคนสร้าง Transaction ในการโอนเงินจากคนหนึ่งไปสู่อีกคนหนึ่งได้มั่วซั่วไปหมด

 

ทั้งหมดนี้ เป็นแบบจำลองการโอนเงินในระบบ Blockchain ที่เราจะเห็นความสำคัญของ Private key Public key รวมถึงการ Signing ว่าทั้งสามตัวมีฟังก์ชั่นการทำงานอย่างไร และมีความสัมพันธ์อย่างไรกับระบบ Blockchain

 

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

 

 

บทความ Life+Style ล่าสุด