한국어
자유게시판

https://mp.weixin.qq.com/s/BRPuRn7iOoqeWbMiqXI11g

  (구글번역기 사용)   퀀텀 포스장투하는분들이라면 알아두면좋을듯 좀어렵기도 하네요

 

"POS는 미래를 의미합니까? Qtum 양자 사슬은 깊은 분석을 가져옵니다 "

원래 2018-04-18 Qtum 양자 체인 양자 체인 플랫폼Qtum

 

 

 

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

 

각 cryptocurrency는 일종의 합의 메커니즘을 채택하여 전체 분산 네트워크가 동기화를 유지할 수 있습니다. Bitcoin은 태어날 때부터 Proof of Work (PoW) 합의 메커니즘을 채택하고 지속적인 디지털 암호화 해시 작업을 통해 작업량을 증명했습니다. 해싱 알고리즘은 단방향이므로 입력 데이터가 조금만 변경 되어도 출력 해시 값이 완전히 달라집니다. 계산 된 해시 값이 특정 조건 ( "마이닝 난이도"라고 함)을 충족하면 Bitcoin 네트워크의 참가자가이 작업 부하 증명을 결정합니다. 마이닝 난이도는 끊임없이 변화하는 해시 대상이며 네트워크 생성 블록의 속도가 빨라지면 난이도가 10 분마다 전체 네트워크 평균을 유지하도록 자동으로 증가합니다.

 

정의

 

블럭 체인에 익숙하지 않은 사람들을 위해, 게시물을 이해하는 데 도움이되는 몇 가지 기본적인 정의가 있습니다.

 

* UTXO - 유엔 출력

* 트랜잭션의 vin - vin은 UTXO의 입력을 지불하는 데 사용됩니다.

* vout - 거래에서 vout은 지불 후 새로 생성 된 UTXO를 나타냅니다. Vouts은 트랜잭션의 모든 출력입니다.

해싱 (Hashing) - 임의의 데이터를 입력으로 사용하고 고정 길이 메시지 다이제스트를 출력하며 작업은 단방향입니다. 또한 특성이 있습니다. 아주 작은 입력 변경으로도 완전히 다른 출력 값이됩니다

hash - 해시의 출력

* Bitcoin 스크립트 - UTXO 사용 방법을 결정하는 컴퓨터 언어

* 유료로-pubkeyhash 스크립트 - 비트 코인에 가장 일반적으로 지불로 디지털 통화를 충당하기 위해 스크립트를 사용, 당신은 단지 객체의 해시 값 (보통 base58 주소 표시) 공개 키를 지불하고 알 필요가 수령인은 돈을 소비하기를 원하며이 공개 키와 공개 키 자체에 해당하는 서명 만 제공하면됩니다.

* 유료로-pubkey 스크립트 - 오히려 공개 키 해시 주소가 아닌,받는 사람이 당신이 대중이가 보여 암호화 서명을 제공하는 데 필요한 돈을 지출 매우 유사에-pubkeyhash-지불하지만, 그 자체로 지불

* prevout - 트랜잭션의 vin으로서 이전 트랜잭션의 vout

* OP_RETURN 스크립트 - UTXO 모델에 영향을주지 않고 블록 체인의 일부 정보를 저장하는 데 일반적으로 사용되는 출력을 더 이상 쓸 수 없도록합니다.

 

PoW 및 블록 체인 컨센서스 시스템

 

Bitcoin의 8 년간의 개발을 통해 PoW 메커니즘의 보안이 확인되었습니다. 그러나 PoW에는 다음과 같은 문제점이 있습니다.

 

  1. PoW는 많은 전력 자원을 낭비했으며 환경에 친숙하지 않습니다.

  2. PoW는 많은 권력을 가진 큰 사람들에게 경제적으로 유리합니다 (일반 사용자는 광산에 입각하기 힘듭니다).

  3. PoW는 사용자가 동전을 보유하거나 사용하는 인센티브가 부족합니다.

  4. PoW는 광부가 대규모 풀에 참여하는 경향이 있기 때문에 중앙 집중화에 대한 특정 위험이 있습니다. 이로 인해 대형 풀이 네트워크에 더 큰 영향을 미칩니다.

     

