본문으로 건너뛰기
buybitcoinsmart

용어집 / 프로토콜과 업그레이드

일시적 앵커

일시적 앵커란 무엇입니까?
일시적 앵커는 수수료를 내는 자식 트랜잭션을 붙여 부모 트랜잭션을 블록으로 끌어들이기 위한 목적만으로 트랜잭션에 추가되는 가치 0의 출력입니다.

BIP-431에 명시되어 있습니다.

Lightning 같은 계약 프로토콜은 수수료가 얼마가 될지 아무도 모르는 시점에 트랜잭션에 서명해야 하므로, 나중에 수수료를 올릴 방법이 필요합니다. Bitcoin Core 28.0은 바로 그 작업을 위해 누구나 지출할 수 있는 4바이트 스크립트를 표준으로 만들었고, 29.0은 부모가 수수료를 내지 않는다면 이러한 출력이 아무것도 담지 않도록 허용했습니다. 그 이점은 비용이 덜 들고 묶여 남는 자금이 적은 채널 마감입니다.

작동 방식

일시적 앵커는 일정 문제를 해결합니다. 미리 서명된 트랜잭션은 전파되기 몇 달 전에 정해진 수수료율을 지니고 있는데, 그것이 필요한 시점이 되면 시장 상황은 이미 바뀌어 있습니다.

이전의 우회 방식은 트랜잭션에 지출 가능한 작은 출력을 두고, 그것이 필요한 사람이 둘 모두의 수수료를 대신 내는 자식 트랜잭션을 전파하도록 했습니다. Lightning의 앵커 채널은 이를 330사토시의 출력 두 개로 하며, 당사자마다 하나씩입니다. 이는 작동하지만 그 자금은 모든 커밋먼트 트랜잭션 안에 묶이며, 이후 그 출력은 누가 회수하든 하지 않든 잔존 코인 집합에 남습니다.

Pay-to-anchor는 그 비용의 대부분을 없앴습니다. Bitcoin Core 28.0은 스크립트가 정확히 4바이트인 새로운 표준 출력을 인식했습니다. 즉 OP_1, 2바이트 푸시, 그리고 0x4e 0x73 바이트입니다. 이는 길이 2의 세그윗 버전 1%그램이며, Taproot는 알 수 없는 버전 1%그램에 지출 조건을 두지 않으므로 누구나 빈 위트니스로 이것을 지출할 수 있습니다. 키도 없고, 공개할 스크립트도 없으며, 입력은 거의 가치가 없을 만큼 작습니다.

처음에는 더스트 규칙이 여전히 문제가 되었습니다. Bitcoin Core는 출력의 가치를 그것을 지출하는 데 드는 비용으로 매기며, 이 출력의 경우 80 가상 바이트가 되는데, 가상 바이트당 3사토시라는 표준 더스트 요율에서는 최소 240사토시를 담아야 함을 뜻합니다. 330보다는 낫지만 여전히 무료는 아닙니다.

Bitcoin Core 29.0은 일시적 더스트로 그 차이를 메웠습니다. 트랜잭션은 그 자체로 수수료를 정확히 0으로 내는 한, 가치가 없는 출력을 포함해 더스트 기준 미만의 출력 하나를 지닐 수 있습니다. 수수료 0이 핵심입니다. 아무것도 내지 않는 부모는 단독으로는 채굴될 수 없으므로, 그 앵커가 잔존 코인 사이에 묶여 남는 일은 결코 없습니다. 그것은 자신을 지출하는 자식과 함께 패키지 안에 존재할 뿐이며, 이름도 여기에서 나왔습니다.

Bitcoin Core 28.0의 다른 두 가지 요소가 이 배치를 쓸 만하게 만듭니다. BIP431에 규정되고 버전 3으로 신호되는 TRUC 트랜잭션은 미확인 부모 하나와 미확인 자식 하나를 허용하며 트랜잭션을 10,000 가상 바이트로 제한하는데, 이는 수수료 인상을 불안정하게 만들던 피닝 공격을 없앱니다. 이어서 기회주의적 패키지 릴레이는 부모가 자식과 한 쌍으로 이동할 수 있게 하므로, 수수료 0인 부모도 채굴업자에게 도달할 수 있습니다.

나타나는 곳

일시적 앵커는 Lightning 채널 마감과 미리 서명된 트랜잭션 위에 구축된 최신 계약 프로토콜에서 나타나며, 일반 결제에서는 결코 나타나지 않습니다.

블록 탐색기에서는 처음 보면 잘못된 것처럼 보입니다. 가치가 없는 출력이 바로 다음 트랜잭션에서 빈 위트니스를 가진 입력으로 지출되는 모습입니다. Lightning 노드를 운영한다면, 그 효과는 강제 마감이 더 이상 모든 커밋먼트에 더스트를 예약할 필요가 없다는 것과, 막힌 마감의 수수료를 올리는 작업이 필요할 때 훨씬 더 잘 작동한다는 것입니다. 온체인에서 비트코인만 보유한다면 이런 출력을 만들 일은 결코 없으며, 그 이점은 Lightning을 더 저렴하게 쓸 수 있게 되는 방식으로 여러분에게 닿습니다.

일시적 앵커 vs 더스트 한도

더스트 한도는 잔존 코인 집합이 지출할 가치가 없을 만큼 작은 출력으로 채워지는 것을 막기 위해 존재하며, 일시적 앵커는 그 규칙을 어기는 것이 증명 가능하게 안전한 유일한 경우입니다. 일반적인 더스트 출력은 영원히 지출되지 않은 채 남아 지구상의 모든 노드에 약간의 메모리를 부담시키면서도 그 가치는 1센트의 몇 분의 1에 불과합니다. 일시적 앵커는 그럴 수 없습니다. 부모가 수수료를 내지 않으므로, 앵커를 지출하는 자식이 함께 도착하지 않는 한 어떤 채굴업자도 부모를 받아들이지 않습니다. 이 예외는 원칙을 완화한 것이 아닙니다. 원칙이 적용되지 않음을 보여 주는 것입니다.

혼동하기 쉬운 용어

자주 묻는 질문

제가 직접 일시적 앵커를 만들게 될 일이 있습니까?

일반적인 지갑으로는 만들지 않습니다. 앵커는 트랜잭션에 미리 서명하고 나중에 수수료를 조정할 필요가 있는 Lightning 같은 계약 프로토콜이 만듭니다. 온체인 보유 자산과 거래소 출금은 결코 이를 사용하지 않습니다.

더스트 출력은 거부되는데 가치 0인 출력은 왜 허용됩니까?

그것이 살아남을 수 없기 때문입니다. 이 규칙은 트랜잭션이 수수료를 0으로 낼 때만 그것을 허용하며, 이는 앵커를 지출하는 자식 트랜잭션이 함께 제출되지 않는 한 어떤 채굴업자도 부모를 확인하지 않는다는 뜻이므로, 그 출력은 잔존 코인 집합에 결코 남지 않습니다.

관련 용어

프로토콜과 업그레이드 분야의 다른 용어

이 페이지를 영어로 읽기