คำว่า Replay Protection ผุดเข้ามาในหัวผมตอนนั่งไล่หาข้อมูล ของเจ้า Bitcoin Gold ใครสนใจตามอ่านได้ที่นี่นะครับ
เค้าว่ากันว่าถ้าเหรียญ Bitcoin Gold ไม่มี Replay Protection แล้วเราโอนเงิน หรือ ซื้อ Bitcoin Gold เราจะเสีย Bitcoin ฟรี ๆ ผมก็หาข้อมูลไปแปลไป แล้วก็สงสัยมันทำงานยังไง เลยเป็นที่มาให้มานั่งบ่นกัน ณ เวลานี้
จริง ๆ แล้วเทคนิคนี้มีมานานแล้วครับ เรียกว่า Replay Attack หรือ Playback Attack แปลเป็นภาษาไทยตรงตัวเลยคือ การโจมตีแบบทำซ้ำ ผมทำ VDO ไว้ที่นี่นะครับ สามารถเข้าไปดูกันได้ https://youtu.be/CvaYpcosEA4 หลักการของมันมันง่าย ๆเลยครับใครสนใจลองไปอ่านตรงนี้นะครับ
ผมขอยืมรูปจาก Wikipedia มาแล้วกันนะครับดูแล้วก็เข้าใจง่ายดี

จากในรูป Alice ส่งข้อมูล Password ที่ได้รับการ Hash เรียบร้อยแล้วส่งให้กับ Bob เรื่อง Hash เดี๋ยวผมไปหาข้อมูลมาอธิบายละเอียดอีกครั้งนึงนะครับ
Eve ในรูปทำตัวเป็น Hacker ดักข้อมูลของ Alice ที่ส่งให้กับ Bob การทำลักษณะนี้ภาษา Security เรียก Sniff
หลังจากนั้น Eve สามารถส่งข้อมูลที่ได้มาจาก Alice ให้ Bob แล้วอ้างว่าตัวเองเป็น Alice ได้เลย ซึ่งการทำในลักษณะแบบนี้ Eve ไม่มีความจำเป็นต้องรู้เลยด้วยซ้ำว่า Password จริง ๆ ของ Alice เป็นอะไร แต่สามารถเอาไปใช้ยืนยันกับ Bob ได้ว่าเค้าคือ Alice
วิธีป้องกันเรื่องพวกนี้ก็มีหลากหลายวิธีแตกต่างกันไปตามรูปแบบการใช้งานครับ แล้วมันเกี่ยวกับ Bitcoin Hard Fork ยังไง อันนี้ต่างหากที่ผมปูความเข้าใจให้ทุกคนเข้าใจเรื่อง พื้นฐานการ โจมตีด้วยวิธีการ Replay เราจึงต้องมี Replay Protection
ลองนึกภาพตามนะครับ เวลาจะ Hard Fork จาก Bitcoin สมมุติว่าเรามีกระเป๋า Bitcoin อยู่ กระบวนการในการ Hard Fork ต้อง Snapshot Blockchain ที่เป็นปประวัติทั้งหมด ของ Bitcoin มาเป็นประวัติของ Bitcoin Gold ด้วยก่อน Split หลังจาก Split ก็ Transaction ของใครของมัน ลองดูรูปจากนี้ประกอบนะครับเป็นกระบวนการ Hard Fork เมื่อตอน สิงหาคมที่ผ่านมา ของ Bitcoin Cash
ปัญหามันอยู่ตรงนี้ครับ ตอนที่ Split Private Key มันจะมีทั้ง Bitcoin และ Bitcoin Gold ซึ่งเป็น Private Key เดียวกัน และถ้าไม่ป้องกันมันจะยอมรับในการโอนกันข้าม Chain ซึ่งเป็นช่องทางที่ทำให้เราเสียเงินได้ครับ จริง ๆ แล้ววิธีป้องกันไม่ยากนะครับตามหลักการแต่วิธีการเขียนนี่ผมไม่กล้ายืนยันเพราะเขียนโปรแกรมไม่เป็น เพียงแค่เขียนไม่ให้มันรับ Transaction ระหว่าง Chain กัน ก็น่าจะป้องกันได้ รอดูกันต่อไปครับว่าจะเป็นยังไง เดี๋๋ยวผมหาข้อมูลมาเล่าให้เพื่อนๆ ฟังอีกครั้งครับ
Comments
Post a Comment