아키뱅크

아키뱅크 버그 바운티에 대한 안내입니다.

내용

디파이 대출 프로토콜인 아키뱅크 출시 전, 컨트랙트 코드에 대한 버그 바운티를 실시합니다.

  • 기간: 9월 15일 ~ 9월 27일

  • 기존 조건

    • 운영 상의 문제가 아닌 코드 상의 문제여야 함

  • 상금: 100만 CAT (현 시세로 6000만원 상당)

    • 40만 CAT 2명: 자금 탈취 가능한 수준의 버그 발견

      • 컴파운드 또는 인버스 파이낸스에서 발생할 수 있는 동일한 문제가 아니어야 함, 배포된 컨트랙트에서 재현 가능해야 함

      • 컴파운드 또는 인버스 파이낸스와 동일한 로직에 대한 버그인 경우 컴파운드 또는 인버스 파이낸스에서 재현 가능해야 함

    • 5만 CAT 2명, 2만 CAT 5명

      • 버그의 심각성에 따라 차등 지급

  • 상금 수여자 발표: 9월 30일

  • 조언

    • 컴파운드와 인버스 파이낸스는 이미 상당기간 운영된 서비스이고 아직 해킹 사례가 없습니다. 이런 상황에서 상금을 받을 확률을 높이려면 변경된 부분에 집중하는 것이 유리할 것입니다.

  • 분쟁 발생 시 처리 방법

    • 커뮤니티에 올려서 공개적인 의견 듣고 처리, 커뮤니티 참여자가 적을 시 권위있는 전문가 의견을 반영

컨트랙트 코드

  • 아키뱅크 컨트랙트 코드는 컴파운드를 포크한 인버스 파이낸스의 anchor를 포크했습니다.

  • 다음과 같은 변경을 했습니다.

    • Comptroller

      • 업그레이드 가능하지 않도록 최종 버전의 Comptroller를 직접 사용하는 방식을 사용했습니다.

        • Unitroller 컨트랙트 제거

        • Comptroller 이전 버전 컨트랙트를 제거

      • 거버넌스 토큰을 직접 지급하지 않도록 함

        • COMP, INV와 관련된 코드 제거

        • 거버넌스 관련 컨트랙트 제거

      • 구현 없는 verify 함수 제거

      • 에러 코드 리턴을 require로 변경, 명시적으로 컨트랙트가 실패하도록 함

    • CToken

      • Erc20 토큰들은 CErc20Immutable 컨트랙트만 사용

        • 다른 Erc20 관련 컨트랙트 제거

    • JumpRateModelV2

      • 이자모델은 JumpRateModelV2만 사용, 다른 이자모델 컨트랙트 제거

    • 아키스왑 오라클

      • 아키스왑 가격을 사용하는 가격피드와 오라클 작성

  • 코드는 다음 링크에서 다운로드 받으실 수 있습니다.

* 테스트 중인데 참여자들이 컨트랙트 함수를 실행할 수 있어서, 테스트로 배포한 컨트랙트 주소는 삭제했습니다.

결과

자금 탈취 수준의 결함이나 상금을 지급할 수준의 버그 발견이 없었습니다.

Last updated