Tinyman AMM V2.0 프로토콜

어제 우리는 2023년 1월에 출시될 Tinyman AMM 프로토콜의 새 버전을 발표했습니다. 이 블로그 게시물에서는 새 프로토콜에 대한 개요를 제공하고 다음 단계를 설명하고자 합니다. 우리는 사용자와 생태계 프로젝트가 새로운 프로토콜에 익숙해지고 마이그레이션을 준비할 수 있는 충분한 시간을 제공하기 위해 출시 전에 이러한 세부 정보를 일찍 제공하고 있습니다.
2021년 10월 Tinyman AMM 출시 이후 알고랜드 프로토콜이 많이 개선되어 애플리케이션이 더 복잡하고 흥미로운 작업을 수행하는 동시에 안전성을 개선하고 일부 마찰 지점을 제거할 수 있습니다. 지난 6개월 동안 우리는 이러한 개선 사항을 활용하는 Tinyman AMM의 새로운 구현을 설계, 구축 및 테스트했습니다.
이 새로운 프로토콜의 주요 특징은 다음과 같습니다.
- 상환의 필요성을 제거하기 위한 출력의 동적 계산
- 유연한 유동성 추가 및 제거
- 플래시 대출 및 플래시 스왑
- 동적 수수료 설정
- 완전한 구성 가능성 및 상호 운용성
- 추가 안전 확인
- 계약서 가독성 향상
Tinyman AMM V2는 무허가
Tinyman AMM V2는 변경할 수 없습니다(업그레이드 불가).
Tinyman AMM V2에는 활동을 일시 중지하거나 풀을 비울 수 있는 관리 키가 없습니다.
Tinyman AMM V2는 투명하고 오픈 소스입니다.
Tinyman AMM V2는 감사를 받았습니다.
Tinyman AMM V2는 여전히 엄청나게 빠르고 사용하기에 저렴합니다.
더 이상 사용할 수 없음
지난 1년 동안 알고랜드 프로토콜에서 가장 중요한 개선 사항 중 하나는 내부 트랜잭션의 도입이었습니다. 이를 통해 계약은 프로그래밍 방식으로 트랜잭션을 생성할 수 있습니다. 이를 통해 Tinyman은 스왑 출력을 동적으로 계산하고 전체 출력 금액에 대한 트랜잭션을 발행할 수 있습니다. 계약은 여전히 최소한의 예상 금액을 받을 수 있도록 안전하게 보장합니다.
이것은 마찰과 혼란의 주요 원인을 제거하고 즉시 더 나은 사용자 경험을 제공할 것입니다.
더 이상 앱 옵트인 없음
이제 더 이상 교환을 지원할 필요가 없으므로 사용자별 상태를 온체인에 저장할 필요도 없습니다. 이를 통해 Tinyman 계약 앱에 대한 옵트인 요구 사항을 제거할 수 있습니다. 이렇게 하면 Tinyman 사용자의 최소 균형 요구 사항이 풀리고 또 다른 마찰 원인이 제거됩니다.
자산 옵트인은 여전히 필요하지만 이제 스왑 및 기타 작업으로 그룹화할 수 있으므로 사용자가 별도로 서명할 필요가 없습니다. 이렇게 하면 프로세스 속도가 빨라지고 스왑과 관련된 단계가 줄어듭니다.
보다 유연한 유동성 관리
우리는 풀러가 되고자 하는 사용자들 사이에서 매우 일반적인 패턴이 일부 자산을 다른 자산으로 교환한 다음 동일한 금액을 풀에 예치하는 것임을 알게 되었습니다. 프로토콜 수준에서 이 단계를 자동화하는 기능을 추가하여 사용자가 단일 작업에서 풀 자산 중 하나만 사용하여 풀에 유동성을 추가할 수 있습니다. 또한 유연하기 때문에 사용자는 각 자산에서 사용할 수 있는 모든 것을 추가할 수 있으며 풀은 균형을 맞추고 결합된 가치에 대해 올바른 양의 풀 토큰을 발행합니다.