할 권리 가 광산을 발굴 할 수있는 기회를 가질 수 있습니다 지갑 토큰 사용자 수 있기 때문에 메커니즘 (이하의 PoS라고 스테이크, 증명) 증명 장점은 (물론, 광산 보상을받을 것이다),이 중 많은 문제를 해결할 수 있습니다. PoS는 원래 Peercoin의 Sunny King에 의해 제안되었습니다. 그것은 나중에 cryptocurrencies의 다양성에서 세련되고 채택되었습니다. 이들은 PoS2.0 파벨 Vasin 제안 중, 래리 르네의 PoS 속도를 제안하고, 최근 블라드 Zamfir, 다양한 시도와 많은 다른 상대적으로 알려지지 않은 프로젝트에 의해 제안 된 캐스퍼, 등이 있습니다.

 

Qtum이 채택한 합의 메커니즘은 PoS3.0을 기반으로합니다. PoS3.0은 PaS2.0의 업그레이드 된 버전으로 Pavel Vasin이 제안하고 구현했습니다. 이 기사에서는이 버전의 PoS 구현에 초점을 맞출 것이다. Qtum은 PoS3.0을 기반으로 몇 가지 변경 사항을 만들었지 만 핵심 합의 메커니즘은 기본적으로 동일합니다.

 

일반적인 커뮤니티 회원 및 심지어 일부 개발자의 경우 PoS는 합의를 달성하기 위해 토큰 소유권만을 사용하는 네트워크에서 네트워크 보안을 보장하는 방법을 자세히 설명하는 문서가 거의 없기 때문에 특히 이해하기 쉽지 않습니다. 이 기사에서는 PoS3.0에서 PoS 블록 체인을 생성, 확인 및 보안하는 방법에 대해 자세히 설명합니다. 이 기사에는 기술적 지식이 일부 포함될 수 있지만이 기사에서 제공하는 몇 가지 기본 정의를 사용하여 설명하려고 시도합니다. 그러나 최소한 독자는 UTXO 기반 블록 체인에 대한 기본 아이디어가 필요합니다.

 

PoS를 소개하기 전에, PoS에 대한 다음의 이해를 돕는 PoW의 작동 메커니즘을 간략하게 소개하겠습니다. PoW 마이닝 프로세스는 다음 의사 코드로 표현 될 수 있습니다.

 

동안 (blockhash> 어려움) {

  Block.nonce = block.nonce + 1

  Blockhash = sha256 (sha256 (블록))

}

 

I는 앞서 설명한 한 본원에서 사용 된 해시, 일련의 동작 후의 출력과 입력 데이터로서, 즉 임의의 길이는 고정 된 길이의 메시지 다이제스트를 수득하지만 유일한 메시지는 입력 데이터에 대응 리버 얻어지는 추력 다이제스트 알 수 없다 . 전체 프로세스는 복권 당첨 메커니즘과 매우 흡사합니다. 데이터를 해싱하여 "바우처"를 만들고 목표 해시 범위와 비교하여 "승리"하는지 판단 할 수 있습니다. 당신이 이기지 못하면 일부 데이터를 약간 변경하여 새로운 "바우처"를 다시 만들 수 있습니다. Bitcoin의 난수 nonce는 입력 데이터를 조정하는 데 사용됩니다. 필요한 해시가 발견되면 블록은 합법적이며 분산 네트워크에 브로드 캐스팅 될 수 있습니다. 네트워크의 다른 광부들이이 새로운 블록 메시지를 받고 확인을 통과하면 블록을 체인에 추가하고 새 블록 다음에 블록을 계속 빌드합니다.

 

PoS 프로토콜 구조 및 규칙

 

