CAT20: โทเค็นโปรโตคอลบน BTC ที่หลุดพ้นการซ้ำซ้อน

ข้อความนี้เป็นเพียงการแบ่งปันทางเทคนิคเท่านั้น ไม่เป็นการให้คำแนะนำทางการลงทุนใดๆ

BTC ต้องมีสัญญาอัจฉริยะของตัวเองเหรอ?

ในนิเวศ BTC ล่าสุด Fractal BTC ได้เข้าสู่ Mainnet หลังจากผ่าน Testnet หลายครั้งแล้ว ซึ่ง Fractal มีคุณสมบัติสำคัญคือความสามารถของสัญญาอัจฉริยะและเปิดตัวโทเค็นโปรโตคอล CAT 20 เกือบพร้อมกับการเปิดตัว Mainnet เสมอ ด้วยการออกแบบที่เก่งกลมกลืนของ CAT 20 นี้เราสามารถเรียนรู้อะไรได้บ้าง

บิตคอยน์แบบฟรักทัล

ก่อนที่เราจะศึกษา CAT 20 เราจำเป็นต้องทราบเกี่ยวกับ Fractal Bitcoin อย่างง่าย ๆ ความสัมพันธ์ของมันกับ ERC 20 และ ETH เช่นเดียวกับ CAT 20 โปรโตคอลถูกติดตั้งบน Fractal Bitcoin

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

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

ขณะนี้มีคนที่มีการสร้างโปรโตคอลที่คล้ายกับ ERC 20 บน Fractal Bitcoin

เกี่ยวกับ OP_CAT ทำไมถูกยกเลิกและทำไมสามารถใช้ได้ใน Fractal Bitcoin และสามารถอธิบายต่อได้ในอนาคต ที่นี่เราติดตาม CAT 20

โปรโตคอล CAT ข้อมูลต่อไปนี้เป็นไปตามไวท์เปเปอร์: แนะนำ | โปรโตคอล CAT ()

และหรือคลัง github: GitHub - CATProtocol/cat-token-box: โมโนรีโปรสำหรับแพ็กเกจที่ดำเนิน CAT protocol ()

ด้วยการสนับสนุน OP_CAT ในระดับต่ำสุด เร็ว ๆ นี้จะมีโปรโตคอลที่เกี่ยวข้อง ซึ่งเรียกว่าโปรโตคอล CAT ในปัจจุบัน เรามีโปรโตคอล CAT 20 ที่กำลังทำงานจริงและเพิ่มแผงควบคุมที่เกี่ยวข้องบน Unisat ด้วย

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

ส่งตัว

ก่อนการปรับใช้ ผู้ใช้จำเป็นต้องระบุที่อยู่กระเป๋าของตนเองและข้อมูลพื้นฐานของโทเค็น ข้อมูลพื้นฐานของโทเค็นคล้ายกับ ERC 20:

CAT20:Fractal BTC上的代币协议

จะมีบางอย่างที่แตกต่าง CAT 20 สามารถตั้งค่าการขุดล่วงหน้าและการจำกัดจำนวนที่สามารถ Mint ได้ในครั้งเดียว แน่นอนว่า ERC 20 ยังสามารถทำได้ผ่านความสามารถของสัญญาได้เช่นกัน

ในขั้นตอนการติดตั้ง จะมีการดำเนินการสองรายการซึ่งสามารถถือว่าเป็นสองขั้นตอน: 'commit' และ 'reveal' ดังนี้ ดูตามภาพที่อ้างอิงจากเว็บไซต์อย่างเป็นทางการ ขั้นตอนการติดตั้งมีดังนี้:

CAT20:Fractal BTC上的代币协议

ในขั้นตอน "commit" สคริปต์เอาต์พุตของธุรกรรมจะถูกเขียนโทเค็นข้อมูลพื้นฐาน เช่น ชื่อโทเค็น สัญลักษณ์ ฯลฯ ธุรกรรม hashId ที่เริ่มต้นขึ้นในขั้นตอน "commit" จะถูกใช้เป็นสัญลักษณ์ของโทเค็นนั้น ๆ ซึ่งใช้เพื่อแยกแยะโทเค็นอื่น ๆ

CAT20:Fractal BTC上的代币协议

สามารถเห็นได้ว่าการทำธุรกรรมนี้ " bc 1 pucq...ashx " utxo นี้เป็นการยืนยัน commit และสองธุรกรรมที่เหลือชี้ไปที่ " bc 1 pszp...rehc 4 " ซึ่งธุรกรรมแรกใช้สำหรับชำระค่า แก๊ส ในขั้นตอน "reveal" และอีกธุรกรรมหนึ่งคือเงินทอน

