네트워크 트래픽이 혼잡한 경우, 거래는 “대기 중”으로 표시되어 송신자는 거래를 진행할 수 없으며 수신자도 자산을 받을 수 없습니다. 이럴 때 가속 기능을 사용해야 합니다.
거래 설명:
BNBCHAIN에서 발생하는 각 거래에는 “nonce”라는 값이 있습니다. 이 값은 주소에서 발행된 거래 수를 계산하는 데 사용됩니다. 주소의 모든 거래는 사용자가 전송한 시간순으로 정렬되며, 0부터 계산됩니다. 주소에서 거래를 보낼 때마다 nonce는 1씩 증가하며, 해당 주소로 전송된 자산은 nonce를 변경하지 않습니다. 이더리움의 거래 규칙은 다음과 같습니다:
1. 노드는 nonce 값에 따라 작은 값부터 큰 값으로 일괄 전송되어야 합니다. 따라서 nonce 값이 0인 거래를 노드가 보내기 전에, nonce 값이 1, 2, 3 등인 거래는 어떤 경우에도 대기열에서 대기해야 합니다. 따라서 한 거래가 완료되지 않으면 다음 거래를 처리할 수 없고 대기열을 건너뛸 수 없습니다.
2. nonce는 연속적이고 건너뛸 수 없습니다. 거래가 시작되지 않은 nonce 값이 1인 경우에도 바로 0에서 2로 건너뛸 수 없습니다. 즉, nonce 값이 2인 거래는 1인 거래가 완료된 후에만 처리될 수 있습니다.
3. 두 거래가 동일한 nonce 값을 가지는 경우, 하나가 성공하면 다른 거래가 대체되고 거래 실패가 발생합니다.
거래를 가속화하는 방법:
거래를 시작한 후 해당 주소에서 대기 중인 거래가 있는 경우, “거래 가속화”를 클릭할 수 있습니다.
거래를 가속화하기 위해, 거래를 닫고 동일한 nonce 값을 가지지만 더 높은 마이너 수수료로 원래 거래를 덮어씁니다. 이를 통해 거래를 더 빨리 패키징할 수 있으며, 원래 거래는 대체되어 실패합니다.
이는 DApp에도 적용됩니다.
대기 중인 거래가 여러 개 있는 경우, “다시 전송”을 클릭하여 새로운 거래를 시작할 수 있습니다. 해당 거래는 체인 상에서 확인된 nonce+1 순서로 전송되며, 대기 중인 거래를 덮어씁니다. 거래가 성공하면 덮어쓴 nonce 거래는 취소됩니다.