이제 우리는 PoS를 소개하기 시작합니다. PoS에는 다음과 같은 목표가 있습니다 .

  1. 블록을 가짜로 만들 수 없습니다.

  2. "대형 가구"는 불균형 적으로 큰 보상을받지 못합니다.

  3. 강력한 컴퓨팅 능력은 블록을 만드는 데 도움이되지 않습니다.

  4. 네트워크의 어느 누구도 블록 체인 전체를 제어 할 수 없습니다.

     

PoS의 기본 개념은 PoW와 매우 유사하며 복권과 같습니다. 유일한 차이점은 PoS는 입력 데이터를 미세 조정함으로써 새로운 "복권"을 얻을 수 없으며 PoW는 복권으로 "블록 해시"를 사용하고 PoS는 "커널 해시"개념을 도입한다는 것입니다.

커널 해시는 현재 블록에서 수정 불가능한 여러 데이터를 입력으로 사용합니다. 따라서 광부는 커널 해시를 수정할 수있는 간단한 방법을 찾을 수 없기 때문에 가능한 해시 탐색을 통해 합법적으로 만들 수 없습니다.새 블록.

 

이러한 목표를 달성하기 위해 PoS는 여러 가지 추가 합의 규칙을 추가했습니다 첫째, PoW와는 달리 PoS의 코인베이스 트랜잭션 (즉, 블록의 첫 번째 트랜잭션)은 0 출력을가집니다. 동시에 Staker에게 보상하기 위해 두 번째 트랜잭션으로 스테이크 트랜잭션이 도입되었습니다. 스테 킹 트랜잭션에는 다음과 같은 기능이 있습니다.

  1. 최소 1 명의 법적 상대가 있습니다.

  2. 첫 번째 vout은 빈 스크립트 여야합니다.

  3. 두 번째 vout은 비워 둘 수 없습니다.

     


  4.  

또한 거래 스테이징은 다음 규칙을 준수해야합니다 .

  1. 두 번째 vout은 pubkey 스크립트 (pubkeyhash가 아니라)이거나 체인에 데이터를 저장하는 데 사용할 수없는 OP_RETURN 스크립트 여야합니다.

  2. 트랜잭션의 타임 스탬프는 블록 타임 스탬프와 일치해야합니다.

  3. 스테이 킹 트랜잭션의 총 출력 값은 모든 입력 값, PoS 블록 보너스 및 거래 수수료의 합계 (예 : output <= (input + block_reward + tx_fees))보다 작거나 같아야합니다.

  4. 첫 번째 전화 번호에 해당하는 출력은 적어도 500 블록의 확인을 통과해야합니다 (즉, 지출 된 통화에 확인을 위해 최소 500 블록이 있어야합니다).

  5. 스테이징 트랜잭션은 여러 입력 빈을 가질 수 있지만 첫 번째 빈만이 합의 메커니즘에 사용됩니다.

 

이 규칙은 스테이징 트랜잭션을 쉽게 식별 할 수있게하여 블록 확인을위한 충분한 정보를 제공 할 수 있도록합니다. 여기서 첫 번째 vout은 스테이징 트랜잭션을 식별하는 데 사용되는 유일한 방법이 아니라 PoS3.0 디자이너 Sunny King이이 방법을 사용하기 시작한 이후 장기적으로 신뢰할 수 있음이 입증되었습니다. 성별, 그래서 우리는 또한이 방법을 사용하여 거래를 고정시키는 것을 확인했습니다.

 

이제 우리가 계단식 거래의 정의를 알았고 따라야 할 규칙을 이해 했으므로 PoS 블록의 규칙을 소개합시다 .

 

* 단 하나의 거래 거래가 있습니다.

* 스테이징 트랜잭션은 블록의 두 번째 트랜잭션이어야합니다.

* coinbase 트랜잭션에는 0 값과 빈 vout이있는 출력이 포함되어야합니다.

* 블록의 타임 스탬프의 마지막 4 비트는 0으로 설정됩니다. 즉, blocktime은 16s 단위 시간 만 나타낼 수 있으며 이는 시간 세분성을 높이는 것과 같습니다.

* 블록 버전은 7이어야합니다.

* 블록의 커널 해시는 PoS 가중치 요구 사항을 충족해야합니다.

