Activation mechanism은 parameter, state transition, 그리고 새 backward-compatible rule을 위반한 block을 validating node가 거부하기 시작하는 height를 정한다.
Soft fork는 valid block 집합을 줄이고 새 조건은 ACTIVE에서만 강제된다. Software release, signaling 시작, LOCKED_IN은 아직 activation이 아니며 대기 기간에 참여자가 업데이트한다. [2]
BIP 9는 2016 block 기간마다 version bit를 평가해 DEFINED, STARTED, LOCKED_IN, ACTIVE, FAILED를 거친다. 원래 기본 threshold는 1 916 block, 95 %였고 timeout 전에 못 미치면 FAILED다. [2]
BIP 8은 Median Time Past 날짜 대신 startheight, timeoutheight, minimum_activation_height를 쓴다. lockinontimeout은 선택적 MUST_SIGNAL을 더해 늦어도 timeoutheight에 LOCKED_IN을 보장할 수 있다. [1]
LOT=false에서는 threshold를 못 채운 deployment가 timeoutheight에 FAILED다. LOT=true에서는 마지막 기간에 과도한 비신호 block을 거부할 수 있어 chain split risk가 달라지며 강제 전에 알려져야 한다. [1]
BIP 8은 2016 block 중 1 815, 즉 90 %와 ACTIVE 전 최소 한 LOCKED_IN 기간을 권한다. 각 soft fork는 자체 parameter를 공개해야 하며 mechanism 이름만으로 threshold나 날짜가 정해지지 않는다. [1]
Taproot는 BIP 9 variant Speedy Trial을 사용했다: bit 2, 2016 block 중 1 815, 고정 minimum activation height 709 632이었다. Lock-in 뒤 mainnet block 709 632에서 실제 activation했다. [3]
Header signal은 hashrate가 호환 block을 만들 준비를 나타낼 뿐 coin 투표나 독립적 node rule이 아니다. Activation 뒤 각 validating full node는 실행 중인 code와 parameter를 따른다. [4]
‘활성화’를 확인하려면 정확한 BIP, parameter 포함 release, network, version bit, period, threshold, LOCKED_IN, ACTIVE height를 본다. Taproot 결과는 다른 parameter에 자동 적용되지 않는다. [4]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Soft Fork, BIP (Bitcoin Improvement Proposal), SegWit, Taproot, 합의 규칙, 블록 크기 전쟁. 다음 항목에서도 이 글을 참조합니다 Schelling Point.
01Miner가 Bitcoin rule에 투표하는가?+
법적·소유권 의미의 투표가 아니다. Signaling은 mechanism의 준비를 측정하며 block validity는 validating node rule이 결정한다.
02LOT=true는 무엇인가?+
BIP 8 lock-in-on-timeout은 timeout 전 MUST_SIGNAL을 추가해 이전 threshold 없이 LOCKED_IN에 도달한다. 허용치를 넘는 비신호 block은 LOT=true node에 invalid다.