이전글
[스택스와 비트코인의 미래] 2. 비트코인 확장: OP_RETURN이 가져온 변화
이전글 [스택스와 비트코인의 미래] 1. 스택스의 시작: 블록스택에서 스택스로 이전글 [스택스와 비트코인의 미래] 0. 시작하기 전에 0. 시작하기 전에 앞으로 이어질 내용들을 이해하기 위해서는
kwjdnjs.tistory.com
PoX
비트코인과의 연결
I. 비트코인과 연결하기
어떤 블록체인이 존재한다고 가정해 보겠습니다. 이 블록체인은 당연히 블록들로 구성되어 있을 것입니다.
그런데 만약 각 블록의 정보를 비트코인 블록체인에도 저장한다면 어떻게 될까요?
비트코인 블록체인에 데이터를 저장하기 위해서는 OP_RETURN을 사용할 수 있다는 사실을 이미 이전 글을 통해 알아봤습니다. 즉, OP_RETURN 뒤에 어떤 블록체인의 블록 정보를 저장하면 해당 데이터를 비트코인 블록체인에 영구히 저장할 수 있습니다. 이 개념을 이용하면 비트코인 블록체인과 다른 블록체인을 연결시킬 수 있습니다.

이를 통해 무엇을 얻을 수 있을까요? 바로 비트코인의 해시파워입니다. 비트코인 블록체인은 세계에서 가장 많은 해시파워를 사용하여 유지되는 가장 안정적이고 안전한 블록체인입니다. 비트코인 블록체인에 블록 데이터를 저장하게 되면, 연결된 블록체인의 블록을 임의로 수정하려고 하는 경우 비트코인 블록체인에 저장된 블록 정보까지 변경해야 됩니다. 즉, 비트코인에 블록 정보를 저장함으로써 별도의 블록체인이 비트코인의 보안성과 안정성을 얻는 것입니다.
또한 별도의 블록체인 노드는 블록 생성과정에서 비트코인 블록체인에 저장된 데이터를 읽어 들여야 합니다. 즉, 별도의 블록체인 노드는 비트코인 노드가 아니지만 비트코인 데이터를 읽어오고 비트코인 블록체인을 확인하는 코드가 포함되어 있다는 뜻입니다. 이를 이용하면 비트코인의 여러 트랜잭션 데이터를 직접 접근하고 확인하는 추가적인 작업도 진행할 수 있습니다.
물론 이러한 방식에는 단점이 있습니다. 먼저 비트코인 노드에 데이터를 저장하기 위해서는 OP_RETURN을 사용한 스크립트를 사용해야 한다는 점입니다. 스크립트를 사용하기 위해서는 비트코인의 트랜잭션을 생성해야 합니다. 문제는 비트코인의 트랜잭션을 생성하기 위해서는 최소한 거래 수수료로 사용될 비트코인이 필요합니다. 즉, 누군가가 자신의 비트코인을 사용하여 데이터 저장 비용을 지불해야만 합니다.
그다음으로 비트코인에 블록 데이터를 직접 저장하는 방식인 만큼 별도의 블록체인의 블록 생성 시간이 비트코인과 동일한 평균 10분으로 제한된다는 점입니다. 이는 최근 블록체인들에 비해 매우 느린 속도입니다. 스마트 컨트랙트 등 많은 트랜잭션이 오고 가야 할 현대의 블록체인에서 이 속도로 처리가 이뤄지는 것은 별로 좋지 않습니다.
그렇다면 스택스는 이 두 가지 문제를 어떻게 해결했을까요?
첫 번째 문제인 비트코인 비용 지불 문제는 PoX(Proof of Transfer, 전송증명)라는 독특한 합의 알고리즘을 이용해 해결했습니다. 두 번째 문제인 속도의 경우 나카모토 릴리즈를 통해 새로운 기술을 도입하여 해결했습니다.
이번 글에서는 스택스가 가진 합의 알고리즘인 PoX에 대해 알아보겠습니다.
II. PoX
컴퓨터의 연산 능력을 사용하는 합의 알고리즘을 작업증명(PoW)라고 합니다. 작업증명은 많은 전력을 사용하는 문제점이 있어서 이더리움의 경우 지분증명(PoS)이라는 합의 알고리즘을 사용하도록 변경했습니다. 비트코인에 데이터를 작성하기 위해서는 작업증명과 지분증명을 사용할 수는 없습니다. 대신 소각증명(PoB, Proof of Burn)이라는 방식을 사용할 수 있습니다. 트랜잭션을 생성하기 위해서 채굴자가 가진 비트코인을 소비하는 대신 새로운 토큰을 지급하는 방식입니다.
PoX(전송증명)은 PoB를 확장한 형태의 합의 알고리즘입니다. PoB는 비트코인을 소비하여 아예 소각시키는 방식이지만, PoX는 비트코인을 다른 사용자에게 전송하는 방식입니다. 즉, PoX는 OP_RETURN이 포함된 출력 외에 다른 사람에게 비트코인을 전송하는 출력을 포함하여 트랜잭션을 생성하고, 그에 따른 보상 토큰을 받아가는 구조입니다.

