
BitMEX 리서치: 타임락은 비트코인의 장기적 보안에 매우 중요
작성: BitMEX Research
번역: 1912212.eth, Foresight News
몇 달 후인 2024년 4월경, 비트코인의 블록 보상이 3.125 BTC로 절반으로 줄어들 예정이다. 지금까지 비트코인은 네트워크 보안을 위해 블록 보상에 의존해 왔다. 그러나 앞으로 몇 년 안에 사토시 나카모토가 언급했던 "보상이 거래 수수료로 완전히 전환되고 인플레이션 없이도 유지될 수 있다"는 비전이 본격적으로 시험에 들어갈 것으로 보인다. 비트코인이 이를 성공적으로 수행할 수 있을지, 그리고 보안성을 유지할 수 있을지에 대해서는 여전히 논의가 진행 중이다.
예를 들어, 네트워크 보안을 확보하기에 충분한 수준의 수수료가 과연 일부 인기 있는 사용 사례를 배제하게 만들지는 않을까? 또 다른 고려 요소로는 Ordinals와 같은 대체적 사용 사례가 채굴자 수입의 지속 가능성 확보에 어떤 역할을 할 것인지 여부다. 본 보고서에서는 보상에서 수수료로의 전환을 위한 핵심 구성 요소라고 생각되는, 종종 간과되는 비트코인의 시간 잠금(time lock) 기능에 초점을 맞출 것이다.
비트코인의 시간 잠금 기능
비트코인은 네 가지 유형의 내장된 시간 잠금 기능을 제공한다. 이 메커니즘들은 특정 시간 또는 블록 높이 이후에만 트랜잭션이 블록체인에 포함되도록 보장한다. 아래 표는 다양한 종류의 시간 잠금을 개요로 설명한다.

아래 예시된 트랜잭션 구조는 동일한 트랜잭션 내에서 여러 유형의 시간 잠금을 동시에 사용할 수 있음을 보여주며, 또한 트랜잭션 내에서 시간 잠금이 위치하는 방식도 설명한다.
그림은 트랜잭션 내에서 다양한 잠금 시간 옵션을 포함할 수 있는 위치를 보여준다.

출처: BitMEX Research
위 내용 외에도 코인베이스 거래의 출력에는 100블록의 상대적 시간 잠금 기간이 존재하며, 이 또한 일종의 시간 잠금으로 간주될 수 있다.
수수료 경쟁과 채굴자 인센티브
블록 보상이 감소하고 수수료 중심으로 인센티브가 전환될 때, 보안성을 제공하는 것은 단순히 새로 들어오는 트랜잭션의 수수료뿐만이 아니다. 이미 확인된 트랜잭션의 보안성은 다른 트랜잭션들과 관련된 수수료에도 의존한다. 신뢰할 수 없는 환경에서 1,000만 달러 가치의 대규모 비트코인 결제를 받았다고 가정해 보자. 한 번의 확인 후에도, 해당 트랜잭션과 연결된 수수료만으로는 충분한 보안성을 제공하지 못할 수 있다. 송신자는 50만 달러의 수수료를 제시하는 충돌 트랜잭션을 만들어 이중지불을 시도할 수 있으며, 일부 채굴자는 더 높은 수수료를 얻기 위해 한 블록 뒤로 재구성(reorg)하려는 유혹을 느낄 수 있다.
물론 채굴자들은 굳이 이런 식의 역방향 재구성을 원하지 않는다. 다른 채굴자들이 최대 작업량 증명(PoW) 체인 위에서 작업하기 때문에, 채굴자들은 항상 최전선(frontrunning)에서 채굴하길 원한다. 만약 채굴자가 뒤로 재구성하려 한다면, 그들의 블록이 폐기될 가능성이 높아져 아무런 보상을 받지 못할 수도 있기 때문이다. 반면에, 역방향 재구성의 인센티브가 충분히 크다면, 최전선 채굴보다 훨씬 많은 수익을 가져올 수 있어 악의적인 채굴자가 이를 악용할 가능성도 있다.
비트코인은 이러한 문제를 완화시키는 몇 가지 특성을 가지고 있다. 첫 번째는 블록 보상이다. 채굴자 인센티브의 상당 부분이 고정되어 있기 때문에, 추가 수수료를 얻기 위해 뒤로 재구성하려는 동기는 작게 된다. 블록 보상이 줄어들면서 또 다른 방어 장치로 작용해야 하는 것은 소위 '깊은 메모리풀(depth mempool)' 개념이다. 이는 비트코인 블록이 항상 꽉 차 있고, 메모리풀 내에 영구적으로 대기 중인 트랜잭션과 그에 따른 수수료가 존재하여, 채굴자들이 체인을 앞으로 이동시키는 것을 유도한다는 관점이다. 깊은 메모리풀이 존재하면, 최전선에서 채굴함으로써 항상 일정한 수익을 얻을 수 있다. 이 개념은 블록 크기 전쟁 당시 매우 논란이 많았다. 큰 블록을 주장하는 진영은 블록이 꽉 차거나 깊은 메모리풀이 존재하는 것을 반대했다. 깊은 메모리풀에 대한 견해가 어떠하든, 여기서 잠금 기능은 중요한 역할을 한다. 송신자가 현재 블록 높이를 기준으로 잠금 기능을 설정하면, 깊은 메모리풀 기반의 보안 시스템이 더욱 효과적으로 작동한다.
단순화해서 말하자면, 블록 보상이 낮아진 상황에서 한 블록 뒤로 재구성하려는 악의적인 채굴자를 고려해보자. 만약 잠금 기능이 사용되지 않는다면, 채굴자는 직전 블록과 메모리풀 내 모든 트랜잭션의 수수료를 확인한 후, 두 범주에서 수수료가 가장 높은 트랜잭션들을 골라 블록을 구성할 수 있다. 이 경우 수수료 수입이 최전선에서 새로운 블록을 채굴할 때 가능한 수수료보다 훨씬 높다면, 채굴자는 재구성을 시도할 가능성이 있다. 반면에 모든 사용자가 현재 블록 높이를 기준으로 잠금 기능을 사용한다면, 메모리풀 내의 새로운 트랜잭션들은 재구성 시 채굴자가 획득할 수 없다. 즉, 채굴자가 뒤로 재구성하더라도, 메모리풀 내에서 수수료율이 가장 높은 일부 트랜잭션만 포함할 수 있으며, 전체를 포함할 수 없다. 따라서 높은 수수료를 가진 새로운 트랜잭션이 방송되는 순간, 이는 채굴자들에게 최전선에서 채굴하도록 유도한다. 결과적으로 재구성의 인센티브가 줄어든다. 우리看来, 이 기능은 비트코인의 장기적 보안성에 있어 극히 중요하다.
비트코인 코어 기본 설정
2014년 말부터 비트코인 코어 지갑에서 생성된 트랜잭션은 기본적으로 잠금 기능 필드를 현재 블록 높이로 설정한다. 이는 수수료 경쟁을 방지하기 위한 조치다. 비트코인 코어 코드베이스의 주석에 따르면:
대규모 채굴자의 경우, 최적 블록과 메모리풀 내 트랜잭션의 가치가 현재 최적 블록을 무효화하기 위해 고의로 두 개의 블록을 채굴하는 비용을 초과할 수 있다. nLockTime을 설정하여 해당 트랜잭션이 다음 블록에서만 포함될 수 있도록 함으로써, 우리는 이러한 행위를 막는다. 높이 제한과 제한된 블록 크기가 수수료 경쟁을 고려하는 채굴자에게 공격 시행 시 선택지를 줄여주기 때문이다. 간단히 말해, 지갑 입장에서는 항상 블록체인이 전진하기를 원한다. nLockTime을 이렇게 설정함으로써 우리는 이 트랜잭션이 오직 다음 블록에만 나타나기를 바라는 의사표현을 하는 셈이며, 최적 체인 분기의 낮은 높이에 거래가 포함되는 것을 허용함으로써 재구성을 유발할 가능성을 배제하는 것이다.
우리가 아는 한, 대부분의 다른 지갑은 기본적으로 잠금 기능을 사용하지 않으며, 대부분의 사용 사례는 비트코인 코어 사용자들로부터 비롯된다. 따라서 잠금 기능의 사용률은 일반적으로 비트코인 코어 지갑 사용의 지표로 간주된다. 참고로 Electrum 비트코인 지갑 역시 잠금 기능을 최신 블록 높이로 설정한다.
앞으로 몇 주 내에 다양한 시간 잠금 사용 현황에 대한 추가 데이터와 통계를 제공할 계획이다. 그러나 시간 잠금 채택과 관련된 일부 그래프는 이 웹사이트에서 확인할 수 있다.

