트랜잭션 취소 정보
XRP Ledger의 중요하고 의도된 기능 중 하나는 트랜잭션이 컨센서스 과정에서 유효성 검사를 거친 ledger 버전에 포함된 순간 결과가 최종적이라는 것입니다.
만약 트랜잭션이 아직 유효성 검사된 ledger에 포함되지 않았다면, 동일한 송신 주소에서 동일한 시퀀스 값을 가지는 다른 트랜잭션을 보내어 효과적으로 취소할 수 있을 수도 있습니다. 취소하고자 하는 트랜잭션과 동일한 동작을 하는 트랜잭션을 수행하지 않도록 하기 위해 옵션 없이 AccountSet 트랜잭션을 보내면 됩니다.
Caution:
컨센서스 과정을 통해 유효한 트랜잭션을 취소하는 것은 보장되지 않습니다. 실제로 작동하는지 여부는 네트워크의 혼잡도, 네트워크의 토폴로지, 그리고 제안된 트랜잭션의 트랜잭션 비용 등과 같은 요인에 따라 다를 수 있습니다.
만약 트랜잭션이 이미 네트워크에 배포되고 서버의 컨센서스 제안에 후보 트랜잭션으로 포함되었다면, 취소하기에는 너무 늦을 수 있습니다. 대기열에 있는 트랜잭션이나 "위험 지역"에 갇힌 트랜잭션(트랜잭션 비용이 네트워크의 현재 요구 사항을 충족하지 못하는 경우)을 성공적으로 취소할 수 있는 가능성이 더 큽니다. 이 경우, 취소하려는 트랜잭션과 동일한 작업을 수행하거나 아무 작업도 수행하지 않는 새로운 트랜잭션을 제출할 수 있습니다. 새로운 트랜잭션의 트랜잭션 비용이 더 높을 경우 성공할 가능성이 높아집니다.
예를 들어, 시퀀스 번호가 11, 12, 13인 3개의 트랜잭션을 제출하려고 시도했지만 트랜잭션 11이 어떤 이유로 인해 손실되거나 네트워크로 전파되기에 충분한 트랜잭션 비용이 아니라면, 시퀀스 번호 11과 옵션이 없는 AccountSet 트랜잭션을 제출함으로써 트랜잭션 11을 취소할 수 있습니다. 이 작업은 아무 작업도 수행하지 않지만(새 트랜잭션 11의 트랜잭션 비용을 파괴하는 것 외에는), 트랜잭션 12와 13은 유효해질 수 있게 됩니다.
이 방법은 트랜잭션을 시퀀스 번호가 다른 상태에서 효과적으로 복제되는 것을 방지하기 때문에 트랜잭션 12와 13을 다시 번호를 매기고 제출하는 것보다 선호됩니다.
이렇게 옵션이 없는 AccountSet 트랜잭션은 "아무 작업도 하지 않는" 표준적인 "no-op" 트랜잭션입니다.
Last updated