ASICBoost는 적절히 준비한 블록 헤더 후보 사이에서 SHA-256 메시지 스케줄 계산을 공유하는 최적화입니다. 후보는 공통 메시지 부분과 서로 다른 중간 상태를 가지며, 동일한 최종 Bitcoin 해시 두 개를 찾는 것이 아닙니다.
Timo Hanke는 2016년 논문에서 ASICBoost를 설명하며 Sergio Demian Lerner와의 협업을 명시했습니다. ASIC 밖의 작업 준비와 칩 내부 계산 구성을 결합합니다. SHA-256이나 최종 이중 헤더 해시가 채굴 목표를 충족해야 한다는 요건은 바꾸지 않고 반복 연산 일부를 절약합니다. [Timo Hanke — AsicBoost, 2016]
Bitcoin 헤더는 80바이트입니다. 첫 SHA-256에서 64바이트와 padding을 더한 나머지 16바이트로 나뉩니다. Merkle root는 두 부분에 걸치며, 마지막 4바이트는 시간, bits, nonce와 함께 두 번째 부분에 있습니다. 따라서 바꾸는 데이터의 정확한 위치가 중요합니다. [Timo Hanke — AsicBoost, 2016]
Hanke의 colliding work items는 같은 Message와 첫 부분에서 나온 서로 다른 midstate를 갖습니다. 선택한 nonce에 대해 첫 SHA-256의 두 번째 부분 message schedule을 여러 상태에서 재사용할 수 있습니다. 완전한 SHA-256의 충돌도, 헤더 첫 부분이 동일하다는 뜻도 아닙니다. 첫 부분은 서로 다릅니다. [Timo Hanke — AsicBoost, 2016]
Lerner는 nVersion을 바꾸는 overt와 마지막 4바이트는 같고 첫 부분은 다른 Merkle root를 찾는 covert를 구분합니다. Covert는 거래나 순서를 바꿀 수 있지만 유효한 커밋먼트와 의존 관계를 유지해야 합니다. nVersion 변화만으로 특정 절감량이나 운영자 신원을 입증할 수 없습니다. [Sergio Demian Lerner — Overt and covert AsicBoost, 2017]
BIP310은 mining.configure와 version-rolling.mask를 사용하며 응답은 서버와 채굴자 지원 범위의 교집합입니다. 제출은 version_bits & ~last_mask == 0을 만족해야 합니다. mining.set_version_mask는 다음 작업부터가 아니라 즉시 적용됩니다. Version rolling 지원은 임의의 비트 변경이나 새 마스크 무시를 허용하지 않습니다. [BIP310 — Stratum protocol extensions]
검토일 기준 BIP320은 Draft이며 범용 nVersion 비트 16개를 설명합니다. BIP323도 Draft이며 24비트로 대체할 것을 제안합니다. 이 문서와 실제 연결에서 쓰는 마스크 및 소프트웨어를 구분해야 합니다. BIP 번호만으로 모든 장치의 지원이나 임의의 합의 변경을 입증할 수 없습니다. [BIP320 — General-purpose nVersion bits] [BIP323 — 24 general-purpose nVersion bits]
Hanke 모델은 x × (n − 1) / n이며 x는 공유 확장 작업의 백분율, n은 적절한 작업 수입니다. x = 25%, n = 4이면 18.75%입니다. 이는 해당 가정 아래의 계산 작업 모델이지, 모든 채굴기에서 같은 비율의 와트 또는 가격 절감이나 해시레이트 증가를 자동으로 뜻하지 않습니다. [Timo Hanke — AsicBoost, 2016]
특정 장치의 칩·펌웨어 지원, 협상된 마스크, 수락된 작업, 비교 가능한 운영 조건의 소비 전력을 기록해야 합니다. 전체 장치 J/TH는 기능 이름이나 이론적 백분율로 대체할 수 없습니다. ASICBoost는 오버클럭의 동의어가 아니며 블록 발견이나 수익을 보장하지 않습니다. [Timo Hanke — AsicBoost, 2016] [BIP310 — Stratum protocol extensions]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 ASIC Miner, 비트코인 채굴, 블록 헤더, Proof of Work. 다음 항목에서도 이 글을 참조합니다 Mining Firmware.