이 페이지는 커뮤니티 번역으로 참고용이며, 내용은 영어 원문을 우선합니다.
영어 원문 보기 ↗

우선 수수료

지연 시간에 민감한 사용자를 위한 고급 기능

Gossip (읽기) 우선순위

동일한 3분 일정에 동기화된 3개의 독립적인 더치 옥션이 있습니다. 옥션 인덱스는 노드가 데이터를 전송할 때 피어에 대한 순서로 선택적으로 해석됩니다. 이 우선순위는 split client 블록과 응답을 포함하는 일반 클라이언트 블록 모두에 영향을 줍니다. 재단 논-밸리데이터는 gossip 우선순위 옥션 순서를 존중하는 옵트인을 할 것입니다.

독립적인 슬롯 옥션은 가산되지 않으므로, 여러 슬롯에 입찰하는 IP는 가장 낮은 슬롯에 따라 우선순위가 지정됩니다. 옥션이 지연 시간에 영향을 주려면 온체인 IP가 데이터를 전송하는 피어가 보는 IP와 정확히 일치해야 합니다. 각 옥션의 결과는 다음 옥션 기간에만 영향을 줍니다. 노드 체인을 통해 밸리데이터 네트워크에 연결된 노드의 경우, 부모 노드의 구성 방식에 따라 각 네트워크 홉이 우선순위 옥션을 존중할 수도 있고 하지 않을 수도 있습니다.

더 낮은 옥션 인덱스가 더 높은 인덱스보다 엄격하게 우선합니다. 이 우선순위 지정은 멤풀 트랜잭션 스트림의 모든 데이터에 동일하게 적용됩니다. 순서는 기대값 기준으로 상대적으로 일관되어야 하지만, p2p 컨센서스 네트워크의 변동성을 받습니다. Gossip 우선순위는 데이터 읽기에만 적용됩니다. 데이터 전송의 우선순위 지정에 대해서는 아래의 주문 우선순위 섹션을 참조하세요. Gossip 우선순위를 존중하는 노드는 해당 노드의 현재 실행 상태를 기준으로 이전 옥션 승자를 사용합니다. 토큰, 스팟 및 무기한 선물(펍) 배포 옥션과 마찬가지로, 스팟 잔액에서 차감되는 수수료는 소각됩니다.

이전 옥션 승자(즉, 현재 gossip 우선순위 순서)와 현재 옥션 상태는 info 요청 { "type": "gossipPriorityAuctionStatus"}으로 조회할 수 있습니다.

Gossip 우선순위는 마켓메이커가 경쟁력을 유지하기 위해 인프라를 극도로 최적화해야 하는 필요성을 줄여줍니다. 옥션에 참여하려면 사용자가 액션 {"type": "gossipPriorityBid", "slotId": 0, "ip": "1.2.3.4", "maxGas": 100000000}을 전송합니다. 여기서 gas는 스팟 잔액에서 차감되는 HYPE의 wei(즉, 0.00000001 HYPE 단위)입니다. 각 옥션은 해당 슬롯의 이전 낙찰 가격의 10배로 리셋되며, 최소 가격은 0.1 HYPE입니다. 모든 주소는 모든 IP 주소를 대신하여 입찰할 수 있습니다.

현재 메인넷에서 gossip 우선순위의 실증적 효과는 옥션 슬롯당 약 25ms의 지연 시간 감소입니다.

주문 (쓰기) 우선순위

주문 우선순위는 마켓메이커가 주문 입력과 연결성을 극도로 최적화해야 하는 필요성을 줄이고, 대신 전략 자체에 집중할 수 있게 합니다. 또한 메이커를 추가로 보호하고 다른 거래소에서 주도되는 가격 변동에 대응할 수 있게 합니다.

우선순위 그루핑은 다음 두 조건을 모두 만족하는 주문 액션에서만 지원됩니다:

  1. 모든 주문이 결과(outcome)가 아닌 자산에 대한 주문일 것
  2. 모든 주문이 IOC이거나, 모든 주문이 축소 전용이 아닌 ALO일 것

주문은 {"p": 12345} 형태의 그루핑으로 전송할 수 있으며, 여기서 비율은 p / 100000000.0 분수로 해석됩니다. 이 비율은 IOC의 경우 체결 명목가치의 일부로, ALO의 경우 호가 대기 명목가치의 일부로 위임되지 않은 스테이킹 잔액에서 차감됩니다. 차감되는 우선 가스는 스팟 마크 가격을 사용하여 HYPE로 환산됩니다.

IOC 우선순위

우선순위 비율은 0-8bps(즉, p = 80000) 범위에서 엔드투엔드 지연 시간에 선형적인 영향을 줍니다. 현재 메인넷에서 주문 우선 수수료의 실증적 효과는 지불한 우선 수수료 1bp당 엔드투엔드 지연 시간이 약 45ms 감소하는 것입니다. 주문 우선순위가 있더라도 모든 취소는 즉시 실행 가능한 모든 주문보다 먼저 우선됩니다. 그러나 더 높은 우선순위의 주문은 우선순위 비율의 선형 함수로 낮은 우선순위의 주문보다 먼저 우선됩니다.

