ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

Blockchain เป็นเทคโนโลยีที่เป็นกระแสมากที่สุดในช่วง 2-3 ปีที่ผ่านมานี้ มีหนังสือและบทความมากมายให้เราได้อ่านกันว่ามันมีที่มาที่ไปและการนำไปใช้ในอุตสาหกรรมต่างๆอย่างไรได้บ้าง วันนี้ทาง veedvil.com เลยขอนำเสนอเนื้อหาเกี่ยวกับเทคโนโลยี Blockchain นี้ให้ได้ทราบกันอย่างละเอียดและเห็นภาพของระบบแบบเข้าใจง่ายๆกันซักหน่อย

ที่มาที่ไปของการมาเป็น Blockchain

ก่อนอื่นเราต้องขอย้อนกลับไปทำความรู้จักกับ Bitcoin กันก่อนซึ่งเชื่อว่าหลายท่านพอทราบกันแล้วว่าเป็นระบบสกุลเงินใหม่ A Peer-to-Peer Electronic Cash System หรือทุกวันนี้ก็เรียกกันอีกอย่างหนึ่งว่า “Cryptocurrency (or crypto currency)” หรือสกุลเงินอิเล็กทรอนิกส์ เป็นผลงานการออกแบบของบุรุษที่ไม่เปิดเผยตัวตนชื่อ Satoshi Nakamoto ที่เผยแพร่เอกสารการทำงานของ Bitcoin ออกมาในเดือนพฤศจิกายนปี 2008 และเอกสารอันลึกลับว่าเป็นของใครนั้นเองก็ได้เปลี่ยนโลกเทคโนโลยีครั้งใหญ่เลยทีเดียว ในเอาสารฉบับนั้นของ Satoshi มีการพูดถึงหลักการของส่งเงินระหว่างกันเอาไว้โดยอาศัยการทำงานของ Blockchain อยู่ด้วย นั่นจึงเป็นที่มาของการเกิดเทคโนโลยี Blockchain ขึ้นมาในเดือนมกราคมในปี 2009 ซึ่งขณะนั้นทำขึ้นมาเพื่อใช้งานกับการส่งเงินสกุล Bitcoin นั่นเอง

Blockchain ไม่ใช่ Bitcoin

แม้การเกิดขึ้นมาของเทคโนโลยี Blockhain นั้นจะเกิดขึ้นมาครั้งแรกจากการนำมาใช้เพื่อสร้างเครือข่ายให้กับสกุลเงิน Bitcoin จนหลายคนอาจเข้าใจผิดไปว่า Blockchain นั้นก็คือ Bitcoin ซึ่งความเป็นจริงๆแล้วศัพท์ทั้งสองคำนี้ไม่ใช่เรื่องเดียวกันแต่อย่างใด Bitcoin นั้นอาศัยหลักการทำงานในลักษณะ Block ส่งต่อหากันกับคนในเครือข่ายเป็น Chain จึงเรียกว่า Blockchain ของเครือข่ายสกุลเงิน Bitcoin นั่นเอง

จะทำความเข้าใจ Blockchain ต้องลืมเรื่องเทคโนโลยีไปก่อน

หลายคนเมื่ออ่านหรือไปฟังบรรยายเรื่อง Blockchain มักจะนึกภาพการทำงานของมันไม่ค่อยออก ดังนั้นพอมาถึงตรงนี้แล้วเราจึงอยากให้คุณลืมเรื่องของเทคโนโลยี ลืมเรื่อง Bitcoin ลืมเรื่องเครือข่าย(network) ออกไปจากหัวก่อน เพราะต่อจากนี้ไปเราจะพาคุณไปทำความเข้าใจการทำงานของ Blockchain กันแบบง่ายๆ