* 블록 해시는 공개 키 서명에 해당하는 두 번째 vout을 거래하기 위해 스테이징을 사용해야합니다. 서명 데이터는 블록에 저장되지만 공식 블록 해시에는 저장되지 않습니다.

* "낮은"이어야 서명 블록에 저장 Yejiushishuo 오직 하나의 데이터 블록에 의해 충분히 (다른 연산 코드를 포함 할 수없고, 프리픽스 0으로 번호가 증가되지 않은) 압축;

* 표준 규칙은 나머지 포로의 대부분은 여전히 ​​(법적 MERKLE 해시, 합법적 인 거래, 타임 스탬프 등을 최대 허용 지연 시간보다 작아야합니다으로) 적용에 적용;

 

PoS에 대한 가장 중요한 규칙은 "kernal hash"입니다. 커널 해시의 역할은 PoW의 블록 해시와 유사합니다. 즉, 해시 값이 조건과 일치하면 블록이 유효한 것으로 간주됩니다. 그러나 현재 블록의 일부를 직접 수정하여 커널 해시를 얻을 수는 없습니다. 다음으로, 먼저 kernal 해시의 구조와 작동 메커니즘을 소개하고, 그런 다음 디자인의 목적을 설명하고,이 디자인을 변경하면 예기치 않은 결과가 발생할 것입니다.

 

PoS의 커널 해시

커널 해시는 다음 데이터를 순서대로 입력으로 구성됩니다.

 

* 이전 블록의 "스케이트 수정 자"(나중에 설명 됨).

* prevout 트랜잭션의 타임 스탬프 (staking 트랜잭션의 첫 번째 vin에 해당하는 이전 트랜잭션의 출력에 사용됨).

* prevout의 출력 번호 (즉, 스테이징 트랜잭션에서 사용되는 출력).

* 현재 블록 시간이지만 마지막 4 비트는 0으로 설정됩니다. 이것은 스테이 킹 중에 변경된 유일한 값입니다.

 

블록의 "스케이트 수정 자"는 다음 데이터의 해시 값을 나타냅니다.

 

* PoS 블록의 prevout 트랜잭션의 해시 또는 PoW 블록의 블록 해시.

* 이전 블록의 스테이크 수정 자 (생성 블록의 스테이크 수정자는 0 임);

현재 커널 해시 (마이닝 용)를 변경하는 방법은 두 가지뿐입니다. "prevout"을 변경하거나 현재 블록 시간을 변경하십시오.

 

일반적으로 지갑에는 여러 개의 UTXO가 포함됩니다. 지갑의 잔액은 실제로 현재 지갑에있는 사용 가능한 모든 UTXO의 합계입니다. 이는 PoS 지갑에도 적용 가능하며 임의 출력이 스테이징에 사용될 수 있기 때문에 더욱 중요합니다. 이 출력 중 하나는 유효한 블록을 생성하는 데 사용되는 스테이 킹 트랜잭션에서 사전 출력이됩니다.

 

또한, 블록의 PoS 마이닝 프로세스는 곤란 광산 소유 동전의 수 (보다 UTXO 수)에 반비례하고, 또한 (펑 비교)의 주요 변경된다. 예를 들어, 절반 통화를 가진 두 개의 동전 지갑 마이닝 어려움이있다. 이러한 디자인 없이는 블록 크기가 더 크고 더 커진다으로 이어질 것입니다 많은 작은 마이크로 크레딧 UTXO을 생성하도록 유도 것이며, 몇 가지 보안 문제가 발생할 수 있습니다.

 

커널 해시 계산은 다음과 같이 의사 코드로 표현할 수 있습니다.

 

while (true) {

    Foreach (지갑에있는 utxo) {

        blockTime = 현재 시간 - 현재 시간 % 16

        posDifficulty = 어려움 * utxo.value

        해쉬 = 해쉬 (previousStakeModifier << utxo.time << utxo.hash << utxo.n << blockTime)

        if (hash <posDifficulty) {

            완료

        }

    }

    16 초 기다리십시오 - 블록 시간이 변경 될 때까지 16 초 기다립니다.

}

 

