아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


숙연한낙지298

숙연한낙지298

볼록생성시간과 난이도의 상관관계가 알고싶습니다.

채굴 난이도가 올라가면 거래속도가 증가하여 블록생성시간이 짧아져서

블록이 동시에 생성될 가능성이 높아져서 트랜잭션의 확인을 지연시킨다는데요.

블록이 많이 생성되면 트랜잭션 확인 속도가 증가하지 않고 오히려 감소하는 이유가 궁금합니다.

    3개의 답변이 있어요!

    • 강한딩고17

      강한딩고17

      안녕하세요?

      채굴 난이도가 올라가면 거래속도가 증가하여 블록생성시간이 짧아져서 블록이 동시에 생성될 가능성이 높아져서 트랜잭션의 확인을 지연시킨다는데요.

      • 질문에 약간의 혼선이 있으신 것 같습니다. 채굴의 난이도가 올라가면 블록의 생성속도가 길어지게 됩니다. 난이도가 올라간다는 얘기는 찾아야 할 목표값을 구하기가 어렵다는 의미입니다. 보통은 10분정도에 블록하나를 생성하도록 소프트웨어적으로 셋팅되어 있지만 이보다 더 걸릴 수 있습니다. 즉 블록의 생성시간이 늘어나기 때문에 트랜잭션의 Confirm시간이 길어질 수 있습니다.

      블록이 많이 생성되면 트랜잭션 확인 속도가 증가하지 않고 오히려 감소하는 이유가 궁금합니다.

      • 블록이 동시에 생성될 가능성이 높아진다는 얘기는 채굴 난이도가 낮아져 동시에 넌스값(목표값)을 찾는 노드가 많아질 수 있습니다. 즉 동시에 블록을 생성시킬 확률이 높아진다는 얘기입니다. 이런 경우를 Folk라고 하며, 동시에 발생한 두개의 블록뒤에 어떤 블록이 더 많이 붙는지를 확인하는 Longest chain 결정과정이 필요하며 6블록이 먼저 붙는 체인을 사용하게 되므로 최대 1시간 가량 거래 확인이 늦어지는 것입니다.

      감사합니다.

    • 질문자께서 질문해 주신 내용에 대한 답변을 드리도록 하겠습니다.

      1. 일단 블록생성과 난이도와의 상관성에 대한 설명은 다음과 같습니다. 비트코인의 경우 새로운 블록이 생성되기 까지의 시간이 균 10분 정도로 유지되고 있는데요, 비트코인의 채굴이 주어진 연산 문제를 무작위로 답을 대입해서 푸는 것처럼 이루어진다고 할 때 약 2016 블록(2주) 마다 적정 난이도를 유지하고 있는지 평가를 해서 블록 생성 타임이 평균 10분 보다 빠르다면 채굴 난이도가 높아지고, 평균 10분 보다 느리다면 채굴 난이도가 낮아지는 방식으로 조정된다고 할 수 있습니다.

      2. 다음으로 블록이 동시에 생성되어 트랜젝션의 처리 속도가 지연되는 것에 대해 설명드리도록 하겠습니다. 앞서 말씀드렸듯이 비트코인 채굴의 과정은 연산 문제를 내고 그것을 누가 먼저 푸느냐를 겨루는 시험과도 같이 이루어집니다. 따라서 어느 한 노드가 문제를 빨리 풀고 블록을 생성하면 괜찮겠지만 전 세계의 수 많은 노드들이 연산을 수행하고 있으므로 그 과정에서 우연히 노드들이 블록을 동시에 생성되게 될 수 있습니다. 이때 문제가 생기는데, 분명 갈래가 없었던 도로가 두 갈래로 나뉘는 것처럼 분기(folk)가 일어날 수 있기 때문입니다.

      3. 이때 어떤 블록을 이전 블록과 연결되는 정당하고 유효한 메인체인으로 봐야하는가 할 때 체인의 길이를 따져봐야 합니다. 예를들어 A라인의 블록보다 B라인의 블록이 하나라도 더 많은 트랜젝션을 포함하고 있다면 이 블록이 메인체인으로 인정받게 됩니다.

      4. 왜냐하면 A라인의 블록의 거래 내역은 B라인의 블록에 모두 포함되어 있지만, B라인의 블록의 거래 내역은 A라인의 거래 내역에 모두 포함되지 않기 때문입니다.

      5. 즉, B라인의 블록이 하나라도 더 많은 트렌젝션을 포함하고 있는 상태에서 A라인의 블록을 메인체인으로 인정하게 되면 이미 처리된 그 하나 더 많은 트랜젝션이 무효가 되어버리기 때문이죠. 따라서 블록체인에서는 체인의 길이를 비교해서 B라인의 블록을 메인체인으로 인정하게 되며 A라인의 블록은 고아 블록이 되어 생성된 블록으로 인정받지 못하게 됩니다. 그리고 이러한 블록의 재구성 과정에서 트랜젝션의 처리가 느려지게 되는 것입니다.

      답변이 도움이 되길 바랍니다.

    • 안녕하세요. 블록생성과 난이도의 상관관계는 난이도가 높을 수록 블록의 생성시간이 길어지겠죠. 다만 난이도가 무한정으로 높아지는 것은 아닙니다. 비트코인의 경우 2016개의 생성된 블록마다 난이도 조정이 이루어지는데 평균적으로 생성되는 블록시간을 10분으로 설계하고 있습니다. 2016개 총 블록의 생성 시간이 약 10분아래로 내려간다면 2016개 블록 생성 이후 난이도는 10분을 맞추기 위해서 더 올라가겠죠. 이런식으로 난이도 조정이 이루어지게 됩니다. 비트코인은 이러한 방법으로 블록생성과 난이도에 대한 조정을 하게 되죠.