ก่อนอื่นขอให้คุณนึกถึงภาพเปรียบเทียบการส่งสิ่งของหากันโดยมีบุคคลอื่นเป็นพยานรับรู้ด้วยก่อน ตัวอย่างที่น่าจะทำให้หลายคนเห็นภาพได้ง่ายๆก็คือ “การเล่นไพ่” การเล่นไพ่นั้นผู้เล่นจะถูกจัดให้อยู่ในวงไพ่ที่เปิดรับในที่นี้เราขอเทียบวงไพ่แต่ละวงที่เกิดขึ้นก็เหมือนกับการมี Network ต่างๆในแต่ละอุตสาหกรรม พูดง่ายๆก็คือวงไพ่ที่เกิดขึ้นนั้นก็เปรียบได้กับ Blockchain Network ในแต่ละอุตสหกรรมเช่น วงไพ่ของธนาคารเรียก Blockchain for Financial, วงไพ่ของระบบส่งสินค้าเรียก Blockchain for Logistic, วงไพ่ของเครือข่ายรถสาธารณะ เรียกว่า Blockchain for Public Transpotation เป็นต้น ซึ่งใครอยากจะเข้าร่วมวงไพ่วงไหนก็เข้าไปดูเงื่อนไขกันว่าเราสนใจอยากเข้าร่วมด้วยไหม หรือเราอยากจะตั้งวงไพ่ใหม่ขึ้นมาก็สามารถทำได้เช่นกัน

เมื่อเราเข้าใจหลักการของ Blockchain Network ว่าเปรียบเทียบได้กับการเล่นไพ่ คราวนี้เราขอให้คุณจำกัดประเภทไพ่ที่จะเล่นกันด้วยว่าเป็นการเล่นไพ่ Poker หรือเล่นไพ่สลาฟ(Slave) ที่ผู้เล่นจะต้องทิ้งไพ่ให้อีกคนในวงไปเรื่อยๆ ตรงนี้เพื่อที่จะเทียบให้เห็นภาพของการส่งข้อมูลในระบบ Blockchain ที่ระบุเป็นเงื่อนไขเอาไว้ว่าทุกคนในแต่ละ Blockchain Network ใดๆก็ตามจะต้องเห็นรายการรับ-ส่งข้อมูลร่วมกันทั้งหมดทุกคน ซึ่งก็เหมือนกับการเล่นไพ่ที่ผู้เล่นทุกคนในวงไพ่จะรับรู้การเคลื่อนไหวของทุกคนที่เล่นด้วยกัน (เทียบเฉพาะหลักการเล่นไพ่แบบไม่โกงกัน และทุกคนในวงร่วมกันเป็นพยาน)

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

