Planning
Outline-text
ชื่อหัวข้อที่จะนำเสนอ
- EP 2 : ธุรกรรม (Transactions)
โครงสร้างของเนื้อหา
- หัวข้อที่ 1 : เกริ่นนำ > จาก EP : 1 [บทนำ เราได้ตอบคำถามกันไปแล้วว่า Bitcoin เกิดขึ้นมาเพื่ออะไร และจะเข้ามาแก้ปัญหาอะไรบ้าง มาใน EP : 2 เราจะมาเจาะประเด็นแรกของ Bitcoin Whitepaper นั่นก็คือ “ธุรกรรม (Transactions)” กันว่าจุดเริ่มต้นของการแก้ปัญหาที่ Bitcoin ต้องการจะสร้าง เป็นอย่างไร
- หัวข้อที่ 2 : การทำธุรกรรม (Transactions) ของ Bitcoin ใช้วิธีการยังไง
- หัวข้อที่ 3 : ปัญหาที่พบในการทำธุรกรรม (Transactions) ส่งผลให้จะต้องมีวิธีการต่อไปมาช่วยแก้ปัญหานี้ วิธีการนั้นคืออะไร ติดตามต่อได้ใน EP 3 : เวลาที่บันทึก (Timestamp Server) - Experimental / Content Board - Hashpire Community
Q 1 : ถ้าระบบการจ่ายเงินแบบไม่มีตัวกลาง การทำธุรกรรมจะต้องทำยังไง
Q 2 : เราจะรู้ได้อย่างไรว่า เจ้าเหรียญของไม่ได้นำเหรียญนั้นไปใช้ซ้ำ (Double-spend)
ประเด็นสำคัญของบทความ
- วิธีการที่ Bitcoin ใช้ทำธุรกรรม (Transactions)
สิ่งที่ผู้อ่านจะได้รับจากบทความ
- เข้าใจวิธีการทำธุรกรรม (Transactions) ของ Bitcoin
Outline-graphic
รูปแบบของกราฟฟิค + โครงสร้าง
คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ
1. ต้องการรู้ประเด็นไหนเพิ่มเติมไหม เพราะอะไร
2. คิดว่าเรียงลำดับการนำเสนอได้ดีรึยัง ถ้าไม่ดี มีไอเดียอย่างไร
3. มีประเด็นไหนควรตัดทิ้งไหม เพราะอะไร
Content text + graphic
EP 2 : ธุรกรรม (Transactions)
คำศัพท์ที่ควรรู้ก่อนอ่านบทความ
Node : ผู้ที่มีส่วนร่วมในเครือข่าย หมายถึงคอมพิวเตอร์หรืออุปกรณ์ที่เชื่อมต่อเข้ากับเครือข่าย Blockchain
จาก EP : 1 บทนำ เราได้อธิบายไปแล้วว่า Bitcoin ถูกสร้างขึ้นมาเพื่อวัตถุประสงค์อะไรและจะเข้ามาแก้ปัญหาอะไรบ้าง ใน EP นี้เราจะมาเจาะประเด็นแรกของ Bitcoin Whitepaper ซึ่งก็คือ “ธุรกรรม (Transactions)” กัน
การทำธุรกรรมบน Bitcoin จะต้องมีลายเซ็นดิจิทัล (Digital Signature)
เพื่อเป็นการยืนยันความเป็นเจ้าของธุรกรรม (Ownership) ซึ่งผู้ที่มีสิทธิ์ในการทำธุรกรรมจะมีเพียงเจ้าของสินทรัพย์เพียงผู้เดียว บุคคลที่ไม่มีสิทธิ์จะไม่สามารถทำธุรกรรมในนามเจ้าของสิทธิ์ได้ และเมื่อธุรกรรมมีจำนวนเพิ่มขึ้น Bitcoin จะใช้ห่วงโซ่ลายเซ็นดิจิทัล (Chain of Digital Signature) ในการบันทึกการโอนย้ายเหรียญจากบุคคลหนึ่งไปสู่อีกบุคคลหนึ่ง ทำให้ผู้รับเหรียญสามารถตรวจสอบความเป็นเจ้าของห่วงโซ่ (Chain of ownership) ได้
ปัญหาคือผู้รับไม่สามารถตรวจสอบได้ว่าธุรกรรมที่ได้รับมีการทำซ้ำ (Double-spending) หรือไม่
วิธีแบบเดิมที่ใช้ในการแก้ไขปัญหานี้คือ การใช้ตัวกลางที่เชื่อถือได้ในการตรวจสอบแบบรวมศูนย์ (Trusted central authority) โดยการตรวจสอบทุกธุรกรรมว่ามีการทำซ้ำหรือไม่ ซึ่งในทุก ๆ ธุรกรรมเหรียญจะต้องกลับไปสู่ตัวกลางเพื่อสร้างเหรียญใหม่ และเฉพาะเหรียญใหม่ที่ถูกสร้างจากตัวกลางนี้เท่านั้น ที่จะเชื่อถือได้ว่ามันไม่ได้ถูกนำไปใช้ซ้ำ แต่ท้ายที่สุดแล้วปัญหาของวิธีนี้คือทุกอย่างจะขึ้นอยู่กับตัวกลางเท่านั้น
Bitcoin ต้องการระบบที่ผู้รับเหรียญสามารถทราบว่าเหรียญที่ได้รับไม่ได้ถูกนำไปใช้มาก่อนหน้านี้แล้ว และด้วยเหตุผลนี้ Bitcoin จึงนับธุรกรรมแรกสุดเป็นธุรกรรมที่ถูกต้อง โดยไม่สนใจว่าธุรกรรมนี้จะถูกทำซ้ำหรือไม่
ซึ่งวิธีการเดียวที่เราจะสามารถยืนยันได้ว่าไม่มีการทำธุรกรรมนี้อยู่ คือการตรวจสอบธุรกรรมทั้งหมด โดยระบบที่มีตัวกลางแบบรวมศูนย์ จะใช้ตัวกลางในการตัดสินใจว่าธุรกรรมใดมาก่อนหรือหลัง
ในทางกลับกันถ้าเราตัดตัวกลางแบบรวมศูนย์ออกไป แต่ยังต้องการตรวจสอบธุรกรรมเหมือนกับการใช้ตัวกลางแบบข้างต้น “การทำธุรกรรมทั้งหมดจะต้องถูกประกาศแก่สาธารณะ” เพื่อให้ Node ทั้งหมดเป็นผู้ตัดสินใจร่วมกันแทน
แต่เนื่องจากแต่ละ Node จะได้รับธุรกรรมที่ไม่เท่ากัน ดังนั้น จึงต้องมีกลไกที่ใช้ในการจัดอันดับธุรกรรม เมื่อธุรกรรมถูกจัดอันดับและทุก Node มีอันดับธุรกรรมที่จัดเรียงแบบเดียวกันแล้ว จะนับธุรกรรมที่อยู่ในอันดับแรกสุดเป็นธุรกรรมที่ถูกต้องและธุรกรรมอื่น ๆ ที่ถูกทำซ้ำจะถือว่าไม่ถูกต้องทั้งหมด โดย Node ส่วนใหญ่จะต้องเห็นตรงกัน
จากรายละเอียดที่เราได้อธิบายไว้ทั้งหมด จะเห็นได้ว่า Bitcoin ต้องการสร้างระบบที่ผู้ได้รับธุรกรรมสามารถรู้ได้ว่าธุรกรรมนั้นไม่ได้ถูกทำซ้ำ (Double-spending) โดยการตัดตัวกลางแบบรวมศูนย์ออกไปและใช้วิธีประกาศธุรกรรมทั้งหมดต่อสาธารณะ ให้ Node ส่วนใหญ่ยอมรับว่าเป็นการได้รับธุรกรรมครั้งแรก ไม่ใช่ธุรกรรมที่ถูกทำซ้ำ แต่ Bitcoin จะใช้วิธีการใดในการจัดอันดับว่าธุรกรรมใดมาก่อน-หลัง วันที่ ? เวลา ? หากอยากรู้ว่า Bitcoin ทำอย่างไร ติดตามต่อได้ใน Series : Bitcoin Whitepaper EP ต่อไป