비트코인 업그레이드 OP_CAT과 OP_CTV 검토

이미지

비트코인 프로토콜의 보수적 접근

비트코인은 프로토콜 업그레이드에 보수적으로 접근하여 합의 변경이 드물게 이루어집니다. 그러나 개발자들은 SegWit 및 Taproot 업그레이드를 통해 비트코인의 프로그래밍 언어와 네트워크 매개변수를 최적화할 가능성을 열어두고 있습니다.

  • SegWit 업그레이드는 2017년에 도입되어, 블록의 효율성을 40% 이상 향상시켰습니다. [%8] 이는 더 많은 트랜잭션을 더 빨리 처리하도록 돕습니다.
  • Taproot는 2021년에 활성화되었으며, 거래의 프라이버시와 스마트 계약의 복잡성을 높이는 기능을 추가했습니다.

비트코인 스크립트의 한계

비트코인의 프로그래밍 언어인 비트코인 스크립트는 전역 상태를 보유하는 것을 방지하고, 내성 기능이 제한적이라 표현력이 부족합니다. 이는 비트코인 거래의 프로그래머블리티를 제한하는 주요 요인 중 하나입니다.

  • 비트코인 스크립트 언어는 매킨토시에서 사용되던 Forth라는 언어를 기초로 설계되었으며, 이로 인해 복잡한 로직 구현이 어렵습니다.
  • 일반적인 프로그래밍 언어와 달리, 루프나 조건문 등이 제한적이라 복잡한 계산을 직접 수행할 수 없는 특성을 가지고 있습니다.

OPCAT과 OPCTV 제안

OPCAT(BIP 347)과 OPCTV(BIP 119) 두 가지 주요 제안은 거래 출력에 대한 조건부 지출을 가능하게 하여 비트코인 스크립트를 보다 표현력 있게 만들고자 합니다. 이러한 변화는 비트코인 스크립트의 프로그래머블리티를 크게 향상시킬 수 있습니다.

  • OP_CAT은 입력과 출력을 연결하는 기능을 제공하여, 보다 복잡한 스크립트를 가능하게 하고 블록체인의 효율성을 높일 것입니다.
  • OP_CTV는 조건부 타임락 기능을 통해 미래 특정 시점에 트랜잭션을 실행할 수 있는 매커니즘을 지원하여, 자동화된 계약 기능을 강화합니다.

OPCAT과 OPCTV의 주요 활용 사례

이 두 제안의 가장 유망한 활용 사례는 비트코인 L1과 L2 사이의 신뢰 없는 브릿지, 고급 셀프 커스터디 볼트 솔루션, 라이트닝 네트워크 개선 등을 포함합니다. 이는 비트코인 인프라의 중요한 부분을 차지할 수 있습니다.

  • 신뢰 없는 브릿지는 중앙화된 중개자 없이 서로 다른 블록체인 네트워크 간에 자산을 이동할 수 있도록 하며, 이는 크로스체인 거래의 보안성을 높이는 데 기여합니다.
  • 라이트닝 네트워크 개선을 통해 거래 처리 속도가 천 배 이상 빨라질 수 있으며 이는 비트코인의 확장성 문제를 해결하는 중요한 경로가 됩니다.

소프트 포크 업그레이드의 거버넌스 과정

소프트 포크 업그레이드를 구현하기 위한 거버넌스 과정에는 여러 비트코인 이해관계자가 참여합니다. 프로토콜의 아이디어 단계 및 기술 검토 초기에는 미디어 인플루언서와 핵심 개발자들이 가장 큰 영향을 미칩니다.

  • 체인분할을 방지하기 위해 소프트 포크는 하드 포크에 비해 기존 거래 호환성을 유지하는 특징이 있습니다.
  • 과거 SegWit 도입 시 소프트 포크 성공률은 80% 이상으로 평가되었습니다. 이는 업그레이드에 대한 대중의 신뢰도와 수용성을 보여줍니다.

OPCAT과 OPCTV의 합의 가능성

Galaxy Research는 비트코인 코어 개발자들이 2025년 OPCAT 또는 OPCTV 중 하나를 추가하는 데 합의할 것이라고 예측합니다. 그러나 실제 구현에는 광범위한 활성화 과정으로 인해 1-2년이 더 소요될 수 있습니다.

  • SegWit의 도입 과정은 2015년부터 2017년까지 약 2년이 소요되었습니다. 업그레이드가 전 세계 노드 소프트웨어에 적용되는 데는 수많은 테스트와 검증 작업이 필요합니다.
  • OPCAT과 OPCTV는 자체적 특성을 가지기 때문에 다양한 시나리오에서의 거래 시뮬레이션을 통한 테스트가 중요합니다.