เมื่อเข้าใจหลักการส่งข้อมูลของ Blockchain แล้วว่าทุกคนในเครือข่ายนั้นต้องรับรู้เปรียบได้กับการเล่นไพ่ที่ทุกคนในวงต้องรับรู้ว่าใครจะทิ้งไพ่ไปให้ใคร ต่อไปเราจะให้คุณเข้าใจในเรื่องของการเก็บข้อมูลของแต่ละคนในระบบว่าเก็บอย่างไรซึ่งเทคโนโลยี Blockchain นั้นเกิดมาจากคำศัพท์สองคำรวมกันคือ Block และ Chain ตรงนี้ขออธิบายตัว “Block” ก่อนว่าเปรียบเหมือนกันกล่องเก็บของที่ไม่มีใครทราบว่าในกล่องนั้นบรรจุอะไรเอาไว้เว้นแต่เจ้าของเท่านั้นที่จะรู้ แต่เมื่อพูดถึงกล่องใบนั้นขึ้นมาทุกคนก็จะทราบว่าข้างในนั้นมีข้อมูลอะไรอยู่ภายใน ยกตัวอย่างเปรียบเทียบในกรณีนี้คือ “กล่องพัสดุ” ซึ่งในกล่องพัสดุแต่ละใบนั้นเรามองไม่เห็นเลยว่าข้างในนั้นมีอะไรบรรจุอยู่ แต่เราทราบข้อมูลที่แปะไว้บนหน้ากล่องพัสดุว่ามันคืออะไร ผู้ส่ง-ผู้รับเป็นใคร ซึ่ง Block ใน Blockchain ก็เช่นกัน เราไม่ทราบว่าภายในกล่องหรือ Block แต่ละ Block มีอะไรอยู่ภายในบ้าง รู้แต่ว่าข้อมูลภายในนั้นมีความถูกต้องแน่นอน และในหลักการทำงานของ Blockchain นั้นคือการนำเอา Block มาต่อเรียงกันไปเรื่อยๆให้เป็น Database ชนิดหนึ่งขึ้นมาโดยผ่านขั้นตอนการตรวจสอบจากทุกคนในระบบหรือ Proof of work มาเรียบร้อยแล้วด้วยกระบวนการพิสูจน์ทางคณิตศาสตร์แบบเดาคำตอบเพื่อให้ได้ผลลัพธ์(ไม่ใช่แก้สมการให้ได้คำตอบตรงๆ) และในการต่อเรียง Block ไปเรื่อยๆนั้นหมายเลข Block ยิ่งน้อยลงไปยิ่งปลอดภัยเนื่องจากผ่านการตรวจสอบมาหลายครั้งก่อนหน้านี้แล้วดังภาพประกอบด้านล่างนี้ (ลูกศรชี้ย้อนไปทางซ้ายแสดงถึง more secure)

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพอธิบาย Block ในระบบ Blockchain ที่มีส่วนประกอบของส่วนแปะหัวที่ไว้พิสูจน์ว่า Block นั้นๆถูกต้องจากการพิสูจน์ทางคณิตศาสตร์ในภาพตัวอย่างนี้คือ Previous block และ Proof of work สำหรับให้ Block ถัดไปที่จะมาต่อต้องไปแก้โจทย์ให้ถูกถึงจะเอามาต่อเป็น Block ถัดไปได้ (คล้ายกับการเล่นไพ่ Poker หรือ Slave) ส่วนบริเวณสีส้มในภาพด้านบนนี้เป็นส่วนของข้อมูลการทำธุรกรรมใน Blockchain ที่เกิดขึ้นโดย Block หมายเลขนั้นได้บันทึกเก็บเอาไว้โดยเรียกว่าบัญชีธุรกรรม Ledger

คำศัพท์ Block = ชุดบรรจุข้อมูลซึ่งมี 2 ส่วนคือส่วนของสิ่งของต่างๆที่ใส่เข้าไปเรียกว่า Item และส่วนแปะหัวกล่องหรือ headerเพื่อใช้บอกให้คนอื่นทราบว่าบรรจุอะไรมา(แต่เปิดดู item ภายในนั้นไม่ได้) 

ทำความเข้าใจทำไมเรียกว่า Chain

