โปรโตคอล Tinyman AMM V2.0
เมื่อวานนี้ เราได้ประกาศโปรโตคอล Tinyman AMM เวอร์ชันใหม่ที่จะเปิดตัวในเดือนมกราคม 2023 ในบล็อกโพสต์นี้ เราต้องการให้ภาพรวมของโปรโตคอลใหม่และอธิบายขั้นตอนต่อไป เรากำลังให้รายละเอียดเหล่านี้ตั้งแต่เนิ่นๆ ก่อนการเปิดตัวเพื่อให้มีเวลาเพียงพอสำหรับผู้ใช้และโครงการระบบนิเวศในการทำความคุ้นเคยกับโปรโตคอลใหม่และเตรียมพร้อมสำหรับการย้ายข้อมูล
นับตั้งแต่เปิดตัว Tinyman AMM ในเดือนตุลาคม 2021 มีการปรับปรุงมากมายในโปรโตคอล Algorand ที่ช่วยให้แอปพลิเคชันทำสิ่งที่ซับซ้อนและน่าสนใจมากขึ้น ขณะเดียวกันก็ปรับปรุงความปลอดภัยและขจัดจุดเสียดทานบางส่วน ในช่วง 6 เดือนที่ผ่านมา เราได้ทำงานเกี่ยวกับการออกแบบ สร้าง และทดสอบการใช้งานใหม่ของ Tinyman AMM ที่ใช้ประโยชน์จากการปรับปรุงเหล่านี้
ไฮไลท์บางประการของโปรโตคอลใหม่นี้ ได้แก่:
- การคำนวณเอาต์พุตแบบไดนามิกเพื่อขจัดความจำเป็นในการไถ่ถอน
- การเพิ่มและลบสภาพคล่องที่ยืดหยุ่น
- สินเชื่อแฟลชและการแลกเปลี่ยนแฟลช
- การตั้งค่าค่าธรรมเนียมแบบไดนามิก
- ความสามารถในการทำงานร่วมกันและการทำงานร่วมกันอย่างสมบูรณ์
- การตรวจสอบความปลอดภัยเพิ่มเติม
- ปรับปรุงความสามารถในการอ่านสัญญา
Tinyman AMM V2 ไม่ได้รับอนุญาต
Tinyman AMM V2 เปลี่ยนแปลงไม่ได้ (อัปเกรดไม่ได้)
Tinyman AMM V2 ไม่มีคีย์ผู้ดูแลระบบเพื่อหยุดกิจกรรมชั่วคราวหรือระบายพูล
Tinyman AMM V2 โปร่งใสและเป็นโอเพ่นซอร์ส
Tinyman AMM V2 ได้รับการตรวจสอบแล้ว
Tinyman AMM V2 ยังคงใช้งานได้รวดเร็วและราคาถูกอย่างไม่น่าเชื่อ
ไม่มีการแลกอีกต่อไป
หนึ่งในการปรับปรุงที่สำคัญที่สุดในโปรโตคอล Algorand ในปีที่ผ่านมาคือการเปิดตัวธุรกรรมภายใน สิ่งเหล่านี้อนุญาตให้สัญญาสร้างธุรกรรมโดยทางโปรแกรม สิ่งนี้ทำให้ Tinyman สามารถคำนวณเอาต์พุต swap แบบไดนามิกและออกธุรกรรมตามจำนวนเอาต์พุตทั้งหมด สัญญายังคงรับประกันอย่างปลอดภัยว่าจะได้รับจำนวนเงินขั้นต่ำที่คาดไว้
วิธีนี้จะขจัดปัญหาความขัดแย้งและความสับสน และจะส่งผลให้ผู้ใช้ได้รับประสบการณ์ที่ดีขึ้นในทันที
ไม่มีการเลือกใช้แอปอีกต่อไป
ตอนนี้เราไม่ต้องรองรับการแลกอีกต่อไปแล้ว เรายังไม่จำเป็นต้องจัดเก็บต่อสถานะผู้ใช้บนเครือข่าย สิ่งนี้ช่วยให้เราสามารถลบข้อกำหนดในการเลือกใช้แอพสัญญา Tinyman สิ่งนี้จะทำให้ข้อกำหนดยอดคงเหลือขั้นต่ำของผู้ใช้ Tinyman ว่างลงและขจัดปัญหาอื่นๆ ออกไป
ยังคงจำเป็นต้องมีการเลือกรับสินทรัพย์ แต่ขณะนี้เราสามารถจัดกลุ่มการแลกเปลี่ยนและการดำเนินการอื่นๆ ได้ ดังนั้นผู้ใช้จะไม่ต้องลงชื่อแยกกัน สิ่งนี้จะช่วยเร่งกระบวนการและลดขั้นตอนที่เกี่ยวข้องกับการแลกเปลี่ยน
การจัดการสภาพคล่องที่ยืดหยุ่นยิ่งขึ้น
เราสังเกตเห็นว่ารูปแบบทั่วไปในหมู่ผู้ใช้ที่ต้องการเป็นผู้เล่นพูลคือการแลกเปลี่ยนสินทรัพย์บางอย่างเป็นอีกสินทรัพย์หนึ่ง จากนั้นจึงฝากเงินทั้งสองอย่างในจำนวนที่เท่ากันในกลุ่ม เราได้เพิ่มคุณสมบัติที่ทำให้ขั้นตอนนี้เป็นไปโดยอัตโนมัติที่ระดับโปรโตคอล เพื่อให้ผู้ใช้สามารถเพิ่มสภาพคล่องให้กับกลุ่มที่มีสินทรัพย์กลุ่มเพียงรายการเดียวในการดำเนินการครั้งเดียว นอกจากนี้ยังมีความยืดหยุ่นเพื่อให้ผู้ใช้สามารถเพิ่มสิ่งที่พวกเขามีในแต่ละสินทรัพย์และกลุ่มจะปรับสมดุลและออกโทเค็นพูลในจำนวนที่ถูกต้องสำหรับมูลค่ารวม
สิ่งสำคัญคือต้องเข้าใจว่าผู้ใช้ยังคงมีความเสี่ยงต่อสินทรัพย์ทั้งสองเมื่อใช้เทคนิคนี้ การแลกเปลี่ยนภายในโดยปริยายเป็นเพียงคุณสมบัติอำนวยความสะดวกของผู้ใช้ สิ่งสำคัญคือต้องเข้าใจว่าคุณสมบัตินี้เหมาะสมที่สุดสำหรับนักเล่นพูลขนาดเล็ก ยังคงต้องมีผู้รวบรวมที่มีสภาพคล่องสูงในสินทรัพย์ทั้งสองเพื่อสร้างแหล่งรวมที่สมดุลตั้งแต่แรก
คุณลักษณะนี้ยังช่วยให้มั่นใจว่าสภาพคล่องทั้งหมดของผู้ใช้ในโทเค็น LP ได้รับการพิจารณาอย่างถูกต้อง แม้ว่าผู้ใช้จะจัดหาสภาพคล่องในอัตราส่วนที่ไม่ถูกต้องก็ตาม สิ่งนี้ช่วยเพิ่มความปลอดภัยให้กับนักเล่นพูลรายใหม่ในช่วงที่มีความผันผวนสูง
ขณะนี้โปรโตคอลยังรองรับการลบสภาพคล่องในสินทรัพย์เพียงรายการเดียว นี่เป็นสิ่งที่ตรงกันข้ามกับกรณีข้างต้น ซึ่งการแลกเปลี่ยนภายในโดยปริยายเกิดขึ้นก่อนที่จะคืนเงินให้กับผู้ใช้เป็นสินทรัพย์ที่เลือก
คุณลักษณะทั้งสองนี้ช่วยให้เราสามารถปรับปรุงประสบการณ์ของผู้ใช้โดยลดขั้นตอนทั่วไปให้ง่ายขึ้น อย่างไรก็ตาม พวกเขายังวางรากฐานสำหรับการโต้ตอบแบบสัญญาต่อสัญญาที่ซับซ้อนมากขึ้น
ความสามารถในการประกอบและการทำงานร่วมกัน
เป็นอีกครั้งที่เราใช้ประโยชน์จากการปรับปรุงโปรโตคอล Algorand ล่าสุดเพื่อออกแบบโปรโตคอล V2 ให้สามารถเขียนและทำงานร่วมกันได้อย่างสมบูรณ์ ซึ่งหมายความว่าธุรกรรม Tinyman V2 สามารถอยู่ในกลุ่มอะตอมเดียวกันกับธุรกรรมอื่นๆ และสามารถเรียก Tinyman V2 จากสัญญาอื่นๆ ได้
สิ่งนี้ทำให้เราและคนอื่นๆ สามารถสร้างคุณสมบัติที่เหนือกว่าโปรโตคอลสำหรับการแลกเปลี่ยนอะตอมแบบมัลติฮอป, คำสั่งจำกัด, เมตาพูล และอื่นๆ อีกมากมาย ฟีเจอร์เหล่านี้จะช่วยปรับปรุงประสบการณ์ผู้ใช้สำหรับนักแลกเปลี่ยน ในขณะเดียวกันก็เพิ่มปริมาณไปยังพูล Tinyman และสร้างค่าธรรมเนียมเพิ่มเติมสำหรับพูลเกอร์
สินเชื่อแฟลชและสวอป
คุณลักษณะหนึ่งที่ใช้ประโยชน์จากความสามารถในการจัดองค์ประกอบนี้คือ Flash Loans ขณะนี้เรามีการสนับสนุนสำหรับสิ่งนี้ในตัวโปรโตคอล ดังนั้นผู้ใช้สามารถรับเงินกู้ที่มีหลักประกันเป็นศูนย์จากกลุ่มตราบเท่าที่พวกเขาชำระคืนภายในกลุ่มธุรกรรมเดียวกัน นี่อาจดูเหมือนเป็นฟีเจอร์ที่ไม่มีประโยชน์ แต่ด้วยลักษณะการทำงานร่วมกันของโปรโตคอลและพื้นที่ Algorand DeFi ที่กำลังพัฒนา ทำให้มีโอกาสมากมายสำหรับการสร้างผลกำไรภายในบล็อกเดียว คุณลักษณะนี้เป็นคุณลักษณะที่ซับซ้อนและมีไว้สำหรับผู้ที่มีความรู้โดยละเอียดเกี่ยวกับโปรโตคอลและกลยุทธ์ DeFi เท่านั้น ด้วยเหตุนี้จึงจะไม่รวมอยู่ใน UI ของเว็บ การรวมคุณสมบัตินี้ขับเคลื่อนโดยปรัชญาหลักของเราในการจัดหาเครื่องมือทางการเงินให้กับทุกคน โดยไม่คำนึงถึงความมั่งคั่งของพวกเขา
Flash swaps และเงินกู้ไม่มีความเสี่ยงสำหรับโปรโตคอล (ในแง่การเงิน) และเป็นแหล่งรายได้เพิ่มเติมสำหรับผู้รวบรวม
ค่าธรรมเนียมที่ปรับได้
Tinyman AMM V1 มีค่าธรรมเนียมสวอปคงที่ 30 เบสิกพอยต์ ซึ่งแบ่ง 5:1 ระหว่างพูลเกอร์และโปรโตคอล สิ่งนี้ให้บริการผู้ใช้ได้ดีจนถึงตอนนี้ แต่มีบางกรณีที่ตัวเลือกค่าธรรมเนียมอื่นจะเหมาะสมกว่า สำหรับสินทรัพย์ที่มีการตรึง/คงที่ ค่าธรรมเนียมที่ต่ำกว่าซึ่งทำให้เกิดผลกระทบต่อราคาน้อยลงจะเป็นประโยชน์ต่อนักแลกเปลี่ยน ปริมาณที่เพิ่มขึ้นเนื่องจากค่าธรรมเนียมที่ลดลงควรเป็นประโยชน์ต่อนักเล่นพูลด้วย แทนที่จะแยกส่วนสภาพคล่องในหลายกลุ่มสำหรับระดับค่าธรรมเนียมที่แตกต่างกันของคู่สินทรัพย์เดียวกัน โปรโตคอล V2 ช่วยให้สามารถปรับค่าธรรมเนียมของกลุ่มได้ตลอดเวลา กลุ่มทั้งหมดจะเริ่มต้นด้วยค่าเริ่มต้น (เหมือนกับ V1) แต่อัตราค่าธรรมเนียมสามารถเปลี่ยนแปลงได้โดยบัญชี Fee Setter ภายในขอบเขตที่อนุญาต
ความตั้งใจที่นี่คือในตอนแรก Fee Setter จะเป็นบัญชีที่ควบคุมโดยทีมหลักของ Tinyman และค่าธรรมเนียมจะถูกปรับสำหรับคู่ที่มั่นคง/ตรึงเท่านั้น ในภายหลัง เราตั้งใจที่จะแนะนำคุณลักษณะที่ช่วยให้นักเล่นพูลสามารถตัดสินใจร่วมกันเกี่ยวกับค่าธรรมเนียมสำหรับพูลของตนได้ ในที่สุด เราตั้งใจให้ Tinyman DAO สามารถควบคุมค่าธรรมเนียมทั้งหมดได้เมื่อมีอยู่จริง โปรโตคอลได้รับการออกแบบให้มีความยืดหยุ่นในเรื่องนี้ ดังนั้นความรับผิดชอบในการตั้งค่าและการเก็บค่าธรรมเนียมสามารถมอบหมายให้กับสัญญาอัจฉริยะหรือบัญชีภายนอกและเพิกถอนได้หากจำเป็น สิ่งนี้ทำให้กฎและกลไกเกี่ยวกับค่าธรรมเนียมสามารถเปลี่ยนแปลงได้ตลอดเวลาโดยไม่ส่งผลกระทบต่อแง่มุมอื่น ๆ ของโปรโตคอล รายละเอียดเพิ่มเติมจะแจ้งให้ทราบก่อนเปิดตัวเกี่ยวกับนโยบายเกี่ยวกับการเปลี่ยนแปลงค่าธรรมเนียม
โปรโตคอลที่ปลอดภัยและโปร่งใส
ด้วยโปรโตคอลใด ๆ มีข้อสันนิษฐานในการออกแบบและข้อจำกัดทางเทคนิคโดยธรรมชาติ ก่อนหน้านี้เราได้จัดทำเอกสารเหล่านี้สำหรับ V1 และใส่การป้องกันใน UI เพื่อป้องกันไม่ให้ผู้ใช้ใช้โปรโตคอลในลักษณะที่ไม่คาดคิด ด้วย Tinyman V2 เราสามารถก้าวไปอีกขั้นและบังคับใช้สิ่งเหล่านี้ในระดับโปรโตคอล
มีค่าคงที่ทางคณิตศาสตร์/ตรรกะจำนวนหนึ่งที่ควรมีอยู่ในโปรโตคอล ใน Tinyman V2 สิ่งเหล่านี้จะได้รับการตรวจสอบอย่างชัดเจนหลังจากการดำเนินการทุกครั้ง เพื่อให้แน่ใจว่าพูลจะไม่สูญเสียคุณค่าแม้จะมีพฤติกรรมที่ไม่คาดคิดอย่างมาก
โปรโตคอลจะปลอดภัยได้ก็ต่อเมื่อสามารถอ่าน ทำความเข้าใจ และตรวจทานได้โดยง่ายโดยบุคคลที่เป็นอิสระหลายคน เพื่อช่วยในเรื่องนี้ เราได้ทำงานในหลายด้าน:
- ซอร์สโค้ดของสัญญาที่อ่านได้ — เราได้พัฒนาภาษาใหม่สำหรับ Algorand, Tealishที่ช่วยให้เราสามารถแสดงตรรกะและความตั้งใจของเราได้อย่างชัดเจนในระดับสูง ในขณะที่รวบรวมเป็น Teal ระดับต่ำที่อ่านได้ Fergal Walsh (Tinyman CTO) จะพูดเกี่ยวกับ Tealish และวิธีการใช้งานสำหรับ V2 ที่งานDecipher 2022
- การตรวจสอบที่ตรวจสอบได้ — ข้อกำหนดและสัญญาของโปรโตคอลได้รับการวิเคราะห์และตรวจสอบในหลายระดับเพื่อพยายามระบุปัญหาหลายประเภท ซึ่งรวมถึงการวิเคราะห์และการสร้างแบบจำลองของข้อมูลจำเพาะ ซอร์สโค้ดของ Tealish และโค้ด Teal ที่สร้างขึ้นซึ่งดำเนินการบน AVM ในท้ายที่สุด เราได้ทำงานร่วมกับผู้ตรวจสอบเพื่อทำให้กระบวนการตรวจสอบมีความโปร่งใสมากกว่าปกติ เราจะเผยแพร่บล็อกโพสต์อื่นเกี่ยวกับเรื่องนี้ในอีกไม่กี่สัปดาห์ข้างหน้าโดยอ้างอิงถึงรายงานและเอกสารสนับสนุนทั้งหมด
- Bug Bounty — เราได้ทำงานร่วมกับ Algorand Foundation และ Immunefi เพื่อสร้างโปรแกรม Bug Bounty ที่มีรางวัลสูงถึง 250,000 USD สำหรับปัญหาร้ายแรง โปรแกรมนี้ใช้งานได้ทันทีและจะยังคงใช้งานได้หลังจากเปิดตัว Mainnet
- สัญญาสาธารณะและข้อมูลจำเพาะแบบโอเพ่นซอร์ส — เราได้เผยแพร่สัญญาแหล่งที่มา สร้าง Teal และรหัสไบต์สุดท้ายพร้อมกับเอกสารการออกแบบและข้อมูลจำเพาะของโปรโตคอล สิ่งนี้ทำให้ทุกคนสามารถตรวจสอบรายละเอียดโปรโตคอลเพื่อให้แน่ใจว่าการใช้งานนั้นตรงกับความคาดหวังของพวกเขา
เราถูกถามเป็นประจำว่าทำไมไม่มีปุ่มสีแดงขนาดใหญ่สำหรับ Tinyman เพื่อหยุดสัญญาชั่วคราวหากมีสิ่งผิดปกติเกิดขึ้น คำถามนี้ถูกหยิบยกขึ้นมามากขึ้นหลังจากเหตุการณ์ที่โชคร้ายในเดือนมกราคม ในขณะที่ออกแบบ V2 เราได้ใช้ความคิดอย่างมากกับคำถามนี้ เราสามารถใช้ฟังก์ชันหยุดชั่วคราวได้หรือไม่? มันจะทำงานอย่างไร? ใครจะควบคุมมันได้? ใครรับผิดชอบในการเรียกมัน? จะเกิดอะไรขึ้นหลังจากการหยุดชั่วคราว? เราจะลงรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ในโพสต์ในอนาคตเกี่ยวกับปัญหาด้านความปลอดภัย แต่ในที่สุดเราก็ได้ข้อสรุปเดียวกันกับที่เราได้รับเมื่อออกแบบ V1 ไม่มีกลไกการหยุดชั่วคราวที่ปลอดภัยและมีประโยชน์ที่จะไม่ทำให้คุณค่าหลักของ Tinyman และ DeFi โดยทั่วไปลดลง กลไกการหยุดชั่วคราวโดยไม่มีสัญญาที่อัปเกรดได้นั้นไม่มีประโยชน์มากนัก และสัญญาที่อัปเกรดได้ก็เป็นอีกด้านของเส้นแบ่งที่เราไม่ต้องการข้ามไป สัญญาที่อัปเกรดได้จะช่วยให้ทีม Tinyman (หรือผู้โจมตี) เปลี่ยนกฎของโปรโตคอลและอาจดูแลสภาพคล่องได้ จุดประสงค์หลักของ DeFi คือการหลีกเลี่ยงความเป็นไปได้ดังกล่าว
เงินของคุณ การตัดสินใจของคุณ
พวกเราในทีมรู้สึกตื่นเต้นกับโปรโตคอลใหม่และยุ่งอยู่กับการสร้าง UI ใหม่ที่ได้รับการปรับปรุงให้ดีขึ้น เราเชื่อว่าผู้ใช้จะมีประสบการณ์ที่ดีขึ้นโดยรวมในโปรโตคอลใหม่ แต่ท้ายที่สุดแล้ว การตัดสินใจของคุณในฐานะผู้ใช้โปรโตคอล เมื่อคุณวางเงินของคุณใน V1 คุณตกลงว่าเงินเหล่านั้นจะถูกผูกมัดตามกฎและตรรกะของสัญญา V1 ด้วยการออกแบบ เราไม่สามารถเปลี่ยนแปลงกฎเหล่านั้นเพื่อพอร์ตสภาพคล่องของคุณไปยัง V2 ได้ ต้องเป็นการตัดสินใจของคุณ เราขอแนะนำให้ผู้รวบรวมทั้งหมดบน V1 อ่านรายละเอียดของโปรโตคอลและรายงานการตรวจสอบอิสระ และตัดสินใจด้วยตนเองว่าต้องการย้ายสภาพคล่องไปยัง V2 หรือไม่ โปรโตคอล V1 จะยังคงใช้งานบน Algorand Mainnet ชั่วนิรันดร์ และเราจะสนับสนุนพูลที่มีอยู่ใน UI ของเว็บต่อไปในอนาคตอันใกล้
ขั้นตอนถัดไป
เราหวังว่าคุณจะตื่นเต้นเช่นเดียวกับเราเกี่ยวกับ V2 นี่เป็นเพียงจุดเริ่มต้นเท่านั้น! นอกจากนี้ เรายังมีการปรับปรุง UI อีกมากมายที่จะเปิดตัวด้วยโปรโตคอล V2 เราจะพูดถึงสิ่งเหล่านี้ในโพสต์บล็อกเพิ่มเติมในอีกไม่กี่สัปดาห์ข้างหน้า หลังเปิดตัว จะมีการปรับปรุงเพิ่มเติมและคุณสมบัติที่สร้างขึ้นจากรากฐานของโปรโตคอล V2
เราจะมีโพสต์เพิ่มเติมเกี่ยวกับแผนการโยกย้ายก่อนการเปิดตัว
ในระหว่างนี้ เราขอแนะนำให้คุณทำความคุ้นเคยกับรายละเอียดของโปรโตคอลและถามคำถามในพื้นที่ชุมชนของเรา
อ้างอิง
เอกสารและข้อกำหนดโปรโตคอล V2
ที่เก็บสัญญา V2
รายงานการตรวจสอบสัญญา V2
ซื้อซ้ำ
โปรแกรม Immunefi Bug Bounty (ลิงก์ที่จะเพิ่ม)