โปรโตคอล Tinyman AMM V2.0

Nov 25 2022
เมื่อวานนี้ เราได้ประกาศโปรโตคอล Tinyman AMM เวอร์ชันใหม่ที่จะเปิดตัวในเดือนมกราคม 2023 ในบล็อกโพสต์นี้ เราต้องการให้ภาพรวมของโปรโตคอลใหม่และอธิบายขั้นตอนต่อไป
โปรโตคอล 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 ว่างลงและขจัดปัญหาอื่นๆ ออกไป

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

การจัดการสภาพคล่องที่ยืดหยุ่นยิ่งขึ้น

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

การจัดการสภาพคล่องที่ยืดหยุ่นบน Tinyman v2

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

คุณลักษณะนี้ยังช่วยให้มั่นใจว่าสภาพคล่องทั้งหมดของผู้ใช้ในโทเค็น 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 ภายในขอบเขตที่อนุญาต

ค่าธรรมเนียมที่ปรับได้สำหรับ Tinyman v2

ความตั้งใจที่นี่คือในตอนแรก Fee Setter จะเป็นบัญชีที่ควบคุมโดยทีมหลักของ Tinyman และค่าธรรมเนียมจะถูกปรับสำหรับคู่ที่มั่นคง/ตรึงเท่านั้น ในภายหลัง เราตั้งใจที่จะแนะนำคุณลักษณะที่ช่วยให้นักเล่นพูลสามารถตัดสินใจร่วมกันเกี่ยวกับค่าธรรมเนียมสำหรับพูลของตนได้ ในที่สุด เราตั้งใจให้ Tinyman DAO สามารถควบคุมค่าธรรมเนียมทั้งหมดได้เมื่อมีอยู่จริง โปรโตคอลได้รับการออกแบบให้มีความยืดหยุ่นในเรื่องนี้ ดังนั้นความรับผิดชอบในการตั้งค่าและการเก็บค่าธรรมเนียมสามารถมอบหมายให้กับสัญญาอัจฉริยะหรือบัญชีภายนอกและเพิกถอนได้หากจำเป็น สิ่งนี้ทำให้กฎและกลไกเกี่ยวกับค่าธรรมเนียมสามารถเปลี่ยนแปลงได้ตลอดเวลาโดยไม่ส่งผลกระทบต่อแง่มุมอื่น ๆ ของโปรโตคอล รายละเอียดเพิ่มเติมจะแจ้งให้ทราบก่อนเปิดตัวเกี่ยวกับนโยบายเกี่ยวกับการเปลี่ยนแปลงค่าธรรมเนียม

โปรโตคอลที่ปลอดภัยและโปร่งใส

ด้วยโปรโตคอลใด ๆ มีข้อสันนิษฐานในการออกแบบและข้อจำกัดทางเทคนิคโดยธรรมชาติ ก่อนหน้านี้เราได้จัดทำเอกสารเหล่านี้สำหรับ V1 และใส่การป้องกันใน UI เพื่อป้องกันไม่ให้ผู้ใช้ใช้โปรโตคอลในลักษณะที่ไม่คาดคิด ด้วย Tinyman V2 เราสามารถก้าวไปอีกขั้นและบังคับใช้สิ่งเหล่านี้ในระดับโปรโตคอล

Tinyman การ์ตูน Ch#1

มีค่าคงที่ทางคณิตศาสตร์/ตรรกะจำนวนหนึ่งที่ควรมีอยู่ในโปรโตคอล ใน Tinyman V2 สิ่งเหล่านี้จะได้รับการตรวจสอบอย่างชัดเจนหลังจากการดำเนินการทุกครั้ง เพื่อให้แน่ใจว่าพูลจะไม่สูญเสียคุณค่าแม้จะมีพฤติกรรมที่ไม่คาดคิดอย่างมาก

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

  • ซอร์สโค้ดของสัญญาที่อ่านได้ — เราได้พัฒนาภาษาใหม่สำหรับ Algorand, Tealishที่ช่วยให้เราสามารถแสดงตรรกะและความตั้งใจของเราได้อย่างชัดเจนในระดับสูง ในขณะที่รวบรวมเป็น Teal ระดับต่ำที่อ่านได้ Fergal Walsh (Tinyman CTO) จะพูดเกี่ยวกับ Tealish และวิธีการใช้งานสำหรับ V2 ที่งานDecipher 2022
  • Tinyman ประดิษฐ์ Tealish
  • การตรวจสอบที่ตรวจสอบได้ — ข้อกำหนดและสัญญาของโปรโตคอลได้รับการวิเคราะห์และตรวจสอบในหลายระดับเพื่อพยายามระบุปัญหาหลายประเภท ซึ่งรวมถึงการวิเคราะห์และการสร้างแบบจำลองของข้อมูลจำเพาะ ซอร์สโค้ดของ 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 ของเว็บต่อไปในอนาคตอันใกล้

Tinyman ประกาศโปรโตคอล AMM v2

ขั้นตอนถัดไป

เราหวังว่าคุณจะตื่นเต้นเช่นเดียวกับเราเกี่ยวกับ V2 นี่เป็นเพียงจุดเริ่มต้นเท่านั้น! นอกจากนี้ เรายังมีการปรับปรุง UI อีกมากมายที่จะเปิดตัวด้วยโปรโตคอล V2 เราจะพูดถึงสิ่งเหล่านี้ในโพสต์บล็อกเพิ่มเติมในอีกไม่กี่สัปดาห์ข้างหน้า หลังเปิดตัว จะมีการปรับปรุงเพิ่มเติมและคุณสมบัติที่สร้างขึ้นจากรากฐานของโปรโตคอล V2

เราจะมีโพสต์เพิ่มเติมเกี่ยวกับแผนการโยกย้ายก่อนการเปิดตัว

ในระหว่างนี้ เราขอแนะนำให้คุณทำความคุ้นเคยกับรายละเอียดของโปรโตคอลและถามคำถามในพื้นที่ชุมชนของเรา

อ้างอิง

เอกสารและข้อกำหนดโปรโตคอล V2

ที่เก็บสัญญา V2

รายงานการตรวจสอบสัญญา V2

ซื้อซ้ำ

โปรแกรม Immunefi Bug Bounty (ลิงก์ที่จะเพิ่ม)