작업 증명 설명. 작업 증명 장단점

합의 알고리즘은 네트워크의 트랜잭션을 검증 할 권한 단위가 없기 때문에 모든 블록 체인 기반 기술의 본질적인 부분입니다. 합의 알고리즘은 네트워크의 분산 문제 해결 기능을 제공하기 위해 여기에 있습니다. 각 특정 블록 체인 기반 프로젝트에 적용되는 합의 알고리즘의 중요성을 과소 평가할 수 없습니다. 비트 코인은 이더 리움 블록 체인에 대한 최초의 합의 알고리즘 인 Proof of Work를 사용하고 있습니다. 사람들은이 합의 알고리즘이 가치가 있거나 다른 옵션을 사용하는 것이 더 나은지 토론합니다.

작업 증명의 초기 역사

Proof of Work에 가까운 알고리즘의 첫 번째 예는 1993 년에 Cynthia Dward와 Moni Naor가 " 스팸 방지를위한 메모리 경계 기능" 이라는 과학 논문에서 스팸 방지 솔루션을 제안했습니다. 이 백서에 설명 된 방법은 메시지의 알 수없는 보낸 사람이 보낸 사람이 스팸 발송자가 아님을 증명하기 위해 자신의 CPU 전원 (예 : 10 초)의 시간을 소비해야한다고 가정합니다.

Dward and Naor에 따르면 스패머는 10 초의 CPU 시간을 소비하면 오늘날 보낼 수있는 무제한 스팸 메시지 대신 하루에 최대 8 천 개의 스팸 메시지 만 보낼 수 있습니다. 작업 증명 뒤의 기능을 확인하는 것은 어렵지 않지만 컴퓨팅은 스팸 발송자에게는 골치 아픈 일입니다.

작업 증명이라는 용어는 1999 년에 만들어졌습니다. "작업 증명 및 빵 푸딩 프로토콜" (저자 Markus Jakobsson 및 Ari Juels)이라는 기사에서 등장했습니다. 작업 증명이라는 개념은 "확인자"가 지정된 시간 경과시 수행 된 필수 컴퓨터 작업의 증거를 "확인자"에게 제공해야한다고 가정합니다. 이 개념은 상당히 흥미로워 보였지만 Bitcoin을 만들 때까지 신뢰를 가지지 않고 분산 합의에 의해 통제되는 네트워크를 만들기 위해 작업 증명에 크게 의존 할 때까지 실현되지 않았습니다.

비트 코인 및 작업 증명

작업 증명은 정확성을 쉽게 확인할 수있는 데이터 조각을 생산하는 데 많은 비용과 시간이 소요되는 합의 알고리즘입니다. Hashcash 작업 증명 시스템은 스팸 봇으로부터의 구원으로 만들어졌지만 결국 Bitcoin 네트워크의 필수품이되었습니다.

사람들이 서로 동전을 보내는 동안 원장은 거래 블록 형태로이 정보를 반영합니다. 이러한 거래의 검증을 위해서는 일부 근로자의 참여가 필요합니다.

트랜잭션 ( "광부")을 검증하려는 사람들은 목표에 도달하기 위해 작업 증명 절차를 실행해야합니다. 하나의 작업자는 하나의 노드입니다. 이 작업 (작업)의 어려움은 유연하므로 10 분마다 새 블록을 생성해야합니다. 광부 수가 엄청나게 크고 10 분의 시간 경과가 비교적 짧기 때문에 어떤 블록 (광부)이 새로운 블록을 생성 할 것인지 (블록의 모든 트랜잭션 확인) 어떤 작업자 (광부)가 될지 예측하기가 매우 어렵습니다.

작업 증명의 메커니즘

새로운 블록 마이너를 생성하려면 트랜잭션 블록에 올바른 해시를 제공해야합니다. 이를 위해 광부는 nonce가 한 번만 사용되는 임의의 숫자 (Bitcoin 네트워크는 0에서 4,294,967,296 사이의 정수를 nonce로 사용함)이고 hash는 64 개의 문자열 (혼합) 인 nonce 및 hash 함수를 계산해야합니다. 암호화 된 데이터를 포함하는 숫자 및 문자).

