옵트인 RBF (Opt-in Replace-by-Fee)
옵트인 RBF(Opt-in Replace-by-Fee)는 비트코인 거래를 만든 사람이 '이 거래는 수수료를 올린 새 거래로 교체될 수 있다'는 신호를 미리 넣어, 아직 블록에 포함되지 않은 거래를 더 높은 수수료의 거래로 바꿀 수 있게 하는 방식입니다. 규칙은 BIP125에 정의되어 있습니다.
자세히 알아보기
비트코인 거래는 블록에 들어가기 전까지 노드의 멤풀(mempool)에 머뭅니다. 수수료를 너무 낮게 잡으면 거래가 오랫동안 확인되지 않을 수 있는데, RBF를 쓰면 같은 입력(UTXO)을 사용하면서 수수료만 높인 대체 거래를 다시 브로드캐스트할 수 있습니다. 노드는 조건을 만족하는 대체 거래를 받아들이고 원래 거래를 멤풀에서 제거합니다.
BIP125에서 '옵트인'이란 거래의 입력 중 하나 이상에 nSequence 값을 0xfffffffe 미만으로 설정해 교체 가능 의사를 표시하는 것을 말합니다. 대체 거래는 원래 거래보다 높은 절대 수수료를 내고, 늘어난 크기만큼의 중계 수수료도 추가로 부담해야 하는 등의 조건을 지켜야 합니다.
옵트인 방식이 도입된 이유는 0컨펌(미확인) 결제를 받는 상인을 보호하기 위해서였습니다. 신호가 없는 거래는 교체되지 않는다고 기대할 수 있었기 때문입니다. 그러나 Bitcoin Core 28.0부터 신호와 무관하게 교체를 허용하는 풀 RBF(full RBF)가 기본값이 되었기 때문에, 오늘날에는 옵트인 신호가 없어도 미확인 거래가 교체될 수 있다고 보는 것이 안전합니다.
블록체인·암호화폐에서는
대부분의 비트코인 지갑은 '수수료 올리기(Bump fee)' 기능으로 RBF를 지원합니다. 거래소나 결제 서비스가 입금을 일정 횟수의 블록 확인(컨펌) 이후에만 반영하는 이유 중 하나도 미확인 거래가 교체될 수 있기 때문입니다. RBF와 함께 쓰이는 수수료 가속 방식으로는 받는 쪽이 자식 거래로 수수료를 보태는 CPFP가 있습니다. 이더리움에서는 같은 논스(nonce)로 더 높은 가스비의 거래를 보내 교체하는 방식이 비슷한 역할을 합니다.
대체 거래의 주요 조건(BIP125)
- 원래 거래가 교체 가능 신호를 보냈어야 합니다(현재 Bitcoin Core 기본 정책에서는 사실상 불필요).
- 대체 거래의 수수료 총액이 원래 거래(와 함께 밀려나는 거래들)의 수수료 합보다 커야 합니다.
- 늘어난 수수료는 대체 거래 자체의 크기에 대한 최소 중계 수수료 이상이어야 합니다.
- 한 번에 밀어내는 거래 수에는 상한이 있습니다.
이 조건들은 합의 규칙이 아니라 노드의 멤풀 정책입니다. 즉, 블록에 들어간 뒤에는 RBF가 적용되지 않으며, 노드마다 정책 설정이 다를 수 있습니다.
쉽게 말하면
우체국에 맡긴 편지가 아직 출발하지 않았을 때, 웃돈을 얹은 '빠른우편'으로 바꿔 달라고 요청하는 것과 같습니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.