อะไรคือ Double Spend?
Double Spend คือเมื่อมีคนพยายามใช้เหรียญดิจิทัลตัวเดียวกันสำหรับสองการชำระเงินที่ต่างกัน ลองนึกถึงการถ่ายเอกสารบัตรเข้าชมคอนเสิร์ตและมอบให้กับเจ้าหน้าที่ตรวจบัตรสองคนบน blockchain, ความพยายามทำ Double Spend จะถูกบีบคั้นโดย consensus แต่ช่วงเวลาที่กำหนดและเทคนิคต่างๆ ก็ยังสามารถถูกใช้งานไม่ถูกต้องได้
หากการชำระเงินปรากฏในกระเป๋าสตางค์ของคุณ มันต้องเป็นการยืนยันสุดท้าย ไม่ใช่ทั้งหมดจนกว่าหมายเลขเครือข่ายจะยืนยัน ธุรกรรมยังสามารถถูกแทนที่หรือละเว้นโดย miners ได้จนกว่าจะมีการยืนยัน
How Double Spend works
นี่คือ play-by-play แบบรวดเร็วกับผู้โจมตีที่แสบและผู้ขายที่ไม่ทันตั้งตัว
- Step 1: ผู้โจมตีสร้างธุรกรรมสองรายการที่ใช้เหรียญชุดเดียวกัน โดยหนึ่งรายการไปยังผู้ขายและอีกหนึ่งคืนกลับไปที่ตัวเอง
- Step 2: เขาถ่ายทอดการชำระเงินให้กับผู้ขายก่อนเพื่อให้ดูเหมือนเป็น pending และผู้ขายส่งมอบสินค้าตาม
- Step 3: จากนั้นเขากระแทกการชำระเงินที่ขัดแย้งกับค่าธรรมเนียมสูงกว่าเพื่อดึงดูด miner หรือ mining pool
- Step 4: หาก miners รวมความขัดแย้งไว้ในบล็อกก่อน การชำระเงินที่รอดำเนินการของผู้ขายจะถูกปฏิเสธโดยเครือข่าย
- Step 5: ผู้โจมตีที่มีพลังมากขึ้นอาจขุดสาขา private แล้วเผยแพร่ในภายหลังเพื่อแทนที่ประวัติสาธารณะ โดยพลิกว่าการชำระเงินไหนที่นับได้
นั่นคือแนวคิด และเหตุใดการยืนยันจึงสำคัญ
ทำไม Double Spend สำคัญ
ถ้าคุณรับการชำระเงินด้วย crypto นี้ไม่ใช่เรื่องเล่นๆ มันมีผลต่อกำไรสุทธิและความสบายใจของคุณ
- ประโยชน์: รู้ถึงความเสี่ยงช่วยให้คุณตั้งกฎการยืนยันอย่างชาญฉลาดและทำให้การขายทันทีปลอดภัยยิ่งขึ้น
- มุมมอง: ภัยคุกคาม Double Spend หลักทรงวิธีคิดเกี่ยวกับการยืนยัน ค่าใช้จ่าย และพฤติกรรมของ miner
- ความเกี่ยวข้อง: คุณจะเห็นมันใน flows ของ point of sale, exchanges, NFT drops และ DeFi bridges
สำหรับการซื้อที่มีมูลค่าน้อย ใช้ risk tiers และเฝ้าระวังการถูกแทนที่ด้วย flag ค่าfee สำหรับจำนวนเล็กๆ รอการยืนยันหลายรายการ สำหรับ Bitcoin การยืนยันหกครั้งยังคงเป็นแบบมาตรฐานที่แข็งแกร่ง
Key Characteristics of Double Spend
คุณลักษณะแกนกลางที่ควรสังเกต:
- Conflict: ธุรกรรมสองรายการหรือมากกว่าพยายามใช้ inputs เดียวกัน ซึ่งเครือข่ายไม่สามารถรับทั้งหมดพร้อมกันได้
- Timing: โอกาสสำเร็จลดลงเมื่อจำนวนการยืนยันเพิ่มขึ้น
- Incentive: Miner มักชอบธุรกรรมที่มีค่าธรรมเนียมสูงกว่า ซึ่งอาจเอื้อต่อความขัดแย้งของผู้โจมตี
- Risk: Double Spend เติบโตเมื่อผู้ขายรับการชำระเงินที่ไม่มีการยืนยันโดยไม่มีการตรวจสอบ
Variations
plays ที่ต่างกัน แต่แนวคิดเดียวกัน มีรสชาติที่พบบ่อย:
- Race Attack: ผู้โจมตีส่งธุรกรรมที่ขัดแย้งกันสองรายการเกือบพร้อมกัน หวังให้ miners เลือกอันที่เป็นประโยชน์ต่อพวกเขา
- Finney Attack: ผู้ขุด premines บล็อกที่เป็นการชำระเงินให้ตัวเอง จากนั้นใช้เงินเหล่านั้นกับผู้ขายก่อนเผยแพร่บล็อก
- 51% Attack: ด้วย hash rate เพียงพอ ผู้โจมตีสามารถแซงเครือข่ายที่สุจริตและกลับรายการการชำระเงินอย่างสม่ำเสมอ
Finality grows with depth. After enough confirmations, practical immutability kicks in and it becomes extremely hard to Double Spend without serious resources.
Example
ร้านกาแฟรับการชำระเงินแบบ zero confirmation ผู้ซื้อออกไปพร้อมกาแฟ และภายหลังการชำระที่มีค่าธรรมเนียมสูงกว่าซึ่งเป็นการยืนยัน ทำให้การชำระของร้านกาแฟเป็นโมฆะ
Fun Fact
Satoshi วางกรอบ Bitcoin เพื่อแก้ปัญหาการ Double spending ดังนั้นการป้องกัน Double Spend จึงไม่ใช่ภารกิจเสริม แต่มันคือบอสใหญ่
Wrap-Up
สั้นๆ: Double Spend ขึ้นอยู่กับ timing และ consensus และคุณเอาชนะมันด้วยการยืนยัน การตรวจสอบที่ชาญฉลาด และความอดทนเล็กน้อย Rolex พบกับกระทู้ Reddit