ต่อมาคือว่า “Chain” ซึ่งขออธิบายหลักการทำงานในการรับ-ส่งในระบบทั่วไปก่อน ตัวอย่างเช่นการส่งพัสดุของธุรกิจ Logistic ว่าจะมีการจดจำข้อมูลของผู้รับของ ข้อมูลของผู้ส่ง ที่ระบุเอาไว้บนหน้ากล่องพัสดุ และผู้นำส่ง(บุรุษไปรษณีย์) ซึ่งจะเป็นมีเพียง 3 บุคคลเท่านั้นที่เกี่ยวข้องกันในรับรู้ข้อมูลของการส่งในแต่ละครั้ง แต่ใน Blockchain นั้นผู้ส่ง(ข้อมูล)นั้นไม่ใช่บุรุษไปรษณีย์แต่เป็นคนใดคนหนึ่งในระบบที่สามารถแก้โจทย์ทางคณิตศาสตร์แบบเดาคำตอบเพื่อให้ได้ผลลัพธ์ที่ถูกต้องได้ก่อน ซึ่งคนๆนั้นก็จะเป็นผู้ได้สร้าง Block ลำดับต่อไป ขอย้อนกลับไปเทียบกับการเล่นไพ่ในตัวอย่างก่อนหน้านี้อีกครั้งว่าการจะส่งไพ่(ไพ่ = ข้อมูล)ต่อไปหาใครหรือผู้เล่นคนต่อไปที่จะได้ทิ้งไพ้ลงมาได้ก็ต้องอยู่ในเงื่อนไขของการเล่นไพ่อย่าง Poker หรือ Slave คือคนที่สามารถวางไพ่ลำดับถัดไปได้นั่นเอง และในการเล่นไพ่นั้นทุกคนในวงไพ่จะต้องจดจำการรับส่งของข้อมูลในที่นี้คือทุกคนต้องจำให้ได้ว่าใครส่งไพ่หาใครหรือใครทิ้งไพ่ใบไหนไปให้ใครเปรียบเหมือนการจดจำทุกๆรายการ(transactions) เอาไว้ตลอดการเล่น เหมือนกับว่าทุกๆคนในระบบจะมีบัญชีประจำตัว(สมองจดจำ)ที่ไม่ได้เอาไว้จดบันทึกรายการของตัวเอง(ไพ่ในมือของเรา)เพียงอย่างเดียว แต่การเล่นไพ่จะเหมือนกับว่าทุกคนมีบัญชีที่เก็บข้อมูลการทำรายการของทุกๆคนในระบบเอาไว้ตั้งแต่เริ่มต้น การเล่นเลย และการจดจำข้อมูลในลักษณะแบบนี้ก็เปรียบได้กับเป็นห่วงโซ่ของทุกๆธุรกรรมต่อกันไปเรื่อยๆ นั่นจึงเป็นความหมายและที่มาของคำว่า Chain ในระบบ Blockchain นั่นเอง

คำศัพท์ Chain = การจดจำทุกๆธุรกรรมของทุกๆคนในระบบและบันทึกไว้กับบัญชีของทุกคน เรียกว่า Chain 

บัญชีธุรกรรม Ledger

ก่อนหน้านี้เรายกตัวอย่างเพื่ออธิบาย Chain กันไปแล้วคราวนี้มาดูกันต่อว่าแล้วแต่ละคนจะมีบัญชีประเภทไหนกันต่อเลย ในระบบของ Blockchain นั้นทุกคนจะมีบัญชีประจำตัวที่เก็บทุกๆรายการในระบบเอาไว้เรียกว่า Ledger โดยแต่ละ Ledger จะมีที่จัดเก็บให้เรียกว่า Node และในแต่ละ Node ก็มีการทำสำเนา Ledger เอาไว้ด้วยเพื่อไม่ให้ข้อมูลหายไปจากระบบและกู้คืนหรือเอามาเทียบได้กรณีที่มี Node ใดเสียหายไประบบก็ยังคงทำงานต่อไปได้เพราะอย่างที่บอกไปแล้วว่า บัญชีธุรกรรม Ledger ทุกอันจะบันทึกทุกๆรายการในระบบเอาไว้ เหมือนคุณเล่นไพ่แล้วมีเพื่อนคนใดคนหนึ่งในวงไม่พร้อมจะเล่นในตานั้นๆ ก็สามารถข้ามไปให้เพื่อนคนอื่นเล่นต่อได้โดยที่ทุกคนในวงก็ยังจำได้ว่าเล่นกันไปถึงไหนกันแล้ว (การข้ามตาไพ่ Slave ไม่มีผลต่อเกมส์) ซึ่งหลักการของ Ledger ก็เช่นกันมีการทำสำเนา Ledger ไว้ในทุกๆ Node ก็เหมือนกับทุกคนในวงไพ่รับรู้อยู่ตลอดเวลาว่าใครถือไพ่ไว้กี่ใบแล้วใครกำลังเล่นถึงตาไหนกันอยู่ หลักการทำสำเนาบัญชี Ledger และกระจายข้อมูลไปให้ทุกๆ Node รับทราบก็จะทำให้ระบบ Blockchain ยังคงอยู่ต่อไปได้และมีการตรวจสอบจากทุกคนและทุกๆ Node ในระบบ

*หมายเหตุ: หลักการกระจายสำเนา Ledger ไปยังทุกๆ Node เรียกว่า “กระจายศูนย์” (distributed ledger)

