스택스 2.1 — 스택스와 비트코인 간 연결성 강화
스택스 2.1 업그레이드가 가져올 주요 변경 및 개선 사항에 대해 알아보도록 하겠습니다.
작년 1월 14일 스택스(Stacks) 2.0 메인넷 출시와 함께 비트코인을 위한 스마트 컨트랙트 레이어 시대가 도래했습니다. 스택스 2.0은 새로운 합의 메커니즘 전송증명(PoX)을 통해 비트코인의 유동성을 활용한 신규 레이어의 트랜잭션 검증 방식을 선보였으며, 이러한 과정에 참여한 사용자는 비트코인(Bitcoin)이라는 크립토 시장에서 가장 거대하고 탈중앙화된 자본에 새로운 접근이 가능해졌습니다. 또한 자체 스마트 컨트랙트 언어 클래러티(Clarity)는 비트코인 위 탈중앙 금융과 NFT와 같은 사례를 안전하게 구축할 수 있음을 보여줌과 동시에 비트코인의 보안 혜택을 누리고 비트코인의 활용성을 확장할 수 있음을 증명했습니다.
하지만 이러한 이상적인 구현과 달리 예상치 못한 비트코인 체인의 활동으로 발생하는 플래시 블록, 다소 높은 채굴 진입 장벽과 유저 경험을 헤치는 스택킹 메커니즘 그리고 아직 단편적인 기능만 구현된 Clarity API는 비트코인과의 높은 연계성을 자랑하는 스택스 체인의 성장에 있어 걸림돌이 되었습니다.
*참고: 다가오는 2.1 업그레이드는 스택스 체인의 확장성에 대해 다루지 않으며, 관련한 레이어-2 솔루션으로 서브넷(Subnets) 개발이 진행되고 있습니다.
1. 스택스 2.1: 비트코인과의 연결성 강화
스택스 2.1은 메인넷 출시 이후 지난 2년간 준비해온 중요 네트워크 업그레이드로 2022년 4분기 출시를 예상하고 있습니다. 이번 업그레이드는 비트코인과의 연결성, PoX 메커니즘, 클래러티 스마트 컨트랙트를 대폭 개선하기 위해 준비되었으며 앞서 언급한 이슈들에 대한 큰 해결책이 될 것입니다.
그럼 아래 내용을 통해 2.1 업그레이드가 가져올 주요 변경 및 개선 사항 그리고 어떠한 영향을 미치게 될지에 대해 알아보도록 하겠습니다.
1.1. 스택킹 메커니즘 개선
스택킹(Stacking)은 타체인과 차별화되는 스택스만의 고유 기능으로, 사용자는 스택스 체인 네이티브 토큰 $STX를 네트워크에 락업하고 전송증명(PoX, Proof of Transfer) 합의 과정에서 채굴자가 사용(전송)한 네이티브 $BTC를 획득할 수 있습니다. 지분증명(PoS)의 보상 방식과 유사하게 생각할 수 있으나 락업한 자산과 다른 종류의 자산을 받는 다는 점은 상당히 차별화되는 요소입니다. 현 단계의 스택킹은 다음과 같은 특징을 지니고 있습니다:
- 체인 활성도에 따른 PoX -> PoB(소각증명) 전환 (즉, PoX 종료)
- 네트워크 내 STX 락업 수량에 따른 최소 참여 수량 변화
- 스택킹 종료 시까지 락업한 STX 토큰 수량 변경 불가
- 스택킹 종료 시 다음 참여를 위한 쿨다운 페이즈(대기시간) 존재
만약 여러분이 스택스 2.0 메인넷 출시 과정을 지켜봤다면 초기 스택스 메인넷의 합의 모델로 소각증명(PoB, Proof of Burn)을 도입하고자 했음을 아실 겁니다. 하지만 당시 스택스의 합의 과정에 비트코인을 소각시킴으로써 비트코인의 발행량에 보다 직접적인 결과를 가져오는 PoB 모델 도입 취지와 달리, 글로벌 커뮤니티의 여론은 소각이 아닌 비트코인을 초기 네트워크 활성화에 활용하자는 방향으로 이어졌습니다. 그 결과 오늘의 PoX 합의 메커니즘이 스택스 체인의 초기 부트스트랩을 위해 적용되었으나, 이는 메인넷 출시 후 약 2년 뒤인 현재 PoB 모델로의 전환을 앞두고 있습니다.
하지만 이번 업그레이드를 계기로 스택스 코어 개발자들은 PoX를 통해 비트코인을 획득하는 행위는 스택스만의 고유한 차별점으로 내세울 수 있다는 커뮤니티의 의견을 다시 한번 반영했습니다. 때문에 다가오는 업그레이드는 PoB로 전환시켜주는 일몰 페이즈를 제거(PoX Forever By Default)하여 계속해서 현재의 PoX 모델을 유지하고 추후 별도의 커뮤니티 투표를 통해 PoB로의 변환을 결정할 수 있도록 할 예정입니다.
이어 기존의 비효율적이었던 스택킹 사용자 경험을 위한 개선이 크게 이뤄집니다. 스택킹은 네트워크 내 전체 STX 락업 수량에 따라 매 스택킹 사이클마다 참여를 위한 최소 수량이 달라지는데, 현재의 스택킹 컨트랙트는 참여 당시 락업 수량을 결정하면 종료 시까지 수량을 변경할 수 없습니다. 이로 인해 이미 스택킹에 참여 중이나 매 사이클마다 달라지는 최소 수량 조건으로 다음 스택킹 사이클 참여가 자신의 의도와 달리 이뤄지지 않는 상황이 발생하곤 했습니다. 또한 스택킹 참여시 선택한 사이클이 모두 종료되기 직전 계속해서 스택킹 참여를 희망하더라도 반드시 한차례의 언락 과정과 함께 쿨다운 페이즈(대기시간)를 보내야만 스택킹 재참여가 가능합니다. 쿨다운 페이즈는 약 2주 정도로 PoX를 일드 제너레이터로 활용하는 프로토콜 혹은 사용자에 있어 일드 손실 및 컨트랙트의 복잡성을 가져오는 요소로 작용하고 있습니다.
2.1 업그레이드는 이러한 스택킹의 모든 비효율성을 한 번에 해결합니다. 새롭게 도입될 연속 스택킹(Continuous Stacking) 기능은 약 2주라는 쿨다운 페이즈를 겪을 필요 없이 종료되는 페이즈에 다시금 스택킹 참여를 신청할 수 있게 되며, 락업 수량을 추가할 수 있는 기능(Fine-grained lock-ups)은 기존과 같이 동적인 참여 최소 수량의 변화로 인해 정상적인 스택킹 참여가 이뤄지지 않아 일드를 손실하는 경우를 줄여줄 것입니다. 또한 스택킹 참여를 통해 슬롯을 얻지 못한 미가용 STX 토큰에 대한 락업 해제 기능(Reclaim if no reward slots)은 참여자 입장에서 불필요하게 손실되는 자본 유동성을 지킬 수 있게 될 것입니다.
1.2. 채굴 메커니즘 개선
스택스 네트워크는 누구나 참여 가능한 오픈-멤버십(open-membership) 시스템으로 비트코인을 보유한 누구나 채굴 과정에 참여 가능합니다. 작업증명(PoW)과 매우 유사한 구조를 지닌 PoX 채굴은 다음과 같은 특징을 갖고 있습니다:
- 채굴을 위해 비트코인과 스택스 풀노드 세팅 필요
- 채굴 성공 시 서명한 지갑을 통해 약 24시간(100블록) 뒤 블록 보상 지급
- 블록 보상 반감기는 비트코인 반감기와 동기화
- 채굴 시 사용한 비트코인은 두 개의 스택커 비트코인 지갑으로 전송
개인이 이 과정에 참여하고자 하는 경우 별도의 하드웨어 장비를 요구로 하지 않지만, 비트코인과 스택스 풀노드 구축과 같은 소프트웨어 셋업이 필수적입니다. 또한 채굴의 경우 특히 큰 자본을 바탕으로 한 장기적인 경쟁을 요구로 하기에 개인 참여에 있어 큰 자금적인 부담이 존재합니다. 이는 현재 스택스 네트워크가 다수의 채굴자 유치에 있어 어려움을 겪는 중요한 요인으로 작용하고 있습니다.
위와 같은 이유로 현재의 채굴 메커니즘은 높은 진입 장벽으로 인해 다소 중앙화(소수의 채굴자 참여)된 모습을 띄고 있으며 이를 해결하기 위한 유력 대안으로 ‘탈중앙 마이닝 풀(Decentralized Mining Pool)’이 제시되고 있습니다. 특히 이번 2.1 업그레이드는 이를 구현하기 위한 2가지 핵심 빌딩 블록을 제공합니다: 1) 블록 보상 지갑 주소 선택 기능 2) 채굴 과정 내 탭루트 UTXO 적용.
*이론상 현재의 2.0 버전에서도 중앙화된 형태의 마이닝 풀을 구현 가능합니다.
2.1에서는 채굴 블록 보상 지갑 주소로 단순 콜드 월렛 주소뿐만 아닌 컨트랙트 주소로 보상을 받을 수 있게 됩니다. 즉, 제3자의 개입 없이 채굴 보상으로 얻게 된 STX 토큰을 컨트랙트를 통해 풀 참여자들에게 다이렉트로 비례 분배할 수 있게 됨을 의미합니다. 또한 탭루트 UTXO를 통해 지금보다 낮은 비트코인 트랜잭션 수수료를 사용할 수 있으며 탭루트 키를 통해 개별 참여자의 비트코인 전송 루트가 확인 가능해져 효율적이고 탈중앙화된 마이닝 풀을 구현할 수 있게 됩니다.
1.3. 새로운 클래러티 기능 도입
스택스는 클래러티(Clarity) 언어를 통해 비트코인 상태를 읽을 수 있는 고유한 기능을 갖고 있습니다. 다만 2.0 출시부터 지금까지 사용된 Clarity API의 기능은 초기 단계에 머물러 있으며 이번 2.1 업그레이드를 통해 아래와 같은 새로운 기능들이 추가될 예정입니다:
Function 1. 비트코인 트랜잭션 활용성 증가
Function 2. 스택스 블록체인 데이터 활용성 증가
Function 3. 오프체인 데이터 수집 기능성 확대
복합적으로 위와 같은 기능들이 도입되면 비트코인 트랜잭션을 포함한 체인 상의 데이터 조작이 용이해지고, 특히 PoX 보상 관련 데이터를 손쉽게 추적할 수 있도록 PoX 컨트랙트 자체로 옮김으로써 개발자들이 스택킹을 활용한 다양한 파생 상품 개발이 가능해질 것입니다. 또한 스택스 체인에 오프체인 데이터를 손쉽게 가져오게 됨은 생태계에 다양성을 제공하기 위해 준비되어 온 멀티-체인 브릿지 및 오라클 솔루션 도입을 위한 발판이 될 것입니다.
*현재 브릿지 솔루션으로 오르빗브릿지, 올브릿지, 매직 프로토콜이 2.1 업그레이드 도입과 함께 출시를 준비 중에 있습니다.
1.4. 네트워크 안정성 강화
앞으로 2.1 업그레이드를 통해 개선될 스택킹 & 마이닝 메커니즘 그리고 보다 다양성을 갖추게 될 클래러티 스마트 컨트랙트, 이 모든 기능이 잘 동작하기 위해선 안정적인 네트워크 환경은 필수적입니다. 스택스 2.0 메인넷 출시 후 전혀 예상하지 못한 변측으로 네트워크 성능 저하가 발견되었는데, 이에 가장 큰 영향을 준 버그 2가지는 다음과 같습니다:
- 중앙값 정렬 로직 오류로 인한 채굴자 페널티 발생
- 비트코인의 돌발 행동으로 인한 플래시 블록 발생
기본적으로 스택스 네트워크를 유지하는 채굴자들은 지속적으로 비트코인을 사용해야 합니다. 때문에 채굴자는 채굴을 통해 획득한 STX 보상을 다시 스택킹하여 BTC를 얻고 이를 통해 지출해야 하는 BTC를 줄이곤 하며, 이를 할인 채굴이라고 표현합니다. 하지만 현재 중앙값 정렬 계산 방식에 있어 버그가 존재하여 발생한 누락분으로 인해 얻게 되는 STX 보상 수량 대비 스택킹 참여를 위한 최소 수량과의 차이가 크게 발생함으로써 채굴자에게 심한 페널티가 발생하고 있습니다. 이는 2.1 업그레이드 개선 핵심 사항 중 하나로 채굴자에게 높은 채굴 지속성을 부여하게 될 것입니다.
다른 버그는 플래시 블록의 발생으로, 스택스 2.0 메인넷 설계 당시 고려했던 바와 달리 비트코인 체인에서 두 개의 블록이 동시다발적으로 생성된 경우 스택스 채굴자가 해당 블록의 채굴 기회를 놓치는 경우가 발생했습니다. 특히 플래시 블록이 PoX 준비 단계에 발생하면 PoX 보상에 있어 채굴자 간 얼마나 많은 합의가 이뤄지는지 결정하는 값이 낮게 측정되었고 결과적으로 네트워크에 가져오게 되는 비트코인 보상에 악영향을 줌을 발견할 수 있었습니다. 이에 2.1 업그레이드에서는 플래시 블록에 대한 네트워크 내성이 제공되며 이를 통해 네트워크 전체 효율성이 크게 개선될 것으로 예상됩니다.
그 외 스마트 컨트랙트 런타임 비용 개선을 통해 반복 처리를 요구로 하는 컨트랙트 구현이 용이해지고, 멀티-시그 서명 개선 작업을 통해 컨트랙트 서명 순서에 대한 편의가 제공될 예정입니다.
2. 마무리
우리에게 익숙한 기존의 중앙화된 네트워크와 달리 블록체인 네트워크의 성장은 커뮤니티와의 직접적인 의사소통 과정을 통해 이뤄진다는 점에 있어 큰 의미가 있습니다. 스택스 또한 메인넷 출시 이후 네트워크에서 발생한 문제점을 해결하기 위해 수많은 토론이 포럼을 통해 이뤄졌으며, 곧 그 결실을 맞이하게 됩니다.
업그레이드 출시 준비가 완료되면 커뮤니티로부터 제작된 https://sip015.xyz 와 https://stx.eco 페이지를 통해 네트워크 업그레이드 투표가 진행될 예정입니다. 투표는 일정 기준 이상의 동의를 얻게 되면 통과되며 그 이후 공개 테스트넷과 채굴자들의 소프트웨어 업그레이드를 통해 본격적인 활성화가 이뤄집니다.
이번 2.1 업그레이드가 스택스 체인과 비트코인이 보다 강력한 연결성을 보여주고, 궁극적으로 스택스 생태계가 추구하는 ‘비트코인의 잠재력 해제’ & ‘비트코인의 직접적인 활용’에 있어 새로운 시발점이 되길 희망합니다.