blockchain

การสร้าง Taproot: กลุ่มการชำระเงินอาจเป็นโปรโตคอลเลเยอร์ที่สองถัดไปของ Bitcoin

บทความนี้เกี่ยวกับแนวคิดทางเทคโนโลยีตามการอัปเกรดโปรโตคอล Taproot ที่เสนอ หากคุณยังไม่คุ้นเคยกับพื้นฐานการทำงานของ Taproot ขอแนะนำให้อ่านก่อน ผู้อธิบายนี้.

รากแก้วการอัพเกรดที่เป็นไปได้สำหรับโปรโตคอล Bitcoin ที่เสนอโดย Gregory Maxwell ผู้สนับสนุน Bitcoin Core นั้นอยู่ในขั้นตอนสุดท้ายของการพัฒนา เทคโนโลยีประกอบด้วยการผสมผสานที่ชาญฉลาดของเทคนิคการเข้ารหัสลับที่ช่วยให้ผู้ใช้ซ่อนสัญญาอัจฉริยะที่ซับซ้อนภายในธุรกรรมที่ดูเหมือนปกติ ความซับซ้อนจะถูกเปิดเผยหากคู่สัญญาไม่มีความร่วมมือ

ใช้ประโยชน์จากแนวคิดนี้ ผู้สนับสนุน Bitcoin Core รวมถึง (แต่ไม่จำกัดเพียง) Jeremy Rubin, Antoine Riard, Gleb Naumenko และ Gregory Maxwell เองก็คาดเดาเกี่ยวกับแนวคิดทั่วไปที่เรียกว่า กลุ่มการชำระเงิน, เข้าร่วม หรือ coinpools. กลุ่มเหล่านี้ — เราจะเรียกพวกเขาว่ากลุ่มการชำระเงินในตอนนี้ — จะอนุญาตให้กลุ่มผู้ใช้แบ่งปันความเป็นเจ้าของเหรียญเดียวกัน (ในทางเทคนิค: UTXO) ตามที่บันทึกไว้ในบล็อคเชนของ Bitcoin ในขณะที่ปล่อยให้ผู้ใช้เหล่านี้ทำ (หรือรับ) การชำระเงิน กับพวกเขา. ในขณะที่กลุ่มและสมาชิกแต่ละคน "ซ่อน" ในโครงสร้าง Taproot พวกเขาทั้งหมดมีความเป็นส่วนตัวมากขึ้น ความยืดหยุ่นในสัญญาที่ชาญฉลาด และผลประโยชน์อื่นๆ

แม้ว่าการออกแบบเฉพาะจะแตกต่างกันเล็กน้อยจากข้อเสนอกลุ่มการชำระเงินหนึ่งไปยังข้อเสนอถัดไป แต่แนวคิดทั่วไปก็เหมือนกัน นี่คือแนวคิดพื้นฐาน…

การแบ่งปันเหรียญ

ขั้นแรก เพื่อสร้างกลุ่มการชำระเงิน ผู้ใช้จะรวม (เศษส่วนของ) เหรียญของตนโดยรวมไว้ในที่อยู่ Taproot ที่แชร์ระหว่างกัน สมมติว่าอลิซเป็นเจ้าของสามเหรียญ บ็อบเป็นเจ้าของสองเหรียญ และแครอลเป็นเจ้าของหนึ่งเหรียญ รวมเป็นหกเหรียญ พวกเขาร่วมกันสร้างธุรกรรมที่ส่งเหรียญเหล่านี้ไปยังที่อยู่ที่ใช้ร่วมกัน ทำให้เป็นกลุ่มการชำระเงินที่มีเหรียญหกเหรียญ

บนบล็อกเชน ที่อยู่กลุ่มการชำระเงินดูเหมือนที่อยู่ Bitcoin ปกติ ตอนนี้มีเหรียญหกเหรียญ แต่ภายใต้พื้นผิว อลิซ บ็อบ และแครอลใช้ Taproot อย่างชาญฉลาดเพื่อให้แน่ใจว่าพวกเขาแต่ละคนยังคงควบคุมส่วนแบ่งของเหรียญในกลุ่มการชำระเงิน อลิซสามารถเรียกร้องสามเหรียญจากที่อยู่ ณ จุดใดก็ได้ บ็อบสามารถเรียกร้องสองและแครอลหนึ่งเมื่อใดก็ได้

เนื่องจากมีเพียงสองตัวเลือกหลักในการใช้เหรียญจากที่อยู่