มีอะไรอยู่ใน Ledger

เมื่อพอเข้าใจในหลักการเครือข่าย Blockchain กันพอสังเขปแล้ว คราวนี้มาเจาะลึกเข้าไปดูในส่วนของบัญชี Ledger กันบ้างว่าในนั้นจะประกอบไปด้วยอะไรบ้าง ซึ่งอย่างที่อธิบายไปแล้วว่าหลักการทำงานของ Blockchain คือให้ทุกคนในระบบรับทราบไปพร้อมๆกันว่าเกิดอะไรขึ้นบ้าง เหมือนการเล่นไพ่ที่ทุกคนในวงไพ่จะรับรู้การเล่นไปพร้อมๆกันทุกคน ดังนั้นภายใน Ledger นั้นก็จะเก็บข้อมูลทุกๆธุรกรรม(transactions) ตั้งแต่เริ่มต้นระบบเอาไว้ตลอดและทุกคนจะมี Ledger เหมือนกันเสมอ และเมื่อเกิด Block ใหม่ขึ้นมาในระบบมันก็จะเกิดการกระจาย Ledger หรือเรียกว่า distributed ledger ไปยังทุกๆ Node ที่เก็บ Block เอาไว้

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพอธิบายการทำงานของ Ledger เปรียบเทียบกับการเก็บข้อมูลทุกๆธุรกรรมไว้ที่ศูนย์กลางของธนาคาร(ภาพซ้าย) ต่างกับ Blockchain ที่จะกระจายบัญชี Ledger ไปให้ทุกๆคน (ภาพขวา) และถ้ากลับมาเทียบการเล่นไพ่ของเรา Ledger ก็คือการจำว่าใครเล่นอยู่ถึงตาไหน ใครทิ้งไพ่ใบไหนออกไปแล้วบ้างเป็นต้น แต่เราไม่สามารถดูไพ่ของคนอื่นได้เหมือนกับที่ เราไม่อาจดู item ที่อยู่ใน Block ของระบบ Blockchain ได้นั่นเอง

การทำงานของ Blockchain

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

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

จากภาพด้านบนอธิบายได้ดังนี้

ขั้นตอนที่ 1 : A สร้างคำสั่งในระบบขึ้นมาว่า A ต้องการโอนเงินให้ B

ขั้นตอนที่ 2 : สร้าง Block ที่บรรจุคำสั่งขอทำรายการ

ขั้นตอนที่ 3 : ทำการกระจาย Block ใหม่นี้ให้กับทุก Node ในระบบและบันทึกรายการลง Ledger ให้กับทุก Node เพื่ออัพเดทเหมือนกันว่ามี Block ใหม่เกิดขึ้นมา

ขั้นตอนที่ 4 : ทุก Node ในระบบทำการยืนยันและตรวจสอบข้อมูลของ Block นั้นว่าถูกต้อง (ตามเงื่อนไข Validation)

ขั้นตอนที่ 5 : ทำการนำ Block มาเรียงต่อจาก Block ก่อนหน้านี้

ขั้นตอนที่ ุ6 : โอนเงินในคำสั่ง Block นั้น (นำเงินจาก A โอนให้ B)

จากตัวอย่าง 6 ขั้นตอนด้านบนก็สามารถนำหลักการทำงานของ Blockchain นี้ไปใช้ได้กับธุรกรรมประเภทอื่นที่ไม่จำกัดเฉพาะแค่การโอนเงินแบบ Bitcoin ก็ได้ ยกตัวอย่างเช่น การทำ Smart Contract หรือเอกสารสัญญา การทำพิสูจน์ตัวตัวหรือ KYC เพื่อใช้ในการเปิดบัญชีต่างๆ ซึ่งบางคนอาจเรียกหลักการทำงานของ Blockchain นี้ว่า “ระบบประมวลผลแบบไร้ศูนย์กลาง”

องค์ประกอบของ Blockchain

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

  1. Block
  2. Chain
  3. Consensus
  4. Validation

