พื้นฐานบล็อกเชน
บทนำ
เทคโนโลยี บล็อกเชน เป็นวิธีปฏิวัติวงการในการจัดเก็บและติดตามข้อมูล พร้อมทั้งเปิดให้ทุกคนเข้าถึงข้อมูลนั้นได้ เป็นวิธีจัดระเบียบข้อมูลในรายการสาธารณะเดียวที่รวมธุรกรรมทั้งหมดในอดีต ซึ่งใครก็ดูได้แต่แก้ไขไม่ได้ รายการธุรกรรมสาธารณะนี้เรียกรวมกันว่า สมุดบัญชี บล็อกเชน
หลังจากศึกษาชั้นต่าง ๆ ของบล็อกเชนแล้ว คุณจะเข้าใจโครงสร้างที่เครื่องมือบล็อกเชนอย่าง Block Explorer แสดงผล ได้แก่ รายการ ของบล็อก ธุรกรรม ภายในบล็อกเหล่านั้น และ รายละเอียด ของแต่ละธุรกรรม ลองใช้งานจริงได้ที่ Etherscan ซึ่งเป็น Block Explorer ยอดนิยมของ Ethereum
โครงสร้างบล็อกเชน
คำว่าบล็อกเชนใช้เป็นคำนามได้ (บล็อกเชนของ Bitcoin) หรือเป็นคำคุณศัพท์ก็ได้ (เทคโนโลยีบล็อกเชน) ไม่ว่าจะใช้แบบไหน บล็อกเชน ก็หมายถึงโครงสร้างทั้งหมดที่คริปโทเคอร์เรนซีถูกสร้างขึ้นมาบนนั้น
เมื่อซูมออกมาดูจากภายนอก บล็อกเชนมีโครงสร้าง 3 ระดับ ได้แก่
บล็อกเชนโดยรวมประกอบขึ้นจากบล็อกที่เชื่อมต่อกันตามลำดับบล็อกประกอบขึ้นจากกลุ่มธุรกรรมที่ถูกรวมเข้าด้วยกันธุรกรรมคือการโอนมูลค่า หรือคำสั่งไปยังโปรแกรม ระหว่างที่อยู่ต่าง ๆ บนเครือข่าย
โครงสร้างสามชั้นนี้รวมกันเป็นสมุดบัญชีเชิงเข้ารหัส ซึ่งเป็นประวัติที่ไม่สามารถเปลี่ยนแปลงได้ของธุรกรรมทั้งหมดที่เกิดขึ้นบนเครือข่าย
ทดสอบความรู้ 1
บล็อกเชนคืออะไร?
-
[ ] กลุ่มธุรกรรมที่จัดระเบียบแล้วเรียกว่าบล็อก
-
[ ] บันทึกร่วมที่ใครก็ดูได้แต่ไม่มีใครแก้ไขได้
-
[ ] บล็อกที่เชื่อมต่อกันเป็นลำดับ
-
[ ] ถูกทุกข้อ
ตรวจสอบสมุดบัญชี
ในระบบเงินทั่วไป เราไว้ใจบุคคลที่สามอย่างธนาคารให้ติดตามว่าแต่ละคนมีเงินเท่าไหร่ แต่การจะเป็น Bankless อย่างแท้จริง เราต้องการระบบที่ไม่ต้องพึ่งการไว้ใจฝ่ายใดฝ่ายหนึ่งให้จัดการสมุดบัญชี
สมุดบัญชี คือรายการธุรกรรมทั้งหมดที่เคยเกิดขึ้นบนบล็อกเชน และใครก็ดูได้สำหรับบล็อกเชนแบบ สาธารณะ กลุ่มธุรกรรมย่อยจากสมุดบัญชีรวมกันเป็นบล็อกที่ประกอบขึ้นเป็นบล็อกเชน
เมื่อมีธุรกรรมใหม่เพิ่มเข้าไปในสมุดบัญชี ยอดคงเหลือที่เก็บไว้ในแต่ละ ที่อยู่ จะถูกอัปเดต ธุรกรรมในอดีตไม่สามารถเปลี่ยนแปลงได้ เหมือนกับการเปิดให้ทุกคนดูประวัติธุรกรรมบัญชีธนาคารของทุกคนได้ตลอดเวลา
ธุรกรรมบนสมุดบัญชี
มาดูตัวอย่างธุรกรรมกัน
- Alice ส่ง 5 ETH ให้ Bob
- Bob ส่ง 2 ETH ให้ Charlie
ธุรกรรมแต่ละรายการแสดง การเปลี่ยนแปลง ของจำนวนคริปโทเคอร์เรนซีในแต่ละที่อยู่ ดังนั้นผลรวมของธุรกรรมทั้งหมดจึงเท่ากับจำนวนคริปโทเคอร์เรนซีที่แต่ละที่อยู่มีอยู่จริง
⇒ Alice เสียไป 5 ETH
⇒ Bob ได้เพิ่มสุทธิ 3 ETH (รับ 5 ส่ง 2)
⇒ Charlie ได้เพิ่ม 2 ETH
ทดสอบความรู้ 2
ข้อใดต่อไปนี้ถูกต้องเกี่ยวกับสมุดบัญชีบล็อกเชนสาธารณะ?
-
[ ] ธุรกรรมทั้งหมดเปิดเผยต่อสาธารณะ และธุรกรรมในอดีตเปลี่ยนแปลงไม่ได้
-
[ ] สมุดบัญชีติดตามจำนวนคริปโทเคอร์เรนซีที่แต่ละที่อยู่มีอยู่ในปัจจุบัน
-
[ ] สมุดบัญชีเติบโตขึ้นเมื่อมีธุรกรรมใหม่ถูกเพิ่มเข้าไป
-
[ ] ถูกทุกข้อ
การกระจายศูนย์
ธุรกรรมที่บันทึกในสมุดบัญชี บล็อกเชน ไม่เพียงแต่เปลี่ยนแปลงไม่ได้ แต่ยังถูกแชร์และกระจายอยู่ในเครือข่ายคอมพิวเตอร์ขนาดใหญ่ เพื่อให้แน่ใจว่าไม่มีฝ่ายเดียวมีอำนาจเปลี่ยนแปลงข้อมูล สำเนาของสมุดบัญชีบล็อกเชนจึงถูกเก็บไว้บนคอมพิวเตอร์จำนวนมากที่เรียกว่า โหนด ทั่วทั้งเครือข่าย
การแชร์ข้อมูลเช่นนี้เองที่ทำให้สมุดบัญชีบล็อกเชนเป็น แบบกระจายศูนย์ ไม่มีอำนาจหรือฝ่ายเดียวควบคุมข้อมูล บล็อกเชนอย่าง Ethereum ยังเป็น สาธารณะ เพราะใครก็ดูสมุดบัญชีนี้ได้
สำหรับบทเรียนนี้ ให้จำไว้ว่าข้อมูลสมุดบัญชีถูกแชร์อยู่บนคอมพิวเตอร์จำนวนมากที่รันเครือข่าย Ethereum
ทดสอบความรู้ 3
อะไรทำให้บล็อกเชนกระจายศูนย์?
-
[ ] มีเพียงฝ่ายเดียวที่เขียนข้อมูลลงบล็อกเชนได้
-
[ ] บล็อกเชนนั้นผ่านเกณฑ์การกระจายศูนย์ที่รัฐบาลกำหนด
-
[ ] ไม่มีฝ่ายเดียวควบคุมสมุดบัญชี ซึ่งถูกเก็บไว้บนคอมพิวเตอร์จำนวนมาก
-
[ ] สมุดบัญชีถูกเก็บไว้บนเซิร์ฟเวอร์ปลอดภัยเพียงเครื่องเดียว
กายวิภาคของบล็อก
คุณสมบัติสำคัญของบล็อกเชนคือข้อมูลธุรกรรมในอดีตไม่สามารถเปลี่ยนแปลงได้หลังถูกรวมเข้าไปในบล็อกแล้ว เพราะแต่ละบล็อกมี แฮชของบล็อก ที่ไม่ซ้ำกัน เปรียบเสมือนลายนิ้วมือ ใช้เชื่อมบล็อกต่าง ๆ เข้าด้วยกันตามลำดับ ไม่มีใครเปลี่ยนธุรกรรมในอดีตได้โดยไม่เปลี่ยนลายนิ้วมือนั้น และลายนิ้วมือของทุกบล็อกที่ตามมาด้วย เพราะลายนิ้วมือแต่ละอันขึ้นอยู่กับอันก่อนหน้า
ดังนั้นแต่ละ บล็อก จึงเป็นเพียงกลุ่มธุรกรรม บวกกับลายนิ้วมือเฉพาะ (แฮชของบล็อก) ที่คำนวณจากเนื้อหาของบล็อกนั้น บล็อกถูกเชื่อมโยงกันเพราะแต่ละบล็อกอ้างอิงลายนิ้วมือเฉพาะของบล็อกก่อนหน้า จนเกิดเป็นบล็อกเชนที่เชื่อมต่อกันเป็นสายเดียว
ทดสอบความรู้ 4
แฮชของบล็อกมีไว้เพื่ออะไร?
-
[ ] เข้ารหัสข้อมูลบล็อกเพื่อไม่ให้ใครอ่านได้
-
[ ] เชื่อมโยงบล็อกเข้าด้วยกันและทำให้ข้อมูลธุรกรรมในอดีตเปลี่ยนแปลงไม่ได้
-
[ ] ทำให้ธุรกรรมถูกส่งไปยังที่อยู่ที่ถูกต้อง
-
[ ] ทำให้บล็อกเชนคงความกระจายศูนย์ไว้ได้
ภายในบล็อกหนึ่ง
อย่าลืมว่าข้อมูล บล็อก เป็นเพียงกลุ่มธุรกรรมที่รวมกัน เมื่อมองเข้าไปในบล็อกเดียว เราจะเห็นรายการธุรกรรมและข้อมูลบางส่วนเกี่ยวกับผู้สร้างบล็อกนั้น
จากตัวอย่างก่อนหน้าเรื่องสมุดบัญชีบล็อกเชน ธุรกรรมทั้งสองรายการนั้นอาจถูกจัดกลุ่มอยู่ในบล็อกเดียวกัน หรือกระจายอยู่ในหลายบล็อกตามเวลาก็ได้ แต่ไม่ว่าจะอยู่ในบล็อกไหน ธุรกรรมเหล่านั้นก็จะถูกเพิ่มเข้าไปในสมุดบัญชีบล็อกเชนทั้งหมดในที่สุด
- Alice ส่ง 5 ETH ให้ Bob
- Bob ส่ง 2 ETH ให้ Charlie
จำไว้ว่าแต่ละบล็อกต้องอ้างอิง แฮชของบล็อก ก่อนหน้าด้วย เพื่อเชื่อมบล็อกเชนเข้าด้วยกัน
ทดสอบความรู้ 5
บล็อกหนึ่งประกอบด้วยข้อมูลอะไรบ้าง?
-
[ ] ข้อมูลทั้งหมดที่มีอยู่ในบล็อกก่อนหน้า
-
[ ] อะไรก็ได้ที่เกี่ยวข้องกับบล็อกเชน เพราะขนาดบล็อกไม่มีจำกัด
-
[ ] ข้อมูลธุรกรรมและการอ้างอิงถึงบล็อกก่อนหน้า
-
[ ] ข้อมูลธุรกรรมทั้งหมดที่เกิดขึ้นในกรอบเวลาที่กำหนดไว้ตายตัว
ธุรกรรมแต่ละรายการ
ข้อมูลบนบล็อกเชนไหนก็ตามคือรายการ ธุรกรรม บันทึกการโอนสกุลเงินระหว่างผู้ใช้ ธุรกรรมแต่ละรายการต้องมี ลายเซ็นดิจิทัล ของผู้ส่งกำกับไว้จึงจะถือว่าถูกต้อง
นี่คือสิ่งที่คุณทำเมื่อยืนยันธุรกรรมด้วยกระเป๋าเงิน คุณกำลังเซ็นด้วยลายเซ็นดิจิทัลของคุณเพื่ออนุมัติธุรกรรมนั้น คิดง่าย ๆ ว่ามันคือรูปแบบดิจิทัลของการเซ็นเช็ค ใบเสร็จ หรือธุรกรรมบัตรเครดิตในโลกจริง
ธุรกรรมอาจเรียบง่าย เช่น การส่งสินทรัพย์คริปโต หรือซับซ้อนขึ้น เช่น การสวอปสินทรัพย์คริปโต หรือแม้แต่การเรียกใช้โค้ดพิเศษที่ทำงานเมื่อถูกกระตุ้น เรียกว่า สัญญาอัจฉริยะ
สุดท้าย ธุรกรรมแต่ละรายการมีรหัสประจำตัวดิจิทัลเฉพาะที่เรียกว่า แฮชของธุรกรรม ซึ่งไม่ซ้ำกับธุรกรรมอื่นใด ทำให้อ้างอิงถึงธุรกรรมนั้นในภายหลังได้ง่าย และรับประกันว่ารายละเอียดของธุรกรรมนั้นจะไม่ถูกเปลี่ยนแปลงในภายหลัง
ทดสอบความรู้ 6
ข้อมูลบนบล็อกเชนคือรายการธุรกรรมที่จัดกลุ่มเป็นบล็อก ตัวอย่างธุรกรรมเหล่านี้อาจได้แก่?
-
[ ] การส่งหรือรับสินทรัพย์คริปโต
-
[ ] การเปลี่ยนขนาดของบล็อก
-
[ ] การแก้ไขข้อมูลบล็อกเชนในอดีต
-
[ ] ถูกทุกข้อ
ที่อยู่ของผู้ใช้
ที่อยู่ คือรหัสประจำตัวสาธารณะที่ใครก็ค้นหาบนบล็อกเชนได้ เหมือนที่อยู่อีเมล ใครก็ส่งเงินมาให้ได้ แต่มีเพียงผู้ที่ถือ คีย์ส่วนตัว เท่านั้นที่ปลดล็อกและใช้เงินในที่อยู่นั้นได้
บน Ethereum ที่อยู่จะขึ้นต้นด้วย 0x เสมอ และมีความยาว 42 ตัวอักษรที่เป็นตัวเลขและตัวอักษร ซึ่งได้มาจาก คีย์สาธารณะ ของที่อยู่นั้น
เมื่อดูธุรกรรมหนึ่งใน Block Explorer เราจะเห็นที่อยู่ From: และ To: ซึ่งไม่ได้บอกว่า ใคร เป็นเจ้าของที่อยู่เหล่านั้น แต่ทำให้ผู้ใช้ทุกคนติดตามการเคลื่อนไหวของคริปโทเคอร์เรนซีบนสมุดบัญชีบล็อกเชนได้
ทดสอบความรู้ 7
ข้อใดต่อไปนี้ถูกต้องเกี่ยวกับที่อยู่บล็อกเชน?
-
[ ] เป็นรหัสประจำตัวสาธารณะของฝ่ายต่าง ๆ บนบล็อกเชน
-
[ ] ขึ้นต้นด้วย 0x เสมอบน Ethereum
-
[ ] ผู้ที่ถือคีย์ส่วนตัวสามารถใช้เงินในที่อยู่นั้นได้
-
[ ] ถูกทุกข้อ