Yam은 프로그래밍 가능한 화폐 및 거버넌스의 최근 혁신을 기반으로 구축된 실험적 프로토콜입니다. 2020년 8월 11일에 공개적으로 출시되었습니다. 암호화폐 보유자들은 출시 후 24시간 이내에 YAM 프로토콜을 통해 4억 달러 이상을 스테이킹했습니다. 시가총액과 총 예치 자산(TVL)이 급증한 후, 리베이스 코드의 예상치 못한 버그로 인해 2020년 8월 12일에 프로젝트가 붕괴되었습니다.[1][2]
YAM은 시장 상황에 따라 공급량을 확장 및 축소하는 탄력적 공급 암호화폐로, 초기에는 YAM당 1 USD를 목표로 합니다. 이 안정성 메커니즘에는 Ampleforth와 같은 기존 탄력적 공급 모델에 대한 한 가지 중요한 추가 사항이 포함되어 있습니다. 각 공급량 확장의 일부는 yCurve(고수익 USD 표시 스테이블코인)를 구매하여 Yam 커뮤니티 거버넌스를 통해 제어되는 Yam 재무부에 추가하는 데 사용됩니다.
Yam 팀은 Yam을 최소 실행 가능한 통화 실험으로 구축했으며, 출시 시 YAM 토큰에는 가치가 없을 것입니다. 배포 후에는 YAM 보유자가 가치와 미래 개발을 결정하는 데 전적으로 달려 있습니다. 팀은 또한 Compound(암호화폐) 거버넌스 모듈의 포크를 사용했는데, 이는 Yam 프로토콜에 대한 모든 업데이트가 커뮤니티 투표를 통해 완전히 온체인에서 이루어지도록 보장합니다.[3]
출시 당시 YAM은 감사를 받지 않았습니다. 기여자들은 계약의 보안을 보장하기 위해 최선을 다했습니다.
2020년 9월 10일, 선도적인 DeFi 감사 회사인 Peckshield가 Yamv3 감사를 완료했습니다. 이 회사는 성능 및 보안과 관련된 수많은 문제를 발견했습니다. 특히 감사를 통해 17개의 기본 코딩 버그와 회사의 '고급 DeFi 정밀 조사' 내에서 '비즈니스 로직' 및 '시스템 운영'과 관련된 12개의 문제가 발견되었습니다. 또한 회사는 팀에 6가지 권장 사항을 제시했습니다.
PeckShield는 문제를 수준별로 분류하여 4가지 문제를 정보 제공, 4가지 문제를 중간 위험, 1가지 문제를 고위험으로 분류했습니다. 또한 4가지 정보 제공 문제가 있었습니다. 또한 프로토콜을 비활성화할 수 있는 중요한 버그는 없었습니다. 감사 이후 모든 문제가 해결되었습니다. 블록체인 회사는 다음과 같이 밝혔습니다.
“YAM은 온체인 커뮤니티 기반 거버넌스 및 탄력적 공급 암호화폐의 흥미롭고 새로운 실험을 제시하며, 전반적인 설계 및 구현에 매우 감명받았습니다.”
YAM은 YFI와 동일한 방식으로 배포됩니다. 사전 채굴, 창립자 지분 및 벤처 캐피털 이해관계가 없습니다.
YAM의 초기 배포는 WETH, YFI, MKR, LEND, LINK, SNX, COMP 및 ETH/APML Uniswap v2 LP 토큰의 8개 스테이킹 풀에 균등하게 배포됩니다. 이러한 풀은 전체 DeFi(탈중앙화 금융) 커뮤니티의 광범위한 부분과 활성 거버넌스에 대한 입증된 약속과 복잡한 토큰 경제에 대한 이해를 가진 특정 커뮤니티에 도달하기 위해 의도적으로 선택되었습니다.
초기 배포 풀 출시 후 두 번째 배포 물결은 YAM/yCRV Uniswap 풀을 통해 장려됩니다. 이 풀을 통해 Uniswap의 TWAP 기반 오라클은 리베이스 계산의 기초로 필요한 입력을 제공하고 리베이스가 재무부를 위해 yCurve를 구매할 수 있도록 유동성을 제공할 수 있습니다.
리베이트는 Rebaser라는 외부 계약에 의해 제어됩니다. 이는 Ampleforth의 통화 정책 계약과 유사합니다. 리베이스의 크기와 리베이스에서 발생하는 상황을 지시합니다. YAM 토큰은 이 계약에서 제공하는 내용을 기반으로 공급량을 변경합니다.
리베이트가 활성화되기 전의 요구 사항:
두 번째 풀 출시 후 리베이스는 활성화 단계를 시작할 수 있습니다. 이는 리베이스 계약에서 init_twap()으로 시작됩니다. YAM/yCRV Uniswap V2 시장이 있으면 누구나 언제든지 이를 호출할 수 있습니다. 오라클은 체크포인트 사이에 12시간이 되도록 설계되었습니다. 따라서 init_twap()이 호출된 후 12시간 후에 누구나 activate_rebasing()을 호출할 수 있습니다. 그러면 리베이스가 영구적으로 켜집니다. 이제 누구나 inRebaseWindow() == true;일 때 rebase()를 호출할 수 있습니다.
리베이스에서 작업 순서는 다음과 같습니다.
YAM의 코드베이스의 대부분은 다음을 포함하여 기존 작업에서 수정되었습니다.
YAM은 Compound(프로토콜) 거버넌스 모듈을 구현하여 첫날부터 완전히 탈중앙화된 거버넌스로 출시되었습니다. 이를 통해 프로토콜에 대한 제어 권한이 YAM 토큰 보유자에게 주어지므로 프로토콜 업데이트 및 재무부 관리는 YAM 보유자의 승인을 받아야만 수행할 수 있습니다.
거버넌스 프로세스는 제안서가 먼저 논의를 위해 제출되는 곳에서 시작됩니다. 커뮤니티가 관심을 보이고 제안서에 필요한 수정 사항이 있으면 토큰 보유자가 토큰 잔액으로 투표할 수 있는 곳에 제안서가 제출됩니다. 스냅샷 제안서가 통과되고 구현해야 할 코드가 없으면 승인된 조치를 취할 수 있습니다. 코드 배포가 필요한 경우 코드는 필요한 경우 감사를 받고 온체인 거버넌스를 통해 제안되며 이 시점에서 토큰 보유자는 배포를 위해 다시 투표합니다.[4]
YAM은 YAM 프로토콜의 거버넌스 토큰입니다. 토큰 투표를 사용하여 YAM 보유자는 YAM 재무부와 프로토콜 방향에 직접적인 영향을 미칩니다. 거버넌스 논의는 Yam 거버넌스 포럼에서 이루어집니다. 12시간마다 릴리스됩니다.
사전 채굴 및 판매 없이 YAM 토큰은 다음을 포함한 8개의 YAM 스테이킹 풀에 균등하게 배포됩니다.
원래 YAM 프로토콜은 2020년 8월 11일에 출시되었지만 향후 거버넌스 및 재무부 제어를 비활성화하는 중요한 버그가 있었습니다. 토큰 보유자는 프로토콜이 감사되는 동안 V3 출시 매개변수에 투표하기 위해 YAMv2로 마이그레이션했습니다. 2020년 9월 18일, 완전히 작동하는 YAM 프로토콜이 릴리스되었고 V2 토큰 보유자는 새로운 YAM 토큰으로 마이그레이션했습니다.
YAMv1은 거버넌스를 비활성화하는 중요한 버그를 경험했습니다. 2020년 8월 12일, YAM 팀은 Uniswap YAM/yCRV 풀에 판매하기 위해 의도한 것보다 훨씬 더 많은 YAM을 민트하여 프로토콜 준비금으로 많은 양의 초과 YAM을 보내는 YAM 리베이스 계약에서 버그를 발견했습니다. YAM의 거버넌스 모듈을 감안할 때 이 버그로 인해 정족수에 도달하는 것이 불가능해져 거버넌스 조치를 취할 수 없게 되고 재무부의 자금이 잠깁니다.
팀은 버그 수정 제안에 대한 정족수를 달성하면 프로토콜을 저장할 수 있다고 믿고 커뮤니티에 투표를 이 목표를 향해 위임하도록 신속하게 촉구했습니다.
8월 13일 직후 그들은 거버넌스 제안서를 제출하고 원래 그것을 제정할 수 있을 만큼 충분한 투표라고 믿었던 것으로 투표했습니다. 그 직후 보안 전문가의 도움으로 팀은 리베이스 버그가 거버넌스 모듈과 상호 작용하여 이 제안이 성공하지 못하도록 막을 것이라고 결론지었습니다.
팀은 YAM 계약에 대한 커뮤니티 자금 지원 감사를 시작했습니다. 그들의 계획에 따르면 자금 지원 목표가 달성되면 감사 완료 시 YAM에서 마이그레이션 계약을 통해 YAM 2.0을 출시할 것입니다.
V1 버그의 여파로 성공적인 감사 자금 지원에 따라 출시 팀은 V1에서 안정적인 ERC20 YAMv2로 마이그레이션을 가능하게 하는 마이그레이션 계약을 배포했습니다. V2 토큰은 프로토콜이 감사되는 동안 YAM 재출시의 주요 문제에 대한 투표에 사용될 예정이었습니다.
2020년 8월 24일 YAM 거버넌스 포털 출시 후 커뮤니티는 YAMv3 출시와 관련된 주요 문제에 대해 논의, 제안 및 투표하고 해당 사양에 대한 합의에 도달했습니다.
8월 31일 YAMv2 임시 거버넌스 기간이 종료되었고 그 이전에 성공적인 모든 제안이 YAMv3에 구현되었습니다.
다음은 YAM 커뮤니티에서 투표하고 만든 YAMv3 출시 매개변수의 요약입니다.