ตัวเลือกแรกคือการใช้จ่ายโดยตรงจากที่อยู่ ในแง่เทคนิคคือเส้นทางคีย์ Taproot สิ่งนี้ต้องการความร่วมมือ (นั่นคือ: ลายเซ็นเข้ารหัส) จากผู้เข้าร่วมทั้งสามคน หาก Alice, Bob และ Carol เห็นด้วย สามารถใช้เหรียญหกเหรียญได้ตามต้องการ และจะดูเหมือนธุรกรรมปกติอื่นๆ ในเครือข่าย Bitcoin ตัวอย่างเช่น ทั้งสามคนสามารถตัดสินใจส่งยอดคงเหลือตามลำดับกลับไปยังที่อยู่ของแต่ละคน: สามรายการสำหรับอลิซ สองรายการสำหรับบ๊อบ และอีกรายการสำหรับแครอล แต่ถ้าพวกเขาเลือกเช่นนั้น พวกเขาสามารถร่วมมือกันบริจาคเหรียญทั้งหกเหรียญให้กับจูเลียน หรือใช้อย่างอื่นที่พวกเขาเห็นด้วย สิ่งสำคัญคือพวกเขาทั้งสามต้องมีส่วนร่วม ดังนั้นจึงไม่มีใครเสียสมดุลโดยปราศจากความร่วมมือจากเขาหรือเธอ

ตัวเลือกหลักที่สองจริงๆ แล้วประกอบด้วยตัวเลือกย่อยหลายตัวเลือก ก่อนที่จะส่งเหรียญของพวกเขาไปยังกลุ่มการชำระเงิน Alice, Bob และ Carol ได้ซ่อนบางอย่างไว้ในแผนผังการเข้ารหัสที่อยู่เบื้องหลังที่อยู่ Taproot: พวกเขารวมวิธีอื่นในการส่งเงินจากกลุ่มการชำระเงิน (ขณะนี้ สามารถทำได้โดยให้ผู้เข้าร่วมทั้งสามลงนามล่วงหน้าในการทำธุรกรรมจากเส้นทางเหล่านี้ ซึ่งต้องใช้ความซับซ้อนในการตั้งค่าตัวเลือกทั้งหมดและไม่ได้ปรับขนาดได้ดีนัก การอัปเกรดโปรโตคอลที่เสนออาจทำให้สิ่งนี้ง่ายขึ้นในอนาคต .)

หากผู้เข้าร่วมคนใดคนหนึ่งเลือกที่จะใช้เหรียญในกลุ่มการชำระเงินผ่านเส้นทาง Taproot อื่น โดยทั่วไปแล้วพวกเขาจะส่งจำนวนเงินที่สอดคล้องกับยอดคงเหลือของผู้เข้าร่วมนั้นไปยังที่อยู่ที่พวกเขาเลือก เช่น ที่อยู่ส่วนบุคคลที่พวกเขาควบคุม (ในกรณีของอลิซ ให้สามเหรียญตามที่อยู่ของเธอ ในกรณีของบ็อบสองถึงที่อยู่ของเขา และในกรณีของแครอลที่หนึ่ง)

การใช้เส้นทางทางเลือกนี้ เหรียญที่เหลือจะถูกใช้โดยอัตโนมัติเช่นกัน ซึ่งสามารถทำได้หลายวิธีขึ้นอยู่กับการออกแบบของกลุ่มการชำระเงิน โดยให้การแลกเปลี่ยนที่แตกต่างกันในเรื่องความซับซ้อนและความสามารถในการปรับขนาด

ทางออกที่ง่ายที่สุดคือการส่งเหรียญที่แบ่งให้แก่ผู้เข้าร่วมคนอื่นๆ ไปยังที่อยู่ที่พวกเขาเลือก กล่าวอีกนัยหนึ่ง: หากผู้ใช้รายหนึ่งออกจากพูล ทุกคนจะออกจากพูล

วิธีที่สองที่ต้องการโดย Riard และ Naumenko คือส่งเหรียญที่เหลือทั้งหมดไปที่ ใหม่ กลุ่มการชำระเงิน ซึ่งดูเหมือนกลุ่มการชำระเงินแรกทุกประการ เพียงแค่ดึงออกจากสิ่งใดก็ตามที่เกี่ยวข้องกับผู้ใช้ที่ออกจากตอนนี้ การออกแบบนี้มอบประสบการณ์การใช้งานที่ดีที่สุดแก่ผู้ใช้ แต่เป็นการปรับขนาดที่ยากที่สุด ที่สำคัญที่สุดเพราะจำเป็นต้องเตรียมพร้อมสำหรับสถานการณ์การออกที่เป็นไปได้ทั้งหมด รวมถึงสถานการณ์การออกที่เป็นไปได้ทั้งหมดสำหรับพูลใหม่ทั้งหมดที่อาจเกิดขึ้น อย่างไรก็ตาม การปรับมาตราส่วนสามารถทำได้ด้วยการอัปเกรดโปรโตคอล Bitcoin ที่ยังไม่ระบุชื่อ เพื่อให้แน่ใจว่ากฎจากกลุ่มการชำระเงินก่อนหน้าจะถูกส่งไปยังกลุ่มการชำระเงินใหม่

