작업 증명은 무엇을 의미합니까?
작업 증명 (Proof of Work)은 스팸 이메일 전송 또는 서비스 거부 (DoS) 공격 시작과 같은 컴퓨팅 성능의 경악하거나 악의적 인 사용을 막기 위해 중요하지 않지만 실행 가능한 노력이 필요한 시스템을 설명합니다. 이 개념은 2004 년 Hal Finney가 "재사용 가능한 작업 증명"이라는 아이디어를 통해 돈에 맞게 조정되었습니다. 2009 년에 소개 된 비트 코인은 Finney의 아이디어를 최초로 채택한 최초의 애플리케이션이되었습니다 (Finney는 최초의 비트 코인 거래의 수신자이기도 함). 작업 증명은 다른 많은 cryptocurrencies의 기초를 형성합니다.
작업 증명 설명
이 설명은 비트 코인 네트워크에서 작동하는 작업 증명에 중점을 둡니다. 비트 코인은 "블록 체인"으로 알려진 일종의 분산 원장에 의해 뒷받침되는 디지털 통화입니다. 이 원장에는 모든 비트 코인 거래 기록이 포함되어 있으며 순차적 인 "블록"으로 정렬되어있어 사용자가 보유한 자산을 두 번 사용할 수 없습니다. 위변조를 방지하기 위해 원장은 공개 또는 "배포"됩니다. 다른 사용자는 변경된 버전을 신속하게 거부합니다.
사용자가 실제로 변조를 감지하는 방식은 작업 증명으로 사용되는 긴 문자열 인 해시를 통해 이루어집니다. 해시 함수 (비트 코인은 SHA-256을 사용함)를 통해 주어진 데이터 세트를 넣으면 하나의 해시 만 생성합니다. 그러나 "avalanche effect"로 인해 원본 데이터의 일부만 약간만 변경해도 완전히 인식 할 수없는 해시가 발생합니다. 원래 데이터 세트의 크기에 관계없이 주어진 함수에 의해 생성 된 해시는 길이가 동일합니다. 해시는 단방향 함수입니다. 원래 데이터를 얻는 데 사용할 수 없으며 해시를 생성 한 데이터가 원래 데이터와 일치하는지 확인하는 데만 사용됩니다.
현대 컴퓨터에서는 비트 코인 트랜잭션 집합에 대한 해시 만 생성하는 것이 쉽지 않으므로 프로세스를 "작업"으로 전환하기 위해 비트 코인 네트워크는 특정 수준의 "어려움"을 설정합니다. 이 설정은 약 10 분마다 유효한 해시를 생성하여 새 블록이 "채굴"되고 (블록 체인에 추가됨) 조정됩니다. 해시에 대한 "대상"을 설정하면 난이도가 설정됩니다. 대상이 낮을수록 유효한 해시 세트가 작아지고 생성하기가 더 어렵습니다. 실제로 이것은 긴 문자열 0으로 시작하는 해시를 의미합니다. 예를 들어 블록 # 429818의 해시는 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d입니다. 이 블록에는 1, 000 개가 넘는 비트 코인과 2, 012 개의 트랜잭션과 이전 블록의 헤더가 포함됩니다. 사용자가 하나의 트랜잭션 금액을 0.0001 비트 코인으로 변경하면 결과 해시를 인식 할 수 없으며 네트워크는 사기를 거부합니다.
주어진 데이터 세트가 하나의 해시 만 생성 할 수 있기 때문에 광부는 어떻게 대상 아래에 해시를 생성하도록해야합니까? 이들은 nonce ("한 번 사용 된 숫자")라는 정수를 추가하여 입력을 변경합니다. 유효한 해시가 발견되면 네트워크에 브로드 캐스트되고 블록이 블록 체인에 추가됩니다.
채굴은 경쟁 과정이지만 경쟁보다는 복권에 가깝습니다. 평균적으로 누군가 10 분마다 수용 가능한 작업 증명을 생성하지만 누가 누구인지 추측 할 수 있습니다. 광부들이 함께 모여 마이닝 블록의 기회를 늘리면 거래 수수료가 발생하고 제한된 시간 동안 새로 생성 된 비트 코인에 대한 보상이 발생합니다.
작업 증명은 블록 체인의 모든 측면을 변경하기가 매우 어렵습니다. 왜냐하면 그러한 변경은 모든 후속 블록을 다시 채굴해야하기 때문입니다. 또한 해시 기능을 완료하는 데 필요한 기계 및 전력이 비싸기 때문에 사용자 또는 사용자 풀이 네트워크의 컴퓨팅 성능을 독점하기가 어렵습니다.