ในขั้นตอน "เปิดเผย" คุณสามารถเห็นได้ว่ามี UTXO 2 รายการที่เข้ามา ซึ่งเป็นส่วนของผลลัพธ์ 2 ของขั้นตอน commit ก่อนหน้า ธุรกรรมนี้จะแสดงผลเป็น OP_RETURN ก่อนที่จะเก็บค่าเริ่มต้นของสถานะ CAT 20 ใน OP_RETURN และตามด้วย Minter ซึ่งจะเป็นส่วนสำคัญในกระบวนการ Mint โดยใช้ในการบำรุงรักษาการเปลี่ยนแปลงสถานะของกระบวนการ Mint

CAT20:Fractal BTC上的代币协议

เมื่อเรากลับมาดูกระบวนการ Deploy ทั้งหมด ขั้นตอน "commit" และ "reveal" ปฏิบัติตามวิธีการใช้งานที่เป็นที่นิยมบนบล็อกจัดการข้อมูลที่บางส่วนของโปรเจคจะถูกเปิดเผยในขั้นตอน "reveal" เท่านั้น

มิ้นท์

เรามาดู Mint Token ก่อน การซื้อขายก็จะเป็นอย่างนี้

CAT20:Fractal BTC上的代币协议

ในภาพด้านบนคุณสามารถเห็นว่าขั้นตอนการทำ Mint มีลักษณะเฉพาะตามต่อไปนี้

  • การป้อนข้อมูลของ mint คือ minter ที่เริ่มต้นจากการสร้างเมื่อ deploy ข้อมูล
  • ทุกครั้งที่มีการ mint จะมีเพียง minter เดียวเป็นอินพุตและมี minter อื่น ๆ เป็นเอาท์พุต (มีบางปัญหา)
  • ทุกครั้งที่ mint จะมีและเพียงแต่ token เพียงหนึ่ง (มีปัญหาบ้าง)
  • ลำดับของการแสดงผลมีความสำคัญ หลังจาก minter จะต้องเป็น token

เมื่อเราทราบขั้นตอนการ Mint จริงๆแล้ว เราจะพบว่ามีบางสถานการณ์ที่ทำให้กระบวนการ Mint ทั้งหมดเป็นสิ่งที่น่าสนใจ

เช่นเดียวกัน minter ในฐานะผลลัพธ์ของธุรกรรม mint อาจเป็น 1 หรือมากกว่าหรือเท่ากับ 0 หรือมากกว่า 1 หากตั้งค่าทุกครั้งที่ Mint เป็น 1 หน่วยทั้งหมด จำนวน minter ที่สามารถใช้ในเครือข่ายทั้งหมดจะคงที่ (1 หน่วย) สิ่งนี้จะทำให้ Mint หนาแน่น ทุกคนต้องการลักษณะนี้ เพื่อหลีกเลี่ยงสถานการณ์นี้ คือจำเป็นต้องตั้งค่าจำนวน minter ที่ได้หลังจาก Mint เป็นมากกว่า 1 นั่นคือหลังจาก mint ทุกคนสามารถใช้ minter ได้มากขึ้น

อย่างไรก็ตาม การเพิ่มจำนวน minter หมายความว่าคุณต้องจ่ายเงิน utxo เพิ่มเติม เพื่อเหตุผลทางเศรษฐกิจ ผู้คนมากมายจะเต็มใจที่จะตั้งค่า minter เป็น 0 ซึ่งจะทำให้ minter กลายเป็นตัวลดลงอย่างหลีกเลี่ยงไม่ได้ ซึ่งจะต้องมีบางคนที่จะอุทธรณ์และจ่าย minter เพิ่มเติมอย่างจริงจัง

ในเวอร์ชัน V2 ค่าเริ่มต้นคือการสร้าง Minter สองรายการและสถานะของ Minter สองรายการจะเป็นไปในทางที่เหมือนกันเท่าที่เป็นไปได้

การสร้างธุรกรรม

บางทีคุณอาจพบปัญหาว่าทำไมสามารถใช้ utxo ของ minter ในการสร้างธุรกรรมได้? หากต้องการทราบเหตุผลนี้จะต้องวิเคราะห์โค้ดต้นฉบับของ 'สัญญา'

1、เปิดเผย utxo

เราเริ่มต้นด้วยการวิเคราะห์การธุรกรรมในขั้นตอนการเปิดเผย พบว่าเขาใช้การยืนยันของการทำธุรกรรมก่อนหน้าเป็นอินพุต ทำไมถึงสามารถใช้ utxo ที่ไม่ใช่ที่อยู่ของเราในการสร้างอินพุตของธุรกรรมได้呢?

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

จากการดูโค้ดของเราเราสามารถทราบได้ว่าเกิดอะไรขึ้น:

CAT20:Fractal BTC上的代币协议