Rubin เชื่อว่าโซลูชันที่สองนี้ใช้งานไม่ได้ อย่างไรก็ตาม และชอบที่จะเลือกบางอย่างระหว่างโซลูชันที่หนึ่งและที่สอง: ผู้เข้าร่วมบางคนจะได้รับเหรียญของพวกเขาทันทีไปยังที่อยู่ที่พวกเขาเลือก ผู้เข้าร่วมคนอื่นๆ จะส่งเหรียญของพวกเขาไปยังกลุ่มการชำระเงินใหม่ การออกแบบนี้มอบประสบการณ์ผู้ใช้ในอุดมคติน้อยกว่า แต่จะปรับขนาดได้ดีกว่า และการอัปเกรดโปรโตคอล OP_CHECKTEMPLATEVERIFY ที่เป็นไปได้จะช่วยให้การออกแบบง่ายขึ้นและเพิ่มขนาดมากยิ่งขึ้น (การออกจะเกิดขึ้นผ่าน Tree Payments การชำระเงินประเภทนี้มีการสำรวจเพิ่มเติมใน บทความนี้.)

(มีข้อแลกเปลี่ยนมากกว่าระหว่างโซลูชันที่สองและสาม แต่รายละเอียดของข้อดีและข้อเสียทั้งหมดอยู่นอกขอบเขตของบทความนี้ อ่าน การสนทนารายชื่อผู้รับจดหมาย bitcoin-dev เฉพาะเจาะจง)

หากต้องการดูว่าเหรียญที่เหลือถูกส่งไปยังกลุ่มการชำระเงินใหม่หมายความว่าอย่างไร สมมติว่า Alice, Bob และ Carol เลือกตัวเลือกที่สองโดยที่ ทั้งหมด เหรียญที่เหลือจะถูกส่งไปยังกลุ่มการชำระเงินใหม่ หากในการออกแบบนี้ Alice ออกจากกลุ่มการชำระเงินกลุ่มแรก จะมีการส่งเหรียญสามเหรียญไปยังที่อยู่ที่เธอเลือก ในขณะที่อีกสามเหรียญจะถูกส่งไปยังกลุ่มการชำระเงินใหม่ระหว่าง Bob และ Carol อลิซในตอนนั้นเองที่สามารถควบคุมเหรียญของเธอเองได้ แต่เพียงผู้เดียวในขณะที่บ๊อบและแครอลไม่ได้เปลี่ยนแปลงอะไรมากมาย ทั้งสองยังคงร่วมมือกันใช้เหรียญที่เหลืออีกสามเหรียญได้ตามต้องการ หรือไม่ก็ออกฝ่ายเดียวเหมือนที่อลิซเคยทำมาก่อน

หาก Bob ออกจากกลุ่มการชำระเงินเพียงฝ่ายเดียว เขาจะส่งเหรียญสองเหรียญไปยังที่อยู่ที่เขาเลือก และเหรียญหนึ่งไปยังกลุ่มการชำระเงินที่ใหม่กว่า (เหรียญที่สาม) โดยเหลือเพียง Carol เท่านั้น (แน่นอน ในตัวอย่างที่เข้าใจง่ายนี้ การออกแบบที่กลุ่มการชำระเงินสุดท้ายนี้ถูกแทนที่ด้วยที่อยู่ของการเลือกของแครอล ในความเป็นจริงแล้วมีเหตุผลมากกว่า แต่นั่นเป็นรายละเอียดการใช้งาน)

ประเด็นสำคัญคือผู้เข้าร่วมในกลุ่มการชำระเงินสามารถร่วมมือกันเพื่อชำระเงินประเภทใดก็ได้จากกลุ่มที่พวกเขาต้องการ ในขณะที่หนึ่งในนั้นสามารถออกจากจุดใดก็ได้ด้วยเหรียญของตัวเอง ปล่อยให้ผู้เข้าร่วมคนอื่น ๆ ควบคุมพวกเขา

วางการชำระเงินในกลุ่มการชำระเงิน

