이전글
[스택스와 비트코인의 미래] 6. 가이아: 블록체인 외부로
이전글 [스택스와 비트코인의 미래] 5. BNS: 비트코인 도메인 이전글 [스택스와 비트코인의 미래] 4. 클래리티: 튜링 완전에 대한 논쟁 이전글 [스택스와 비트코인의 미래] 3. PoX: 비트코인과의 연결
kwjdnjs.tistory.com
나카모토 업그레이드
계속되는 변화
I. 스택스의 한계
스택스는 지금까지 잘 운영되어 왔습니다. 그러나 몇 가지 문제점을 가지고 있었습니다.
먼저 스택스는 너무 느립니다. 스택스는 비트코인과 연결되어 있는 블록체인입니다. 따라서 스택스 트랜잭션이 제출되면 스택스 블록에 트랜잭션이 담기고, 스택스 블록 채굴자가 선정된 뒤에 비트코인 트랜잭션에 스택스 블록 정보를 담아 연결하여 거래를 확정합니다. 문제는 스택스 블록과 비트코인 블록이 1대 1로 연결되어 있고, 비트코인의 블록생성 간격이 평균 10분을 유지하도록 설계되었다는 점입니다.
비트코인은 초기 설계를 유지하여 10분 간격으로 블록을 생성하여 매우 느리지만 안정적인 블록체인을 유지하고 있습니다. 속도가 느리더라도 비트코인 상의 트랜잭션은 대부분 비트코인 전송에 대한 내용이기 때문에 지금까지 큰 문제가 없어 왔습니다.
하지만 스택스는 다양한 스마트 컨트랙트를 처리해야 하고 수많은 토큰 이동이 이뤄지기 때문에 느린 블록생성 속도는 비트코인에 비해 치명적입니다. 따라서 스택스의 느린 블록생성 속도는 스택스에게는 상당히 치명적인 단점으로 작용해 왔습니다.
그 이외에도 선정된 채굴자에게 블록 생성에 전권을 맡기면서 스택스가 함부로 포크될 수 있다는 문제점이나 비트코인에 비해 스택스 체인을 수정하기 쉬운 문제, 즉 비트코인 최종성(Finality)이 달성되지 못한 문제 등을 수정할 필요성이 계속 제기되었습니다.
이러한 문제점들을 수정하기 위해 나카모토 업그레이드가 시작되었습니다.
II. 나카모토 업그레이드
나카모토 업그레이드의 가장 큰 변경점은 테뉴어(Tenure)의 도입입니다. 기존 스택스 블록은 비트코인 블록과 1대 1로 매칭되어 생성되었습니다. 나카모토 업그레이드 이후부터는 비트코인 블록이 생성되는 약 10분 동안의 기간이 하나의 테뉴어가 되어 해당 테뉴어에 선정된 채굴자가 여러 개의 블록 생성을 담당하게 됩니다.
채굴자가 선정되는 과정은 기존과 유사합니다. 다만 채굴자가 선정된 이후가 크게 다릅니다. 선정된 채굴자는 비트코인 블록과는 관계없이 약 5초 간격으로 스택스 블록을 생성하게 됩니다. 채굴자의 테뉴어가 끝나면 다음 채굴자가 선정되어 스택스 블록과 비트코인 블록을 연결하고 해당 채굴자의 테뉴어로 넘어가게 됩니다.
여기에서 발생할 수 있는 가장 큰 문제는 테뉴어 동안 한 명의 채굴자에 의해 많은 블록이 생성되고, 블록의 유효성 검증에 문제가 발생할 수 있다는 점입니다.
이러한 문제를 해결하기 위해 앞으로는 스택커도 함께 블록 검증에 참여하게 됩니다. 기존의 스택커는 자신의 스택스를 스택킹하고 비트코인 보상을 받아가는 역할만을 했습니다. 하지만 이제부터는 스택커가 블록 생성에 참여하여 각 테뉴어 동안 생성되는 모든 블록을 검증하게 됩니다.
테뉴어 동안 채굴자는 스택커에게 새롭게 생성하려고 하는 블록을 전송하고, 스택커는 블록의 유효성을 검증한 뒤 서명을 합니다. 스택커의 70% 이상이 유효하다고 서명한 블록은 채굴되어 블록체인에 연결됩니다.
테뉴어 동안 다음 테뉴어에서 채굴을 맡을 채굴자를 이전과 비슷한 방식으로 선정하게 됩니다. 선정된 다음 테뉴어의 채굴자는 이전 채굴자 테뉴어 동안 생성된 블록 중 가장 첫 번째 블록을 비트코인 블록에 올려 연결합니다. 즉, 현재가 N+1 번째 테뉴어라면 N+1번의 비트코인 블록은 N 번의 스택스 테뉴어와 연결됩니다. 즉, 이제부터는 N 번 스택스 테뉴어를 수정하려면 이보다 많은 N+1 개의 비트코인 블록을 수정해야 합니다. 이를 통해 기존에 완전히 달성하지 못했던 비트코인 최종성을 달성할 수 있습니다.
이전 테뉴어 채굴자의 첫 번째 블록이 담긴 비트코인 블록이 도착하면 테뉴어 변경 단계로 들어가게 됩니다. 다음 테뉴어 채굴자는 이전 테뉴어 채굴자가 마지막 블록을 생성하여 테뉴어가 완전히 종료될 때까지 기다린 뒤에 이어서 블록을 생성하게 됩니다. 다음 채굴자는 테뉴어 변경을 알리는 테뉴어 변경 트랜잭션을 보내게 됩니다. 블록과 동일하게 70% 이상의 스택커가 테뉴어 변경 트랜잭션에 서명하여 승인해야만 채굴자로 선정됩니다.
다음글
[스택스와 비트코인의 미래] 8. sBTC: 비트코인 확장
이전글 [스택스와 비트코인의 미래] 7. 나카모토 업그레이드: 계속되는 변화이전글 [스택스와 비트코인의 미래] 6. 가이아: 블록체인 외부로이전글 [스택스와 비트코인의 미래] 5. BNS: 비트코인
kwjdnjs.tistory.com
'스택스 > 스택스와 비트코인의 미래' 카테고리의 다른 글
[스택스와 비트코인의 미래] 8. sBTC: 비트코인 확장 (0) | 2024.05.07 |
---|---|
[스택스와 비트코인의 미래] 6. 가이아: 블록체인 외부로 (0) | 2024.04.12 |
[스택스와 비트코인의 미래] 5. BNS: 비트코인 도메인 (1) | 2024.04.03 |
[스택스와 비트코인의 미래] 4. 클래리티: 튜링 완전에 대한 논쟁 (0) | 2024.03.19 |
[스택스와 비트코인의 미래] 3. PoX: 비트코인과의 연결 (0) | 2024.03.05 |