Bitcoin Core อุดช่องโหว่ PSBT ลดความเสี่ยงธุรกรรมถูกเปลี่ยนปลายทางได้โดยไม่ต้องขโมยคีย์

สรุปภาพรวมตลาดด้วย AI
Bitcoin Core ได้ผสานมาตรการป้องกันเพื่อหลีกเลี่ยงการลงนาม PSBT บางรายการด้วย SIGHASH_SINGLE ซึ่งเอาต์พุตสามารถถูกแก้ไขได้โดยไม่ทำให้ลายเซ็นเป็นโมฆะ ทำให้สามารถเปลี่ยนเส้นทางผู้รับได้ภายใต้เงื่อนไขขอบเขต (ไม่ใช่การขโมยคีย์) การเปลี่ยนแปลงนี้ช่วยลดความเสี่ยงด้านการอนุมัติของกระเป๋าเงินและตัวลงนามฮาร์ดแวร์ แต่ขณะนี้มีอยู่เฉพาะในสาขาพัฒนาและยังไม่มีเวอร์ชันที่ปล่อย/แบ็กพอร์ตที่ได้รับการยืนยัน ทำให้ในระยะใกล้ยังคงมุ่งเน้นไปที่การตรวจสอบฝั่งกระเป๋าเงินและนโยบายของตัวลงนาม
ระดับผลกระทบ
● ปานกลาง
สินทรัพย์ที่ได้รับผลกระทบ
BTC/USDT+2.05%
ข้อมูลเชิงลึกจาก AI · BTC/USDTข้อมูลเชิงลึกจาก AI
● Neutral
เทรดตอนนี้
⚠️ ข้อความเชิงลึกนี้สร้างขึ้นโดย AI โดยอ้างอิงจากเนื้อหาข่าวเพื่อใช้เป็นข้อมูลอ้างอิงเท่านั้น ไม่ถือเป็นคำแนะนำในการลงทุนหรือสะท้อนทัศนะของ BingX การลงทุนมีความเสี่ยง โปรดซื้อขายด้วยความระมัดระวัง
Bitcoin Core เพิ่มกลไกป้องกันการลงนามธุรกรรมที่อาจไม่ผูกเงินไว้กับปลายทางการชำระเงินที่ผู้ใช้อนุมัติ โดยการเปลี่ยนแปลงดังกล่าวถูกรวมเข้ากับสาขาพัฒนาหลัก (master) เมื่อวันที่ 25 ก.ย. และมุ่งแก้ช่องโหว่เฉพาะทางในธุรกรรม Bitcoin แบบลงนามบางส่วน (PSBT) ที่อาจสร้างลายเซ็นถูกต้องได้ แม้ไม่คุ้มครองเอาต์พุตที่ตั้งใจให้จ่ายจริง ขณะที่ Bitcoin Optech นำประเด็นนี้มาไฮไลต์เมื่อวันที่ 2 ต.ค. ปัญหานี้ไม่ได้ทำให้คีย์ส่วนตัวรั่วไหล แต่ก่อความเสี่ยงอีกแบบคือ ลายเซ็นอาจยังคงใช้ได้แม้มีการเปลี่ยนผู้รับธุรกรรมภายใต้เงื่อนไขบางอย่าง ช่องโหว่เกี่ยวข้องกับ SIGHASH_SINGLE ซึ่งเป็นโหมดการลงนามที่ออกแบบมาให้ผูกอินพุตกับเอาต์พุตในตำแหน่งเดียวกัน หากธุรกรรมไม่มีเอาต์พุตในตำแหน่งนั้น การป้องกันจะล้มเหลว โดยรูปแบบความล้มเหลวขึ้นอยู่กับชนิดของ Bitcoin ที่ถูกใช้จ่าย สำหรับอินพุตแบบ legacy กรณี "ไม่มีเอาต์พุต" อาจทำให้เกิดลายเซ็นที่ลงนามบนค่าแฮชคงที่ นักพัฒนา Bitcoin Core ระบุว่า ลายเซ็นดังกล่าวอาจถูกนำไปใช้ซ้ำกับ UTXO อื่นที่อยู่ภายใต้คีย์เดียวกันได้ หากโครงสร้างธุรกรรมเข้าเงื่อนไขแบบเดียวกัน ขณะที่ธุรกรรม SegWit v0 ยังมีการป้องกันที่แน่นกว่า เพราะลายเซ็นยังผูกกับเหรียญที่ถูกใช้จ่ายและจำนวนเงิน แต่เอาต์พุตปลายทางอาจยังไม่ถูกผูกไว้ ส่งผลให้เกิดปัญหาเชิงการอนุมัติสำหรับวอลเล็ตและอุปกรณ์ลงนาม กล่าวคือ ซอฟต์แวร์อาจแสดงรายการจ่ายเงินแบบหนึ่งให้ผู้ใช้เห็น แต่สร้างลายเซ็นที่ไม่ได้รับประกันเชิงคริปโตว่า ผู้รับที่อนุมัติจะไม่ถูกเปลี่ยน Bitcoin Core ระบุว่า เดิมทีระบบปฏิเสธเคสขอบ (edge case) นี้ผ่านอินเทอร์เฟซการลงนาม rawtransaction อยู่แล้ว แต่เส้นทาง PSBT รวมถึง walletprocesspsbt ยังสามารถลงนามได้ โค้ดใหม่ย้ายการตรวจสอบไปไว้ในตรรกะการสร้างลายเซ็นส่วนกลางของ Bitcoin Core ทำให้ไม่ลงนามอินพุต legacy และ SegWit v0 ที่เข้าข่ายเสี่ยง ขณะเดียวกันยังอนุญาตให้อินพุตอื่นที่ถูกต้องภายใน PSBT เดียวกันดำเนินการต่อได้ PSBT ถูกใช้อย่างแพร่หลายเพื่อประสานงานการทำธุรกรรมระหว่างซอฟต์แวร์วอลเล็ต อุปกรณ์ฮาร์ดแวร์ และตัวลงนามออฟไลน์ โดยเปิดให้ผู้สร้างธุรกรรมส่งข้อมูลไปยังผู้ลงนามแยกต่างหากได้ โดยไม่ต้องมอบการควบคุมคีย์ส่วนตัวให้ระบบนั้น การแก้ไขครั้งนี้จึงเสริมแนวป้องกันที่นักพัฒนาวอลเล็ตต้องดูแลนอกเหนือจากความปลอดภัยของคีย์ นั่นคือ ลายเซ็นที่ถูกต้องต้องผูกกับรายละเอียดธุรกรรมที่ผู้ใช้อนุมัติจริง Bitcoin Improvement Proposal 174 ซึ่งกำหนดมาตรฐาน PSBT ระบุไว้แล้วว่า ผู้ลงนามควรปฏิเสธโหมดการลงนามที่ยอมรับไม่ได้ และแนะนำให้ใช้ SIGHASH_ALL เมื่อไม่ได้ระบุทางเลือกอื่น การเปลี่ยนแปลงของ Bitcoin Core ครั้งนี้ทำให้การกำหนดค่าแบบ "ไม่มีเอาต์พุต" ในบริบท SIGHASH_SINGLE ไม่สามารถไปถึงขั้นตอนการลงนามได้ จนถึงขณะนี้ยังไม่มีการยืนยันเวอร์ชันสำหรับใช้งานจริง (production) ที่มีมาตรการป้องกันดังกล่าว การเปลี่ยนแปลงวันที่ 25 ก.ย. ถูกผสานไว้ในสาขาพัฒนา ส่วนรายการรีลีสที่เผยแพร่ของโครงการยังไม่ระบุเวอร์ชันที่แก้แล้วหรือยืนยันการแบ็กพอร์ต ณ วันที่ 4 ต.ค. ทำให้ผู้ให้บริการวอลเล็ตและระบบเชื่อมต่อการลงนามผ่านฮาร์ดแวร์ต้องตัดสินใจเชิงปฏิบัติในระยะสั้น: ทบทวนการจัดการคำขอ SIGHASH_SINGLE ของตนเอง แทนการรอให้ Bitcoin Core ออกรุ่นที่บังคับใช้การป้องกันเดียวกันในลำดับถัดไป อ่านเพิ่มเติม: Major Bitcoin Core update changes default wallet protocols, risking temporary disruption across popular apps เนื้อหานี้เผยแพร่ครั้งแรกโดย CryptoSlate ในหัวข้อ "Bitcoin Core's new fix closes gap that could redirect funds without stealing keys"