ดังนั้นเราจึงกำหนดว่าผู้เข้าร่วมทุกคนสามารถถอนยอดดุลของตนออกจากกลุ่มการชำระเงินได้ หรือ — หากพวกเขาเห็นด้วย — ใช้จ่ายจากกลุ่ม นี่เป็นตัวเลือกที่สองที่เปิดใช้งานสิ่งที่ชาญฉลาดได้จริง: กลุ่มการชำระเงินสามารถเป็นไดนามิกได้ ตราบใดที่ผู้เข้าร่วมทุกคนเห็นด้วย พวกเขาไม่สามารถแค่จ่ายเงินคืนให้ตัวเอง หรือจ่ายเงินให้ผู้อื่น (เช่น Julian) ได้ แต่พวกเขาสามารถทำสิ่งที่น่าสนใจยิ่งขึ้นไปอีก พวกเขาสามารถย้ายเงินทุนของพวกเขาไปยังกลุ่มการชำระเงินเวอร์ชันใหม่กว่า ด้วยการออกแบบที่แตกต่างกัน

ตัวอย่างเช่น ให้คนใดคนหนึ่งใช้จ่ายจากสระว่ายน้ำ

ดูเพิ่มเติม

ในฐานะที่เป็น Taproot การเปลี่ยนแปลงโปรโตคอลที่เป็นเอกฉันท์ล่าสุด วิธีการเปิดใช้งาน นักพัฒนา Bitcoin ถามว่าควรอัพเกรดเครือข่ายอย่างไร

สมมติว่า Alice กำลังซื้อรถใหม่ และต้องการจ่ายด้วย bitcoin เดียว อลิซ บ็อบ และแครอลสามารถสร้างธุรกรรมจากกลุ่มการชำระเงินที่ส่งเหรียญหนึ่งเหรียญไปยังตัวแทนจำหน่ายรถยนต์ และส่งเหรียญอีกห้าเหรียญที่เหลือไปที่ ใหม่ กลุ่มการชำระเงินที่มีลักษณะเหมือนกับครั้งแรก ยกเว้นครั้งนี้ อลิซสามารถออกจากมันได้เพียงฝ่ายเดียวด้วยเหรียญสองเหรียญ ซึ่งน้อยกว่าเมื่อก่อน

ธุรกรรมนี้ดูเหมือนธุรกรรม Bitcoin ปกติอื่นๆ ตัวแทนจำหน่ายรถยนต์ (หรือสายลับบล็อคเชน) อาจสรุปว่าอลิซเป็นเจ้าของเหรียญทั้งหกเหรียญและใช้เหรียญหนึ่งเพื่อซื้อรถ และเก็บอีกห้าเหรียญไว้เป็นการเปลี่ยนแปลง พวกเขาจะไม่รู้ว่าเหรียญบางเหรียญเป็นของ Bob และ Carol หรือว่าพวกเขามีส่วนเกี่ยวข้องกับการทำธุรกรรมเลย

ครั้งหน้าเมื่อ Bob ชำระเงินและ Alice และ Carol ร่วมมือกัน การจ่ายเงินนั้นมาจากกลุ่มการชำระเงินเดียวกัน ซึ่งดูเหมือนธุรกรรม Bitcoin ธรรมดากับโลกภายนอกอีกครั้ง ในการทำซ้ำของกลุ่มการชำระเงิน Bob สามารถออกด้วยเหรียญหนึ่งเหรียญแทนที่จะเป็นสองเหรียญ ในขณะเดียวกัน สายลับบล็อคเชนคนเดียวกันอาจคิดว่าอลิซกำลังชำระเงินอีกครั้ง ทำให้พวกเขาสับสนมากขึ้น (และแม้ว่าสายลับบล็อคเชนจะคิดออกว่าที่อยู่ที่เป็นแหล่งจ่ายจริง ๆ ระหว่างอลิซ บ็อบ และแครอล พวกเขายังไม่สามารถบอกได้ว่าในสามคนใดจ่ายเงินครั้งล่าสุด)

ทุกครั้งที่ Alice, Bob หรือ Carol ใช้เหรียญ ธุรกรรมอาจมาจากหนึ่งในนั้น และไม่มีใครนอกกลุ่มการชำระเงินสามารถบอกความแตกต่างได้

กลุ่มการชำระเงินไม่อนุญาตให้มีการใช้จ่ายเท่านั้น หากอลิซต้องการเติมเงินใน "ยอดเงินคงเหลือ" ในกลุ่มการชำระเงิน เธอก็สามารถทำได้เช่นกัน ในกรณีนี้ อลิซ บ็อบ และแครอลจะร่วมมือกันเพื่อย้ายเหรียญห้าเหรียญปัจจุบันไปยังที่อยู่ใหม่ของ Taproot ซึ่งอลิซจะส่งเหรียญเพิ่มเติมอีกหนึ่งเหรียญจากที่อยู่ของตนเอง (บุคคล) ในการทำธุรกรรมเดียวกัน ที่อยู่ Taproot ใหม่จะมีเหรียญหกเหรียญอีกครั้ง โดยสามเหรียญเป็นของอลิซ ซึ่งสะท้อนให้เห็นในตัวเลือกทางออกข้างเดียวของเธอ

