카테고리 없음

비트코인 난이도는 어디까지 어려워질 수 있을까?

3min⚡️bitcoin 2025. 12. 12. 23:58

2025.12.12 - [분류 전체보기] - 비트코인 블록 헤더 - 난이도 목표 비트값

 

비트코인 블록 헤더 - 난이도 목표 비트값

비트코인 블록 헤더값 중 난이도 목표 비트값에 대해서 알아보자.2025.12.07 - [분류 전체보기] - 비트코인 블록 헤더 구조 분석 비트코인 블록 헤더 구조 분석비트코인은 블록체인으로 만들어져 있

3min-bitcoin.tistory.com

비트코인 난이도 목표 비트값에 대해 이전 글에서 알아봤다.

난이도 목표 비트값이 내려갈 수록 채굴 난이도는 올라간다.

 

분명 난이도 목표 비트값은 최저값이 분명 존재할텐데 그러면 어디까지 어려워질 수 있을까?

난이도 목표 비트값의 하한

현재 비트코인은 HASH256(sha256 더블해싱)으로 블록 헤더의 해시값을 구한다.

그러면 최소 목표 비트값은 1이 된다. 즉 모든 숫자가 0인 해시값을 찾을 때까지 돌리는게 하한이라는 뜻이다.

 

이를 블록 헤더의 난이도 목표 비트값으로 적어보면 0x03000001이 된다. 맨 앞 1바이트가 3인 이유는 위 공식 때문이다.

난이도 목표 target값 구하는 수식

하한에 도달하기 위해 필요한 해시레이트

그러면 난이도 목표 비트값의 하한에 도달하기 위해서는 대략적으로 어느정도의 해시레이트가 필요할까?

현재 927577 높이 블록의 난이도 타겟 bits 값은 0x1701E63A이다.

blockchain.com - hashrate

그리고 위 사진은 현재 12월 11일 기준 해시레이트이고, 1조 TH/s 정도 되고 이는 약 10^21 H/s 이다.

그러면 이론상 하한인 1에 도달할 때의 필요한 해시레이트는 얼마일까?

 

결론부터 말하자면 지금의 난이도 비트값만큼의 해시레이트를 더 추가해야 난이도 하한이 된다.

아래는 유도식이다.

 

타겟값을 대략 구해보면 1244730 * 2^160 이다. 계산의 편의성을 위해 10^54 정도로 타협 (0x1701E63A 를 풀어낸 값이다)

타겟값은 줄어들수록 어려워지는 것이니 비례식을 통해 구할때 역으로 계산해야 한다.
1/10^54(타겟값) : 10^21(해시레이트) = 1/1(이론상 하한) : X(이론상 필요 해시레이트)

X = 10^75

 

이론상 해시레이트가 지금의 10^54배(현재 난이도 목표 비트값) 정도 더 어려워져야 난이도 목표 비트값이 1이 된다.

언제쯤 도달하는가?

솔직히 반도체나 전기/전력 전문가가 아니라서 모르겠다.

다만 비트코인에는 급격히 난이도가 조절되는것을 막기위한 장치가 존재한다. 이는 pow.cpp 파일에 존재한다.

    // Limit adjustment step
    int64_t nActualTimespan = pindexLast->GetBlockTime() - nFirstBlockTime;
    if (nActualTimespan < params.nPowTargetTimespan/4)
        nActualTimespan = params.nPowTargetTimespan/4;
    if (nActualTimespan > params.nPowTargetTimespan*4)
        nActualTimespan = params.nPowTargetTimespan*4;

 

이 코드는 한 번에 최대 4배만큼 어려워지거나 4배 쉬워질 수 있다는 얘기다. 그 이상은 안된다.

난이도가 급격히 조절되는것을 방지하기 위해 방어로직으로 들어가 있다고 한다.

그러면 뭐 한 블록당 2.5분만에 계속 채굴되면 4배씩 계속 어려워질 수 있다.

한 블록당 1분만에 2016블록이 채굴되도 4배밖에 안어려워진다.

 

기술의 발전으로 갑자기 급격히 해시레이트가 늘어난다고 해서 4배씩 계속 어려워진다고 했을 때,

앞서 말한 10^54배 어려워지는 데 까지는 약 90번의 난이도 조절이 필요하다.

 

이런 기술이 등장한다면 비트코인 네트워크는 4배씩 90번의 난이도 조절이 되기 전에 대응해야 한다.

전기전력에 대해서 모르지만, 이는 사실상 불가능하다고 생각하여 현재 비트코인 데브 커뮤니티에서는 논의조차 안하는 것으로 알고 있다.

 

만약 비트코인 장부를 신뢰할 수 없게 공격하고 싶다면 위와 같은 기술을 개발하면 될 듯 싶다.

쓸 데 없지만, 재밌는 사실 😁

참고문헌

https://learnmeabitcoin.com/beginners/guide/difficulty/

 

Difficulty | What is the Difficulty in Bitcoin?

Difficulty What is the difficulty in Bitcoin? Current Difficulty: 148,195,306,640,204.69 The difficulty is a number that represents how difficult it is for miners to add new blocks of transactions to the blockchain. It adjusts every 2 weeks to ensure that

learnmeabitcoin.com

The difficulty will only adjust by a factor of 4 at most (i.e. a multiplier not greater than 4, or less than 0.25). This is to prevent abrupt changes from one difficulty period to the next.