아하
생활

생활꿀팁

영험한불곰273
영험한불곰273

블록체인 작업증명에 대해서 질문드려요!

작업 증명 과정에서 nonce값을 1씩 증가시켜가면서 target값보다 작은 해시값이 도출되면 성공한 것이라고 공부하였는데요! 궁금한 점이 있어서 질문드려요.


1. target값은 어디에 저장되어 있는 값인가요?

2. target값은 어떻게 지정되는 것인가요?

3. 왜 target값보다 작은 값을 찾아야하나요??

    55글자 더 채워주세요.
    1개의 답변이 있어요!
    • 강한딩고17
      강한딩고17

      안녕하세요?

      답변1) 비트코인 메인넷에 접속하기 위한 비트코인 코어 소프트웨어를 다운로드 받으면 이안에 메인넷에 접속 및 운영을 위한 여러가지 소프트웨어와 모둘이 포함되어 있습니다. 이곳에 변수값 형태로 존재하며 이 값이 변하게 됩니다. 즉 각 노드들의 메모리에 변수값으로 상주합니다.

      답변2)

      • 2016개 블록마다 블록이 생성된 시간을 이전의 블록생성시간과 비교하여 20,160분(60*24*14)보다 작은 경우 현재가 어렵다는 뜻이므로 난이도 목표값을 높이고(위의 주사위 경우 8->12로 높힘)

      • 2016개 블록마다 블록이 생성된 시간을 이전의 블록생성시간과 비교하여 20,160분(60*24*14)보다 큰 경우 현재가 쉽다는 뜻이므로 난이도 목표값을 낮춥니다. (위의 주사위 경우 8->5로 낮춤)

      • 이 모든 과정은 소프트웨어에서 자동으로 이루어집니다. 예를 들면 현재 난이도값을 4로 나누어 나눈값을 현재 난이도값에 더하든지 빼든지 하는 과정입니다.

      답변3)

      두 주사위를 던졌을때의 12미만인 경우는 97%, 8미만인 경우는 58%, 5미만인 경우는 0.17%입니다.

      이때 12,8,5숫자를 목표값이라고 할 수 있는데 목표값이 작을 수록 주사위를 던져서 목표값을 충족시킬 확률이 점점 낮아집니다. 즉 답을 찾아내기가 어려워진다는 의미입니다.

      감사합니다.