ในทำนองเดียวกัน ผู้ใช้ใหม่ทั้งหมดก็สามารถเข้าร่วมกลุ่มการชำระเงินได้เช่นกัน หาก Alice, Bob และ Carol ตกลงที่จะให้ Dave เข้าร่วม พวกเขาทั้งสามจะร่วมมือกับ Dave เพื่อสร้างธุรกรรมที่ส่งเงินกลุ่มการชำระเงินพร้อมกับเหรียญใหม่ของ Dave ไปยังกลุ่มการชำระเงินใหม่ ซึ่งออกแบบมาเพื่อให้ Dave มีส่วนร่วมและออกไป ถ้าเขาเลือกอย่างนั้น

นอกจากนี้ยังมีตัวเลือกสำหรับผู้เข้าร่วมภายในกลุ่มการชำระเงินเพื่อชำระเงินให้กันและกัน ตัวอย่างเช่น ถ้าอลิซจะจ่ายให้ Bob หนึ่งเหรียญ ทั้งสามก็สามารถร่วมมือกันเพื่อส่งเงินไปยังกลุ่มการชำระเงินใหม่ โดยที่ Alice ได้หักเหรียญออกจากยอดคงเหลือของเธอ และ Bob ได้เพิ่มเหรียญเข้าไป ในบล็อกเชนนั้น ดูเหมือนการชำระเงินปกติ และสายลับบล็อคเชนจะไม่รู้ว่าใครจ่ายใคร หรือเท่าไหร่ (ควรชี้ให้เห็นว่า Dave สามารถเข้าไปในสระได้ในลักษณะเดียวกัน โดยได้รับการชำระเงินภายในจากผู้เข้าร่วมที่มีอยู่คนใดคนหนึ่ง)

มีความซับซ้อนเพิ่มขึ้นเล็กน้อย (และควรมีการอัพเกรดโปรโตคอล Bitcoin อย่างน้อยหนึ่งรายการเช่น ไม่มีอินพุต) การโอนก็สามารถทำได้นอกเครือข่ายเช่นกัน เมื่อ Alice จ่ายเงินให้กับ Bob ผู้เข้าร่วมทั้งหมดในกรณีนี้จะสร้างธุรกรรมที่ใช้จ่ายเงินให้กับกลุ่มการชำระเงินใหม่เช่นเดียวกัน แต่ธุรกรรมนี้จะถูกแชร์ระหว่างพวกเขาเท่านั้น จะไม่แพร่ภาพไปยังเครือข่าย (เว้นแต่จะมีใครพยายามโกง) ด้วยวิธีนี้ อลิซ บ็อบ และแครอลสามารถอัปเดตเครื่องชั่งของพวกเขา "ภายใน" อยู่เสมอ และแม้กระทั่งปล่อยให้เดฟลงไปในสระในบางจุด เมื่อพวกเขาทั้งหมดตกลงที่จะปิดกลุ่ม พวกเขาสามารถสร้างธุรกรรมขั้นสุดท้ายที่ใช้จ่ายจากกลุ่มการชำระเงินเดิม โดยให้รางวัลกับยอดดุลล่าสุดแต่ละรายการ

คล้ายกับความคิดเก่าที่เรียกว่า โรงงานช่องทางท้ายที่สุดแล้ว กลุ่มการชำระเงินประเภทนี้สามารถใช้เพื่อโฮสต์ช่องสัญญาณ Lightning ห้องนิรภัย หรือโปรโตคอลเลเยอร์ XNUMX อื่นๆ ได้ สิ่งนี้อาจเสนอศักยภาพในการ "รวม" เลเยอร์โปรโตคอลเพิ่มเติมประเภทใดก็ได้ในกลุ่มดังกล่าว ดังนั้นจึงซ่อนความซับซ้อนทั้งหมดไว้ในธุรกรรมที่เหมือนกันและมีลักษณะปกติ

ที่มา: https://bitcoinmagazine.com/articles/building-on-taproot-payment-pools-could-be-bitcoins-next-layer-two-protocol?utm_source=rss&utm_medium=rss&utm_campaign=building-on-taproot-payment- pools-could-be-bitcoins-next-layer-two-protocol