nonce는 비트 코인과 같은 블록 체인 및 암호 화폐를위한 작업 증명 (PoW) 마이닝 알고리즘의 핵심 부분입니다. 광부는 서로 경쟁하여 네트워크 난이도로 설정 한 값보다 작거나 같은 값을 가진 해시를 생성하는 임시 값을 찾습니다.. 광부가 이러한 임시 값을 발견하면 황금 논스, 그런 다음 해당 블록을 블록 체인에 추가하고 블록 보상을받을 권리를 얻습니다..

nonce는 임의의 일회성 정수입니다. 광부는 매초 수백만 개의 nonce를 테스트하고 버립니다. 그들은 목표를 충족하는 해시 값을 생성하여 블록 보상을 받기를 희망합니다. 이것은 가장 기본적인 수준에서 PoW 채굴 중에 발생하지만 더 많은 것이 있습니다. 여기서는 마이닝 프로세스 전반에 걸쳐 nonce의 전체 목적을 살펴 보겠습니다..

Nonce가있는 빌딩 블록

nonce는 32 비트 숫자입니다. 난이도 목표 및 타임 스탬프와 같은 다른 주요 데이터와 함께 블록 헤더에 유지됩니다. 채굴자가 블록을 만들 때 무작위로 논스를 선택하여 블록 헤더에 입력하여 새로운 블록 헤더 해시를 생성합니다..

해시는 256 비트 숫자이며 엄청난 수의 0으로 시작해야합니다. 즉, 매우 작은 값을 가져야합니다. 충분한 수의 0이 없으면 광부는 해시를 버리고 새로운 임시 값을 시도합니다. 이 프로세스는 광부가 난이도에 의해 설정된 값보다 작거나 같은 값을 가진 해시를 생성하는 임시 값을 발견 할 때까지 반복됩니다..

블록 구조

nonce의 32 비트 크기는 가능한 조합이 40 억 개라는 것을 의미합니다. 기술적으로는 추가 임시 값. 이것은 긴 임시 값을위한 추가 공간입니다. 즉, 수백억 개의 조합을 가질 수 있습니다..

nonce는 채굴자가 변경하는 유일한 매개 변수이며 다른 모든 매개 변수는 정적으로 유지됩니다. 채굴자가 골든 논스를 찾으면 해당 블록을 블록 체인에 추가하고 블록 보상을받습니다. 현재로서는 올바른 임시 값을 찾는 프로세스의 속도를 높일 수있는 방법이 없습니다. 이것은 광부가 골든 임시 값을 찾을 때까지 시행 착오를 겪고 있음을 의미합니다. 이 과정은 작업, 작업 증명.

채굴 난이도와의 관계

우리가 말했듯이 광부는 네트워크 난이도로 설정된 값보다 낮은 해시를 생성하는 nonce를 찾으려고합니다. 비트 코인 프로토콜은이 채굴 난이도를 설정합니다. 난이도가 증가하면 해시의 목표 값이 감소합니다. 이것은 해시 번호 시작 부분에 더 많은 0이 있어야 함을 의미합니다. 더 낮은 해시 값을 찾을 확률이 감소하므로 채굴자는 더 많은 논스를 테스트해야합니다. 채굴자가 블록을 해시 할 때 해시 값이 목표 수보다 작거나 같아야 성공할 수 있습니다..

비트 코인을 채굴 할 때 난이도는 2016 년 블록마다 조정됩니다. 이것은 2 주마다 진행됩니다. 그러나 다른 PoW 블록 체인은 더 ​​빠른 조정이 있습니다. 예를 들어, 라이트 코인은 블록 시간이 짧기 때문에 3 일 반마다 난이도가 조정됩니다. 반면 Digibyte는 모든 블록에서 실시간으로 난이도를 조정합니다..

조정이 중요한 이유

난이도가 조정되지 않으면 해싱 파워와 블록 보상 사이에 선형 관계가있을 것입니다. 더 많은 채굴자가 네트워크에 가입하고 해싱 파워가 증가함에 따라 비트 코인 보상도 증가 할 것입니다. 이것은 비트 코인 프로토콜에 대한 인플레이션 통제와 그것의 건전한 돈 속성을 약화시킬 것입니다.

