변화하는 비트코인 생태계와 스택스 네트워크
Bitcoin은 검열저항성을 지키기 위해 가장 간결하면서도 단단한 프로토콜을
유지한다고 서술했었다.
그렇다면 Bitcoin은 영원히 확장성 문제와 스마트계약의 다양성을 추구할 수 없는 것일까?
이에 대한 대안으로 다양한 Bitcoin Layer2 프로토콜들이 개발되고 있다.
Stacks 네트워크는 그중 가장 유망한 프로젝트 중 하나로 손꼽힌다.
스택스의 주요 특성은 다음과 같다.
image source: Stacks
-Stacks상의 거래내역을 Bitcoin 네트워크에 기록함으로써 Bitcoin의
보안성과 안정성을 활용한다.
-위 방식을 활용하여 수수료가 적고 표현력이 풍부한 스마트 계약을 실현한다.
-sBTC 도입을 통해 Bitcoin과 Stacks 사이의 BTC 무신뢰 이동을 실현시킨다.
Stcaks는 이더리움 진영에서 먼저 시발한 블록체인 레이어링 개념을
Bitcoin에 새로운 형태로 적용함으로써 Bitcoin의 보안성과 안정성을 가져오는 동시에
더 많은 기술과 혁신들이 Bitcoin위에 일어날 수 있도록 도와준다.
image source: cryptonews Stacks 네트워크는 2024년 4월, 다음 단계로의 도약을 위해
Nakamoto Release라는 하드포크*를 준비하고 있다.
Nakamoto Release는 투표 결과 99.98%라는 압도적인 커뮤니티의 지지를 바탕으로
4월 23일 메인넷에 전체 기능 중 일부분이 출시되었다.
(현재 7~8월로 연기된 상태)
이를 기념하고 많은 유저들의 접근성을 높이기 위해 이 글은
Nakamoto Release 전과 후의 차이점에 대해
심층적으로 서술한다.
기존 Stacks 네트워크의 모습
Stacks는 PoX(Proof of Transfer)라는 합의 알고리즘을 통해
네트워크의 무신뢰성을 보존한다.
PoX에서는 크게 새 장부를 쓸 수 있는 권한을 가진 Miner(채굴자)들과
STX(Stacks)를 Stacking(예치)한 Stacker라는 주체들이 존재한다.
image source: Stacks Miner들은 BTC을 소모하여 Stacks 블록 채굴 입찰에 참여할 수 있다.
이들은 Stacks 네트워크의 최신 블록 데이터(hash)를 입찰 거래에 포함시킨다.
해당 과정을 통해 Bitcoin에 Stacks의 장부가 새겨진다.
낙찰된 Stacks 블록에 거래를 기록할 수 있는 Miner는,
가중 무작위 샘플링(weighted random function)을 통해 선정된다.
여기서 가중 무작위 샘플링이랑 자신의 입찰량이 전체에 비례하는 만큼
무작위 확률이 조정되는 것을 말한다.
image source: Stacks 가령 입찰된 총 10 BTC 중
필자의 입찰량이 6 BTC라면
필자가 Miner가 될 확률은 약 60%이다.
Stack 거래가 기록되고 다음 Bitcoin 블록이 채굴되면
다음 Miner에게 권한이 이양되며,
이전 블록을 채굴했던 Miner는 보상으로 STX토큰을 받는다.
또한 해당 블록 입찰을 위해 소모된 BTC는 STX를 예치한
Stacker들에게 분배된다.
Pre-Nakamoto Release가 지닌 한계
Stacks 네트워크가 Bitcoin의 레이어로써 정상작동하기 위해서는
미비된 보안과 확장성에 대한 돌파구를 제시해야 한다.
Pre-Nakamoto Release 상태에서 Stacks가 해결해야 하는 문제들은 다음과 같다.
Bitcoin 블록과의 1:1 연결에서 오는 확장성 한계
Stacks는 Bitcoin과 같은 속도로 장부를 청산하기 때문에
더 많고 복잡한 거래들을 빠른 시간 안에 처리하기 어렵다.
이를 해결하기 위해 Stacks는 이전 백서에서
마이크로블록(Microblock)이라는 개념을 도입했다.
image source: research.aimultiple.com Miner가 다음 Bitcoin 블록이 도달하기 전까지
여러 마이크로블록을 빠르게 직렬로 생성해서
스마트계약의 청산과 정렬을 돕는다는 기술이지만,
마이크로블록 또한 분명한 한계점이 존재한다.
새 Miner들이 블록체인의 최신 마이크로블록들을 쉽게 재정렬 할 수 있으며,
다음 Bitcoin 블록이 생성되기 전까지 짜인 마이크로블록들에 대한
불변성을 보장할 수 없기 때문이다.
Bitcoin 채굴자들의 MEV 공격 가능성
Stacks의 Miner들은 STX를 채굴하기 위해서
Bitcoin을 소모하여 블록 입찰 경쟁에 참여한다.
이때 해당 입찰 거래를 block-commits라고 부르는데,
위 거래는 모두 Bitcoin 온체인상에서 이뤄진다.
image source: horizen.io 만약 PoX보상이 일정 수준 이상으로 높아진다면,
Bitcoin 채굴자는 상대의 입찰 거래를 임의로 제외한 블록을 생성하여
적은 비용으로도 PoX 보상을 챙겨갈 수 있는
불평등 구조가 생겨날 수 있다.
위와 같은 방법으로 거래의 정렬 등을 조작하여
채굴자가 기존 보상 이상으로 최대 이익을 가져가게
만드는 현상을 MEV, 즉 Maximum Extractable Value라고 부른다.
장부 위변조 및 포크에 대한 낮은 진입장벽
Pre-Nakamoto 상태의 Stacks 네트워크는 장부 위변조에 대한
비교적 낮은 진입장벽을 갖추고 있다.
현재 N번째 이전 장부를 재정렬 하기 위해서는 N + 1개에 해당하는
Stacks 블록 채굴권한이 필요하다.
위 과정에서는 block-commits 거래와 관련된 BTC만이 소모될 뿐
추가적인 자금이나 권한이 필요하지 않다.
image source: bitcoingerat.blogspot.com 꼭 특정 블록 재정렬이 아니더라도
51%의 채굴력을 장악한 Miner는 임의로 하드포크,
즉 기존 프로토콜 규칙과 다른 블록들을 생성해 나갈 수 있다.
한 예시로 Stacks 장부 최신화가 되어있지 않은
Miner들이 block-commit 거래를 진행한 뒤
기존 장부를 무시하고 채굴을 하여
Stacks 네트워크 상에서 거래가 뒤섞이는 경우도 존재했다.
Nakamoto Release가 가져올 변화들
Stacks 네트워크가 Nakamoto Release를 통해 위 문제들을
해결하려면 다음과 같은 기술의 적용이 필요하다.
서명자(Signer) 개념 도입
기존 Stacks 네트워크는 STX를 예치한 Stacker들이
다소 수동적으로 Miner들에게 보상을 받는 구조였다.
하지만 Nakamoto Release를 통한 하드포크 이후부터는
Stacker들도 주도적으로 블록 생성에 기여를 할 수 있다.
이제 Stacker들은 Miner가 채굴한 Stacks블록을
검증하는 주체로서 서명자(Signer) 역할을 추가로 수행하게 된다.
따라서 블록이 Stacks장부에 기록되기 위해서는 70% 이상의 Stacker들의
서명이 동반되어야 한다.
모든 Stacker들의 서명을 추합 하여 동의 또는 거절을 하기 위해
Stacks 네트워크는 가중 한계 서명(weighted threshold signature)을 사용한다.
image source: Bitcoin.com 가중 한계 서명은 슈노드 서명(Schnorr Signature)을 활용한
FROST(Flexible Round-Optimzed Schnorr Threshold Signatures)
라는 서명 방식을 통해 생성 및 활용된다.
(굳이 모든 기술적 개념을 이해 혹은 암기하려 하지 않아도 된다)
FROST 서명에서 각 Stacker들은 고유한 공개키 및 암호키를
생성 후, 모든 Stacker들의 공개키를 조합한 종합 공개키(aggregated key)를 생성한다.
예치를 더 많이 한 Stacker 일수록 서명의 가중치가 높아진다.
추후 특정 블록에 동의하는 Stacker들이 암호키를 통해 서명을 하면,
알고리즘은 각 서명을 모아 1개의 종합 서명(aggregated signature)을 생성한다.
image source: bit2me academy 이 종합 서명을 종합 공개키와 대조하였을 때, 만약
70% 이상의 Stacker들이 서명했다는 것이 검증되면,
해당 블록은 Stacks 장부에 기록이 된다.
Stacks 네트워크는 이처럼 Signer 개념의 도입을 통해
Miner들을 검열하여 프로토콜의 보안성을 강화하였다.
패스트 블록(Fast blocks) 및 Bitcoin에서의 결제의 최종성(Bitcoin finality) 적용
Fast block과 Bitcoin finality를 이해하려면
Nakamoto Release에서 적용되는 Tenure Change라는 개념을 알아야 한다.
Tenure이란, 쉽게 말해 "임기"와 비슷하다.
Stacks 네트워크에서 입찰 경쟁을 통해 Miner로 선정된 유저는
Tenure이라는 임기동안 직접 블록을 생성하고
Stacker들의 검증 후 보상을 취할 수 있다.
따라서 Tenure Change란,
Miner의 임기가 전환되는 시점을 의미한다.
그리고 Tenure동안 5초에 1번 생성되는
Stacks 블록들을 Fast blocks라고 부른다.
image source: Stacks 위 사진의 [start tenure change]를 기준으로
Stacks 네트워크의 장부 생성 방식을 알아보자.
[Miner N]은 자신의 Tenure 중에 파란색 블록들을 생성하였으며,
[Miner N+1]은 초록색 블록들을 생성하고 있다.
주황색 블록들은 각 시점에 해당하는 Bitcoin 블록을 나타낸다.
[Miner N+1's block commit]은 [Miner N+1]이
자신의 Tenure을 부여받기 위해 입찰한
Bitcoin상의 거래를 의미한다.
Tenure에 입찰하기 위해서 각 Miner들은
이전 Miner, 즉 [Miner N]이 생성한 첫 블록의 데이터(hash)를
자신의 입찰 거래에 기록해야 한다.
위 작업을 통해 Stacks 네트워크는
새 Miner가 최신 장부의 형태를 이해하고 있으며,
임의로 규칙에 어긋나는 장부를
생성하지 않을 것이라는 일종의 서약을 받아낼 수 있다.
image source: Stacks 이를 통해 Bitcoin 네트워크에
Stacks 블록체인의 장부가 기록된다.
추가적으로 Tenure 중에 생기는 Fast blocks들은
규칙에 따라 최신 블록 위에 이어서 생성하도록
각 블록마다 70% 이상의 Stacker 동의를 거쳐야 한다.
포크가 일어날 수 없게 매 블록을
Stacker들의 동의를 받아 연결한다는 개념을
스테이플링(Stapling)이라고 칭하기도 한다.
이를 통해 Stacks의 장부가 Bitcoin 수준의 불변성을
지니게 되는 상태를 Bitcoin finality라고 부른다.
Fast blocks와 Bitcoin finality를 통해
Stacks 네트워크는 확장성과 보안이라는
두 마리 토끼를 다 잡을 수 있다.
Bitcoin 채굴자들에 의한 MEV 내성 알고리즘 개발
앞에서 서술한 Bitcoin MEV 문제는 Stacks 네트워크의
공정 및 탈중앙 철학과 충돌한다.
MEV 문제를 해결하기 위해서는
내성을 지닌 알고리즘을 도입하여
MEV 전략을 지닌 Bitcoin 채굴자가
불합리한 수익을 얻지 못하도록 해야 한다.
image source: River Financial Nakamoto Release에서는
ATC-C(Assumed Total Commitment with Carryforward)
라는 알고리즘을 통해 MEV 채굴자를 견제한다.
ATC-C는 각 채굴자의 네트워크 기여도 추정(Assumed Total Commitment)
를 통해 Stacks 네트워크에 일정 수준 이상
기여를 해야 PoX 보상을 얻을 수 있도록
채굴 시스템을 조정한다.
기여도는 크게 두 가지 방식으로 측정된다.
1. 최근 블록 참여도
네트워크에 꾸준히 기여를 하고 있다는 것을 측정하기 위해,
최근 10개의 Bitcoin 블록에 5회 이상 입찰을 진행해야 다음 블록부터
Miner가 될 수 있는 기회가 주어진다.
2. 평균 입찰가
특정 블록에 비정상적인 입찰가를 제시하여
해당 블록 Miner가 될 수 있는
행위를 방지하기 위해
최근 10개 Bitcoin 블록 모든 참여자의 입찰가 총합
평균을 계산하여 낙찰 확률을 산정한다.
각 기여도를 바탕으로 각 Miner의 낙찰 확률을 계산하면
라는 식이 도출된다.
해당 식에서 각 원소는 다음을 의미한다.
P(i): [Miner i]의 낙찰 확률
S(i): [Miner i]가 지불한 해당 블록 입찰가
C(max): 전체 참여자의 [10 Bitcoin 블록 평균 입찰 총합] 또는 [현 Bitcoin 블록 입찰 총합] 중 더 큰 값
이 방식으로 낙찰률을 산정하면
종종 모든 Miner들의 확률을 더해도
100%가 되지 않는 경우가 있다.
이 경우 남은 낙찰률은 Null Miner라는
가상의 Miner에게 가는데,
만약 Null Miner가 낙찰이 되는 경우
해당 블록에 대한 Tenure Change는
일어나지 않으며,
아무도 받지 못한 PoX 보상은
이어지는 10 Bitcoin 블록 동안
다음 Miner들에게 10%씩 배분된다.
image source: Blockchain.com 위와 같은 ATC-C 알고리즘을 도입하면
가장 큰 Bitcoin 채굴량을 점유하고 있는
F2Pool 이나 Foundry USA 조차도
독자적으로 MEV를 활용하여
다른 Miner들의 거래를 검열하거나
낮은 입찰 비용으로
불합리한 수익을 챙겨가는 것을 최소화할 수 있다. (예시)
Nakamoto Release가 불러올 Web3 생태계의 르네상스
Bitcoin은 세계에서 가장 안전하고 검증된 블록체인으로 광범위하게 인정받고 있지만,
그 기본적인 기능은 단순한 거래 기록에 국한되어 있다.
Stacks는 이러한 Bitcoin의 보안과 네트워크 효과를 활용하여
더욱 복잡한 금융 거래와 애플리케이션을 가능하게 한다.
image source: Spartan Research Nakamoto Release는 Stacks의 장점을 최대로 활용할 수 있는
업데이트로, 더욱 강해진 PoX 합의 메커니즘과
MEV 방어 알고리즘 도입을 통해
Bitcoin이 새로운 디지털 금융의 중심으로
자리매김하는 데에 큰 기여를 할 것으로 보인다.
참고문헌
Ellicott, Kyle, et al. Spartan Research, 2023, pp. 1–36, Bitcoin Layers: A Tapestry of a Trustless Financial Era.
“Stacks Documentation.” Edited by Stacks Foundation, Nakamoto Upgrade - Start Here, Stacks.co, docs.stacks.co/nakamoto-upgrade/nakamoto-upgrade-start-here. Accessed 27 Apr. 2024.
Stacks Foundation, et al. “Stacks: A Bitcoin Layer for Smart Contracts.” Dec. 2022.
Stacks. “Bitcoin Finality, Leveraging Bitcoin Security for Building on Stacks.” YouTube, YouTube, 3 Feb. 2024, www.youtube.com/watch?v=w2mA3ajOoNQ.