ผู้ใช้ระบบจำนวนมากต้องเผชิญกับความจำเป็นในการยกเลิกธุรกรรมบนบล็อคเชน เนื่องจากธุรกรรมถูกระงับและเงินถูกหักออกจากกระเป๋าบ่อยขึ้นเรื่อยๆ แต่การยกเลิกดังกล่าวสามารถทำได้หรือไม่? และถ้าเป็นเช่นนั้นอย่างไร?
เทคโนโลยีบล็อคเชนได้รับการออกแบบในลักษณะที่การดำเนินการและธุรกรรมใดๆ หากดำเนินการไปแล้วจะไม่สามารถยกเลิกได้ อย่างไรก็ตาม หากธุรกรรมไม่ได้รับการยืนยัน ธุรกรรมจะ "แฮงค์" ในระบบเป็นเวลาหลายวันไม่เกิดประโยชน์ และในกรณีดังกล่าว bitcoins จะถูกหักออกจากกระเป๋าเงิน และเมื่อเรียนจบปัญหาก็กลายเป็นเรื่องร้ายแรง
อย่างไรก็ตาม มีทางออก และมันก็ขึ้นอยู่กับความจริงที่ว่าการทำธุรกรรมไม่ได้หยุดนิ่งเช่นนั้น - ในแต่ละกรณีมีเหตุผล: บางสิ่งที่ไม่เหมาะกับระบบบล็อคเชน หากคุณสามารถเข้าใจได้ คุณจะสามารถแก้ปัญหาธุรกรรมที่ติดอยู่ในระบบได้
สาเหตุที่พบบ่อยที่สุดของการทำธุรกรรมติดขัดมีดังต่อไปนี้:
- โอเวอร์โหลดของระบบบล็อกเชนเอง
- การก่อตัวของ mempools ที่เรียกว่า - คิวสำหรับการทำธุรกรรม
ความจริงก็คือความนิยมของ bitcoin ในฐานะสกุลเงินดิจิทัลที่ค่อนข้างแพงนั้นเพิ่มขึ้นเรื่อยๆ ซึ่งดึงดูดผู้ใช้ใหม่จำนวนมากเข้าสู่ระบบ หลายคนตัดสินใจเกี่ยวกับการดำเนินการที่แตกต่างกันโดยไม่เข้าใจโครงสร้างของพวกเขาจริงๆ และทำให้สับสน และระบบบล็อกเชนจะรับรู้การกระทำของผู้ใช้ดังกล่าวอย่างชัดเจน - ไม่เพียงพอและตอบสนองอย่างรวดเร็ว: โอเวอร์โหลดและหยุดนิ่ง โดยปกติธุรกรรมในกรณีนี้จะไม่ผ่านและหยุดทำงานเช่นกัน
สำหรับ mempools เกิดขึ้นได้จากหลายสาเหตุ:
- ผู้ใช้จำนวนมากต้องการทำข้อตกลง แต่บล็อกที่พวกเขากรอกนั้นไม่สามารถรวมอยู่ในระบบได้ในเวลาเดียวกัน - mempool ปรากฏขึ้น
- การโอนที่มีค่าคอมมิชชั่นสูงเป็นอันดับแรกและมีโอกาสน้อยที่จะเสี่ยงต่อคิว และหากผู้ใช้ตั้งค่าคอมมิชชันต่ำหรือไม่ได้ระบุเลย mempool (และเป็นเวลานาน) จะมอบให้เขา.
ยิ่งไปกว่านั้น ในกรณีหลังนี้ เราไม่สามารถรับประกันได้ว่าธุรกรรมนี้จะดำเนินไปทั้งหมด เนื่องจากมันจะถูกส่งไปยังตลาดค่าคอมมิชชั่น และนักขุดอาจไม่สนใจมัน - ธุรกรรมนั้นก็จะแขวนอยู่ใน mempool ของพวกเขาจนกว่าจะพบ บล็อกใหม่
ดังนั้นสิ่งที่สามารถทำได้เพื่อแก้ปัญหาทั้งในกรณีแรกและครั้งที่สอง? พยายาม "ผลักดัน" ธุรกรรมต่อไป หรือยกเลิก หากยังทำได้ มีหลายตัวเลือกสำหรับการดำเนินการ:
- คุณสามารถลองใช้ doublespend - ตัวเลือกการใช้จ่ายซ้ำซ้อน ซึ่งจะทำให้แน่ใจได้ว่าธุรกรรมกำลังดำเนินการอยู่ กล่าวคือ ตัวเลือกของ "การผลักดันผ่าน" โดยการเพิ่มค่าคอมมิชชั่น ถ้าในตอนแรกมันต่ำเกินไป สิ่งนี้เป็นไปได้เนื่องจากคู่สัญญาจะตรวจสอบสินทรัพย์ในบัญชีของตนในช่วงเวลาหนึ่งเท่านั้น ซึ่งหมายความว่าหากธุรกรรมถูกระงับ คุณสามารถส่งรายการอื่นโดยมีค่าคอมมิชชั่นเพิ่มขึ้น ธุรกรรมทั้งสองจะล้มเหลว ไม่ต้องกังวลกับเรื่องนั้น
- การใช้ CPFP เป็นกลไกที่ช่วยให้คุณสามารถสร้างธุรกรรมด้วยอินพุตเดียว (จะต้องเป็นผลลัพธ์ของธุรกรรมที่มีปัญหา เช่น การเปลี่ยนแปลงเดียวกัน) และส่งบิตคอยน์ให้ตัวคุณเอง
- การใช้ตัวเร่งพิเศษสำหรับการทำธุรกรรมที่สามารถใช้ได้ทั้งผู้รับและผู้ส่ง
แต่ไม่มีวิธีการใดที่รับประกันได้ว่าธุรกรรมจะยังคงถูกยกเลิกหรือถูกผลักดัน และไม่มีวิธีการใดในกรณีนี้ที่จะให้การค้ำประกันดังกล่าวได้ เพราะดังที่ได้กล่าวไปแล้วว่าระบบบล็อคเชนนั้นได้รับการออกแบบมาในลักษณะที่ไม่มีการยกเลิกการทำธุรกรรม หากได้รับการยืนยันแล้ว (รวมอยู่ในบล็อก) ไม่มีวิธีใดที่จะช่วยได้ แต่ถ้าพวกเขาติดอยู่ก่อนการยืนยันคุณสามารถลองได้
และเราต้องจำไว้ว่าธุรกรรมที่ไม่ได้รับการยืนยันไม่สามารถยกเลิกได้ด้วยตัวเอง ในกรณีนี้ สามารถเปลี่ยนการแสดงผลในกระเป๋าเงินของผู้ใช้เท่านั้น