OP_Return
OP_Return คืออะไรทำไมถึงกลายเป็นประเด็นร้อนในวงการบิตคอยน์ตอนนี้
OP_RETURN เป็น opcode ในภาษา script ของ บิตคอยน์ที่เมื่อพบใน lock script จะทำให้สคริปต์สิ้นสุดทันทีและผลลัพธ์ของ output นั้นถือว่าไม่สามารถใช้จ่ายได้ (unspendable) [1] เนื่องจาก output ที่ใช้ OP_RETURN จะไม่ถูกเพิ่มเข้าไปใน UTXO set จึงใช้สำหรับ “เผา” เหรียญหรือฝังข้อมูลเล็ก ๆ ลงบนบล็อกเชนได้โดยไม่สร้างภาระให้กลับ UTXO อื่น ๆ [2] แต่อย่างไรก็ดี เหล่านักพัฒนาได้ทำการระบุไว้ว่า การเก็บข้อมูลบนบล็อกเชนนั้นยังคงไม่ใช่จุดประสงค์หลักของ Bitcoin และเป็น “ความคิดที่ไม่ดี” ในทางปฏิบัติ [3]
จุดเริ่มต้นของการนำ OP_RETURN มาใช้
ฟีเจอร์ OP_RETURN ถูกเพิ่มใน Bitcoin Core v0.9.0 ซึ่งออกเมื่อเดือนมีนาคม 2014 การเปลี่ยนแปลงนี้ทำให้สามารถสร้าง output ที่ใช้ OP_RETURN (unspendable) ได้โดยตรง และทำให้ node ต่าง ๆ ทราบว่าข้อมูลใน OP_RETURN ไม่จำเป็นต้องเก็บไว้ใน UTXO set [3] ในตอนแรก Bitcoin Core จำกัดขนาดข้อมูลใน OP_RETURN ที่สูงสุด 80 ไบต์ แต่ภายหลังลดเหลือ 40 ไบต์เพื่อป้องกันการบิดเบือนระบบ และต่อมาใน Bitcoin Core v0.11.0 (ก.ค. 2015) [4] ขยายขนาดกลับเป็น 80 ไบต์โดยค่าเริ่มต้น [5] การเปลี่ยนแปลงเหล่านี้เป็นเพียงนโยบายของ relay (standardness rule) ไม่ใช่ consensus rule จึงมีผลต่อลักษณะการกระจายข้อมูลในเครือข่ายเท่านั้น [6]
การใช้งานทั่วไปของ OP_RETURN
แนบเมตาดาต้า (Metadata) เช่น การฝัง hash ของเอกสารหรือข้อมูลภายนอกลงบนบล็อกเชน เพื่อใช้พิสูจน์การมีอยู่ของข้อมูล ณ เวลาใดเวลาหนึ่ง (proof of existence) OP_RETURN จึงถูกนำไปใช้ในระบบ timestamping หรือระบบจัดเก็บบันทึกดิจิทัลหลายโครงการ (เช่น OpenTimestamps) เพื่อให้มีหลักฐานยืนยันเวลาของข้อมูล [7]
Hash คืออะไร หากไม่เข้าใจสามารถอ่านได้จากบทความนี้ครับ -->
สร้างโทเค็นหรือ NFT บนบิตคอยน์ ระบบนิเวศบางแห่งใช้ OP_RETURN เพื่อฝังข้อมูลสร้างสินทรัพย์ดิจิทัล (token/NFT) ตัวอย่างเช่น โปรโตคอล Counterparty (เปิดตัว 2014), หรืออย่าง odinal ที่ใช้ OP_RETURN เพื่อบันทึกการทำธุรกรรมของโทเค็นต่าง ๆ บนบล็อกเชนของบิตคอยน์ โครงการอย่าง Rare Pepe, Magic Cards และโทเค็นอื่น ๆ บน Bitcoin ก็ล้วนใช้ OP_RETURN ในลักษณะนี้เป็นส่วนใหญ่ [7]
การพิสูจน์เวลา (Timestamping): สามารถนำ OP_RETURN ไปแนบข้อมูลวันที่/เวลา หรือ hash ของข้อมูล เพื่อใช้สร้างลายเซ็นยืนยันเวลาของข้อมูลนั้น ๆ โดยไม่ต้องเชื่อใจหน่วยงานกลาง ตัวอย่างเช่น โครงการ OpenTimestamps มาตรฐานการพิสูจน์เวลาโดยใช้บล็อกเชน ใช้ OP_RETURN เป็นกลไกส่งข้อมูลบันทึกลงในบล็อกเชนของบิตอคยน์ [6]
การเชื่อมโยงกับระบบภายนอก (Data anchoring): ใช้ OP_RETURN เป็นสะพานบันทึกข้อมูลจากระบบอื่นเข้าสู่ Bitcoin เช่น ใช้ฝัง hash ของบล็อกเชนภายนอก หรือสถานะของฐานข้อมูลภายนอกลงบนบล็อกเชนของบิตคอยน์ ตัวอย่างเช่น โครงการ Exonum blockchain ใช้ OP_RETURN ในธุรกรรมบิตคอยน์เพื่อบันทึก hash ของบล็อก Exonum ทำให้สามารถตรวจสอบความถูกต้องของข้อมูลภายนอกโดยอ้างอิงจากบล็อกเชนบิตคอยน์ได้ [8]
ข้อจำกัดและข้อโต้แย้งด้านความปลอดภัยและประสิทธิภาพ
ประเด็นความปลอดภัย: OP_RETURN ทำให้ออปพุตนั้นกลายเป็น unspendable จึงไม่มีความเสี่ยงเรื่องการถูกโจรกรรม แต่มักถูกวิจารณ์ว่าเป็นช่องทางสำหรับฝังข้อมูลที่ไม่เกี่ยวกับการเงิน ซึ่งบางคนมองว่าเป็นการสแปมหรือก่อกวนเครือข่าย Bitcoin Core ได้ชี้แจงตั้งแต่ต้นว่า การเก็บข้อมูลบนบล็อกเชนด้วย OP_RETURN มีความเสี่ยงและนโยบายนี้ไม่ได้สนับสนุนการใช้เครือข่ายเก็บข้อมูลนอกเหนือจากการทำธุรกรรมทางการเงิน [1][6]
ประเด็นประสิทธิภาพ: แม้ว่าการใช้ OP_RETURN จะไม่เพิ่มภาระต่อ UTXO set แต่ก็ยังเพิ่มขนาดของบล็อกเชนที่ต้องดาวน์โหลดและตรวจสอบ ผู้วิจัยบางกลุ่มเคยตั้งคำถามว่าการฝากข้อมูลบน OP_RETURN เป็นจำนวนมากอาจทำให้เครือข่ายช้าลงหรือบล็อกเชนบวมขึ้น อย่างไรก็ตาม ฝ่ายสนับสนุนชี้ว่า Bitcoin Core ยังมีข้อจำกัดเรื่องขนาดบล็อก (4 ล้าน weight units) เงื่อนไข dust และนโยบายอื่น ๆ อยู่แล้ว จึงควบคุมปริมาณข้อมูลได้ระดับหนึ่ง [6] [7]
ข้อโต้แย้งล่าสุด: ในปี 2025 มีการถกเถียงในชุมชนของบิตคอยน์ เกี่ยวกับการผ่อนคลายข้อจำกัด OP_RETURN โดยมีกลุ่มผู้พัฒนาเสนอให้ยกเลิกขนาด 80 ไบต์ ขณะที่ฝ่ายวิจารณ์มองว่าสิ่งนี้อาจกระทบกับธรรมชาติของบิตคอยน์ ฝ่ายสนับสนุน (อย่างเช่น Greg Sanders) ระบุว่าการยกเลิกนโยบายดังกล่าวจะช่วยให้นโยบายของ node สอดคล้องกับการใช้งานจริงและป้องกันการใช้วิธีการที่ซับซ้อนเกินไป ในขณะที่ผู้คัดค้าน (เช่น Luke Dashjr) ระบุว่าการปลดล็อกนั้นเป็น “ความบ้าคลั่ง” ที่เพิ่มความเสี่ยงต่อการสแปมข้อมูลลงในบล๊อกเชนของบิตคอยน์
อ้างอิง
[1] https://developer.bitcoin.org/reference/transactions.html
[2] https://en.bitcoin.it/wiki/OP_RETURN
[3] https://bitcoin.org/en/release/v0.9.0#opreturn-and-data-in-the-block-chain
[4] https://bitcoin.org/en/release/v0.11.0
[5] https://github.com/bitcoin/bitcoin/pull/5286
[6]https://cryptoslate.com/bitcoin-cores-op_return-limit-removal-divides-crypto-community/
[7] https://arxiv.org/abs/1702.01024
[8] https://exonum.com/doc/version/latest/advanced/bitcoin-anchoring/
Last updated