Planning
Outline-text
ชื่อหัวข้อที่จะนำเสนอ
- EP 3 : การบันทึกเวลา (Timestamp Server)
โครงสร้างของเนื้อหา
- หัวข้อที่ 1 : เกริ่นนำ : จาก EP 2 : ธุรกรรม (Transactions) เมื่อเริ่มทำธุรกรรมแบบไม่มีตัวกลาง จนเกิดปัญหาที่เรียกว่า Double-spending ผู้สร้าง Bitcoin ได้หาวิธีการในการปัญหาดังกล่าวแล้ว แต่มันก็ยังไม่สามารถแก้ปัญหาทั้งหมด ใน EP 3 นี้เราจะมาดูกันต่อว่า Bitcoin Whitepaper มีวิธีการอะไรที่เพิ่มขึ้นมาเพื่อแก้ปัญหา Double-spend
- หัวข้อที่ 2 : การบันทึกเวลา (Timestamp Server) ถูกนำมาใช้ยังไง ในการแก้ปัญหา Double-spend (ขึ้นชื่อว่าเวลาแต่ไม่ใช่เวลา ไม่เกี่ยวข้องกับเวลา)
- หัวข้อที่ 3 : แต่การบันทึกเวลา (Timestamp Server) มันยังไม่จบแค่นั้น เพราะว่ามันต้องใช้ระบบ Proof-of-Work เข้ามาช่วย ช่วยยังไง ? ติดตามต่อใน EP 4 : Proof-of-Work - Experimental / Content Board - Hashpire Community
Q 1 : จาก EP 2 ธุรกรรม (Transactions) ไม่สามารถยืนยันได้ 100 % ว่าจะไม่เกิดการ Double spending เพราะเรารู้แค่ว่าเราเป็นผู้รับเงินแล้วแน่ ๆ ไม่ได้ยืนยันว่าธุรกรรมของเราจะไม่ถูกปฏิเสธด้วยการทำ Double spending เราจะแก้ไขได้ยังไง
Q 2 : ถ้าใช้ timestamp ในการแก้ปัญหา เรื่อง Transactions ว่าอันไหนเกิดขึ้นก่อนหรือเกิดขึ้นที่หลัง แล้วมีเวลาบันทึกไว้ แบบนี้ time zone ของแต่ละประเทศที่ไม่ตรงกันจะมีผลไหม ?
ประเด็นสำคัญของบทความ
- การบันทึกเวลา (Timestamp Server)
สิ่งที่ผู้อ่านจะได้รับจากบทความ
- เข้าใจการบันทึกเวลา (Timestamp Server) ของ Bitcoin
Outline-graphic
รูปแบบของกราฟฟิค + โครงสร้าง
คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ
1. ต้องการรู้ประเด็นไหนเพิ่มเติมไหม เพราะอะไร
2. คิดว่าเรียงลำดับการนำเสนอได้ดีรึยัง ถ้าไม่ดี มีไอเดียอย่างไร
3. มีประเด็นไหนควรตัดทิ้งไหม เพราะอะไร
Content text + graphic
คำศัพท์ที่ควรรู้ก่อนอ่านบทความ
Node : ผู้ที่มีส่วนร่วมในเครือข่าย หมายถึงคอมพิวเตอร์หรืออุปกรณ์ที่เชื่อมต่อเข้ากับเครือข่าย Blockchain
Chain : สายโซ่ที่เชื่อมต่อ Block เข้าหากันในเครือข่าย Blockchain
Block : การจัดเก็บข้อมูล
จาก EP 2 : ธุรกรรม (Transactions) เราจะเห็นได้ว่า Bitcoin ทำการประกาศธุรกรรมทั้งหมดเป็นสาธารณะ เพื่อให้ทุก Node ในเครือข่ายเป็นผู้ตัดสินว่านี้เป็นการได้รับธุรกรรมครั้งแรกจริง ไม่ใช่ธุรกรรมที่ถูกทำซ้ำ แต่ปัญหาก็คือ ก่อนที่แต่ละ Node จะสามารถตัดสินความถูกต้องของธุรกรรมได้ จะต้องมีอันดับธุรกรรมที่จัดเรียงแบบเดียวกันก่อน เพื่อบ่งบอกว่าธุรกรรมใดมาก่อนหรือหลัง ดังนั้น Bitcoin จึงมีการเพิ่มกลไกที่เรียกว่า “การบันทึกเวลา (Timestamp Server)” เข้ามาช่วยในการจัดอันดับธุรกรรม
การบันทึกเวลา (Timestamp Server) คืออะไร
จากชื่อหัวข้อที่เป็น การบันทึกเวลา (Timestamp Server) ทำให้หลายคนเข้าใจว่า Bitcoin นำเอาเวลาเข้ามาใช้ในการจัดอันดับธุรกรรมและอาจเกิดข้อสงสัยว่าจะมีปัญหาหรือไม่ เนื่องจากเวลาของแต่ละประเทศไม่เท่ากัน ซึ่งในความเป็นจริงแล้วการทำ Timestamp Server ในที่นี้ไม่ได้มีการนำเวลาจริงเข้ามาเกี่ยวข้อง
แต่เป็นการนำ Hash ของ Block ก่อนหน้ามารวมกับข้อมูลของ Block ปัจจุบัน จึงจะได้ผลรวมออกมาเป็น Hash ปัจจุบันและเผยแพร่ค่า Hash ออกไปให้ทุกคนในเครือข่ายได้รับทราบ โดยจะทำแบบนี้ต่อไปเรื่อย ๆ เป็น Chain
การทำ Timestamp Server สามารถช่วยจัดอันดับธุรกรรม ทำให้แต่ละ Node มีอันดับธุรกรรมที่จัดเรียงแบบเดียวกันและทราบว่าธุรกรรมใดมาก่อนหรือหลังได้ เนื่องจาก Hash ของ Block ปัจจุบันเกิดจากองค์ประกอบ 2 ส่วน คือ Hash ของ Block ก่อนหน้ากับข้อมูลของ Block ปัจจุบัน ดังนั้นเมื่อ “Hash ของ Block ก่อน” เป็นเป็นองค์ในการสร้าง Hash ของ Block ถัดไป เราจึงสามารถทราบลำดับของ Block ได้จาก Hash นั่นเอง
ปัญหาเก่าพึ่งแก้ไป ปัญหาใหม่มีมาต่อ!!! เนื่องจากในการใช้งานจริงมีการส่ง Block ไปมาจำนวนมาก ซึ่งทำให้แต่ละ Node อาจมี Timestamp Server ที่แตกต่างกันไป แล้วเราจะทราบได้อย่างไรว่า Timestamp Server ชุดใดถูกต้อง Bitcoin จะมีวิธีแก้ปัญหานี้ได้อย่างไร ติดตามต่อได้ใน Series : Bitcoin Whitepaper EP ต่อไป