Qtum의 높은 수준의 스테이크 컨센서스
블록 체인은 컨센서스 알고리즘을 사용하여 특정 라운드에서 블록을 제출할 유효성 검사기를 결정합니다 (그리고 그에 대한 보상을받습니다). 컴퓨팅 파워를 사용하여 네트워크를 보호하는 데 초점을 맞춘 작업 증명 시스템의 초기 인기에도 불구하고 다른 메커니즘 인 Stake of Stake가 인기를 얻고 있습니다.
스테이크 증명 시스템 (PoS로 약칭 함)은 간단한 개념을 사용하여 블록 체인을 보호합니다. 체인의 유효성 검사기가 되려면 해당 체인의 여러 가지 토큰을 잠궈 야하거나 고정해야합니다. 이 가치 잠김은 블록을 원장에 포함시키고 그에 대한 보상을 청구 할 수있는 기회를 매 라운드마다 결정합니다. 고정 된 동전이 많을수록 시스템에 투자 한 가치가 높을수록 네트워크에서 악의적 인 사용자가 아닌 인센티브가 높아집니다.
스테이크 증명의 구현은 여러 가지가 있습니다. Qtum과 같이 최소한의 지분은 필요하지 않으며, DASH와 같은 다른 사람들은 PoS와 PoW가 동시에 작동하는 반면, Cosmos와 같은 일부 사람들은 Delegated Proof-of-Stake 시스템을 통해 작업합니다. 노드의 유효성 검사기는 유효성 검사기입니다.
Qtum은 Pavel Vasin이 만들고 Blackcoin 프로젝트에서 구현 한 버전 2 이상의 개선 된 "Proof-of-Stake 버전 3"을 기반으로합니다. 이 유형의 스테이크 증명 (PoSv3)은 UTXO 기반 블록 체인을 위해 만들어졌습니다 .
PoW 시스템에서 블록 헤더는 nonce와 함께 해싱되어 블록 해시 를 생성합니다.이 해시 는 해당 블록을 "이기기"위한 목표보다 작아야합니다. 대신 PoSv3 에는 현재 블록에서 쉽게 수정할 수없는 여러 데이터로 구성된 커널 해시 가 있습니다.
PoW 시스템의 코인 베이스 트랜잭션 대신 Qtum PoS 시스템에는 coinstake 트랜잭션이 있습니다 (두 번째 트랜잭션, 첫 번째 트랜잭션은 빈 코인베이스입니다). coinstake 트랜잭션은 준수해야하는 몇 가지 특정 규칙을 가지고 있으며 각 블록에는 정확하게 하나의 트랜잭션 스테이 킹 이 있어야 합니다. 두 번째로 블록 타임 스탬프는 하위 4 비트가 0으로 설정되어야하므로 블록 타임은 16 초 간격으로 만 나타낼 수 있습니다. 각 UTXO는 500 블록 (~ 24 시간)마다 한 번만 사용하여 거래를 스테이크로 생성 할 수 있습니다.
커널 해시는 다음 데이터로 구성됩니다.
- 이전 블록의 "스테이크 수정 자"(PoS 블록 및 이전 블록의 스테이크 수정 자의 사전 트랜잭션의 해시)
- "prevout"트랜잭션의 타임 스탬프 (스테이징 트랜잭션의 첫 번째 빈에 의해 소비 된 트랜잭션 출력)
- 선행 거래의 해시
- prevout의 출력 번호 (즉, 트랜잭션의 출력이 스테이징 트랜잭션에 의해 소비 됨)
- 현재 블록 시간. 하단 4 비트는 0으로 설정되어 입상도를 줄입니다. 이것은 스테이징 과정에서 변경되는 유일한 것입니다.
선행 거래는이 스테이징 트랜잭션을 생성하는 데 사용되는 UTXO입니다. 따라서 현재 커널 해시를 변경 (블록을 마이닝)하는 유일한 방법은 사용중인 UTXO를 변경하여 블록을 만들거나 현재 블록 타임을 변경하는 것입니다.
둘째, PoS 블록의 마이닝 프로세스에서 변경되는 또 다른 측면이 있습니다. 어려움은 스테이징 거래에서 동전의 수에 비중을 둡니다. PoS의 어려움은 단 동전 1 개를 꽂는 것에 비해 동전 2 개를 가져 가면 두 배나 쉽게 달성 할 수 있습니다. 그렇지 않은 경우, 스테이크 용 UTXO를 여러 개 만들어 블록 체인의 크기를 늘려 궁극적으로 전체 네트워크가 유지 관리하는 데 더 많은 리소스를 필요로 할뿐만 아니라 잠재적으로 블록 체인의 전반적인 보안을 손상시킬 수도 있습니다 .
스테이크의 증거에 대해 깊이있는 글을 읽으려면 Jordan Earls의 놀라운 블로그 게시물을 제안 하십시오 .