이 기술을 사용할 때 사용자가 여전히 두 자산에 노출되어 있음을 이해하는 것이 중요합니다. 암시적 내부 스왑은 사용자 편의 기능일 뿐입니다. 이 기능은 소규모 풀러에게 가장 적합하다는 것을 이해하는 것도 중요합니다. 애초에 균형 잡힌 풀을 만들기 위해서는 두 자산 모두에 상당한 유동성을 가진 일부 풀러가 여전히 필요합니다.
이 기능은 또한 사용자가 잘못된 비율로 유동성을 공급하더라도 LP 토큰의 모든 유동성이 올바르게 설명되도록 합니다. 이는 변동성이 높은 기간 동안 새로운 풀러의 안전성을 향상시킵니다.
프로토콜은 이제 단 하나의 자산에서 유동성 제거도 지원합니다. 이는 선택한 자산으로 사용자에게 자금을 반환하기 전에 암시적 내부 스왑이 발생하는 위의 경우와 반대입니다.
이 두 가지 기능을 통해 공통 흐름을 단순화하여 사용자 경험을 개선할 수 있습니다. 그러나 그들은 또한 훨씬 더 복잡한 계약 간 상호 작용을 위한 토대를 마련합니다.
구성 가능성 및 상호 운용성
이번에도 최신 알고랜드 프로토콜 개선 사항을 활용하여 V2 프로토콜을 완벽하게 구성하고 상호 운용할 수 있도록 설계했습니다. 이것은 Tinyman V2 트랜잭션이 다른 트랜잭션과 동일한 원자 그룹 내에 배치될 수 있고 Tinyman V2가 다른 계약에서 호출될 수 있음을 의미합니다.
이를 통해 우리와 다른 사람들은 원자적 멀티홉 스왑, 제한 주문, 메타풀 등을 위한 프로토콜 위에 기능을 구축할 수 있습니다. 이러한 기능은 스와퍼의 사용자 경험을 개선하는 동시에 Tinyman 풀로 더 많은 볼륨을 유도하고 풀러에게 더 많은 수수료를 생성하는 데 도움이 될 것입니다.
플래시 대출 및 스왑
이러한 구성 가능성을 활용하는 한 가지 기능은 Flash Loans입니다. 우리는 이제 프로토콜에 이를 지원하므로 사용자는 동일한 트랜잭션 그룹 내에서 상환하는 한 풀에서 제로 담보 대출을 받을 수 있습니다. 이것은 쓸모 없는 기능처럼 보일 수 있지만 프로토콜의 상호 운용 가능한 특성과 개발 중인 알고랜드 DeFi 공간 덕분에 단일 블록 내에서 수익을 창출할 수 있는 많은 기회가 있을 것입니다. 이것은 복잡한 기능이며 DeFi 프로토콜 및 전략에 대한 자세한 지식이 있는 사람들만 사용하기 위한 것이므로 웹 UI에 포함되지 않습니다. 이 기능을 포함하는 것은 재산에 관계없이 모든 사람에게 금융 도구를 제공한다는 우리의 핵심 철학에 의해 추진됩니다.
플래시 스왑 및 대출은 프로토콜에 대해 위험이 없으며(재정적 의미에서) 풀러에게 추가 수익원을 제공합니다.
조정 가능한 수수료
Tinyman AMM V1에는 풀러와 프로토콜 간에 5:1로 분할되는 30 베이시스 포인트의 고정 스왑 수수료가 있습니다. 이것은 지금까지 사용자에게 잘 제공되었지만 다른 수수료 옵션이 더 적합한 경우가 있습니다. 고정/안정 자산의 경우 가격 영향이 적은 낮은 수수료가 스와퍼에게 유리합니다. 낮은 수수료로 인한 물량 증가는 풀러에게도 도움이 될 것입니다. V2 프로토콜은 동일한 자산 쌍의 서로 다른 수수료 계층에 대해 여러 풀에 걸쳐 유동성을 분할하는 대신 시간이 지남에 따라 풀의 수수료를 조정할 수 있습니다. 모든 풀은 기본값(V1과 동일)으로 시작하지만 수수료 비율은 허용된 범위 내에서 수수료 설정자 계정에 의해 변경될 수 있습니다.

여기서 의도는 수수료 설정자가 초기에 Tinyman 핵심 팀이 관리하는 계정이 되고 수수료는 안정/페깅된 쌍에 대해서만 조정된다는 것입니다. 나중에 풀러가 풀에 대한 수수료를 공동으로 결정할 수 있는 기능을 도입할 계획입니다. 궁극적으로 우리는 Tinyman DAO가 존재하는 경우 모든 수수료를 Tinyman DAO에서 통제할 수 있도록 할 것입니다. 이 프로토콜은 수수료 설정 및 수집에 대한 책임을 스마트 계약 또는 외부 계정에 위임하고 필요한 경우 취소할 수 있도록 유연하게 설계되었습니다. 이를 통해 프로토콜의 다른 측면에 영향을 주지 않고 시간이 지남에 따라 요금에 관한 규칙과 메커니즘을 변경할 수 있습니다. 요금 변경과 관련된 정책에 대한 자세한 내용은 출시 전에 제공됩니다.
더 안전하고 투명한 프로토콜
모든 프로토콜에는 설계 가정과 내재된 기술적 한계가 있습니다. 우리는 이전에 V1에 대해 이를 문서화했으며 사용자가 예기치 않은 방식으로 프로토콜을 사용하지 못하도록 UI에 보호 장치를 넣었습니다. Tinyman V2를 통해 우리는 한 단계 더 나아가 프로토콜 수준에서 이들 중 일부를 시행할 수 있었습니다.

