Unspent Transaction Output หรือ UTXO เป็นตัวย่อของคำศัพท์ที่อาจจะเคยพบเห็นได้บ่อยครั้งภายในระบบนิเวศบล็อกเชน แต่มันหมายความว่าอะไร แล้วมันมีความสำคัญอย่างไร? ในบทความนี้ เราจะมาเรียนรู้กันว่า Unspent Transaction Output (UTXO) คืออะไร? มันทำงานอย่างไร? พร้อมทั้งยกตัวอย่างเพื่อช่วยให้คุณทำความเข้าใจกับคอนเซปต์ของมันได้ง่ายยิ่งขึ้น
ไม่เข้าใจคำศัพท์บางคำหรือคอนเซปต์บางอย่างใช่หรือไม่? มาเข้าร่วม BeInCrypto Trading Community บน Telegram และถามผู้เชี่ยวชาญของเราดูสิ! ผู้ดูแลของเราเป็นนักเทรดมืออาชีพที่พร้อมจะช่วยให้คุณเข้าใจคอนเซปต์, เทรนด์, และความเคลื่อนไหวของราคาสินทรัพย์ต่างๆ ได้ดียิ่งขึ้น มาเข้าร่วมกับเราเลย!
Unspent Transaction Output (UTXO) คืออะไร?
Unspent Transaction Output หรือ UTXO หมายถึง จำนวนเงินดิจิทัลที่หลงเหลือจากการทำธุรกรรมคริปโต
“เอาต์พุต” (ณ ที่นี้ก็คือสกุลเงินดิจิทัลที่เหลือมาจากธุรกรรมอื่น ๆ) ของธุรกรรมคริปโตนั้น “จะยังไม่ถูกใช้งาน” จนกว่ามันจะถูกใช้งานเป็น “อินพุต” ในธุรกรรมอื่นๆ Unspent Transaction Output คือส่วนสำคัญของระบบนิเวศของสกุลเงินดิจิทัล ซึ่งใช้เพื่อตรวจสอบความเป็นเจ้าของเงินในบล็อกเชนหลายๆ ตัว
Unspent Transaction Output นั้นก็เปรียบได้กับ “เงินทอน/ยอดคงเหลือ” ของสกุลเงินเฟียต (สกุลทั่วไปที่ออกโดยรัฐบาลของแต่ละประเทศ ซึ่งเป็นสกุลเงินที่สามารถใช้ได้ตามกฎหมาย เช่น ดอลลาร์ หรือ ยูโร เป็นต้น) ในการใช้จ่ายสิ่งต่างๆ
สมมุติว่าคุณมี Bitcoin อยู่ 1 BTC และต้องการซื้อบางสิ่งที่ราคา 0.1 BTC คุณจะต้องส่ง 0.1 BTC ไปให้กับผู้ขาย และอีก 0.9 BTC ที่เหลือก็จะถือเป็น UTXO ของคุณ จากนั้น คุณสามารถใช้ UTXO นี้เพื่อทำการซื้อหรือโอนในธุรกรรมอื่นๆ ได้ในอนาคต
บล็อกเชนจะเก็บ UXTO ทั้งหมดเอาไว้ ทุกคนสามารถดูและตรวจสอบได้ แต่ละตัวก็จะมี Unique Identifier (ตัวระบุเอกลักษณ์เฉพาะตัว) ที่เรียกว่า “Outpoint” ซึ่งก็คือแฮชของธุรกรรมก่อนหน้าและดัชนีของเอาต์พุตภายในธุรกรรมนั้นๆ
ผู้ใช้งานที่ต้องการทำธุรกรรมใหม่จะต้องเลือก UTXO อย่างน้อยหนึ่งรายการเพื่อใช้มันเป็น “อินพุต” ตัวอย่างเช่น คุณอาจจะมี UTXO อยู่ 2 รายการเป็นมูลค่า 1 BTC และ 4 BTC ที่เหลือจากการทำธุรกรรมบนเครือข่าย Bitcoin ครั้งก่อน คุณซื้อสินค้ามูลค่า 4.5 BTC ดังนั้น คุณต้องส่ง UTXO ทั้ง 2 รายการเพื่อให้มันครอบคลุมมูลค่าเงินที่เรียกเก็บ ธุรกรรมจะเสร็จสมบูรณ์เมื่อคุณได้รับ “เงินทอน” หรือก็คือ UTXO ใหม่ที่มีมูลค่า 0.5 BTC
ผลรวมของ UTXO จะต้องเท่ากับหรือมากกว่าจำนวนเงินที่ส่งไป บวกค่าธรรมเนียมการทำธุรกรรมใด ๆ เมื่อการทำธุรกรรมใช้ UTXO แล้ว มันจะไม่สามารถนำมาใช้ซ้ำได้
UTXO แต่ละตัวจะมี Unique Address เป็นของตัวเอง ซึ่งช่วยทำให้มั่นใจได้ว่าเหรียญจะไม่ถูกใช้งานซ้ำซ้อน โดยปกติแล้ว คุณจะได้เห็น Address 2 รายการ เมื่อคุณได้รับ UTXO หลังจากทำธุรกรรม หนึ่งอันสำหรับผู้รับ และอีกอันสำหรับ Change Address (ที่อยู่เงินทอน) ซึ่ง Change Address คือที่อยู่ที่ส่ง UTXO ที่เหลือของคุณไปไว้
UTXO ถูกสร้างขึ้นมาได้อย่างไร?
เมื่อผู้ใช้งานทำธุรกรรมบนบล็อกเชนที่มีการใช้งานโมเดล Unspent Transaction Output UTXO ใหม่ก็จะถูกสร้างขึ้น โดย Unspent Transaction Output (เอาต์พุตของธุรกรรมที่ไม่ได้ถูกใช้งาน) นี้จะเป็น “เอาต์พุต” ของธุรกรรมก่อนหน้า จากนั้น UTXO จะถูกใช้เป็น “อินพุต” ในธุรกรรมใหม่
การที่ Unspent Transaction Output จะเกิดขึ้นได้นั้น มันจำเป็นที่จะต้องมี “อินพุต” เสียก่อน ซึ่ง “อินพุต” ก็จะทำให้เกิด UTXO ซึ่งสามารถใช้ในธุรกรรมได้ จากนั้น UTXO ที่เกิดขึ้นมานั้นก็จะถูกใช้ไป และ UTXO ใหม่จะถูกสร้างขึ้นมาแทนที่ ส่วน “เอาต์พุต” ก็จะเปรียบเสมือนเป็นผู้รับธุรกรรม มันจะระบุจำนวนเหรียญที่ผู้รับจะรวบรวมไว้และจะสามารถใช้เป็น “อินพุต” ในอนาคตได้เท่านั้น
UTXO ทำงานอย่างไร?
บล็อกเชนต่างๆ ใช้งานโมเดล Unspent Transaction Output นี้เพื่อตรวจสอบว่าใครเป็นเจ้าของเหรียญอะไร เมื่อใครบางคนส่ง Bitcoin ให้กับคนอื่นๆ พวกเขาจะส่ง UTXO ของ Bitcoin อย่างน้อยหนึ่งรายการไปยัง Public Key ของผู้รับ ซึ่งผู้รับสามารถใช้ UTXO เหล่านั้นเป็นอินพุตสำหรับการทำธุรกรรมของพวกเขาได้
UTXO ถูกจัดเก็บไว้ในบล็อกเชนและอาจจะเปรียบได้กับเหรียญเงินจริงๆ หากคุณมีเหรียญเงินจริงๆ คุณจะสามารถใช้มันได้โดยการมอบมันให้คนอื่น เมื่อคุณให้มันไปแล้ว มันจะไม่ใช่ของคุณ และคุณจะไม่สามารถใช้มันได้อีกต่อไป เมื่อคุณใช้ UTXO ในการทำธุรกรรมแล้ว มันก็จะไม่ถูกเก็บไว้ในกระเป๋าเงินของคุณอีกต่อไป แต่มันจะไปอยู่ในบล็อกเชนซึ่งเป็นส่วนหนึ่งของประวัติการทำธุรกรรมแทน หากมียอดคงเหลือจากการทำธุรกรรม คุณก็จะได้รับมันเป็น UTXO ใหม่นั่นเอง
ตัวอย่างของ UTXO
เพื่อทำความเข้าใจถึงวิธีการทำงานของมัน เราลองมาดูตัวอย่างกัน สมมติว่า Alicia ต้องการส่ง 3 BTC ให้กับ Bob เธอเปิดกระเป๋าเงิน Bitcoin ของเธอออกมา และมี UTXO ที่พร้อมใช้งานอยู่
มันคือ Bitcoin จำนวน 2 BTC ที่เหลือจากการทำธุรกรรมก่อนหน้านี้ของ Alicia และเธอยังมีอีก 1.5 BTC ที่เหลือจากการทำธุรกรรมอื่นๆ เช่นกัน
ในการส่ง 3 BTC ให้กับ Bob Alicia ต้องใช้ UTXO ทั้ง 2 รายการนี้เป็นอินพุต
เมื่อการทำธุรกรรมเสร็จสิ้นลง มันก็จะมีอยู่ 2 เอาต์พุต อันดับแรก Bob จะได้รับ UTXO ใหม่ที่มีมูลค่า 3 BTC ซึ่งเขาสามารถใช้มันเพื่อทำธุรกรรมในอนาคตได้ ส่วนต่างระหว่างมูลค่าที่อินพุตไปทั้งหมด (3.5 BTC) และจำนวนที่ Alicia ส่งไป (3 BTC) จะเท่ากับ 0.5 BTC มันจะถูกส่งกลับไปยัง Alicia ในรูปแบบของ UTXO ใหม่ ซึ่งเธอสามารถใช้มันเพื่อทำธุรกรรมในอนาคตได้
บล็อกเชน UTXO ยังมีตัวเลือกในการรวมบัญชีเพื่อหลีกเลี่ยงความซับซ้อนของการใช้งาน Unspent Transaction Output ในการทำธุรกรรม นี่คือวิธีการทำงานของมัน
การรวมบัญชี UTXO คืออะไร?
การรวมบัญชี Unspent Transaction Output คือ การรวม UTXO หลายรายการไว้ในเอาต์พุตเดียว: เพื่อลดค่าธรรมเนียมหรือเพิ่มความเป็นส่วนตัว
ดังที่อธิบายไปข้างต้น คุณจะต้องรวม UTXO ทั้งหมดของคุณเป็น “อินพุต” เมื่อคุณทำธุรกรรม ดังนั้น ยิ่งคุณมี UTXO มาก จำนวนอินพุตที่คุณต้องการก็จะยิ่งมากขึ้น และค่าธรรมเนียมการทำธุรกรรมของคุณก็จะยิ่งสูงขึ้น ด้วยการรวมบัญชี UTXO ของคุณ คุณจะสามารถลดจำนวนอินพุตและประหยัดค่าธรรมเนียมลงได้
การรวมบัญชี UTXO ยังช่วยให้สัญญาอัจฉริยะสร้างเงื่อนไขใหม่ๆ ได้ ด้วยการรวมบัญชี UTXO หลายรายการไว้ในเอาต์พุตเดียว มันจึงเป็นไปได้ที่จะสร้างเอาต์พุตที่สามารถใช้งานได้อีกครั้งต่อเมื่อตรงตามเงื่อนไขบางประการเท่านั้น ซึ่งทำให้สามารถสร้าง Escrow Contracts ขึ้นมาได้
มี 2 วิธีหลักๆ ในการรวมบัญชี UTXO: การรวมบัญชีด้วยตนเอง และ การรวมบัญชีอัตโนมัติ
การรวมบัญชีด้วยตนเอง จะเป็นการสร้างธุรกรรมใหม่โดยมี UTXO ที่คุณต้องการเป็นอินพุต จากนั้นจึงส่งจำนวนเงินทั้งหมดให้กับตัวคุณเองในเอาต์พุตเดียว
การรวมบัญชีอัตโนมัติ จะเป็นการที่กระเป๋าเงินของคุณสร้างธุรกรรมใหม่เป็นระยะๆ ซึ่งจะรวมหลายๆ UTXOs ไว้ในเอาต์พุตเดียว การรวมบัญชีนี้จะเกิดขึ้นโดยอัตโนมัติและไม่มีการอินพุตจากคุณ
การรวมบัญชี UTXO เป็นวิธีที่ดีในการประหยัดค่าธรรมเนียมการทำธุรกรรม โดยเฉพาะอย่างยิ่งหากคุณเป็นผู้ที่ใช้งาน Bitcoin อย่างสม่ำเสมอ ลองตรวจสอบกับผู้ให้บริการหากคุณไม่แน่ใจว่ากระเป๋าเงินของคุณรองรับ(การรวมบัญชี UTXO)หรือไม่ หรือไม่ก็ลองมองหาตัวเลือกการรวมบัญชี UTXO ในเมนูการตั้งค่าของกระเป๋าเงินของคุณดู
ทำไม UTXOs จึงเป็นเรื่องสำคัญ?
เหตุผลที่ทำให้ UTXO มีความสำคัญได้แก่:
- สัญญาอัจฉริยะที่ไม่จำเป็นต้องขึ้นกับภาษาใดๆ ที่เฉพาะเจาะจง: สัญญาอัจฉริยะที่มีพื้นฐานมาจากโมเดล UTXO นั้นจะไม่จำเป็นต้องขึ้นกับภาษาใดๆ ซึ่งช่วยให้สัญญาอัจฉริยะสามารถพัฒนากลไกฉันทามติของพวกเขาเองได้
- ป้องกันการใช้จ่ายซ้ำซ้อน: UTXO สามารถใช้งานได้เพียงครั้งเดียวเท่านั้น นี่ถือเป็นหัวใจสำคัญสำหรับเทคโนโลยีบล็อกเชน ซึ่งรับประกันว่าสกุลเงินดิจิทัลเดียวกันจะไม่สามารถใช้ซ้ำซ้อนกันได้หลายครั้ง
- รองรับ Atomic Swaps และ Decentralized Exchange: การใช้งาน UTXO ของ Atomic Swap เป็นวิธีที่ยอดเยี่ยมในการเปิดใช้งานการซื้อขายแบบ Peer-to-Peer โดยไม่ต้องมีบุคคลที่สามเข้ามาเกี่ยวข้อง คุณสมบัติ Atomic Swap ใน UTXO นั้นใช้งานได้ดีกว่าในการแลกเปลี่ยนสกุลเงินคริปโตโดยตรงระหว่างกระเป๋าเงินของผู้ใช้งาน
- ประโยชน์ด้านความสามารถในการปรับขนาด: กลไกการทำธุรกรรมของ UTXO ทำให้มั่นใจได้ว่าธุรกรรมแต่ละรายการได้รับการประมวลผลเป็นเหตุการณ์ที่แยกออกมา ซึ่งช่วยลดภาระการคำนวณบนเครือข่ายสกุลเงินดิจิทัลได้เป็นอย่างมาก
- ความเป็นส่วนตัวและความปลอดภัย: มีการสร้าง Address ใหม่สำหรับธุรกรรม UTXO ทุกๆ ธุรกรรม ซึ่งทำให้ตามรอยมันได้ยาก เรื่องนี้เป็นการช่วยส่งเสริมความเป็นส่วนตัวและความปลอดภัยในเครือข่ายบล็อกเชน
- ความยืดหยุ่น: Unspent Transaction Output นั้นมีความยืดหยุ่นมากกว่าสกุลเงินเฟียตทั่วไป เนื่องจากมูลค่าของมันไม่ได้ถูกกำหนดไว้ล่วงหน้า แต่สามารถแยกย่อยเป็นมูลค่าเท่าใดก็ได้ ทำให้มันเหมาะสำหรับการทำธุรกรรมที่แตกต่างกัน
ข้อดีของโมเดลนี้
โมเดลของการรวมบัญชี UTXO มีประโยชน์หลายๆ อย่างที่อยู่เหนือโมเดลอื่นๆ
ประการแรก มันสามารถปรับขนาดได้มากยิ่งขึ้น จำนวนธุรกรรมที่สามารถประมวลผลได้ต่อวินาทีจะถูกจำกัดด้วยความเร็วของเครือข่ายเท่านั้น
ข้อได้เปรียบที่สำคัญถัดไป คือ ความเป็นส่วนตัว ด้วยโมเดลนี้ มันจะมีการสร้าง Address ใหม่สำหรับทุกๆ ธุรกรรม ทำให้แทบจะเป็นไปไม่ได้เลยที่จะตามรอยที่มาของธุรกรรมเหล่านี้
ข้อดีอีกประการหนึ่งก็คือ UTXO ทำให้การยืนยันความถูกต้องทำได้ง่ายยิ่งขึ้น เนื่องจากธุรกรรมแต่ละรายการจะสามารถตรวจสอบย้อนกลับไปยังอินพุตได้ ซึ่งจะเป็นประโยชน์ในการระบุการใช้จ่ายซ้ำซ้อนที่อาจจะเกิดขึ้นได้
นอกจากนี้ โมเดลนี้ยังช่วยให้คุณสามารถทำธุรกรรม Off-Chain ได้ ซึ่งยังคงปลอดภัยและสามารถตรวจสอบบนเครือข่ายบล็อกเชนเพื่อเพิ่มความสามารถในการปรับขนาดและความเป็นส่วนตัวได้
สุดท้าย โมเดลนี้อนุญาตให้มีสัญญาอัจฉริยะบางประเภท (สัญญาอัจฉริยะที่ไม่จำเป็นต้องขึ้นกับภาษาใดๆ ที่เฉพาะเจาะจง) ที่ไม่สามารถทำงานร่วมกับรูปแบบอื่นๆ ได้
ข้อเสียของโมเดลนี้
นอกเหนือจากข้อดีที่มีอยู่ มันก็มีข้อเสียอยู่เล็กน้อยสำหรับโมเดล UTXO
ประการแรก โมเดลนี้อาจจะทำให้ค่าธรรมเนียมการทำธุรกรรมสูงขึ้น เนื่องจากแต่ละ UTXO จะต้องเซ็นชื่อแยกกัน
ประการที่ 2 UTXO อาจจะนำไปสู่การสะสมของ “Dust” ได้ Dust คือเหรียญจำนวนเล็กน้อยที่ไม่สามารถใช้จ่ายได้เนื่องจากมูลค่าของมันน้อยกว่าจำนวนธุรกรรมขั้นต่ำ อย่างไรก็ตาม เมื่อเวลาผ่านไป Dust เหล่านี้สามารถจับตัวเป็นก้อนและกลับมาใช้งานใหม่ได้อีกครั้ง
สุดท้าย UTXO ใช้พื้นที่ได้ไม่เต็มประสิทธิภาพ รายการแต่ละรายการจะเป็นตัวแทนของเอาต์พุตจากธุรกรรมที่แยกออกจากกัน และเอาต์พุตแต่ละตัวต้องจัดเก็บแยกกัน ซึ่งทำให้เกิดข้อจำกัดการจัดเก็บข้อมูลที่สำคัญได้อย่างรวดเร็ว โดยเฉพาะอย่างยิ่ง ในแอปพลิเคชั่นที่เกี่ยวข้องกับธุรกรรมต่างๆ เป็นจำนวนมาก
Unspent Transaction Output vs. Account
โมเดล Unspent Transaction Output แตกต่างจากโมเดล Account (บัญชี) ที่ถูกใช้งานโดยธนาคารและบล็อกเชนบางตัว ในโมเดล Account ธุรกรรมทั้งหมดของคุณจะถูกตรวจสอบจากยอดคงเหลือในบัญชี ด้วยโมเดล UTXO ธุรกรรมแต่ละรายการจะถูกตรวจสอบแยกกัน หรืออาจจะพูดได้ว่ามันเป็นการตรวจสอบเงินของคุณในใบเรียกเก็บเงินแต่ละใบแทนที่จะเป็นยอดคงเหลือในธนาคารของคุณ
UTXO แตกต่างจากการเงินแบบดั้งเดิมตรงที่ UTXO จะถือว่า “ตัวสกุลเงิน” เป็น “วัตถุ “ แทนที่จะเป็น “หน่วยค่าเงิน” วัตถุแต่ละตัวจะมีประวัติที่เก็บไว้บนตัวมันและสามารถนำไปใช้จ่ายได้เมื่อจำเป็น แต่จำเป็นจะต้องมีการตรวจสอบความเป็นเจ้าของเมื่อมีการส่ง “ตัวสกุลเงิน” ออกไป
ในขณะเดียวกัน โมเดล Account จะสร้างบัญชีแยกสำหรับผู้ใช้งานแต่ละคน จึงมีความจำเป็นจะต้องตรวจสอบทุกๆ บัญชี และจดจำยอดคงเหลือไว้ตลอดเวลา
ข้อแตกต่างอื่นๆ ระหว่างรูปแบบ UTXO และ Account มีดังนี้:
UTXO: ส่วนประกอบสำคัญของระบบนิเวศบล็อกเชน
โดยพื้นฐานแล้ว UTXOs นั้นก็คือเงินทอนในรูปแบบดิจิทัล พวกมันมีบทบาทสำคัญในเรื่องการทำงานของ Bitcoin และสกุลเงินดิจิทัลอื่นๆ เมื่อคุณทำธุรกรรม Bitcoin เอาต์พุตของธุรกรรมที่ไม่ได้ถูกใช้งานก็จะส่งสัญญาณไปยังเครือข่ายว่าคุณส่งและรับสกุลเงินดิจิทัลไปมากน้อยเพียงใด สิ่งที่คุณเหลืออยู่ในกระเป๋าเงิน Bitcoin นั้นก็คือ UTXOs นั่นเอง
คำถามที่พบบ่อย
UTXO หมายถึงอะไร?
ธุรกรรม UTXO ทำงานอย่างไร?
ทำไม Bitcoin จึงต้องใช้ UTXO?
Bitcoin UTXO ถูกเก็บไว้ที่ไหน?
Blockchains ใดที่ใช้ UTXO บ้าง?
ข้อจำกัดความรับผิด
ข้อมูลทั้งหมดที่มีอยู่บนเว็บไซต์ของเราเผยแพร่ด้วยเจตนาที่ดีและเป็นไปเพื่อวัตถุประสงค์ในการให้ข้อมูลทั่วไปเท่านั้น การกระทำใด ๆ ที่ผู้อ่านดำเนินการตามข้อมูลที่พบบนเว็บไซต์ของเราถือเป็นความเสี่ยงของผู้อ่านโดยเฉพาะ Learn ให้ความสำคัญกับข้อมูลคุณภาพสูง เราอุทิศเวลาให้กับการแยกแยะ ค้นคว้า และสร้างเนื้อหาเพื่อการศึกษาซึ่งเป็นประโยชน์กับผู้อ่าน เพื่อเป็นการรักษามาตรฐานนี้และเพื่อสร้างเนื้อหาคุณภาพได้อย่างต่อเนื่อง พาร์ตเนอร์ของเราอาจตอบแทนเราด้วยค่าคอมมิชชั่นสำหรับการจัดวางตำแหน่งต่าง ๆ ในบทความของเรา อย่างไรก็ดี ค่าคอมมิชชั่นนี้ไม่มีผลต่อกระบวนการของเราในการสร้างเนื้อหาที่ไร้อคติ ตรงไปตรงมา และเป็นประโยชน์