BigShort Docs

정밀도 및 수학 규약

일관된 토큰, native18, external6, bps 및 고정점 협약은 계약 전체 실행에서 지속적인 모델을 구별합니다.

먼저 ‘금액’과 ‘원시 정수’를 구분하기

컨트랙트는 부동 소수점 USDC나 Token을 저장하지 않습니다. 본문의 사람이 읽기 쉬운 단위 예시 는 1,000 USDC 로 표기하며, 정수 구현 으로 표시된 수식은 온체인 원시 정수를 사용합니다.

기호정수 수식의 단위예시
T, a, bToken181 Token = 10¹⁸
Q, N, C, Anative18 USDC1 USDC = 10¹⁸
E, Rexternal6 USDC1 USDC = 10⁶
σ정밀도 변환 계수 10¹²통화 환율이 아님
BPS비율 분모 10,000100 bps = 1%
PPM비율 분모 1,000,00010 ppm = 0.001%

소스 코드의 ether 는 Solidity의 10¹⁸ 수량 접미사이며,본 프로토콜이 ETH를 호가 자산으로 사용한다는 뜻이 아닙니다. 현재 어댑테이션은 네이티브 Arc USDC와 ERC-20 USDC 인터페이스를 18/6자리로 처리합니다. 이 특성을 임의의 EVM 네트워크에 그대로 일반화할 수는 없습니다.

USDC 이중 정밀도 변환

external6에서 native18로 변환:

Q=Eσ,σ=1012

native18에서 내림 변환:

E=⌊Qσ⌋,ε=Qmodσ

ε 는 native18 dust입니다. 정확한 변환에는 다음 조건이 필요합니다.

Qmodσ=0

예를 들어 1.234567890123456789 USDC 를 내림 변환하면 1.234567 USDC 가 되고, 나머지는 0.000000890123456789 USDC 입니다. 정확한 변환 경로를 호출하면 이 입력은 조용히 라운딩되는 것이 아니라 거부됩니다.

라운딩 기호

기호의미일반적인 용도
floor(x) / ⌊x⌋내림비율 진행도, 부분 분배, 지수 누적
sqrtFloor(x)내림 정수 제곱근리스크 모델 이론 준비금
sqrtCeil(x)올림 정수 제곱근리스크 용량의 보수적 잔여 준비금
feeUp(A,f)=⌈Af10,000⌉

표준 V2의 정확한 출력량 입력 계산은 ** floor(ratio) + 1**을 사용합니다. ratio가 정확히 정수여도 1을 더하므로 무조건 ceil(ratio) 로 대체할 수 없습니다. Quoter의 최대 실행 가능 한도도 이를 위해 엄격한 경계를 유지합니다.

바꿀 수 없는 연산 순서

일반적으로:

⌊ab⌋c≠⌊acb⌋

고정 소수점 지수

TWAP 누적 가격은 2¹¹² 로, Funding과 Legacy는 2¹²⁸ 로 스케일링합니다. Funding을 예로 들면:

ΔI=⌊rΔt2128106⋅86,400⌋,F=⌊NΔI2128⌋

지수는 전역 누적 요율과 개별 포지션 지분을 분리하므로 포지션을 매초 저장소에 기록할 필요가 없습니다. 두 번의 내림으로 부동 소수점 근사치와 극히 작은 차이가 생길 수 있으며, Legacy는 고정밀 나머지도 별도로 보존합니다.

시가총액의 고정 공급량 기준

이 프로토콜의 내부 시장 매입은 곡선 공급량 S = 1,000,000,000 토큰:

M=⌊QST⌋

이는 총공급량 1,199,861,071 Token 으로 계산한 FDV도, 유통 공급량 기준도 아닙니다. 외부에 표시할 때는 원래 spot 시가총액과 제한 적용 후 리스크 시가총액을 구분하여 서로 다른 지표를 혼용하지 않아야 합니다.

BigShort Protocol · ARC발행 · 거래 · 공매도