다행히 난이도 조정을 통해 2 주마다 블록 보상을 비교적 안정적으로 유지할 수 있습니다. 난이도는 더 낮게 조정할 수도 있습니다. 채굴 수익성이 사라지면 채굴자가 운영을 중단하고 해시 율이 떨어집니다. 난이도는 적절하게 조정됩니다. 우리는 비트 코인 네트워크에서 몇 달 동안 이것을보고 있습니다. 난이도 최고점 10 월 4 일.

비트 코인에서 2016 년 블록마다 비트 코인 클라이언트는 생성 될 각 블록의 실시간을 목표 시간과 비교합니다. 그런 다음 난이도를 적절하게 조정합니다. 목표는 가능한 정확히 10 분에 가까운 채굴자가 블록을 생성하도록하는 것입니다..

보안 해시 알고리즘에 의한 보호

SHA-256 알고리즘의 복원력은 채굴자가 시행 착오 프로세스의 속도를 높이고 속이는 것을 방지합니다. SHA-256은 보안 해시 알고리즘의 SHA-2 제품군에 속하며 2001 년 NSA에 의해 출시되었습니다.이 알고리즘이 암호화 해시 알고리즘의 SHA-1 클래스에서 발생한 것처럼 깨지면 PoW 프로세스가 손상됩니다..

해시 알고리즘을 중단하는 방법에는 여러 가지가 있습니다. 이를 통해 시행 착오 방법을 우회하고 정확한 논스를 훨씬 빠르게 찾을 수 있습니다.. 충돌 공격 이를 수행하는 가장 최신의 가장 효율적인 방법입니다..

보안 해시 알고리즘의 전체 목적은 해시의 고유성을 보장하는 것입니다. 데이터가 해시 될 때 입력은 완전히 고유 한 해시 번호를 생성해야합니다. 동일한 숫자를 복제 할 수있는 유일한 방법은 nonce를 포함하여 정확히 동일한 입력을 사용하는 것입니다. 그러나 충돌 공격은 다른 입력에서 동일한 해시를 생성 할 수 있음을 의미합니다. 악의적 인 행위자는 충분한 컴퓨팅 리소스로이를 수행 할 수 있습니다. 이것은 보안 해시 알고리즘의 목적을 완전히 훼손합니다..

해시 기능

이제 충돌 공격이 SHA-1 알고리즘에 대해 효과적인 것으로 나타 났으므로 더 이상 신뢰할 수 없습니다. 공격은 부분적으로 지난 10 년 동안 컴퓨터 성능이 크게 발전했기 때문에 가능했습니다..

어느 시점에서 컴퓨팅 성능이 충분히 증가하면 SHA-256도 이러한 공격에 취약해질 것입니다. 그러나 비트 코인 개발자는 이것이 일어나기 훨씬 전에 이것을 알아야합니다. 이는 실제 생활에서 실제로 작동하는 것으로 입증되기 전에 이러한 공격이 이론상 거의 항상 가능하다는 것을 보여주기 때문입니다. 그런 다음 비트 코인 코어 팀은 새롭고 더 강력한 알고리즘으로 전환해야합니다..

인터넷상의 대부분의 인증 프로토콜이 현재 SHA-2 알고리즘을 사용한다는 점도 주목할 가치가 있습니다. 그들이 하룻밤 사이에 취약 해 졌다면 우리는 비트 코인 채굴을 훨씬 넘어서는 주요 글로벌 문제에 직면 할 것입니다.

작업 증명의 가치

광부는 하드웨어를 사용하여 초당 수백만의 속도로 이러한 nonce를 테스트하고 있습니다. nonce를 빠르게 찾을 수있는 방법이 없다는 사실은 PoW를 개방적이고 공정한 시스템으로 유지합니다..

이 시스템의 장점은 올바른 가치를 해결하고 보상을 받기 위해 막대한 양의 에너지, 시간 및 자본이 필요하다는 것입니다. 그러나 동시에 다른 노드가 정확한 값을 확인하는 것은 매우 쉽습니다. 이 이분법은 네트워크를 안전하게 유지하고 합의를 달성하는 간단한 방법을 제공합니다..

궁극적으로 nonce는 비트 코인 채굴 과정의 작은 부분 일뿐입니다. 그러나 무결성을 유지하는 데 중요한 역할을합니다. nonce는 충분한 해시 값을 찾기 위해 채굴자가 변경하는 유일한 것입니다. 실제로 전체 설정에 대한 가속기, 브레이크 및 클러치입니다..