최대 우선순위 비율은 100%입니다. 8bps와 100% 사이의 모든 우선순위는 멤풀에서 동일한 시간 선호로 취급됩니다. 그러나 각 70ms 유닉스 시간 버킷(보통 1블록에 해당)에서 블록 제안자에 의해 실행될, 8bps 이상의 우선 수수료를 가진 IOC 주문은 우선 수수료의 내림차순으로 정렬됩니다. 다시 말해, 0-8bps 범위는 시간적 우선순위에 영향을 주고, 8bps-100% 범위는 비슷한 시간에 접수된 이 범위 내 주문 간의 동률을 가립니다. 구체적인 예로, 유닉스 밀리초 경계가 (T, T + 70ms)인 경우, (mempool_receive_time, priority)가 (T, 8bps), (T + 30ms, 9bps), (T + 69ms, 10bps)인 주문들은 접수 시간의 역순으로 정렬됩니다.

블록은 이산적이지만, 주문 우선순위 지정은 주문 쓰기 우선 수수료에 대해 연속적입니다. 멤풀 트랜잭션은 사실상 effective_time = arrival_time + f(action, priority_fee) 기준으로 정렬됩니다. 여기서 f는 우선 수수료에 대한 엄격히 감소하는 함수이며, 취소와 같이 우선되는 액션의 경우 0입니다. 주어진 액션 유형에 대해 블록 간 경계는 상대적 우선순위와 무관합니다. 블록 내 트랜잭션은 여전히 effective_time에 따라 정렬되기 때문입니다.

주문 우선순위는 데이터 전송에만 적용됩니다. 데이터 읽기의 우선순위 지정에 대해서는 앞선 gossip 우선순위 섹션을 참조하세요. Gossip 우선순위 옥션과 마찬가지로 주문 우선 수수료는 소각됩니다.

지불된 IOC 우선 수수료는 노드가 기록한 user_fills 파일의 priorityGas 필드에서 읽을 수 있습니다.

ALO 우선순위

T = 400ms의 시간 규모에서 ALO 주문은 우선순위에 따라 정렬됩니다. 더 정확히는, 과거 T 이내에 접수된 주문으로 구성된 각 레벨의 큐 꼬리가 우선순위 비율의 내림차순으로 정렬됩니다.

그 결과, 큐의 모든 슬롯은 지속 시간 T의 윈도우 동안 우선 수수료 입찰 대상이 됩니다. 각 신규 주문은 접수 시점에 T 미만 경과된 주문들로 이루어진 꼬리와 비교됩니다. 다시 말해, T 윈도우는 버킷화되지 않고 연속적입니다. ALO 우선 수수료는 주문 체결 여부와 관계없이 주문 접수 시점에 차감됩니다.

IOC 주문과 달리 ALO 우선 수수료는 멤풀 우선순위에 영향을 주지 않습니다. ALO 주문은 항상 트랜잭션으로서 FIFO로 처리되며, 엔드투엔드 지연 시간은 취소와 유사합니다. 우선 수수료 구현은 트랜잭션 간 큐 내 위치에 영향을 줍니다. 다시 말해, ALO 주문은 우선순위와 관계없이 멤풀에서 유사하게 우선되지만, 주문 트랜잭션이 L1에서 실행된 후 400ms 시간 규모로 큐 내 위치가 변경될 수 있습니다.

구체적인 예: 새 레벨 L이 시간 t에 열리고 비어 있습니다. 레벨 L의 첫 번째 주문 A는 우선 수수료 0으로 시간 t' > t에 온체인으로 적용됩니다(위에서 설명했듯이, 이는 L1에서 실행됨을 의미). 다음 주문 B는 우선순위 p > 0으로 시간 t' + T - 1ms에 온체인으로 적용됩니다. A와 B가 레벨 L의 유일한 주문이라고 가정하면, 시간 t' + T의 순서는 B가 A보다 앞에 있게 됩니다. 세 번째 주문 C는 우선순위 p' > p으로 시간 t' + T + 1ms에 적용됩니다. 시간 t' + T + 1ms의 순서는 B > A > C입니다. C가 더 높은 우선순위를 갖지만, A가 T 동안 오더북에 있었고 B가 A보다 앞에 있기 때문에 B는 이미 큐 내 위치를 확정한 상태입니다.

Gossip 우선 수수료는 노드가 기록한 replica_cmds 파일에서 읽을 수 있습니다. 우선 수수료 금액의 USDC 가치는 order_price * order_sz * grouping_priority_rate로 계산할 수 있습니다. order_book_server는 raw_book_diff 파일의 RawBookDiff::New에 있는 insertBefore 필드를 사용하여 올바른 레벨 순서를 유지합니다.

영문 공식 출처: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/priority-fees
원문 수집일: · 미러 빌드일: · 커뮤니티 번역이며 영문 원문 우선
비공식 커뮤니티 번역입니다. 저작권은 Hyperliquid에 있으며 영어 원문을 우선합니다. 출처: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/priority-fees