초록
BCH2(Bitcoin Cash II)는 검증된 Bitcoin Cash 프로토콜과 공정한 분배 모델을, BC2(BitcoinII)로부터의 1:1 포크를 통해 결합한 SHA-256 암호화폐입니다. 블록 높이 53,200에서 BC2로부터 갈라져 나오면서 BC2의 전체 트랜잭션 이력을 이어받는 동시에 Bitcoin Cash의 합의 규칙으로 전환합니다. 여기에는 ASERT 난이도 조정 알고리즘(출시 시에는 공격에 강한 1시간 반감기), 32MB 블록, CashAddr 주소 체계, 그리고 업그레이드 11(ABLA)까지의 BCH 프로토콜 업그레이드 전체가 포함됩니다.
Bitcoin과 그 파생 체인들이 산업적 채굴 사업에 장악된 지금, BCH2는 접근 가능한 난이도로 새로 시작할 길을 제시합니다. 프리마인도, 개발자 수수료도 없고 기존 BC2 보유자에게 공정하게 1:1로 분배되는 BCH2는, Bitcoin을 혁명적으로 만들었던 탈중앙 채굴 정신으로의 복귀입니다.
1. 서론
1.1 원래의 구상
사토시 나카모토가 2009년 Bitcoin을 내놓았을 때는 개인용 컴퓨터만 있으면 누구나 블록을 채굴해 보상을 받을 수 있었습니다. 이 접근성이야말로 Bitcoin이 탈중앙적일 수 있었던 근간이었습니다. 수천 명의 독립 채굴자가 네트워크를 지켰고, 저마다 공정한 기회를 가졌습니다.
1.2 Bitcoin의 변천
Bitcoin이 커지면서 확장성과 철학을 둘러싼 이견이 중요한 분기들을 낳았습니다:
- 2017년: Bitcoin Cash(BCH)는 블록 478,558에서 Bitcoin에서 분기해, 더 많은 트랜잭션과 낮은 수수료를 위해 블록 크기를 8MB(이후 32MB)로 늘렸습니다. BCH는 꾸준히 발전해 2020년에 난이도 조정 알고리즘 ASERT를 도입했고, 2025년까지 수많은 프로토콜 개선을 이뤘습니다.
- 2025년: BC2(BitcoinII)는 Bitcoin Core v27을 기반으로 새 제네시스 블록을 가진 새로운 구현으로 출발해, 실험과 새로운 활용을 위한 깨끗한 블록체인을 제공했습니다.
- 2026년: BCH2(Bitcoin Cash II)는 블록 높이 53,200에서 BC2에서 분기하여, BC2의 전체 이력을 보존하면서 Bitcoin Cash 합의 규칙으로 전환합니다. 그 결과 BC2의 공정한 초기 분배와 BCH의 실전 검증된 프로토콜 개선이라는 독특한 조합이 생깁니다.
1.3 오늘의 문제
Bitcoin의 네트워크 난이도는 천문학적 수준에 이르렀고, BCH와 대부분의 SHA-256 파생 체인도 마찬가지입니다. 여기서 몇 가지 문제가 생깁니다:
- 산업 규모의 지배 — 주요 체인에서 수익을 내며 채굴할 수 있는 것은 값싼 전기와 대량 ASIC 구매가 가능한 대규모 사업자뿐입니다.
- 가정 채굴자의 배제 — 소형 장비를 쓰는 개인 채굴자가 난이도가 높은 네트워크에서 블록을 찾을 확률은 사실상 0입니다.
- 풀 중앙화 — 채굴자는 풀에 들어갈 수밖에 없고, 수수료를 내며 운영자를 신뢰해야 합니다. 그만큼 암호화폐의 P2P 성격이 약해집니다.
- 구식 난이도 알고리즘 — Bitcoin의 2016블록 조정 주기를 쓰는 체인은 해시레이트가 출렁일 때 블록 시간 편차가 극단적으로 커질 수 있습니다.
1.4 BCH2의 해법
BCH2는 이러한 문제에 다음과 같이 대응합니다:
- BC2 초기 블록체인에서 물려받은, 접근 가능한 난이도에서 출발하기
- 조작 공격에 맞서 난이도가 빠르게 회복되도록 반감기 1시간의 ASERT를 구현하기
- 장래의 확장성을 위해 32MB 블록을 제공하기
- 쓰기 편한 주소를 위해 CashAddr 형식을 사용하기
- Bitcoin Cash 프로토콜 개선과 100% 호환성을 유지하기
- 블록 92,736(포크 후 약 9개월)에서 ASERT 반감기가 1시간에서 2일로 자동 전환 — 하드포크 불필요
2. BCH2가 필요한 이유
2.1 공정한 출시 원칙
BCH2는 최근 암호화폐 출시에 만연한 수탈적 토큰 모델을 거부합니다:
프리마인 없음: 포크 시점의 BCH2 공급량 전부가 포크 블록에서의 보유량에 따라 BC2 보유자에게 분배됩니다. 개발자나 재단, 내부자를 위해 만들어지는 코인은 없습니다.
개발자 수수료 없음: 블록 보상의 100%가 채굴자에게 갑니다. 개발은 커뮤니티가 자발적으로 후원하며, 블록 보상에서 떼어 가지 않습니다.
ICO/IEO 없음: BCH2는 판매되거나 사전 배정되지 않습니다. 분배는 BC2 포크와 지속적인 채굴을 통해 이뤄집니다.
검증된 코드베이스: BCH2는 BitcoinII Core v27.1 위에 만들어졌습니다. Bitcoin과 그 파생 체인에서 수십억 규모의 가치를 지켜 온 것과 같은 기반입니다.
2.2 BC2 보유자에 대한 포크 분배
2017년 Bitcoin Cash의 선례를 따라, BCH2는 1:1 포크로 기존 BC2 보유자를 인정합니다:
- 포크 블록 시점의 모든 BC2 잔액이 BCH2로 지급됩니다(포크 시점 약 2,660,000코인)
- BC2 개인키를 가진 사용자는 그에 상응하는 BCH2도 자동으로 보유합니다
- 등록·청구·KYC가 필요 없습니다. 키를 BCH2 지갑에 가져오기만 하면 됩니다
이 모델은 다음을 보장합니다:
- BC2를 지지한 이들에게 공정한 분배
- 첫날부터 즉시 확보되는 유동성
- 공급이 개발자 손에 집중되지 않음
- 초기 지지자의 이해와 네트워크의 성공이 일치함
2.3 채굴 접근성 회복
포크 시점 BCH2의 난이도는 소규모 채굴자에게도 현실적인 기회를 줍니다:
- 로터리 채굴자 환영 — Bitaxe, Nerdminer 같은 저해시레이트 채굴기도 블록을 찾을 현실적인 확률이 있습니다.
- 가정 채굴이 가능 — 소비자용 ASIC도 블록 보상 전액을 두고 겨룰 수 있습니다.
- 솔로 채굴의 귀환 — 개인 채굴자는 풀에 들어가지 않고도 직접 채굴할 수 있습니다.
- 자연스러운 성장 — 채택이 늘어나면 난이도도 네트워크와 함께 자연히 올라갑니다.
3. 기술 사양
3.1 합의 매개변수
| 매개변수 | 값 |
|---|---|
| 알고리즘 | SHA-256(작업증명) |
| 목표 블록 시간 | 10분(600초) |
| 블록 보상 | 50 BCH2(Bitcoin의 반감기 일정에 따름) |
| 반감기 간격 | 210,000블록 |
| 최대 공급량 | 21,000,000 BCH2 |
| 블록 크기 한도 | 32 MB |
| 최소 트랜잭션 크기 | 65바이트 |
| 난이도 조정 | ASERT DAA (aserti3-2d) |
| ASERT 반감기(출시) | 3,600초(1시간) |
| ASERT 반감기(업그레이드 후) | 172,800초(2일, BCHN과 동일) |
| 리플레이 보호 | SIGHASH_FORKID |
3.2 포크 매개변수
| 매개변수 | 값 |
|---|---|
| 포크 원본 | BC2(BitcoinII) 블록체인 |
| 기반 소프트웨어 | BitcoinII Core v27.1 |
| 포크 높이 | 53,200 |
| 포크 이전 이력 | BC2 블록 0–53,200(BTC 호환) |
| 포크 이후 규칙 | 완전한 BCH 합의(블록 53,201부터 적용) |
| 포크 분배 | 포크 블록 시점에 존재하는 모든 BC2(1:1) |
| 제네시스 블록 | 0000000028f062b221c1a8a5cf0244b1627315f7aa5b775b931cfec46dc17ceb |
| 출시 목표 | 2026년 3월 7–9일경 |
3.3 네트워크 구성
| 매개변수 | 값 |
|---|---|
| P2P 포트(메인넷) | 8339 |
| P2P 포트(테스트넷) | 18338 |
| RPC 포트(메인넷) | 8342 |
| 네트워크 매직 | 0xb2c2b2c2 |
| 주소 형식 | CashAddr |
| 주소 접두사 | bitcoincashii: |
| 데이터 디렉터리 | ~/.bitcoincashII |
3.4 포크 이전 활성화 높이(BC2 이력)
이 활성화들은 BC2의 이력에서 일어났으며 BCH2에도 보존됩니다:
| 업그레이드 | 높이 |
|---|---|
| BIP34(코인베이스에 높이) | 250 |
| BIP65 (CHECKLOCKTIMEVERIFY) | 260 |
| BIP66(엄격한 DER 서명) | 270 |
| BIP68/112/113 (CSV) | 280 |
| SegWit(포크 이전만) | 290 |
3.5 BCH2 활성화(포크 이후)
모든 Bitcoin Cash 프로토콜 업그레이드는 블록 53,201에서 동시에 활성화됩니다:
| 업그레이드 | 원래 BCH 날짜 | BCH2 활성화 |
|---|---|---|
| UAHF(8MB 블록, SIGHASH_FORKID) | 2017년 8월 1일 | 블록 53,201 |
| New DAA | 2017년 11월 13일 | 블록 53,201 |
| Magnetic Anomaly(CTOR, OP_CHECKDATASIG) | 2018년 11월 15일 | 블록 53,201 |
| Graviton(슈노르 서명) | 2019년 11월 15일 | 블록 53,201 |
| Phonon(OP_REVERSEBYTES, SigChecks) | 2020년 5월 15일 | 블록 53,201 |
| Axion(ASERT DAA) | 2020년 11월 15일 | 블록 53,201 |
| 업그레이드 8(네이티브 인트로스펙션, 64비트 정수) | 2022년 5월 15일 | 블록 53,201 |
| 업그레이드 9(CHIP 한도, P2SH32) | 2023년 5월 15일 | 블록 53,201 |
| 업그레이드 10(VM 한도, BigInt) | 2024년 5월 15일 | 블록 53,201 |
| 업그레이드 11(ABLA) | 2025년 5월 15일 | 블록 53,201 |
3.6 비활성화된 기능(BTC/BC2 대비)
다음 BTC/BC2 기능은 BCH 합의에 맞추어 포크 이후 비활성화됩니다:
| 기능 | 상태 | 이유 |
|---|---|---|
| SegWit (BIP141) | 새 출력 없음 | 포크 이후 새로운 SegWit 출력은 거부되며, 기존 SegWit UTXO는 scriptSig로 사용할 수 있습니다(§5.4 참조) |
| Taproot (BIP340-342) | 키 경로만 | 새로운 Taproot 출력은 거부되며, 기존 P2TR은 키 경로 scriptSig로만 사용할 수 있습니다(§5.4 참조) |
| Replace-By-Fee(RBF) | 비활성 | BCH는 first-seen 정책을 사용 |
3.7 ASERT 난이도 조정 알고리즘
BCH2는 Bitcoin Cash가 2020년 11월(Axion 업그레이드)에 채택한 난이도 조정 알고리즘 ASERT(Absolutely Scheduled Exponentially Rising Targets)를 사용합니다. BCH2는 BCHN v29.0.0에 구현된 그대로의 aserti3-2d를 쓰되, 출시 보안을 위해 반감기 매개변수만 바꾸었습니다.
핵심 알고리즘:
ASERT는 "앵커 블록"(BCH2에서는 포크 블록)으로부터 흐른 시간을 바탕으로 난이도를 계산하며, 평균적으로 정확히 블록당 10분을 목표로 합니다:
next_target = anchor_target * 2^((actual_time - scheduled_time) / halflife)
여기서:
anchor_target= 앵커 블록(포크 블록)의 난이도 목표actual_time= 앵커 블록의 부모 블록 이후 흐른 시간scheduled_time= 예상 시간(블록 높이 차 × 600초)halflife= 조정 속도를 결정하는 시간 상수
ASERT 반감기: 출시의 핵심 매개변수:
| 매개변수 | BCH2(출시) | BCHN |
|---|---|---|
| ASERT Half-Life | 3,600초(1시간) | 172,800초(2일) |
| 조정 속도 | 48× 빠름 | 표준 |
| 난이도 10× 급등에서 회복 | 약 7시간 | 약 6.6일 |
1시간 반감기를 택한 이유:
해시레이트가 제한적인(약 1 PH/s) 신생 체인은 난이도 조작 공격에 취약합니다. 상당한 해시파워를 가진 공격자는 블록을 빠르게 채굴해 난이도를 급등시킨 뒤 해시파워를 빼버릴 수 있고, 남은 정직한 채굴자들은 부풀려진 난이도에서 블록을 찾지 못합니다. BCHN의 2일 반감기라면 10× 난이도 급등에서 회복하는 데 약 6.6일이 걸립니다. 네트워크가 거의 일주일간 쓸모없어지고, 채굴자들은 수익이 나는 체인으로 떠나며, 죽음의 소용돌이가 시작될 수 있습니다.
BCH2의 1시간 반감기에서는 같은 공격이라도 블록이 느려지는 시간이 약 7시간에 그치고 곧 정상으로 돌아옵니다. 채굴자는 기다려도 되고 그대로 채굴해도 되며, 공격자의 비용만 헛되이 쓰입니다.
트레이드오프 분석:
| 지표 | 1-Hour Half-Life | 2-Day Half-Life |
|---|---|---|
| 공격 후 회복 | 약 7시간 | 약 6.6일 |
| 난이도 변동 | 높음 | 낮음 |
| 블록 시간 편차 | 높음 | 낮음 |
| 소형 체인 적합성 | 우수 | 열위 |
| 대형 체인 적합성 | 열위 | 우수 |
1시간 반감기는 해시레이트가 제한된 BCH2의 출시 단계에 적합합니다. 변동성이 커지는 것은 공격 저항성을 얻기 위한 받아들일 만한 대가입니다.
ASERT 앵커 설정:
| 매개변수 | 메인넷 값 |
|---|---|
| 앵커 높이 | 53,201 |
| 앵커 nBits | 0x1903a30c |
| 앵커 부모 블록 시각 | 미정(채굴 시 블록 53,200의 Unix 타임스탬프) |
| 예상 초기 난이도 | ~140 MH (0x1903a30c) |
| 목표 해시레이트 | 10분 블록 기준 1 PH/s |
4. 주소 형식
4.1 CashAddr 사양
BCH2는 Bitcoin Cash가 개발한 CashAddr 형식을 사용하며, 다음을 제공합니다:
- 사람이 읽을 수 있는 접두사로 네트워크를 식별
- 오류 검출 — BCH 코드 체크섬 사용
- 대소문자를 구분하지 않는 인코딩으로 입력이 쉬움
- 명확한 구분 — Bitcoin/BC2 주소와 혼동되지 않음
4.2 주소 예시
P2PKH(Pay to Public Key Hash):
bitcoincashii:qz2p8hv43kuq8s6gfa5lkm9a2jcm0m5vfcr7hxlmnj
P2SH(Pay to Script Hash):
bitcoincashii:pz2p8hv43kuq8s6gfa5lkm9a2jcm0m5vfcfnk4xmwy
4.3 주소 유형 표시
| 접두사 | Type |
|---|---|
| q | P2PKH (standard) |
| p | P2SH(다중서명/스크립트) |
5. 트랜잭션 매개변수
5.1 트랜잭션 사양
| 매개변수 | BCH2 | BCHN |
|---|---|---|
| 서명 알고리즘 | ECDSA + Schnorr | ECDSA + Schnorr |
| sighash 플래그 | SIGHASH_FORKID 필수 | SIGHASH_FORKID 필수 |
| 트랜잭션 버전 | 1, 2 | 1, 2 |
| 표준 TX 최대 크기 | 100 KB | 100 KB |
| 더스트 한도 | 182사토시 | 182사토시 |
| 최소 중계 수수료 | 1 sat/바이트 | 1 sat/바이트 |
5.2 리플레이 보호
| 메커니즘 | 구현 |
|---|---|
| SIGHASH_FORKID | 포크 이후 모든 트랜잭션에 필수 |
| Fork ID | 0x000000(BCH 표준) |
| 효과 | BCH2에서 유효한 트랜잭션은 BC2/BTC에서 무효 |
서명에는 sighash 프리이미지에 포크 ID가 포함되어 체인 간 트랜잭션 재생이 차단됩니다. 블록 53,200 이후에 서명된 BCH2 트랜잭션은 BC2에서 무효이고, BC2 트랜잭션은 BCH2에서 무효입니다.
5.3 이중 지불 보호(DSProof)
BCH2는 DSProof(이중 지불 증명)를 통합합니다. 이는 미확인 트랜잭션에 대한 이중 지불 시도를 실시간으로 탐지하는 프로토콜 수준의 장치입니다. 본래 Bitcoin Cash를 위해 개발된 DSProof는 가맹점과 결제 사업자를 위한 무확인 보안을 강화합니다.
| 구성 요소 | 상세 |
|---|---|
| P2P 메시지 유형 | dsproof-beta |
| 탐지 계층 | 멤풀 통합 |
| RPC 인터페이스 | 트랜잭션별 이중 지불 상태 조회 |
| 전파 | 탐지 시 네트워크 전체로 전파 |
노드가 같은 입력을 쓰는 충돌 트랜잭션을 감지하면 DSProof 메시지를 만들어 네트워크에 전파합니다. 이 경고를 지켜보는 가맹점과 지갑은 블록 확인을 기다리지 않고도 이중 지불 시도 수 초 안에 의심 트랜잭션을 표시할 수 있습니다.
이로써 무확인 상거래가 더 안전해집니다. P2P 전자화폐의 핵심 활용 사례입니다.
5.4 SegWit UTXO 이전(scriptSig를 통한 witness)
BC2는 Bitcoin에서 SegWit을 물려받았기 때문에, 포크 블록 시점의 UTXO 집합에는 SegWit 출력(P2WPKH, P2WSH, P2TR 및 P2SH로 감싼 변형)에 잠긴 코인이 들어 있습니다. BCH2는 SegWit 합의 규칙을 제거하므로, 이 UTXO들은 원래대로라면 포크 이후 사용할 수 없게 됩니다.
BCH2는 이를 scriptSig를 통한 witness로 해결합니다. 서명 데이터를 witness 필드가 아니라 기존의 scriptSig 필드에 넣어 기존 SegWit UTXO를 사용할 수 있게 하는 이전 방식입니다.
| 출력 유형 | Pre-Fork (BC2) | Post-Fork (BCH2) |
|---|---|---|
| P2WPKH | scriptSig: empty, witness: [sig, pubkey] | scriptSig: [sig, pubkey], witness: empty |
| P2WSH | scriptSig: empty, witness: [...args, script] | scriptSig: [...args, script], witness: empty |
| P2TR (key-path) | scriptSig: empty, witness: [schnorr_sig] | scriptSig: [schnorr_sig], witness: empty |
| P2SH-P2WPKH | scriptSig: [redeemScript], witness: [sig, pubkey] | scriptSig: [sig, pubkey, redeemScript], witness: empty |
검증 절차:
- P2WPKH(v0, 20바이트): scriptSig에 [서명, 공개키]를 기대합니다. 노드는 암묵적인 P2PKH 스크립트를 구성해 그에 맞춰 검증합니다.
- P2WSH(v0, 32바이트): scriptSig에 [...인자, 스크립트]를 기대합니다. 노드는 SHA256(스크립트)이 출력의 해시와 일치하는지 검증합니다.
- P2TR(v1, 32바이트): scriptSig에 [Schnorr 서명]을 기대하며, 키 경로 지출에만 해당합니다.
- P2SH 래핑: 리딤 스크립트를 서명 데이터와 함께 scriptSig에 넣습니다.
보안:
- SegWit과 동일한 암호학적 보안 — 유효한 서명은 여전히 필요합니다
- 포크 이후의 모든 서명에는 SIGHASH_FORKID가 강제됩니다(재생 방지)
- Taproot 스크립트 경로 지출은 지원되지 않습니다 — 키 경로만 가능합니다. 복잡한 Taproot 스크립트를 쓰는 사용자는 포크 전에 코인을 옮기는 것이 좋습니다.
중요: 이 방식은 포크 블록 시점 또는 그 이전에 존재했던 SegWit UTXO에만 적용됩니다. 포크 이후에는 새로운 SegWit 출력을 만들 수 없으며, BCH2 합의가 이를 거부합니다.
Sighash 알고리즘:
BCH2의 SegWit UTXO는 BIP143 sighash 알고리즘과 SIGHASH_FORKID(0x41)로 지출합니다:
sighash = SHA256(SHA256(
nVersion ||
hashPrevouts ||
hashSequence ||
outpoint ||
scriptCode || // P2PKH script for pubkeyhash
value || // 8-byte little-endian satoshis
nSequence ||
hashOutputs ||
nLockTime ||
hashType // SIGHASH_ALL | SIGHASH_FORKID (0x41)
))
서명은 witness가 아니라 scriptSig에 넣습니다: scriptSig: <signature> <pubkey>, witness: (비어 있음)
이전이 지원되는 주소 유형:
| Type | 형식 | 파생 경로 | 예 |
|---|---|---|---|
| Legacy P2PKH | 1xxx | m/44'/0'/0'/0/x | 1A1zP1eP5QGefi2DMPTfTL... |
| Native SegWit P2WPKH | bc1q... | m/84'/0'/0'/0/x | bc1qar0srrr7xfkvy5l643... |
| Wrapped SegWit P2SH-P2WPKH | 3xxx | m/49'/0'/0'/0/x | 3J98t1WpEZ73CNmQviecrn... |
5.5 포크 분배 청구 절차
BCH2는 포크 높이 53,200 시점의 모든 BC2 잔액을 1:1로 분배합니다. 청구 과정은 통합된 지갑 인터페이스에서 모든 주소 유형을 지원합니다.
유도와 스캔:
지갑은 BIP39 니모닉에서 표준 유도 경로를 사용해 주소를 생성합니다:
| Path | Type | 스캔한 주소 |
|---|---|---|
| m/44'/0'/0'/0/0–19 | Legacy (P2PKH) | 외부(수신) |
| m/44'/0'/0'/1/0–19 | Legacy (P2PKH) | 내부(거스름돈) |
| m/84'/0'/0'/0/0–19 | Native SegWit (P2WPKH) | 외부(수신) |
| m/84'/0'/0'/1/0–19 | Native SegWit (P2WPKH) | 내부(거스름돈) |
| m/49'/0'/0'/0/0–19 | Wrapped SegWit (P2SH-P2WPKH) | 외부(수신) |
| m/49'/0'/0'/1/0–19 | Wrapped SegWit (P2SH-P2WPKH) | 내부(거스름돈) |
포크 대상 UTXO를 모두 찾기 위해 외부(수신)와 내부(잔돈) 주소 체인을 모두 스캔합니다.
악용 방지:
주소 유형을 바꿔 두 번 청구하는 것을 막기 위해, 지갑은 잔액의 출처를 검증합니다:
isFromForkDistribution = (BC2_balance > 0)
BCH2 잔액은 있는데 대응하는 BC2 잔액이 0이라면, 그 자금은 포크 이후에 받은 것이므로 포크 분배가 아닌 자금으로 표시됩니다. 이로써 다음 공격 경로가 막힙니다:
- SegWit 주소에서 BCH2를 청구한다
- 원래의 BC2 자금을 레거시 주소로 옮긴다
- 레거시 주소에서 다시 청구를 시도한다
지갑은 포크 이후 입금과 포크 분배 잔액을 구분하는 적절한 경고를 표시합니다.
6. 스크립트 기능(포크 이후)
BCH2는 BCH 스크립트 명령 집합 전체를 지원합니다:
| 분류 | 기능 |
|---|---|
| 암호학적 | OP_CHECKSIG, OP_CHECKMULTISIG, OP_CHECKDATASIG, OP_CHECKDATASIGVERIFY |
| 서명 유형 | ECDSA(레거시), Schnorr(Graviton 이후) |
| 인트로스펙션 | 네이티브 인트로스펙션 opcode(업그레이드 8) |
| 산술 | 64비트 정수, BigInt(업그레이드 10) |
| 스택 | OP_REVERSEBYTES, 한도 확장 |
| 커버넌트 | 인트로스펙션으로 활성화 |
7. 체인 보안 매개변수
| 매개변수 | 값 | 용도 |
|---|---|---|
| nMinimumChainWork | 포크 높이의 체인워크 | 작업량이 적은 공격 체인 거부 |
| 체크포인트 | 블록 53,200 해시 | 앵커 분기 지점 |
| assumevalid | 블록 53,200 해시 | 초기 동기화 속도 향상 |
8. ASERT 반감기 전환
8.1 자동 전환
BCH2의 ASERT 반감기는 미리 정해진 블록 높이에서 1시간에서 2일로 자동 전환됩니다. 하드포크는 필요하지 않습니다.
| 매개변수 | 출시(블록 53,201 이상) | 전환 후(블록 92,736 이상) |
|---|---|---|
| ASERT Half-Life | 3,600초(1시간) | 172,800초(2일, BCHN과 동일) |
| 전환 | 자동 | — |
| 일정 | 포크 활성화 | 포크 후 약 274일(약 9개월) |
8.2 전환 메커니즘
반감기는 블록 높이에 따라 결정됩니다:
if (height < 92736):
nASERTHalfLife = 3600 (1 hour)
else:
nASERTHalfLife = 172800 (2 days, matching BCHN)
블록 92,736은 에포크 46에 해당하며, 블록 53,200의 포크로부터 약 9.15개월 뒤입니다. ASERT 앵커 매개변수는 그대로이고, 반감기 상수만 바뀝니다.
8.3 근거
전환 높이를 고정해 두면 조율이 필요한 하드포크도, 그에 따르는 주관적 판단 기준도 필요하지 않습니다. 출시 후 9개월이면 네트워크는 안정적인 해시레이트와 채굴자 다양성을 갖출 충분한 시간을 얻습니다. 이 전환은 처음부터 합의 규칙에 들어 있으므로, 추가 조율 없이 모든 노드가 같은 변경을 따릅니다.
| 네트워크 | 전환 높이 | 일정 |
|---|---|---|
| 메인넷 | 92,736 | 포크 후 약 9개월 |
| 테스트넷 | 40,320 | 약 9개월 |
| Regtest | 432 | 낮음(테스트용) |
9. 채굴
9.1 블록 보상 일정
BCH2는 Bitcoin의 원래 발행 일정을 따릅니다:
| Era | 블록 범위 | 보상 | 추가 공급량 |
|---|---|---|---|
| 1 | 0 – 209,999 | 50 BCH2 | 10,500,000 |
| 2 | 210,000 – 419,999 | 25 BCH2 | 5,250,000 |
| 3 | 420,000 – 629,999 | 12.5 BCH2 | 2,625,000 |
| 4 | 630,000 – 839,999 | 6.25 BCH2 | 1,312,500 |
| ... | ... | ... | ... |
| 합계 | — | — | 21,000,000 |
9.2 마이닝 풀
Forge Pool은 전 세계에 분산된 구조로 BCH2의 채굴 인프라를 제공합니다:
접속 정보:
Stratum: stratum+tcp://pool.bch2.org:3333
주요 기능:
- 단일 주소 접속 — 주소 하나에 접속하면 가장 가까운 지역 프록시로 자동 연결됩니다
- 글로벌 프록시 네트워크 — 어느 지역에서든 낮은 지연으로 접속
- 웹 UI 제어 — 채굴 방식(솔로/풀)과 난이도 설정을 채굴기 재설정 없이 변경
- 솔로 지급 — 솔로로 채굴해 블록 보상 전액을 지갑으로 직접 받습니다
- Vardiff 지원 — 해시레이트에 맞춰 난이도가 자동 조정됩니다
- PPLNS 지급 — 제출한 셰어에 따른 공정한 보상 분배
- 최소 지급액: 5 BCH2
- 풀 수수료: 1%(솔로 채굴은 0.5%)
9.3 솔로 채굴
BCH2의 접근 가능한 난이도 덕분에 솔로 채굴이 현실적입니다. 채굴기를 자신의 BCH2 노드에 직접 연결하도록 설정하세요:
# bitcoincashII.conf for solo mining
server=1
rpcuser=your_username
rpcpassword=your_password
rpcallowip=127.0.0.1
10. 인프라
10.1 글로벌 노드 네트워크
BCH2는 여러 대륙에 시드 노드를 운영합니다:
| 위치 | 지역 |
|---|---|
| 미국 댈러스 | 북미(주요/Forge Pool) |
| 미국 로스앤젤레스 | 북미 |
| 미국 뉴저지 | 북미 |
| 독일 프랑크푸르트 | 유럽 |
| 싱가포르 | Asia |
10.2 서비스
| 서비스 | URL |
|---|---|
| 웹사이트 | https://bch2.org |
| 블록 탐색기 | https://explorer.bch2.org |
| 마이닝 풀 | https://pool.bch2.org |
| 소스 코드 | https://github.com/BitcoincashII |
10.3 지갑 호환성
BCH2는 Bitcoin Cash 지갑 인프라와 호환됩니다:
- 표준 BIP32/39/44 HD 지갑 유도
- CashAddr 주소 인코딩(접두사:
bitcoincashii:) - 표준 트랜잭션 형식(SIGHASH_FORKID 포함)
- BCH2 고유 유도 경로: m/44'/145'/0'/0/x
- 레거시 형식(1xxx)은 표시 호환성을 위해 계속 유효합니다
주소 형식:
bitcoincashii:qp63uahgrxged4z5jswyt5dn5v3lzsem6cy74rqsfs
10.4 Electrum 프로토콜 통합
잔액과 UTXO 조회는 모든 주소 유형을 지원하기 위해 scripthash 기반 방식을 사용합니다:
scripthash = REVERSE(SHA256(scriptPubKey))
| 방법 | 용도 |
|---|---|
| blockchain.scripthash.get_balance | 확인된 잔액과 미확인 잔액 |
| blockchain.scripthash.listunspent | 사용 가능한 UTXO |
| blockchain.scripthash.get_history | 거래 내역 |
| blockchain.transaction.broadcast | 서명된 트랜잭션 제출 |
11. 토크노믹스
11.1 포크 시점의 공급 분배
| 분류 | 수량 | 비율 |
|---|---|---|
| BC2 보유자에 대한 포크 분배 | 포크 시점의 모든 BC2 | 기존 물량의 100% |
| 프리마인 | 0 BCH2 | 0% |
| 개발자 배정 | 0 BCH2 | 0% |
| 재단 적립금 | 0 BCH2 | 0% |
11.2 지속적인 분배
새로운 BCH2는 오직 채굴을 통해서만 유통됩니다:
- 블록 보상: 블록당 50 BCH2
- 채굴자 몫: 100%
- 개발자 수수료: 0%
- 분배 방식: 작업증명만
11.3 공급 일정
| 이정표 | 유통 공급량 |
|---|---|
| Fork | 존재하는 모든 BC2 |
| 블록 100,000 | ~5,000,000 BCH2 |
| 첫 반감기(210,000) | ~10,500,000 BCH2 |
| 두 번째 반감기(420,000) | ~15,750,000 BCH2 |
| 최대 공급량 | 21,000,000 BCH2 |
12. 거버넌스
12.1 분산된 개발
BCH2는 중앙 권위 없이 운영됩니다:
- 재단 없음: BCH2를 통제하는 법인은 없습니다
- 자비로운 독재자도 없음: 어떤 개인도 프로토콜에 대한 특별한 권한을 갖지 않습니다
- 오픈 소스: 모든 코드는 MIT 라이선스로 공개되어 누구나 감사할 수 있습니다
- 커뮤니티 후원: 개발은 자발적인 기여로 유지됩니다
12.2 프로토콜 업그레이드
BCH2 합의 규칙의 변경에는 다음이 필요합니다:
- 제안: 제안된 변경 사항의 공개 명세
- 검토: 커뮤니티와 개발자의 분석
- 구현: 코드 개발과 테스트
- 시그널링: 채굴자와 노드 운영자의 지지 측정
- 활성화: 지정된 높이/시각에 맞춘 조율된 업그레이드
12.3 Bitcoin Cash와의 정합성
BCH2는 Bitcoin Cash 프로토콜 개선과의 호환성을 계속 유지하려 합니다:
- ASERT DAA(구현 완료)
- 32MB 블록(구현 완료)
- 네이티브 인트로스펙션(구현 완료)
- 향후 BCH 업그레이드는 채택 여부를 검토합니다
13. 로드맵
1단계: 출시 ✓
- 지정된 블록 높이에서 BC2로부터 분기
- ASERT 난이도 조정 작동
- 32MB 블록 크기 활성화
- CashAddr 주소 체계(
bitcoincashii:) - 글로벌 노드 네트워크 가동
- 채굴 풀(Forge Pool) 가동
- 풀 노드 소프트웨어 공개
2단계: 도입
- 데스크톱 지갑(Electron Cash 포크)
- 모바일 지갑(Android, iOS)
- 웹 지갑
- 블록 탐색기 개선
- 추가 채굴 풀
- 거래소 상장
3단계: 생태계
- 가맹점 결제 도구
- 하드웨어 지갑 지원(Ledger, Trezor)
- CashFusion 프라이버시 구현
- CashTokens 통합
- 개발자 SDK와 문서
4단계: 성장
- BCH 프로토콜과의 정렬 지속
- 프라이버시 강화
- 토큰/NFT 생태계 개발
- 인프라의 지속적인 분산화
- 커뮤니티 주도의 기능 개발
14. 보안 고려사항
14.1 SHA-256 보안
BCH2는 2009년부터 Bitcoin을 지켜온 것과 같은 SHA-256 작업증명 알고리즘을 사용합니다:
- 새로운 암호학적 가정이 없음
- 수십억 달러 규모의 채굴 장비와 호환
- 15년 넘게 실제 환경에서 검증된 보안
14.2 리플레이 보호
BCH2는 SIGHASH_FORKID로 재생 방지를 구현합니다:
- BCH2용으로 서명한 트랜잭션은 BC2에서 무효입니다
- BC2용으로 서명한 트랜잭션은 BCH2에서 무효입니다
- 실수로 다른 체인에서 지출할 수 없습니다
14.3 코드 감사 현황
BCH2는 다음을 기반으로 합니다:
- BitcoinII Core v27.1(철저히 감사된 Bitcoin Core 기반)
- Bitcoin Cash의 프로토콜 변경(2017년부터 실전 검증)
- CashAddr 구현(BCH 표준 코드)
- ASERT 구현(2020년부터 BCH에서 운영)
15. 결론
BCH2는 Bitcoin Cash의 검증된 프로토콜 개선과 공정한 분배 모델을 하나로 묶습니다. 블록 높이 53,200에서 BC2로부터 분기함으로써 BCH2는 다음을 제공합니다:
BC2 보유자에게:
- 포크 시 BCH2가 1:1로 자동 분배
- 따로 할 일이 없습니다 — 같은 키가 두 체인 모두에서 작동합니다
- BC2 투자에서 이어지는 가치
채굴자에게:
- 접근 가능한 난이도
- 1시간 반감기의 ASERT로 난이도 공격에서 빠르게 회복
- 해시레이트가 안정되면 반감기를 2일로 되돌리는 계획
- 블록 보상의 100%(개발자 수수료 없음)
사용자에게:
- 확장성을 위한 32MB 블록
- 넉넉한 블록 공간이 가능하게 하는 낮은 수수료
- 쓰기 편한 주소를 위한 CashAddr
- 일정한 블록 시간이 주는 빠른 확인
- 커버넌트와 인트로스펙션을 포함한 BCH 스크립트의 모든 기능
생태계에:
- 프리마인이나 내부자 배정이 없음
- 커뮤니티 거버넌스
- 오픈 소스 개발
- Bitcoin Cash 프로토콜 호환성
- BCHN 매개변수와 완전히 일치시키기 위한 분명한 경로
BCH2는 본래 의도된 모습의 암호화폐입니다. 열려 있고, 누구나 다가갈 수 있고, 공정하며, 진정으로 분산되어 있습니다.
16. 참고 문헌
- Nakamoto, S. (2008). "Bitcoin: A Peer-to-Peer Electronic Cash System"
- Bitcoin Cash Protocol Documentation, https://documentation.cash/
- Sechet, A. (2020). "ASERT DAA Specification"
- CashAddr Specification, https://
github.com/ bitcoincashorg/ bitcoincash.org/ blob/ master/ spec/ cashaddr.md - BC2 (BitcoinII) Technical Documentation
- BCHN v29.0.0 ASERT Implementation Reference
17. 부록 A: 빠른 시작 가이드
풀노드 운영하기
다운로드:
https://bch2.org/downloads/
설정(~/.bitcoincashII/bitcoincashII.conf):
server=1
daemon=1
listen=1
port=8339
rpcport=8342
rpcuser=your_username
rpcpassword=your_secure_password
# Seed nodes
addnode=144.202.73.66:8339
addnode=108.61.190.83:8339
addnode=64.176.215.202:8339
addnode=139.180.132.24:8339
실행:
bitcoincashIId -daemon
채굴
풀 채굴:
Pool: stratum+tcp://pool.bch2.org:3333
Worker: your_bch2_address
Password: x
솔로 채굴:
ASIC를 로컬 노드의 RPC 포트에 연결하도록 설정하세요.
BC2 포크 분배 청구
블록 53,200 시점에 BC2를 보유했다면:
- BC2 개인키를 내보냅니다(WIF 형식)
- BCH2 지갑으로 가져옵니다
- BCH2 잔액은 포크 시점의 BC2 잔액과 같습니다
18. 부록 B: 기술 비교
| 기능 | BTC | BCH | BC2 | BCH2 |
|---|---|---|---|---|
| 블록 크기 | 4MB 가중치 | 32MB | 4MB 가중치 | 32MB |
| 난이도 조정 | 2016블록 | ASERT (2-day) | 2016블록 | ASERT(출시 1시간 / 업그레이드 후 2일) |
| SegWit | Yes | No | Yes | 없음(포크 이후) |
| 주소 형식 | bech32 | CashAddr | bech32 | CashAddr |
| 리플레이 보호 | — | SIGHASH_FORKID | — | SIGHASH_FORKID |
| 블록 생성 시간 | 10 min | 10 min | 10 min | 10 min |
| 공급 상한 | 21M | 21M | 21M | 21M |
| RBF | Yes | No | Yes | No |
BCH2와 BCHN 요약
| 항목 | BCH2 | BCHN | 수렴 계획 |
|---|---|---|---|
| 체인 이력 | BC2 블록 0–53,200 | BCH 제네시스 체인 | 해당 없음(영구) |
| ASERT Half-Life | 1시간(블록 92,736에서 전환) | 2일 | 블록 92,736에서 자동 |
| P2P Port | 8339 | 8333 | 해당 없음(영구) |
| 주소 접두사 | bitcoincashii: | bitcoincash: | 해당 없음(영구) |
| 합의 규칙 | 포크 이후 동일 | 참고 | 동등성 유지 |
| 스크립트 VM | 동일 | 참고 | 동등성 유지 |
19. 부록 C: 자주 묻는 질문
BCH2는 Bitcoin Cash의 포크인가요?
BCH2는 블록 높이 53,200에서 이뤄진 BC2(BitcoinII)의 포크로, Bitcoin Cash 합의 규칙을 채택합니다. BC2의 블록체인 이력을 보존하면서 BCH의 프로토콜 개선으로 올라섭니다.
BCH2를 받으려면 무언가 해야 하나요?
아니요. 블록 53,200 시점에 BC2 개인키를 가지고 있었다면, 포크에 의해 같은 금액의 BCH2를 자동으로 보유합니다. 키를 BCH2 지갑으로 가져오기만 하면 됩니다.
왜 BCH가 아니라 BC2를 포크했나요?
BC2는 제네시스부터 공정한 분배와 접근 가능한 채굴을 갖추고 있었습니다. BCH2는 BC2를 포크하고 BCH 규칙으로 올라섬으로써 공정한 분배와 검증된 프로토콜 개선을 함께 담습니다.
SegWit을 지원하나요?
포크 이후에는 새로운 SegWit 출력을 만들 수 없습니다. 다만 BC2 이력에 있는 기존 SegWit UTXO(P2WPKH, P2WSH, P2TR 및 P2SH로 감싼 변형)는, 서명 데이터를 witness 필드에서 기존 scriptSig로 옮기는 BCH2의 "scriptSig를 통한 witness" 방식으로 지출할 수 있습니다. Taproot는 키 경로 지출을 지원하고 스크립트 경로 지출은 지원하지 않으므로, 복잡한 Taproot 스크립트를 쓰는 사용자는 포크 전에 코인을 옮기는 것이 좋습니다. RBF도 비활성화되어 있습니다.
어떤 지갑을 써야 하나요?
CashAddr 형식을 지원하는 지갑이면 BCH2에 맞게 손볼 수 있습니다. 공식 지갑은 Electron Cash 코드베이스를 바탕으로 공개될 예정입니다.
BCH2는 어떻게 채굴하나요?
SHA-256 ASIC이라면 pool.bch2.org:3333에 연결하거나, 자신의 노드를 상대로 솔로 채굴하세요.
ASERT 반감기가 BCH와 다른 이유는?
BCH2는 해시레이트가 제한된 신생 체인을 마비시킬 수 있는 난이도 조작 공격에 대비해 ASERT 반감기 1시간으로 출발합니다(BCH는 2일). 반감기는 블록 92,736(포크 후 약 9개월)에서 자동으로 2일로 전환되며, 하드포크는 필요하지 않습니다.
포크는 언제 일어나나요?
포크는 BC2 블록 높이 53,200에서 일어나며, 출시 목표는 2026년 3월 7~9일경입니다. BC2 보유자는 그 전에 개인키를 직접 관리하고 있는지 확인해야 합니다.
BCH2: Bitcoin Cash II — 공정한 분배, 검증된 프로토콜, 분산된 미래
이 문서는 2026년 2월 자입니다. 갱신 내용은 https://bch2.org/whitepaper 에 공개됩니다