위의 프로세스를 통해 UTXO 중 하나를 사용하여 스테이징 트랜잭션을 생성 할 수 있습니다 이 스테이크 거래에는 1 개의 vin이 있습니다. 우리가 찾은 UTXO입니다. 스테이 킹 동안 두 개 이상의 거래 VOUT, 그 식별을위한 첫 번째 빈 블록 체인, 데이터 만 트랜잭션의 공개 키, 또는 유료로 - 술집 - 키가 들어있는 두 번째 VOUT의 OP_RETURN 스크립트. 후자의 역할은 상대적으로 순수 (지불)이며 데이터 트랜잭션은 원래 UTXO 모델 (예 : 독립 블록 서명 시스템)을 손상시키지 않으면 서 더 많은 용도를 가질 수 있습니다.

 

마지막으로 mempool의 모든 트랜잭션이 블록에 추가됩니다 . 다음으로해야 할 일은 서명 생성입니다. 이 서명은 스테이징 트랜잭션의 두 번째 vout에 해당하는 공개 키를 사용해야합니다. 실제 트랜잭션 데이터는 블록 해시에 의해 계산됩니다. 서명 후이 블록을 네트워크에 브로드 캐스팅 할 수 있습니다. 다른 노드가 연결되는 새로운 블록을 방송하면서 블록이 법적 있는지 확인하기 위해 네트워크의 다른 노드를 차단, 노드는 자신의 블록 체인이 블록과 연결을 받아 들일 것입니다.

 

위의 단계를 통해 PoS3.0 블록 체인을 완벽하게 확보 할 수 있습니다 PoS3.0은 완전히 분산 된 합의 시스템에서 악의적 인 공격에 대한 최상의 합의 메커니즘으로 간주됩니다. 이 결론은 왜입니까? 우리는 PoS 개발의 역사를 이해할 수 있습니다.

 

PoS 개발

PoS는 오랜 역사를 가지고 있습니다. 다음은 간단한 설명입니다 :

 

PoS1.0 - 동전 연령 (즉, UTXO 사용 후 경과 한 시간)에 크게 의존하는 피어 코인에 적용 하면 동전 연령이 높을수록 광업의 어려움이 적습니다. 이는 사용자가 장기간 (예 : 1 개월 이상) 지갑 열기를 선택하여 지갑의 UTXO가 비교적 큰 통화를 가지게하고 사용자가 새 블록을 빨리 찾을 수있는 부작용이 있습니다. 이로 인해 이중 지출 공격이보다 쉽게 ​​이루어질 수 있습니다. Peercoin 자체는 PoW 및 PoS 혼합 메커니즘을 사용하고 PoW가이 부정적인 영향을 줄일 수 있으므로이 영향을받지 않습니다.

 

PoS2.0 - 동전 시대가 합의 메커니즘에서 제거되었으며 PoS1.0과 다른 스테이크 수정자가 사용되었습니다. 개정 내용은 비교적 많지만, 기본적으로 PoW / PoS 하이브리드 모드를 사용하지 않고 통화 연령을 없애고 보안 합의 메커니즘을 실현하는 방법에 중점을 둡니다.

 

PoS3.0 - PoS3.0은 실제로 PoS2.0의 업그레이드 된 버전이라고 할 수 있습니다 에 PoS2.0에서 지분 개질제는 또한 지역을 통과하여 전면을 변경하는 것이 가능하다, 주로 이른바 "단거리"공격을 방지하기 위해 3.0에서 제거 된 시간 블록 이전의 블록을 포함 광업을 가로 지르는 시간을 차단하십시오.PoS2.0은 블록 시간과 거래 시간을 사용하여 UTXO의 나이를 결정합니다. 이는 이전 주화 연령과 약간 차이가 있습니다. 이는 UTXO가 스테이징에 필요한 최소 확인 수에 사용될 수 있음을 나타냅니다.PoS 3.0의 UTXO 시대는 더 단순 해지고 블록 높이에 따라 결정됩니다. 이렇게하면 블록 체인에서 정확성이 떨어지는 타임 스탬프가 도입되는 것을 피할 수 있고 "시한"공격을 효과적으로 예방할 수 있습니다. 또한 PoS3.0은 트랜잭션을 스테이크하기위한 OP_RETURN 지원을 추가하여 vout공개 키만 포함 할 수 있으며 반드시 pub-pubkey 스크립트 전체를 포함 할 필요는 없습니다.