데이터는 블록 높이 기반의 절대 시간 잠금 사용률이 2015년 초에 증가하여 약 20% 수준에 도달했음을 보여준다. 우리는 이 현상이 2014년 말 비트코인 코어 지갑이 절대 시간 잠금을 기본 설정으로 변경했기 때문이라고 판단한다. 이후 사용률은 약 20% 수준에서 유지되다가 2023년에 약 10%로 하락했다. 우리는 이 하락이 Ordinals 및 BRC-20 토큰의 등장 때문이라고 생각한다. 블록체인의 이러한 새로운 사용법은 일부 다른 사용자들을 위축시켰으며, 우리가 파악하기로는 Ordinals 관련 트랜잭션은 일반적으로 기본적으로 잠금 기능을 활성화하지 않는다.
날짜 기반의 절대 잠금 사용은 매우 낮으며, 극소수의 특수한 용도로만 사용된다. Ordinals 등장 이전에는 전체 비트코인 트랜잭션의 약 0.1%까지 정점을 찍었으나, Ordinals 붐 이후 약 0.05%로 감소했다.
결론
트랜잭션에 잠금 기능을 추가할지 여부를 결정하는 것은 일종의 '공유 자원의 비극(tragedy of the commons)'과 유사하다. 개별 사용자는 단지 자신의 트랜잭션이 반드시 확인되기를 바랄 뿐이며, 잠금 기능이 비트코인 네트워크에 제공하는 더 넓은 의미의 보안상 이점에는 관심이 없을 수 있다. 반면에, 트랜잭션에 잠금 기능을 추가하는 비용은 매우 낮기 때문에 이러한 게임 이론적 문제가 발생할 가능성은 제한적이다. 대부분의 사용자는 매번 트랜잭션마다 이 결정을 하지 않으며, 심지어 많은 사용자들은 잠금 기능이 무엇인지조차 모른다. 대부분의 경우 이는 사용자가 사용하는 지갑의 기본 전략에 달려 있다.
우리는 잠금 기능의 채택이 비트코인의 장기적 보안성에 매우 중요하다고 생각하며, 지갑 개발자들에게 이를 적극적으로 구현할 것을 권장한다. 현재 20% 수준의 채택률은 다소 낮아 보인다. 비트코인 지지자들에게는 이제 또 하나의 주장 포인트가 생긴 셈이다:
-
자신의 개인키를 직접 관리하라. Not your keys, not your coins! 블랙록 ETF를 팔고 진짜 비트코인을 사라!
-
자신의 노드를 운영하여 들어오는 트랜잭션을 완전히 검증하라.
-
거래 시 잠금 기능을 설정하거나, 기본적으로 잠금 기능을 추가하는 지갑을 사용하라.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














