Testnet은 본 네트워크인 mainnet과 분리된 블록 기록과 잔액을 갖습니다. 흔히 TBTC라고 부르는 시험용 코인은 금전적 가치 없이 실험하도록 설계되었습니다. 조작 방법이 비슷해도 실제 BTC를 다룰 때와 신뢰성, 수수료, 안전성이 같다는 뜻은 아닙니다.
Anna는 자기 돈을 쓰기 전에 비트코인을 받고 보내는 방법을 익히고 싶습니다. Testnet을 지원하는 앱에서 별도의 시험용 지갑을 만듭니다. 소량의 시험용 코인을 나눠 주는 서비스인 faucet에서 코인을 받아 같은 네트워크의 Pavel에게 일부를 보냅니다. 실제 BTC를 쓰지 않고 주소, 거래, 확인을 기다리는 과정을 볼 수 있습니다. 이는 설명용 예시이며 특정 앱의 사용법은 아닙니다. 모든 지갑이 이 모드를 지원하지도 않습니다. 시험용 코인은 공짜 비트코인이 아닙니다. 설정을 바꾸거나 전송해도 그 잔액을 mainnet으로 옮길 수 없으며, faucet이 작동하지 않는다고 투자 목적으로 살 이유도 없습니다. [11]
Testnet은 비트코인 메인넷 안에 있는 연습 계좌가 아닙니다. 자체 Genesis Block에서 시작하는 또 다른 블록체인입니다. 블록은 거래를 묶어 공동 기록에 남기는 단위이며, Genesis Block은 그 기록의 시작입니다. Testnet에는 아직 쓰이지 않은 거래 출력인 UTXO도 따로 있습니다. 출력은 금액과 지출 조건을 정하며, 필요한 서명이 그런 조건의 한 예입니다. 따라서 Anna가 한 네트워크에서 코인을 받아도 다른 네트워크의 잔액이 생기지 않습니다. 프로그램은 메시지 시작 식별자와 포트 같은 매개변수로 네트워크를 구분합니다. 다만 네트워크가 다르다고 주소 모양도 반드시 다르지는 않습니다. 개인 키는 해당 자금의 지출을 승인하는 서명을 지갑이 만드는 데 사용하는 비밀 데이터입니다. 동일한 개인 키를 써도 두 기록이 잔액을 공유하는 하나의 지갑으로 합쳐지지는 않습니다. [12] [15]
tb1으로 시작하는 주소는 Testnet3, Testnet4, Signet에서 모두 쓰일 수 있습니다. Anna와 Pavel은 정확한 네트워크를 정하고 양쪽 앱에서 확인합니다. 단순히 ‘시험용’이라고만 하면 부족합니다. 실험에는 새 키와 별도 백업을 사용합니다. 실제 자금이 있는 지갑의 Seed Phrase(복구 단어 목록)를 시험 앱에 입력하지 않습니다. 모드를 바꾼다고 신뢰할 수 없는 프로그램이 안전해지지는 않기 때문입니다. Faucet도 공개 수신 주소만 필요할 뿐 복구 단어나 개인 키는 필요하지 않습니다. 지갑 파일, 키, 백업을 분리하면 혼동과 실험 내역이 개인 결제에 연결되는 일을 줄일 수 있습니다. [12] [14]
공개 Testnet은 모르는 참여자와 개방된 채굴 환경에서 실험하기 위한 곳입니다. Signet도 시험 환경이지만 Proof of Work(유효한 블록을 찾기 위한 계산 작업) 외에 블록 조건을 충족해야 하며, 보통 허용된 키로 만든 서명을 요구합니다. 덕분에 블록 생성을 더 잘 조정할 수 있지만 중단 없는 운영을 보장하지는 않습니다. Regtest는 실험을 통제해야 하는 개발자에게 맞습니다. 자신의 환경에서 필요할 때 블록을 만들어 자동 시험 등에 사용할 수 있습니다. Anna가 지갑 조작만 배우려는 경우에는 앱이 어떤 네트워크를 지원하는지도 중요합니다. 어느 환경도 시험용 코인을 메인넷 비트코인으로 바꿔 주지 않습니다. [10] [11] [16]
Pavel의 시험 결제는 낮은 수수료로 빨리 처리될 수 있습니다. 그렇다고 같은 절차가 mainnet에서 얼마가 들지는 알 수 없습니다. 이용량, 채굴 연산 능력, 참여자의 동기가 다르기 때문입니다. 공개 Testnet에서는 블록이 오랫동안 나오지 않거나 서비스가 중단될 수 있습니다. 네트워크 규칙을 검증하는 컴퓨터인 노드가 최근 기록의 일부를 다른 유효한 분기로 바꾸는 재구성도 가능합니다. 이런 상황은 앱의 오류를 찾는 데 도움이 되지만 모든 장애가 의도된 것은 아닙니다. 성공한 시험은 특정 조건에서 특정 동작을 확인한 것입니다. 그 자체로 키 보관의 안전성이나 실제 돈을 다루는 서비스의 견고함을 증명하지 않습니다. [10] [2]
오래된 설명서에는 2011년에 시작된 Testnet3가 등장합니다. 오랜 운영 중 코인 분배와 채굴 난이도 규칙에서 문제가 드러났습니다. block storms는 블록이 매우 빠르게 쏟아지는 현상입니다. 체인 높이가 비정상적으로 빨리 증가하면서 새 블록 보조금도 달력상 시간으로 예상한 것보다 빠르게 줄었습니다. 쉽게 구할 수 있는 실험 도구여야 할 코인이 거래되기도 했습니다. 따라서 새 세대는 새로운 기록의 시작이지 기존 잔액의 재평가가 아닙니다. 설명서를 읽을 때 Testnet이라는 이름만 보지 말고 네트워크 번호도 확인해야 합니다. [1]
Testnet4는 기술 제안인 BIP 94에 정의되어 있으며 Bitcoin Core 28.0부터 지원됩니다. 새 Genesis Block 외에도 난이도 계산과 블록 시각 규칙을 바꿔 알려진 block storms 유발 방법을 제한했습니다. 다만 특례는 남았습니다. 난이도 구간의 첫 블록을 제외하고 시각이 이전 블록보다 20분을 초과해 늦으면 최소 난이도를 써야 합니다. 이는 결제가 20분 안에 확인된다는 약속이 아닙니다. Testnet4는 제안 당시인 2024년 5월 mainnet에서 활성화된 규칙 변경도 처음부터 적용합니다. 이런 개선이 있더라도 장애 없는 메인넷 모형이 되는 것은 아닙니다. [1] [9]
2026년 10월 17일 기준 Testnet5의 BIP 95는 Draft, 즉 작성 중인 제안입니다. 최소 난이도 예외를 없애고 최솟값을 높이며 첫 블록부터 BIP 54의 제안된 합의 규칙 변경을 적용하려 합니다. 하지만 문서에는 확정된 Genesis Block 데이터와 참조 구현 링크가 아직 없습니다. 따라서 이 제안을 근거로 Testnet5가 통상적으로 배포된 Bitcoin Core 네트워크라고 소개할 수는 없습니다. 새 규칙을 시험한다고 mainnet에서 자동 활성화되는 것도 아닙니다. 나중에 읽는 독자는 이름의 높은 번호가 아니라 제안 상태와 해당 소프트웨어 버전의 문서를 확인해야 합니다. [2]
Bitcoin Core에서는 testnet4 옵션으로 Testnet4를 선택합니다. 정확한 명령 문법은 사용하는 버전의 문서를 참고합니다. 설정 파일에서 [test]는 Testnet3, [testnet4]는 Testnet4입니다. 데이터는 testnet3, testnet4, signet 또는 regtest 하위 폴더에 분리됩니다. 실행 중인 프로그램도 확인해야 합니다. getblockchaininfo는 chain 필드에 네트워크 식별자를 반환합니다. Genesis Block의 해시, 동기화 상태, 연결된 노드도 확인합니다. 사용자 지정 Signet에서는 공통 genesis만으로 부족하므로 구체적인 블록 조건도 확인해야 합니다. 창 제목이나 비슷한 주소로 이를 대신할 수 없습니다. [8] [12] [13] [14] [10]
Anna는 먼저 두 지갑이 같은 네트워크를 쓰는지 확인합니다. 그다음 수신과 송신을 시도하고 전송된 결제와 확인된 결제를 구분합니다. 복원 시험에는 독립된 시험용 백업만 씁니다. 개발자는 앱 재시작, 노드 접속 불가, 재구성, 잘못된 네트워크 거부를 추가할 수 있습니다. 수수료 시험에는 미확인 거래를 새 거래로 바꾸는 RBF, 높은 수수료의 자식 거래로 미확인 부모 거래까지 포함하도록 채굴자를 유도하는 CPFP가 유용합니다. 결과에는 네트워크, 프로그램 버전, 실제 확인한 동작을 기록합니다. Testnet은 실제 돈으로 저지르고 싶지 않은 실수를 해 볼 곳이지, 더는 점검할 필요가 없다는 증명은 아닙니다. [11] [9]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Bitcoin Core, Signet, 채굴, 지갑, Bitcoin, Full Node. 다음 항목에서도 이 글을 참조합니다 Sidechain, Liquid Network, 비트코인 교육, Signet.