번호 제목 글쓴이 날짜 조회 수
공지 큐바오(큐백x)Qrc20 코인 출금방법 [133] title: 퀀텀아이콘슈퍼스테이커 2021.02.24 6904
공지 [Q-helper] 퀀텀 코어의 수량이 맞지 않게 표시되는 오류 해결 방법 [1] title: 퀀텀아이콘슈퍼스테이커 2021.01.24 14019
공지 연이자 약5% 슈퍼스테이커 운영중입니다 수수료3%(0.5개당0.015개) [11] title: 퀀텀아이콘슈퍼스테이커 2020.12.15 6610
공지 글쓰기 레벨 안내입니다. [59] QTUM 2019.07.09 8382
6049 x86 가상머신은..나쁘지 않다고 하네요. [6] Bonohan 2018.04.19 931
6048 믿거나 말거나 차트분석 .. 마지막 차트 분석입니다. [41] 오뽀 2018.04.19 1499
6047 솔직히 이클이랑 비비는거 자체가 짜증나지않나요? [15] title: 패트릭 캐리커쳐큐빠 2018.04.19 1134
6046 맛히즈 [13] 버섯오빠 2018.04.19 816
6045 미래금융토론 뉴스 링크입니다 Newboyz 2018.04.19 282
6044 물타기들 많이 하셨나요 [10] 메세나폴리스 2018.04.19 905
6043 추매할 여력도 없고 80층 물려있는 흑우인데요... [12] 램파드 2018.04.19 778
6042 퀀텀 가격을 맞춰라 이벤트 당첨자 및 2차 이벤트 안내 [2] title: 퀀텀아이콘퀀텀지킴이 2018.04.19 568
6041 메인화면 시세 창 수정 건의 [6] title: 퀀텀아이콘향변 2018.04.19 304
6040 monaco 빗썸 업빗 상장하네요. [6] galaxy 2018.04.19 432
6039 x86 관하여 [10] title: 가즈아~치칙 2018.04.19 674
6038 유튜브 보다가~ [9] 으랏차차 2018.04.19 643
6037 다들 길게 보시고 들어온거잖아요 [16] 퀀텀10만원가자 2018.04.19 990
6036 [퀀텀트윗&블로그]Qtum in Silicon Valley [2] 가자100 2018.04.19 694
6035 가격을 맞춰라 현재 제가 1등인가요 ㅎㅎ [25] 용맹한 2018.04.19 858
6034 이런일도 있네요 ㅎ [1] 농발백 2018.04.19 570
6033 죄송합니다..질문란에 보시고 초보한테 조언좀해주세요.. [19] 엠세마리 2018.04.19 530
6032 현시간 퀀텀 거래량 [15] 맥스파이시 2018.04.19 984
6031 코네 포스 이자 가관이네요... [14] 사자아저씨 2018.04.19 831
6030 시총 1조 퀀텀 창업자, 2만5000% 수익 낸 고수 … 블록체인 거물 온다 [2] title: 스텔라쿵 캐리커쳐 #1비탈릭부테린 2018.04.19 1660

포인트랭킹

순위 닉네임 포인트
1위 title: 스텔라쿵 캐리커쳐 #1타이어 7443495점
2위 슈퍼비트 6480300점
3위 title: 퀀텀아이콘빵먹는곰돌이 6440344점
4위 title: 스텔라쿵 캐리커쳐 #1미스릴 6192546점
5위 불꽃 6090000점
6위 지금감사 5822300점
7위 title: 퀀텀아이콘봄이 5476150점
8위 밀키웨이 3047900점
9위 빵상 2975450점
10위 대바기 2728250점