Block อย่างที่เคยอธิบายไปก่อนหน้าแล้วว่าเป็นชุดบรรจุข้อมูลซึ่งมี 2 ส่วนคือส่วนของสิ่งของต่างๆที่ใส่เข้าไปเรียกว่า Item ซึ่งจะเก็บอะไรก็ได้เท่าไหร่ก็ได้ยกตัวอย่างสกุลเงิน Bitcoin ที่ใช้เทคโนโลยี Blockchain ในที่นี้ตัว Item ที่เก็บข้อมูลก็จะเป็นจำนวนเงินและข้อมูลการโอนเงินนั่นเอง และส่วนแปะหัวกล่องหรือ header เพื่อใช้บอกให้คนอื่นทราบว่าบรรจุอะไรมาซึ่งให้เรานึกถึงว่า Block นั้นเปรียบเหมือนกล่องพัสดุของเราที่มีใบแปะหน้าระบุเอาไว้ว่าของด้านในนั้นบรรจุอะไรบ้าง ดังภาพประกอบด้านล่างนี้ที่อธิบายเชิงเปรียบเทียบลักษณะของ Block กับกล่องพัสดุที่มีการแปะบอกข้อมูลไว้ด้านบน หรือตู้ใส่เอกสารที่มีป้ายติดหน้าตู้เอาไว้บอกว่าภายในเก็บเอกสารอะไรไว้ และภาพทางขวามือก็คือหน้าตาของ Block ที่มีส่วน Header (ป้าย)แสดงการพิสูจน์ว่าข้อมูลภายในนั้นถูกต้องและเชื่อถือได้หรือเรียกว่า Proof of work ในด้านบนของ Block และส่วนของข้อมูลที่เก็บไว้ภายใน Block

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

 

ภาพเปรียบเทียบระหว่าง กล่องพัสดุ ตู้ใส่เอกสาร และ Block แสดงถึงลักษณะเพื่อใช้การเก็บข้อมูล

ซึ่งกล่องที่ว่านี้จะเป็นกล่องที่มีความน่าเชื่อถือต่างจากกล่องพัสดุหรือตู้เก็บเอกสารในโลกจริง ที่อาจถูกปลอมใบแปะหน้าหรือให้ข้อมูลผิดเอาไว้ก็ได้ แต่ Block ของ Blockchain ไม่ใช่แบบนั้นมันน่าเชื่อถือตามหลัก Proof of work มาแล้วและทุกคนในระบบก็รับทราบและยีนยันร่วมกัน และการเรียงตัวของ Block ต่างๆที่เกิดขึ้นก็จะเรียงตัวกันแบบตามลำดับต่อกันไปเรื่อยๆหรือเรียกว่าแบบ Chronological order

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพอธิบายการเรียงแบบ Chronological order คล้ายกับการเรียงแต้มของลูกเต๋า

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพอธิบายการต่อ Block ลำดับถัดไปโดยเรียงแบบ Chronological order

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

 

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพอธิบายการยืนยันบัญชีธุรกรรม Ledger ก่อนหน้าและที่จะเกิดขึ้นต่อไปในลักษณะนี้จึงเรียกว่า Chain 

Consensus คือข้อตกลงร่วมกันหรือ General Agreement ที่ผู้ที่อยู่ในเครือข่าย Blockchain นั้นทำข้อตกลงในการใช้งานร่วมกัน ข้อตกลงที่ว่านี้จะเป็นข้อตกลงในการพิสูจน์ความถูกต้องของข้อมูล Proof of work ว่าไม่ได้ถูกแฮกข้อมูลมา ข้อตกลงเมื่อเกิดกรณีถูกทั้งคู่แบบชั่วคราวหรือเรียกว่า Chain Forking (คือตอนคำนวนเพิ่มทำการต่อ Block ถัดไปแล้วเกิดมีคนคำนวนเดาคำตอบของโจทย์คณิตศาสตร์ถูกพร้อมกันขึ้นมา จะมีข้อตกลงอย่างไรว่าจะให้ใช้ Block ถัดไปของใคร) ข้อตกลงในการเกิดข้อโต้แย้งหรือ Practical Byzantine Fault Tolerance (PBFT) รวมไปถึงการตรวจสอบความเป็นเจ้าของหรือ Proof of stake ด้วย ซึ่งพวกข้อตกลงเหล่านี้เองถือเป็นสิ่งสำคัญสำหรับการกำหนดเครือข่าย Blockchain ใดๆขึ้นมาใช้เพื่อยืนยันความถูกต้องและน่าเชื่อถือให้กับระบบ Blockchain นั้นๆ

