brunch

You can make anything
by writing

C.S.Lewis

by JOEY Apr 27. 2024

스택스(STX) 나카모토 업그레이드 톺아보기

스택스는 무엇을, 어떻게, 왜 바꾸었는가

변화하는 비트코인 생태계와 스택스 네트워크


이전에 업로드했던 비트코인이 느릴 수밖에 없는 이유라는 글에서

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.   

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari