도지코인(DOGE)은 발행량 상한이 없어요. 도지코인 코어 정식판 v1.14.9의 보상 함수는 600,000번 블록부터 블록마다 최대 1만 DOGE를 새로 지급하고, 이 지급이 끝나는 블록 높이를 따로 두지 않았어요. 목표 블록 간격 1분으로 계산하면 1년에 52억 5,600만 개가 늘어나요. 2026년 10월 8일 오전 11시 10분(한국 시각), 블록 높이 6,406,052 기준으로 탐색기가 보여 준 공급량은 약 1,562억 3,302만 개라서 1년 증가분은 그 3.4% 정도예요. 같은 개수가 계속 더해지는 구조라 공급이 커질수록 이 비율은 낮아져요.
같은 날 오전 11시 9분부터 16분 사이(한국 시각)에 도지코인 코어 공식 저장소에서 소스를 받아 확인한 내용을 먼저 요약하면 이래요.
- 지금 보상: 600,000번 블록부터 블록당 최대 10,000 DOGE예요. 코드 주석은 이 구간을 「Constant inflation」, 곧 일정한 인플레이션이라고 불러요.
- 그 전 보상: 145,000번부터 599,999번까지는 10만 블록마다 절반이 되는 고정 보상(25만 개에서 15,625개까지)이었고, 그보다 앞의 1번부터 144,999번까지는 이전 블록 해시로 정한 무작위 보상이었어요.
- 100억 개 상수: 코드에 MAX_MONEY라는 100억 DOGE 상수가 있지만, 거래 하나에 담기는 금액을 검사하는 범위 값이에요. 지금 공급량이 이미 그 15배를 넘어요.
- 지금까지 나온 양: 코드대로 더한 기대값은 높이 6,406,052까지 약 1,565억 개이고, 탐색기 값과는 0.17% 차이가 나요. 초기 무작위 구간 때문에 정확한 합은 코드만으로 구할 수 없어요.
- 1년 증가분: 하루 1,440블록이면 하루 1,440만 개, 1년 52억 5,600만 개예요. 실제 블록이 1분보다 늦게 쌓이면 그만큼 적어요.
이 글은 소스에 적힌 값과 식을 옮기고, 합계와 비율은 그 값으로 직접 계산해 그 자리에 이 글의 계산이라고 적었어요. 탐색기 숫자는 블록 높이와 공급량을 대조하는 데만 썼어요. 공급이 늘어나는 속도와 가격의 관계는 다루지 않고, 도지코인 매수나 매도를 권하지도 않아요.
![]()
이 글이 읽은 파일
2026년 10월 8일 오전 11시 9분(한국 시각)에 아래 파일을 받았어요. 조회 시점 GitHub 정식판 가운데 가장 최근 것은 2024년 12월 1일(UTC) 공개된 v1.14.9였어요. 같은 보상 함수를 기본 브랜치인 master와 유지보수 브랜치 1.14-maint에서도 받아 대조했는데, 글자 하나 다르지 않았어요.
| 파일 | 이 글에서 본 것 |
|---|---|
| src/dogecoin.cpp | 블록 보상 함수 GetDogecoinBlockSubsidy, 무작위 수를 뽑는 함수 |
| src/chainparams.cpp | 메인넷 반감 간격, 목표 블록 간격, 145,000번부터 바뀌는 설정 |
| src/amount.h | 1 DOGE를 이루는 최소 단위 수, MAX_MONEY 상수와 주석 |
| src/validation.cpp | MAX_MONEY 범위 검사가 쓰이는 자리, 블록 보상 검사 |
| 1.21-dev 브랜치 amount.h | 같은 상수에 붙은 다른 주석(개발 브랜치, 정식판 아님) |
amount.h 18행에 따르면 1 DOGE는 최소 단위 1억 개로 이뤄져요. 코드의 금액은 모두 이 최소 단위로 계산되고, 아래에서는 DOGE로 바꿔 적었어요.
블록 보상은 높이에 따라 세 구간으로 나뉘어요
도지코인의 새 코인은 블록 보상으로 생겨요. 블록을 만든 채굴자가 블록의 첫 거래(코인베이스)로 보상을 받아 가는데, 받을 수 있는 금액을 정하는 함수가 dogecoin.cpp 127-149행의 GetDogecoinBlockSubsidy예요. 이 함수는 블록 높이를 10만으로 나눈 몫(반감 횟수)을 먼저 구하고, 높이에 따라 세 갈래 중 하나로 보상을 돌려줘요.
| 구간(블록 높이) | 보상 방식 | 블록당 보상(DOGE) | 근거 |
|---|---|---|---|
| 1번부터 99,999번 | 이전 블록 해시로 정한 무작위 값 | 2개부터 100만 개 사이 | dogecoin.cpp 131-141행 |
| 100,000번부터 144,999번 | 같은 방식, 최대치가 절반 | 2개부터 50만 개 사이 | 같은 곳 |
| 145,000번부터 599,999번 | 10만 블록마다 절반이 되는 고정값 | 25만 개에서 15,625개로 | 142-144행, chainparams.cpp 127-128행 |
| 600,000번부터 | 고정값, 끝나는 높이 없음 | 1만 개 | 145-148행 |
1번부터 144,999번: 이전 블록 해시로 정한 무작위 보상
145,000번 블록 전에는 보상이 무작위였어요. 함수의 첫 갈래(131-141행)에는 「이전 블록 해시에서 유도한 옛 방식 보상」이라는 주석이 붙어 있어요. 이전 블록 해시를 16진수 글자로 쓴 뒤 8번째 글자부터 7글자를 떼어 숫자로 바꾸고, 그 숫자를 씨앗 삼아 메르센 트위스터라는 난수 생성기를 돌려 1부터 최대치 사이의 정수 하나를 뽑아요(16-21행). 최대치는 100만을 반감 횟수만큼 절반으로 줄인 뒤 1을 뺀 값이라, 99,999번 블록까지는 999,999이고 100,000번부터는 499,999예요. 여기에 1을 더한 값이 보상이라서 블록 하나의 보상이 2개부터 100만 개(뒤 구간은 50만 개)까지 들쭉날쭉했어요.
이 구간에 실제로 어떤 값이 나왔는지는 블록마다 이전 해시로 정해지기 때문에, 코드만 보고는 정확한 합을 알 수 없어요. 무작위 값이 고르게 나온다고 보고 평균을 쓰면 144,999블록의 기대 합계는 약 612억 4,964만 개예요. 모든 블록이 최소치였다면 289,998개, 최대치였다면 1,224억 9,900만 개가 되는 범위예요(이 글의 계산).
145,000번부터 599,999번: 10만 블록마다 절반
메인넷 설정(chainparams.cpp 125-131행)은 145,000번 블록부터 「단순 보상」 설정(fSimplifiedRewards)을 켜요. 이 설정이 켜지면 보상 함수는 두 번째 갈래(142-144행)로 가서 50만 개를 반감 횟수만큼 절반으로 줄인 값을 줘요. 반감 간격은 같은 파일 79행이 정한 10만 블록이에요.
| 구간 | 블록 수 | 블록당 보상(DOGE) | 구간 합계(DOGE) |
|---|---|---|---|
| 145,000-199,999번 | 55,000 | 250,000 | 137억 5,000만 |
| 200,000-299,999번 | 100,000 | 125,000 | 125억 |
| 300,000-399,999번 | 100,000 | 62,500 | 62억 5,000만 |
| 400,000-499,999번 | 100,000 | 31,250 | 31억 2,500만 |
| 500,000-599,999번 | 100,000 | 15,625 | 15억 6,250만 |
| 합계 | 455,000 | 371억 8,750만 |
145,000번은 반감 횟수가 1인 구간(100,000-199,999번) 안에 있어서 첫 줄이 50만 개가 아니라 25만 개에서 시작해요. 이 구간에는 무작위가 없어서 합계가 371억 8,750만 개로 딱 떨어져요. 앞 구간 기대값과 합치면 600,000번 블록 직전까지 약 984억 개예요(이 글의 계산). 블록사이퍼 탐색기의 블록 시각으로 보면 145,000번 블록은 2014년 3월 18일 오전 7시 17분(한국 시각)에 쌓였어요.
600,000번부터: 블록마다 1만 개, 끝나는 높이 없음
600,000번 블록부터는 세 번째 갈래(145-148행)로 가요. 이 갈래는 「Constant inflation」이라는 주석 한 줄과 return 10000 * COIN; 한 줄이 전부예요. 블록 높이가 얼마든 1만 DOGE를 돌려주고, 이 갈래를 끝내는 높이 조건은 함수 어디에도 없어요. 반감 간격 10만 블록을 쓰는 것은 앞 구간까지이고, 600,000번부터는 절반 줄이기를 멈추고 같은 금액을 계속 주는 구조예요.
600,000번 블록은 탐색기 블록 시각으로 2015년 2월 26일 오전 1시 21분(한국 시각)에 쌓였어요. 블록체어 탐색기의 블록 정보에서 599,999번 블록의 새 발행분은 15,625개, 600,000번은 10,000개로 나와 코드가 정한 경계와 맞았어요.
여기서 1만 개는 블록이 받을 수 있는 최대치예요. validation.cpp 1996-2001행은 코인베이스가 「수수료와 블록 보상의 합」을 넘으면 블록을 거부하지만, 덜 받아 가는 것은 막지 않아요. 수수료는 이미 있던 코인이 옮겨 가는 것이라 새로 생기는 양에 들어가지 않아요. 2026년 10월 8일 오전 11시 10분과 11시 11분에 dogechain.com 탐색기(옛 주소 dogechain.info)의 공급량을 두 번 조회했을 때, 블록이 6,406,052번에서 6,406,053번으로 하나 쌓이는 사이 공급량은 정확히 1만 개 늘었어요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
100억 개 상수는 발행 한도가 아니에요
도지코인 소스에서 개수 한도처럼 보이는 숫자로는 amount.h 32행의 MAX_MONEY가 있어요. 값은 100억 DOGE예요. 그런데 그 줄에 붙은 주석은 이렇게 적혀 있어요.
Dogecoin: maximum of 100B coins (given some randomness), max transaction 10,000,000,000
앞부분은 「무작위성을 감안해 최대 1,000억 개」, 뒷부분은 「거래 최대 100억」이라는 뜻이에요. 상수 값(100억)과 주석 앞부분(1,000억)이 서로 다르고, 어느 쪽도 지금 공급량(약 1,562억 개)을 막지 못해요. 주석의 1,000억은 앞에서 계산한 600,000번 블록 직전까지의 기대 합계(약 984억 개)와 가까운 숫자지만, 이 주석이 언제 어떤 이유로 쓰였는지는 이 글이 확인하지 않았어요.
이 상수가 실제로 하는 일은 같은 파일 33행의 MoneyRange 함수와 validation.cpp에 나와요. MoneyRange는 금액이 0 이상이고 MAX_MONEY 이하인지만 봐요. validation.cpp 538-548행은 거래의 출력 하나가 100억 개를 넘거나 출력 합계가 100억 개를 넘으면 그 거래를 무효로 보고, 1440-1457행은 입력 금액과 수수료 합계에도 같은 범위 검사를 해요. 그러니까 MAX_MONEY는 거래 하나에 담을 수 있는 금액의 범위이고, 지금까지 발행된 총량을 세는 값이 아니에요. 이 글이 읽은 네 파일 안에서는 발행 총량을 세어 막는 검사를 찾지 못했어요.
amount.h 23-31행 주석도 같은 이야기를 해요. 비트코인에서 물려받은 이 주석은 「이 상수는 총 통화 공급량이 아니라 온전성 검사(sanity check)」라고 적었고, 비트코인의 실제 총량도 여러 이유로 2,100만 BTC보다 적다고 덧붙였어요. 정식판은 아니지만 개발 브랜치 1.21-dev의 amount.h 25행은 같은 상수에 아래 주석을 달았어요.
Dogecoin: total supply is not finite, but we constrain maximum single transaction to 10,000,000,000
「총공급은 유한하지 않지만, 거래 하나의 최대는 100억으로 제한한다」는 뜻이에요. 같은 브랜치의 보상 함수는 첫 갈래의 조건과 이전 해시에서 씨앗을 꺼내는 방법이 다르고, 25만 개부터의 반감 값과 1만 개 고정 보상은 v1.14.9와 같았어요.
지금까지 몇 개가 나왔나요
코드의 세 구간을 2026년 10월 8일 오전 11시 10분(한국 시각) 블록 높이 6,406,052까지 더하면 아래와 같아요. 600,000번부터 6,406,052번까지는 5,806,053블록이라서 고정 보상 구간만 580억 6,053만 개예요.
| 구분 | 개수(DOGE) | 성격 |
|---|---|---|
| 무작위 구간(1-144,999번) | 약 612억 4,964만 | 평균을 가정한 기대값 |
| 반감 구간(145,000-599,999번) | 371억 8,750만 | 코드로 정해진 값 |
| 고정 구간(600,000-6,406,052번) | 580억 6,053만 | 블록마다 1만 개를 다 받았다고 볼 때 |
| 코드 기대 합계 | 약 1,564억 9,767만 | 이 글의 계산 |
| dogechain.com 공급량 | 약 1,562억 3,302만 | 같은 높이, 11시 10분 조회 |
| CoinGecko 총공급 | 약 1,562억 3,290만 | 11시 10분 조회, 공급량 갱신 시각은 표시 안 됨 |
코드 기대 합계와 dogechain.com 값의 차이는 약 2억 6,465만 개, 비율로는 0.17%예요. 이 글은 이 차이가 어느 블록에서 생겼는지 확인하지 않았어요. 코드로 말할 수 있는 건 두 가지예요. 무작위 구간의 실제 합은 평균으로 잡은 기대값과 다를 수 있고, 블록 보상 검사는 최대치만 보기 때문에 덜 받아 간 블록도 유효해요.
비슷한 시각에도 집계처마다 숫자가 조금씩 달랐어요. 11시 10분에 함께 조회한 CoinGecko 총공급은 dogechain.com 값보다 약 12만 6천 개 적었는데, 블록 13개 분량에 가까운 차이예요. 11시 29분에 다시 조회했을 때 체인에는 블록이 14개 더 쌓였지만 CoinGecko 총공급은 그대로였으니, 이 항목은 체인보다 늦게 갱신되는 값으로 보여요. 공급량 숫자를 볼 때는 조회 시각과 블록 높이를 함께 확인하는 편이 좋아요. 시가총액과 유통량 숫자를 읽는 기본은 코인 시가총액·거래량 보는 법에 정리돼 있어요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
1년에 몇 개가 늘어나나요
chainparams.cpp 90행의 목표 블록 간격은 60초예요. 이 간격대로면 하루 1,440블록, 하루 1,440만 개, 1년(365일) 52억 5,600만 개가 새로 생겨요. 같은 개수를 공급량으로 나누면 연간 증가율이 나오는데, 공급이 커질수록 나누는 수가 커지니 비율은 내려가요.
| 공급량(DOGE) | 1년 증가분(DOGE) | 비율 |
|---|---|---|
| 1,562억 3,302만(높이 6,406,052) | 52억 5,600만 | 약 3.36% |
| 2,000억 | 52억 5,600만 | 2.63% |
| 3,000억 | 52억 5,600만 | 1.75% |
2,000억과 3,000억 줄은 공급량이 그만큼일 때를 가정한 나눗셈이에요. 목표 간격대로 이어 간다고 보면 1,000억 개가 더 늘어나는 데 약 19년이 걸리는 계산인데, 이것도 산수일 뿐 앞날을 예측한 값은 아니에요.
목표 간격과 실제 간격은 다를 수 있어요. 블록사이퍼 탐색기의 블록 시각으로 보면 2026년 10월 7일 오전 11시 9분부터 10월 8일 오전 11시 9분까지 24시간 동안 쌓인 블록은 1,363개였어요. 목표 1,440개보다 적어서, 블록마다 1만 개를 다 받았다고 보면 이 24시간에 늘어난 양은 1,363만 개예요(이 글의 계산). 블록 간격의 흐름이나 채굴 지표는 이 글에서 더 다루지 않아요.
비트코인과 나란히 보면
비교를 위해 같은 시각에 비트코인 코어 정식판 v31.1의 해당 줄도 받아 봤어요.
| 항목 | 도지코인 코어 v1.14.9 | 비트코인 코어 v31.1 |
|---|---|---|
| 보상 방식 | 600,000번부터 블록당 최대 1만 DOGE 고정 | 21만 블록마다 절반 |
| 보상이 끝나는 지점 | 코드에 없음 | 반감을 거듭해 0이 됨 |
| 목표 블록 간격 | 1분 | 10분 |
| MAX_MONEY | 100억 DOGE, 금액 범위 검사 | 2,100만 BTC, 금액 범위 검사 |
| 공급량과 MAX_MONEY | 공급량이 상수의 약 15.6배 | 실제 총량이 상수보다 적음 |
비트코인 쪽 근거는 kernel/chainparams.cpp 84행과 98행, validation.cpp 1843-1854행, consensus/amount.h 26행이에요. 두 코인 모두 같은 이름의 상수와 같은 모양의 범위 검사를 쓰지만, 비트코인은 보상이 줄어 0이 되는 구조라서 총량이 상수 아래에 머물러요. 도지코인은 상수(100억)가 코드가 정한 발행 일정보다 훨씬 작게 잡혀 있어요. 이 글의 계산으로는 600,000번 블록 직전까지 이미 약 984억 개라서, 공급량은 고정 보상이 시작되기 전에 상수를 넘었어요. 600,000번부터는 보상이 멈추지 않으니 그 차이가 계속 벌어지고 있어요. 비트코인 보상을 끝까지 더한 계산은 비트코인 발행량을 코어 코드대로 끝까지 더한 글에, 반감기의 기본 개념은 비트코인 반감기 기초 정리에 따로 있어요. 도지코인이 밈코인으로 묶이는 배경은 밈코인과 알트코인 차이에서 다뤘어요.
정리
| 질문 | 답 | 근거 |
|---|---|---|
| 도지코인 발행량에 상한이 있나요 | 없어요. 600,000번 블록부터 1만 개 고정 보상이 끝나는 높이 없이 이어져요 | dogecoin.cpp 145-148행 |
| 지금 블록마다 몇 개가 생기나요 | 최대 1만 DOGE예요. 덜 받아 가도 블록은 유효해요 | dogecoin.cpp 147행, validation.cpp 1996-2001행 |
| 도지코인도 반감이 있었나요 | 145,000번부터 599,999번까지 10만 블록마다 절반(25만 개에서 15,625개까지)이었고, 600,000번에서 멈췄어요 | dogecoin.cpp 142-144행, chainparams.cpp 79행 |
| 초기 보상은 왜 들쭉날쭉했나요 | 144,999번까지는 이전 블록 해시로 정한 무작위 값(2개부터 100만 개 사이)이었어요 | dogecoin.cpp 16-21행, 131-141행 |
| 100억 개 상한이라는 말은 뭔가요 | MAX_MONEY 상수예요. 거래 하나의 금액 범위 검사이고, 공급량은 이미 그 15배를 넘어요 | amount.h 32-33행, validation.cpp 538-548행 |
| 지금 몇 개가 있나요 | 높이 6,406,052 기준 약 1,562억 3,302만 개(탐색기 대조값)예요 | dogechain.com, 2026년 10월 8일 오전 11시 10분 |
| 1년에 몇 개 늘어나나요 | 목표 간격대로면 52억 5,600만 개, 높이 6,406,052 기준 공급의 약 3.36%예요 | chainparams.cpp 90행, 이 글의 계산 |
이 글이 다루지 않은 것
- 1만 개 고정 보상을 언제, 누가, 어떤 논의로 정했는지는 릴리스 노트나 커밋 기록을 열지 않아서 쓰지 않았어요. 600,000번 블록이 쌓인 시각만 탐색기로 확인했어요.
- 잃어버린 키나 소각 주소로 간 코인, 거래소가 가진 물량처럼 코드가 표시하지 않는 양은 세지 않았어요.
- 보상 규칙을 바꾸자는 제안이 있는지는 확인하지 않았어요.
- 채굴 수익성, 가격, 시가총액 순위는 다루지 않았어요.
모든 내용은 2026년 10월 8일 오전 11시 9분부터 16분 사이(한국 시각)에 받은 도지코인 코어 v1.14.9 소스, 비교용 비트코인 코어 v31.1 소스, 같은 시각의 탐색기 조회값 기준이에요(CoinGecko 재조회만 11시 29분). 다음 판에서 코드가 바뀔 수 있어요.
이 글은 매매 권유가 아닌 정보 제공 글이에요. 가상자산은 변동성이 크고 원금 손실 위험이 있으며, 투자 판단은 본인 책임이에요.