프로토콜에 유지되어야 하는 많은 수학적/논리적 불변이 있습니다. Tinyman V2에서는 매우 예기치 않은 동작이 있더라도 풀이 가치를 잃지 않도록 모든 작업 후에 명시적으로 확인됩니다.
프로토콜은 여러 독립적인 사람들이 쉽게 읽고, 이해하고, 검토할 수 있는 경우에만 안전할 수 있습니다. 이를 돕기 위해 다음과 같은 여러 영역에 노력을 기울였습니다.
- 읽을 수 있는 계약 소스 코드 — 우리는 알고랜드를 위한 새로운 언어인 Tealish를 개발했습니다. 이 언어를 사용 하면 읽을 수 있는 낮은 수준의 Teal로 컴파일하면서 높은 수준에서 우리의 논리와 의도를 명확하게 표현할 수 있습니다. Fergal Walsh(Tinyman CTO)는 Decipher 2022 에서 Tealish와 그것이 V2에 어떻게 사용되었는지에 대해 이야기할 것 입니다.
- 감사 가능한 감사 - 다양한 종류의 문제를 식별하기 위해 프로토콜 사양 및 계약을 여러 수준에서 분석 및 감사했습니다. 여기에는 사양의 분석 및 모델링, Tealish 소스 코드 및 궁극적으로 AVM에서 실행되는 생성된 Teal 코드가 포함됩니다. 우리는 감사 프로세스를 평소보다 더 투명하게 만들기 위해 감사관과 협력했습니다. 보고서 및 모든 지원 자료에 대한 참조와 함께 이에 대한 또 다른 블로그 게시물을 다음 주에 게시할 예정입니다.
- 버그 바운티 — 우리는 알고랜드 재단 및 Immunefi와 협력하여 중요한 문제에 대해 최대 250,000 USD의 보상을 제공하는 버그 바운티 프로그램을 만들었습니다. 이 프로그램은 즉시 실행되며 메인넷 출시 후에도 활성 상태를 유지합니다.
- 오픈 소스 공개 계약 및 사양 — 프로토콜의 설계 문서 및 사양과 함께 소스 계약, 생성된 Teal 및 최종 바이트코드를 게시했습니다. 이를 통해 누구나 프로토콜 세부 정보를 검토하여 구현이 기대에 부합하는지 확인할 수 있습니다.

문제가 발생할 경우 Tinyman이 계약을 일시 중지할 수 있는 Big Red Button이 없는 이유에 대해 정기적으로 질문을 받습니다. 이 질문은 1월의 안타까운 사건 이후 더 많이 제기되었습니다. V2를 설계하면서 우리는 이 질문에 대해 많은 생각을 했습니다. 일시 중지 기능을 구현할 수 있습니까? 어떻게 작동할까요? 누가 통제할 수 있습니까? 누가 그것을 부를 책임이 있습니까? 일시 중지 후에는 어떻게 됩니까? 이에 대한 자세한 내용은 보안 문제에 대한 향후 게시물에서 다루겠지만 궁극적으로 V1을 설계할 때와 동일한 결론에 도달했습니다. 일반적으로 Tinyman 및 DeFi의 핵심 가치를 손상시키지 않는 안전하고 유용한 일시 중지 메커니즘은 없습니다. 업그레이드 가능한 계약이 없는 일시 중지 메커니즘은 그다지 유용하지 않으며 업그레이드 가능한 계약은 우리가 넘고 싶지 않은 선의 반대편입니다. 업그레이드 가능한 계약을 통해 Tinyman 팀(또는 공격자)은 프로토콜의 규칙을 변경하고 잠재적으로 유동성을 관리할 수 있습니다. DeFi의 주요 목적은 이러한 가능성을 피하는 것입니다.
당신의 자금, 당신의 결정
팀으로서 우리는 새로운 프로토콜에 대해 흥분하고 있으며 이를 중심으로 새롭고 개선된 UI를 구축하느라 바빴습니다. 우리는 사용자가 새로운 프로토콜에서 전반적으로 훨씬 더 나은 경험을 할 것이라고 믿지만 궁극적으로 프로토콜 사용자로서의 결정은 귀하의 몫입니다. V1에 자금을 배치할 때 V1 계약의 규칙과 논리에 구속된다는 데 동의한 것입니다. 설계상 유동성을 V2로 이식하기 위해 이러한 규칙을 변경할 수 없습니다. 당신의 결정이어야 합니다. 우리는 V1의 모든 풀러가 프로토콜의 세부 사항과 독립 감사 보고서를 읽고 유동성을 V2로 마이그레이션할지 여부를 스스로 결정하도록 권장합니다. V1 프로토콜은 알고랜드 메인넷에서 영원히 살아있을 것이며 우리는 가까운 장래에 웹 UI에서 기존 풀을 계속 지원할 것입니다.

다음 단계
우리가 V2에 대해 기대하는 만큼 여러분도 기대하시기 바랍니다. 그러나 이것은 시작에 불과합니다! 또한 V2 프로토콜과 함께 출시될 많은 UI 개선 사항이 있습니다. 앞으로 몇 주 동안 추가 블로그 게시물에서 이에 대해 살펴볼 것입니다. 출시 후에는 V2 프로토콜이 제공하는 기반 위에 구축된 추가적인 개선 사항과 기능이 있을 것입니다.
출시 전에 마이그레이션 계획에 대한 추가 게시물도 올릴 예정입니다.
그동안 프로토콜의 세부 사항을 숙지하고 커뮤니티 공간에서 질문하는 것이 좋습니다.
참조
V2 프로토콜 문서 및 사양
V2 계약 저장소
V2 계약 감사 보고서
청초한 레포
Immunefi 버그 바운티 프로그램(링크 추가 예정)