นิยาม:

  • Proof of work : หมายถึงการพิสูจน์ว่าทำงานได้ถูกต้องและสิ่งที่ได้มาได้เชื่อถือได้ เช่นคุณสามารถมีทองได้เพราะคุณเป็นนักขุดทอง (Miner) ดังนั้นทองที่ได้จากคุณก็ถือว่าเป็นทองจริง
  • Proof of stake: หมายถึงการพิสูจน์ว่าเป็นเจ้าของ เช่นทองในตู้เซฟเป็นของคุณเพราะคุณมรกุญแจสามารถเปิดตู้เซฟได้

Validation คือการตรวจสอบความถูกต้องแบบทบทวนทั้งระบบและทุก Node ในระบบ Blockchain เพื่อให้แน่ใจว่าจะไม่มีข้อผิดพลาดเกิดขึ้นไม่ว่าจะมาจากส่วนใดก็ตาม ซึ่งก็คือส่วนหนึ่งของ Consensus ที่เรียกว่า Proof of work* ตามภาพประกอบด้านล่างนี้ที่เป็นการ Validate* ข้อมูลก่อนเกิด Block ใหม่และได้ Ledger ใหม่ขึ้นมา ซึ่งในหลักการแล้วการทำ Validation นั้นมีจุดประสงค์อยู่ 2 ประการคือ

  1. วิธีการในการยอมรับ/ปฏิเสธ รายการใน Block นั้นๆ
  2. วิธีการตรวจสอบที่ทุกคนในระบบยอมรับร่วมกัน

มีการเปรียบเทียบการทำงานการในขั้นตอนนี้อย่างเช่นการโอนเงินผ่าน Bitcoin พบว่าขั้นตอนการยืนยันการโอนเงินหรือการ Validation ข้อมูลนั้นใช้เวลาสูงสุดอยู่ที่ 7 tps หรือได้เพียง 7 รายการในหนึ่งวินาที (transaction per second) ซึ่งก็ถือว่าต่ำมากเมื่อเทียบกับการทำรายการบนเครือข่าย Visa Network ที่สามารถทำได้สูงสุดอยู่ที่ 47,000 tps หรืออย่างของทางตลาดหลักทรัพย์ NASDAQ ที่ทำได้สูงสุดถึง 1,000,000 tps เลยทีเดียว

*Proof of work : ขออนุญาตข้ามการอธิบายการทำงานในส่วนของ Validate นี้ไปเนื่องจากค่อนข้างจะเป็นเรื่องของคำนวนทางคณิตศาสตร์แบบเดาคำตอบเพื่อให้ได้ผลลัพธ์ และในบาง Blockchain Network ก็ไม่ได้ใช้ Proof of work ในการ Validation แต่ไปใช้วิธีการอย่างอื่นอย่างกระบวนการที่ตรวจจับว่ามีความเสียหายเกิดขึ้นหรือไม่หรือ  Practical Byzantine Fault Tolerance (PBFT) แทน เนื่องจาก Blockchain ในบางอุตสาหกรรมก็ไม่ได้เป็นเป็นแบบ Public Ledger ที่ใช้วิธี Proof or work เสมอไป

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพประกอบตัวอย่างของการส่งเงินในระบบ Bitcoin ด้วยเทคโนโลยี Blockchain

Wallet สำหรับ Blockchain

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

ประโยชน์ของเทคโนโลยี Blockchain