PoX가 작동되기 위해서는 두 종류의 유저가 필요합니다. 첫 번째는 자신의 비트코인을 다른 사람에게 전송하는 동시에 스택스 블록을 생성하고 새롭게 생성된 스택스 토큰과 스택스 트랜잭션 수수료를 받아갈 '채굴자'입니다. 두 번째는 채굴자에 의해 전송된 비트코인을 받는 대신 일정 기간 동안 스택스 토큰을 예치할 '스택커'입니다. 만약 PoS였다면 스테이킹을 통해 토큰을 예치하고 해당 토큰을 이자로 보상받겠지만, PoX에서의 '스택킹'은 스택스를 예치하고 비트코인을 보상으로 가져가게 됩니다.
PoX에서 채굴자가 선택되는 방식은 PoS와 유사합니다. PoS에서 많은 토큰을 보유하고 예치한 사람일수록 블록체인 신뢰도 하락에 의한 토큰 가치 하락에 큰 영향을 받기 때문에 올바른 블록을 생성할 가능성이 높다는 것에 기반한 것처럼, PoX에서도 많은 비트코인을 예치한 사람이 올바른 블록을 생성할 가능성을 높게 봅니다.
따라서 채굴자가 사용한 비트코인의 양에 따라 랜덤하게 다음 블록을 채굴할 채굴자를 선정합니다. 많은 양의 비트코인을 전송했을 경우 더 높은 확률로 다음 블록을 채굴하게 됩니다. 선정된 채굴자는 스택스 블록을 생성하고 그에 따른 스택스 보상을 받아가게 됩니다.
스택커의 경우 일정 기간 동안 자신의 스택스를 예치해서 그에 따른 비트코인 보상을 받아갑니다. 채굴자와 동일하게 자신이 예치한 스택스가 많을수록 많은 양의 비트코인 보상을 가져가게 됩니다.
다음글
[스택스와 비트코인의 미래] 4. 클래리티 - 튜링 완전에 대한 논쟁
이전글 [스택스와 비트코인의 미래] 3. PoX: 비트코인과의 연결 이전글 [스택스와 비트코인의 미래] 2. 비트코인 확장: OP_RETURN이 가져온 변화 이전글 [스택스와 비트코인의 미래] 1. 스택스의 시작:
kwjdnjs.tistory.com
'스택스 > 스택스와 비트코인의 미래' 카테고리의 다른 글
[스택스와 비트코인의 미래] 5. BNS: 비트코인 도메인 (1) | 2024.04.03 |
---|---|
[스택스와 비트코인의 미래] 4. 클래리티: 튜링 완전에 대한 논쟁 (0) | 2024.03.19 |
[스택스와 비트코인의 미래] 2. 비트코인 확장: OP_RETURN이 가져온 변화 (0) | 2024.02.29 |
[스택스와 비트코인의 미래] 1. 스택스의 시작: 블록스택에서 스택스로 (0) | 2024.02.15 |
[스택스와 비트코인의 미래] 0. 시작하기 전에 (0) | 2024.01.13 |