ที่นี่ยังมีปัญหาอย่างหนึ่งคือ รหัสส่วนตัวหนึ่งต่อหนึ่งกุญแจสาธารณะ ดังนั้นทำไม commit รหัสสาธารณะที่สร้างขึ้นมาจะแตกต่างกับที่อยู่ของเรา呢? คุณสามารถดูจาก source code ได้

CAT20:Fractal BTC上的代币协议

กล่าวอีกนัยหนึ่งคือ เราจะปรับรหัสส่วนตัวของเราตามกุญแจสาธารณะ ISSUE_PUBKEY นี้เช่นกัน นี่เป็นหนึ่งในคุณสมบัติของที่อยู่ P2TR

2、มิ้นท์ อุทโซ

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

ส่วนนี้ฉันเดาว่าเป็นความสามารถของ OP_CAT ที่กล่าวมาก่อนหน้านี้ นั่นคือความสามารถของสัญญาอัจฉริยะ แต่ละ minter ก็คือสัญญาอัจฉริยะ อย่างไรก็ตาม ในขณะนี้โค้ดส่วนนี้ยังไม่เปิดเผย ฉันยังไม่ทราบว่าการดำเนินการเป็นอย่างไรแน่ชัด

สถานะการซื้อขาย (V2)

ใน Minter ยังคงเก็บรักษาสถานะอยู่ สถานะนี้มีอยู่ที่สองที่: หนึ่งคือใน OP_RETURN ของเอาต์พุตธุรกรรม อีกที่นึงคือเก็บไว้ในสัญญาอัจฉริยะที่เกี่ยวข้องนั่นก็คือ Minter และ Token ที่กล่าวถึงข้างต้น

การเก็บข้อมูลใน OP_RETURN คือแฮชของสถานะการทำธุรกรรมปัจจุบันของเอาต์พุต ในสมัครสมาชิกจะเก็บ Token ที่เหลืออยู่ของจำนวนการ Mint ที่เหลืออยู่ หลังจากทุกครั้งที่ Mint จำนวนที่กำหนดจะเท่ากับจำนวนที่สามารถ Mint ได้อีกครึ่งหนึ่ง แสดงในรูปภาพ:

CAT20:Fractal BTC上的代币协议

เมื่อเสร็จสิ้นทั้งหมด จำนวน Minter ที่เหลือ คือ 0

กลับไปที่ภาพที่เราเคยเห็นกันแล้ว นอกจาก Minter เป็นสัญญาอัจฉริยะแล้ว โทเค็นที่สร้างขึ้นก็เป็นสัญญาอัจฉริยะ หรือ CAT 20 โดย CAT 20 มีสองสถานะหลัก คือ จำนวนและเจ้าของที่อยู่ของโทเค็น จะเห็นได้ว่า ไม่เหมือน BRC 20 หรือจารึกที่โทเค็น CAT 20 ของคุณไม่อยู่บน UTXO ของคุณที่อยู่

01928374656574839201

เมื่อโอนจํานวนโทเค็นในโทเค็นอินพุตและเอาต์พุตของธุรกรรมจะต้องสอดคล้องกัน แน่นอนว่าอาจมีโทเค็นที่แตกต่างกันหลายโทเค็นในธุรกรรมเดียวกันตราบใดที่จํานวนอินพุตและเอาต์พุตของโทเค็นที่แตกต่างกันนั้นเหมือนกัน

CAT20:Fractal BTC上的代币协议

เผา

หากต้องการเผาทองเหรียญ TOKEN เพียงแค่โอน TOKEN ไปยัง 01928374656574839201 ทั่วไป即可

สรุป

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

การออกแบบแบบนี้สามารถมีประโยชน์บางอย่างได้:

  • หากต้องการค้นหาสถ況การถือครอง Token ทั้งหมด พิมพ์ token utxo เพียงอย่างเดียว ไม่จำเป็นต้องดำเนินการต่อไป
  • หากต้องการดูสถานการณ์ mint ปัจจุบัน สามารถค้นหาธุรกรรมที่มีข้อมูลใน OP_RETURN และมีคำว่า cat ได้

ZAN ไม่มีขีด จะมาเป็นน้ำแบบไม่มีขีด 01928374656574839201!

เคล็ดลับ: คุณสามารถรับ 0.01 ETH free testnet token ได้ทุก 24 ชั่วโมงเพื่อสนับสนุนให้คุณได้ทดลองและทดสอบโครงการ Web3 ภายใน Ethereum กดรับทันทีที่นี่:

โซนนทรูเชนกำลังจะรองรับเพิ่มเติม

บทความนี้เขียนโดย ZAN Team (บัญชี X @zan_team) โดย Yeezo (บัญชี X @GaoYeezo 75065)

ดูต้นฉบับ
  • รางวัล
  • 1
  • แชร์
แสดงความคิดเห็น
0/400
ไม่มีความคิดเห็น