블록 체인의 블록에는 개별 해시가 있습니다 (해시를 "id"라고 함). 모든 해시는 블록을 성공적으로 검증 한 결과 생성됩니다. 다음 블록을 확인하기 위해 광부는 최신 블록을 현재 블록에 추가하여 거대한 텍스트 블록을 만듭니다. 그런 다음 nonce (임의의 숫자)가 텍스트 블록 끝에 추가됩니다. 이 텍스트는 이전 블록 해시, 확인을 기다리는 새 트랜잭션 및 nonce로 구성됩니다. 계산이 시작되는 곳입니다. 계산 중에 작업자는 문자열 앞에 올바른 0이 정의 될 때까지 난수를 변경합니다.

이 작업의 어려움을 과소 평가해서는 안됩니다. 앞에서 언급했듯이, 난이도는 광부의 수와 장비의 전력에 관계없이 각 문제가 10 분마다 한 번만 해결되는 수준으로 설정됩니다. 이 작업을 수행하려면 컴퓨터가 매초 수백만 개의 해시를 생성해야합니다.

일부 노드가 필요한 작업을 올바르게 실행했는지 확인하려면 유효성 검사 결과와 숫자가 아닌 문자열이 필요합니다. 이 두 값에 함수를 적용하면 문자열 앞에 0이 표시됩니다. 이 숫자가 정확하면 작업이 잘 완료된 것입니다. 누군가 의도가 좋지 않고 체인에 잘못된 데이터를 추가하려고 시도하면 다른 채굴 참가자가 중지합니다. 이 계획은 10 년 동안 Bitcoin 블록 체인을 성공적으로 보호했습니다. SHA-256 알고리즘을 특별하게 만드는 것은 아무도 블록의 단일 정보조차도 비밀리에 변경할 수 없다는 것입니다. 그래서이 원장을 불변이라고합니다.

작업 증명의 단점

PoW가 요구하는 엄청난 전력 소비가 단지 자원 낭비라고 생각할 수는 없습니다. 그럼에도 불구하고, 우리는 Proof of Work가 거래를 검증하는 동안 0의 수를 추측하기 위해 엄청난 양의 에너지를 소비한다는 사실을 무시할 수 없습니다. 현재 비트 코인 네트워크는 기존 머니 시스템보다 3 배 적은 에너지를 소비 하지만 비트 코인이 대량 채택 될 것으로 예상되면 에너지 소비가 크게 증가 할 것입니다. 어쨌든 Bitcoin은 전통적인 은행을 대체하지 않으므로 Bitcoin 덕분에 소비가 증가합니다.

다른 문제는 채굴을 위해 CPU, GPU 또는 ASIC 장치를 사용하는 개인이 수십만 대의 장치를 사용하여 채굴 풀과 경쟁해야 할 때 새로운 블록을 찾고 보상을받을 가능성이 너무 적다는 것입니다. 채굴의 약 절반은 비교적 적은 수의 채굴 풀에서 발생합니다. 이 풀의 소유자가 해시 파워를 사용하여 Bitcoin 블록 체인을 통합하고 지배하기로 결정하면 그렇게 할 위험이 있습니다. 해시 성능이 50 % 이상인 기관이 실제로 블록 체인을 제어 할 수 있습니다. 이러한 침입을 51 % 공격이라고합니다.

또 다른 주목할만한 사실은이 나라는 전기가 저렴하기 때문에 해싱 전력의 70 %가 중국에서 온다는 것입니다. 그것은이 나라에 비트 코인 채굴의 이점을 제공하고 분권화 수준을 줄입니다.

결론

Proof of Work는 실제로 합의 알고리즘의 비용으로 인해 거래를 검증하고 네트워크가 올 바르고 원활하게 작동 할 수있는 다른 방법을 생각할 수 있지만 실제로 악의적 인 행위자로부터 네트워크를 보호합니다. 다른 블록 체인 프로젝트에 이미 다른 여러 합의 알고리즘이 적용되어있는 것도 당연합니다. PoW의 가장 중요한 경쟁자는 지분 증명입니다.