เมื่อผู้อ่านมาถึงตรงนี้แล้วก็น่าจะพอเข้าใจในการทำงานของ Blockchain มากขึ้นแล้วว่าทำไมหลายอุตสาหกรรมได้เริ่มนำเอาเทคโนโลยี Blockchain นี้ไปใช้กันมากขึ้นไม่ว่าจะเป็นกลุ่มของธนาคารหรือกลุ่ม FinTech ที่เลือก Blockchain มาเป็น Core Technology ที่จะใช้ในอนาคต หรือย่างกลุ่มอุตสาหกรรมประเภท Supply Chain เองก็มีการนำเอาเทคโลโนยี Blockchain มาใช้มากขึ้นเพื่อลดต้นทุนในการจัดหาสินค้าและกระบวนการจัดส่ง/กระจายสินค้าต่างๆ  หรืออีกหนึ่งตัวอย่างก็คือกลุ่มตลาดหลักทรัพย์ที่มีการพิจารณานำเอาเทคโนโลยี Blockchain มาใช้ในการซื้อขายหุ้นแทนระบบ Trade หุ้นเดิมเพื่อลดค่าใช้จ่ายและความแม่นยำของการซื้อขายหุ้น หรือแม้แต่อุตสาหกรรมกลุ่มธุรกิจประกันเองก็มีการนำเทคโนโลยี Blockchain มาใช้ในการทำ P2P Insurance ช่วยให้วงการธุรกิจประกันภัยนั้นโปร่งใส ป้องกันปัญหาการทุจริต และตรวจสอบได้มากขึ้น เป็นต้น

ส่วนของ header ใด คือการตรวจสอบความถูกต้องของข้อมูล

ภาพด้านบนนี้สื่อให้เห็นถึงอนาคตของอุปกรณ์ Internet of Things ต่างๆจะถูกเชื่อมต่อกันด้วยเทโนโลยีของ Blockchain ภายในปี 2025 เป็นต้นไป (ข้อมูลจาก IBM) ซึ่งเมื่อเทียบกับปัจจุบันแล้วนั้นตอนนี้เรากำลังอยู่ในยุคของ Cloud หรือมีศูนย์กลางของข้อมูลแบบ Centralized Database ซึ่งจะต่างกันกับ Blockchain ที่เป็นแบบ Distributed Database(Ledger)

ส่วนใดของ header คือการตรวจสอบความถูกต้องของข้อมูล

Header Checksum เป็นส่วนของข้อมูลที่ใช้ตรวจสอบความถูกต้องเฉพาะกลุ่มในส่วนของ IP header ไม่รวม Payload.

ขั้นตอนใดที่เป็นการสร้าง Block

ขั้นตอนที่ 1. CREATE คือ การสร้าง Block ที่บรรจุคำสั่งขอทำรายการธุรกรรม ขั้นตอนที่ 2. BROADCAST คือ ทำการกระจาย Block ใหม่นี้ให้กับทุก Node ในระบบ และบันทึกรายการธุรกรรมลง Ledger ให้กับทุก Node เพื่ออัปเดตว่ามี Block ใหม่เกิดขึ้นมา

ข้อใดหมายถึง Block header

๑. ส่วนหัวกลุ่มระเบียน๒. ส่วนหัวบล็อก [คอมพิวเตอร์ ๑๙ มิ.ย. ๒๕๔๔] เพิ่มคำศัพท์ ทราบความหมายของคำศัพท์นี้?

Block หมายถึงข้อใด *

(บลอค) { blocked, blocking, blocks } n. ท่อนไม้, ท่อนหิน, ก้อนใหญ่, ชิ้นใหญ่, ห่อดินระเบิด, แท่นโลหะ, เขียง, แม่พิมพ์, ลูกรอก, ตะแลงแกง, ตึกที่แบ่งออกเป็นส่วน, เครื่องกีดขวาง, ทั้งแถว, ทั้งก้อน, ทั้งปีก, ตึกใหญ่, คฤหาสน์ใหญ่, อุปสรรค, การขัดขวาง, เขตหนึ่งของตัวเมือง, เขตห่างไกลท block diagram.