비트코인 프로토콜 변경의 난점

비트코인 프로토콜의 변경은 프로토콜 개발자, 풀 노드, 사용자, 채굴자 등 다양한 이해관계자 간의 대화와 협력이 필요합니다. 프로토콜 업그레이드에 대한 합의를 이루는 것은 어려운 과정이며 종종 논란을 일으킵니다.

  • 2017년 비트코인 캐시의 등장처럼, 비트코인 프로토콜 변경 과정에서 의견 불일치로 인한 체인 분리가 발생할 수 있습니다.
  • 다양한 이해관계자는 각자의 물리적 위치, 법적 제약 그리고 경제적 이해관계가 얽혀 있어, 변화를 이끌기는 상당히 복잡합니다.

과거 업그레이드 사례: SegWit와 Taproot

과거 SegWit와 Taproot 업그레이드는 비트코인 스크립트와 네트워크 파라미터 최적화를 통해 기술적인 변화의 가능성을 열어주었습니다. 이러한 업그레이드는 데이터 측정 방식을 변경하고, 서명 데이터의 이동을 통해 트랜잭션 효율성을 향상시켰습니다.

  • SegWit은 서명을 별도로 보관하여 블록 크기의 효율성을 1MB에서 4MB로 증가시켰습니다.
  • Taproot는 Schnorr 서명 방식을 도입하여 다중 서명 트랜잭션의 프라이버시와 효율성을 높였습니다.

비트코인 스크립트 최적화

비트코인 개발자들은 비트코인 스크립트와 네트워크 매개변수를 최적화하여 추가적인 스마트 계약 논리를 트랜잭션에 포함시킬 방법을 모색하고 있습니다. 이러한 변화는 비트코인의 프로그래머블리티를 개선할 수 있는 잠재력이 있습니다.

  • 다양한 스마트 계약의 사용 사례 확대를 통해 자산 관리 자동화 및 복잡한 금융 계약 구현이 가능해져, 취급 가능한 시장 규모는 수조 달러로 성장할 수 있습니다.
  • 네트워크 매개변수의 최적화를 통해 대규모 트랜잭션 처리의 안정성과 신뢰성을 제고할 수 있습니다.

비트코인 스크립트의 구조

비트코인 스크립트는 ‘비트코인 스크립트’라는 네이티브 스크립트 언어를 사용하여 트랜잭션을 구성합니다. 스크립트는 비트코인을 지출할 수 있는 조건을 정의하는 명령어 집합으로 구성됩니다.

  • 비트코인 스크립트의 명령어는 약 100개로, 이 중에서 가장 중요한 것은 조건부 지불을 정의할 수 있는 OPIF, OPELSE와 같은 조건부 분기 명령어입니다.
  • 비트코인 트랜잭션에서 스크립트가 실행되는 과정은 푸시 및 POP 연산을 통해 스택 데이터 구조를 사용하여 처리됩니다.

비트코인의 UTXO 모델

비트코인은 미사용 거래 출력(UTXO) 모델을 사용하여 트랜잭션을 처리하고 검증합니다. 이 모델은 입력과 출력을 기반으로 하며, 각 비트코인 트랜잭션에는 최소 1개의 입력과 1개의 출력이 포함됩니다.

  • UTXO 모델은 모든 노드가 독립적으로 트랜잭션 유효성을 검사할 수 있도록 해 보안성이 강화됩니다. 이는 이중 지출을 방지하는 데 중요한 역할을 합니다.
  • 특정 시점에서 비트코인의 UTXO 셋에는 약 67 백만 개의 활성 UTXO가 보관되어 있으며, 매일 수백만 개의 트랜잭션이 업데이트됩니다.

비트코인 스크립트의 한계와 제안

비트코인 스크립트는 과거 16년 동안 이중 지출 공격에 대한 저항력을 입증했지만, 일반적인 프로그래밍 언어에 비해 표현력이 부족합니다. OPCAT과 OPCTV는 이러한 한계를 극복하고자 하는 제안입니다.

  • 일반적인 스마트 계약 플랫폼인 이더리움과 달리, 비트코인은 튜링 완전한 언어를 지원하지 않아 복잡한 로직 구현이 불가능합니다.
  • OPCAT과 OPCTV는 비트코인의 기능을 한 단계 업그레이드하여, 비트코인 블록체인에서 스마트 계약 기반의 자동화된 서비스를 더욱 원활하게 구현할 수 있는 기회를 제공합니다.

출처 : 원문 보러가기