ASERT 해설
ASERT(Absolutely Scheduled Exponentially Rising Targets, aserti3-2d로 구현)는 2020년 11월부터 활성화된 Bitcoin Cash의 난이도 조정 알고리즘으로, Bitcoin처럼 2,016 블록마다가 아닌 모든 단일 블록에 대해 채굴 난이도를 재계산한다.
ASERT(Absolutely Scheduled Exponentially Rising Targets, aserti3-2d로 구현)는 2020년 11월부터 활성화된 Bitcoin Cash의 난이도 조정 알고리즘으로, Bitcoin처럼 2,016 블록마다가 아닌 모든 단일 블록에 대해 채굴 난이도를 재계산한다. 고정된 앵커 포인트 이후 체인의 실제 타임라인이 블록당 10분의 이상적인 일정에서 얼마나 벗어났는지를 측정하고, 2일 반감기로 난이도를 지수적으로 조정한다. 솔로 채굴자에게 중요한 효과: 기회주의적 해시레이트가 체인을 약탈하는 데 사용하는 수익성 있는 창문을 지우는 지속적이고 절벽 없는 조정 — 안정적으로 채굴하는 모든 사람의 확률을 보호한다.
핵심 요점
- 에포크가 아닌 블록별로.Bitcoin은 ~2,016 블록 동안 난이도를 고정하다가 점프한다; ASERT는 매 블록마다 조정한다. 플래토 없음은 창문 없음을 의미한다 — 채굴자에게 가장 중요한 단일 결과.
- 공식은 한 줄이다.next_target = anchor_target × 2^((actual_time − scheduled_time) / half_life). 난이도는 체인이 일정에서 얼마나 벗어났는지에 따라 스케일된 앵커의 난이도다.
- 2일 반감기가 조정 노브다.일정보다 2일 앞서면 난이도가 두 배; 2일 뒤처지면 절반. 실제 해시레이트를 추적하기에 충분히 빠르고, 행운 블록 노이즈를 무시하기에 충분히 느리다.
- 안정적인 채굴자를 보상하도록 설계되었다.ASERT의 명시적 설계 목표에는 체인 간을 이동하는 스위치 채굴자의 수익 이점 최소화가 포함되었다 — 소수 체인의 솔로 채굴자가 원하는 정확한 보호.
- 같은 설계가 너무 작은 체인을 가둘 수 있다.짧은 해시레이트 홍수가 난이도를 급등시키고; 떠나면 소규모 체인은 10× 스파이크에서 회복하는 데 ~6.6일이 걸릴 수 있다. 그래서 소규모 체인에서 ASERT의 동작은 기능이자 위험이다.
이 글은 ASERT가 체인의 갑옷인 Bitcoin Cash 프로필과 반대 세계 — 창문이 여전히 존재하고 활용될 수 있는 체인 — 을 탐구하는 BC2 리타겟 창문 가이드와 함께 우리의 난이도 과학 클러스터에 있다. ASERT를 이해하는 것은 왜 일부 체인에는 그런 창문이 있고 다른 체인에는 없는지를 이해하는 것이다.
ASERT가 해결하기 위해 만들어진 문제
모든 작업 증명 체인은 하나의 질문에 지속적으로 답해야 한다: 해시레이트가 합류하거나 떠날 때, 블록이 약 10분마다 도착하도록 어떻게 유지하는가? Bitcoin의 원래 답 — 이전 에포크의 속도로 2,016 블록마다 재계산 — 은 해시레이트가 엄청나고 안정적일 때 완벽하게 작동한다. 더 작은 체인에서는 특정하고 악용 가능한 방식으로 실패한다.
Bitcoin Cash는 이것을 힘든 방식으로 배웠다. 2017년 포크 이후의 첫 번째 난이도 알고리즘과 그 전의 긴급 조정은 격렬한 진동을 일으켰다: 난이도가 떨어지고, 기회주의적 “스위치 채굴자”들이 쉬운 블록을 채굴하러 밀려들고, 난이도가 급등하고, 그들이 떠나고, 체인이 다음 하락까지 멈추는 — 안정적으로 채굴하는 모든 사람을 해치는 톱니파. 패턴에는 이름과 피해자가 있었다: 수익성 있는 창문, 그리고 그 몫이 희석된 충성스러운 채굴자. ASERT는 경쟁 알고리즘에 대한 광범위한 시뮬레이션 후에, 구체적으로 그 톱니파를 평평하게 하기 위해 설계되었다 — 명시적 목표에는 블록 시간을 목표 근처에 유지하고, 확인 시간을 목표 근처에 유지하고, 안정적인 채굴자와 스위치 채굴자 간의 수익성 격차를 줄이는 것이 포함되었다.
aserti3-2d가 실제로 어떻게 작동하는가
전체 알고리즘은 하나의 우아한 공식이다:
next_target = anchor_target × 2((time_delta − ideal_block_time × (height_delta + 1)) / half_life)
평이한 언어로 읽어라. 체인의 과거에서 고정된 앵커 블록을 가져라 — Bitcoin Cash의 경우 ASERT 활성화 직전 블록. 그 난이도가 영구적인 기준선이다. 이제 모든 새 블록에 대해 두 가지를 계산한다: time_delta, 앵커 이후 실제 경과 시간, 그리고 예정된 시간, 앵커 이후 블록 수에 ideal_block_time(600초)을 곱한 것. 그 차이 — 체인이 이상적인 일정보다 앞서거나 뒤처졌는가? — 가 지수에 들어가 반감기로 나누어진다. 체인이 정확히 일정대로라면 지수는 0이고, 20 = 1이며 난이도는 앵커의 것과 같다. 앞서면 지수가 양수가 되어 앞서는 반감기마다 난이도가 두 배; 뒤처지면 음수가 되어 뒤처지는 반감기마다 난이도가 절반.
두 가지 설계 선택이 그것을 견고하게 만든다. 앵커가 절대적이기(슬라이딩 윈도우가 아닌 고정점) 때문에 반올림 부정확성이 몇 달에 걸쳐 누적될 수 없다 — 모든 블록이 같은 기원에서 새롭게 계산된다. 그리고 부동소수점 연산이 다른 프로세서에서 다른 결과를 생성하기 때문에 — 기다리는 합의 재앙 — ASERT는 고정소수점 정수 연산과 3차 다항식으로 지수를 근사하여 모든 머신의 모든 노드가 바이트 동일한 난이도를 계산한다. 세 줄의 정수 코드로 위장한 제어 시스템 피드백 루프다.
2일 반감기: 중요한 숫자
반감기는 ASERT의 성격이다. Bitcoin Cash는 2일(기술적으로 288 블록의 이상적인 시간)을 선택했고, 사람이 읽을 수 있는 버전은 들리는 것만큼 명확하다: 체인이 일정보다 2일 앞설 때마다 난이도가 두 배가 된다; 2일 뒤처질 때마다 난이도가 절반이 된다.
왜 구체적으로 2일인가? 시뮬레이션에서 찾은 균형점이다. 반감기가 너무 짧으면 난이도가 빠른 블록의 모든 운 좋은 연속에서 경련하여 통계적 노이즈에 과잉 반응한다 — 체인이 절대 안정되지 않는다. 너무 길면 실제 해시레이트 변화에 느리게 반응하여 며칠 동안 목표에서 벗어나 닫으려 했던 바로 그 창문을 다시 열게 된다. 2일은 스위트 스팟에 있다: 실제 변화에는 약 하루 만에 반응, 개별 블록의 임의 지터에는 무감각. 이로부터 나오는 실용적인 산수: 2× 난이도 스파이크에서 회복하는 데 2일, 4× 스파이크에 4일, 10× 스파이크에 약 6.6일 — 체인이 작은 순간에 매우 중요해지는 숫자.
ASERT가 솔로 채굴자에게 의미하는 것
중요도 순으로 세 가지 결과.
당신의 안정적인 확률이 보호된다.이것이 헤드라인이다. 에포크 리타겟 체인에서 버스트 채굴자는 난이도 하락을 기다렸다가 쉬운 창문 동안 밀려들어 교정 전에 떠날 수 있다 — 그들이 채굴하는 모든 쉬운 블록은 당신이 채굴하지 못한 것으로, 조작된 구간에서 당신의 몫을 희석시킨다. ASERT는 그 창문을 지운다: 난이도는 그들이 도착하는 순간 오르고 떠나는 순간 내려간다, 블록마다, 그래서 파밍할 지연이 없다. 충성스러운 채굴자의 예상 몫은 깨끗하게 유지된다.
당신이 보는 난이도는 정직하다.Bitcoin에서 오늘의 난이도는 최대 2주 전 네트워크를 반영한다; ASERT 체인에서는 마지막 몇 블록의 네트워크를 반영한다. 확률을 계산할 때 — 계산기에서 또는 손으로 — ASERT 체인의 숫자는 후행 평균이 아닌 라이브 가격이므로 확률 추정이 체인 자체만큼 최신 상태다.
타이밍을 잡을 수 없다 — 다른 누구도 그렇다.보호의 이면은 ASERT가 영리한 진입 지점을 제공하지 않는다는 것이다. 뛰어들 난이도 하락이 없다, 왜냐하면 어떤 하락도 이미 전체 네트워크에 동시에 반영되어 있기 때문이다. 이것은 리타겟 창문 체인의 플레이 가능한 역학과 정반대이며, 공정한 거래다: 당신은 일정을 조작할 기회를 포기하고 아무도 당신에 대해 일정을 조작하지 않는다는 보장을 받는다.
소규모 체인의 역설: ASERT의 가장 날카로운 날
여기서 우아함이 양날이 된다. ASERT의 반응성은 체인이 실제 지속적인 신호를 추적할 수 있을 만큼 충분한 안정적인 해시레이트를 가지고 있다고 가정한다. 매우 적은 해시레이트를 가진 체인을 주면 단 하나의 대형 채굴자가 무기가 된다 — 항상 악의적이지 않고, 때로는 그냥 나타남으로써.
실패 모드: 대형 채굴자가 몇 시간 동안 소규모 체인에 심각한 해시레이트를 향한다. 블록이 날고, 체인이 일정보다 훨씬 앞서가고, ASERT가 충실하게 난이도를 올린다 — 아마도 10×. 그런 다음 대형 채굴자가 떠난다. 이제 체인의 정상적이고 적당한 해시레이트는 10배 크기를 위해 만들어진 난이도에 직면하고, 블록이 기어가는 속도로 느려진다. 표준 2일 반감기로는 10× 스파이크에서 회복하는 데 약 6.6일이 걸린다 — 체인이 사실상 동결되고, 확인이 멈추고, 알고리즘이 보호하려 했던 충성스러운 채굴자들이 갈아대고 있는 거의 1주일. 난이도 알고리즘 버전의 스트레스 부상이다: 건강한 체인을 강하게 만드는 근육이 약한 체인을 찢을 수 있다.
이것이 ASERT를 채택하는 더 새롭고 작은 SHA-256 체인들이 자주 단축된 반감기로 출시하는 이유다 — 며칠 대신 몇 시간 만에 스파이크에서 회복 — 생존 가능성과 교환으로 약간 더 많은 노이즈 민감성을 받아들인다. 또한 매우 작은 체인이 그들의 매력적인 확률이 시사하는 것보다 더 위험하게 채굴되는 큰 이유이기도 하며, 사다리 하단에 해시레이트를 향하기 전에 완전히 이해할 가치가 있는 트레이드오프다.
결론
ASERT는 작업 증명의 조용한 걸작 중 하나다: 한 줄의 공식, 지수의 정수 근사, 그리고 2일 반감기 — 함께 격렬한 난이도 톱니파를 부드럽고 절벽 없는 곡선으로 변환한다. Bitcoin Cash의 솔로 채굴자에게는 보이지 않게 그리고 당신에게 유리하게 작동한다 — 스위치 채굴자로부터 당신의 몫을 보호하고, 당신의 확률을 분 단위로 정직하게 유지하고, 어차피 결코 이길 수 없었던 게임 기회를 포기하도록 요청할 뿐이다.
그리고 가장 날카로운 날 — 소규모 체인의 스파이크 함정 — 에서는 난이도 과학 클러스터에서 가장 깊은 교훈을 가르친다: 같은 메커니즘이 그 뒤에 얼마나 많은 해시레이트가 있는지에 전적으로 달려 갑옷이나 위험이 될 수 있다. 어떤 체인에 있는지 알면 어떤 ASERT를 채굴하는지 안다.
안정적인 채굴자를 보호하는 체인을 채굴하라
SoloFury는 자체 노드에서 Bitcoin Cash를 운영한다 — ASERT 보호, 블록별 난이도, 버스트 채굴자가 당신의 몫을 약탈할 창문 없음. 비수탁형 coinbase 지급, 1% 수수료, 모든 지역의 TLS 엔드포인트, 계산기의 라이브 난이도.안정적인 해시레이트는 정확히 이 알고리즘이 보상하도록 설계된 것이다.
BCH 솔로 채굴하기 →라이브 난이도 확률 보기 →자주 묻는 질문
ASERT는 무엇의 약자인가요?
Absolutely Scheduled Exponentially Rising Targets의 약자입니다. 「절대적으로 예정된」이란 난이도가 최근의 이동 구간이 아니라 체인 역사상의 고정된 앵커 지점에서 계산된다는 뜻입니다. 「지수적으로 상승하는 타깃」은 체인이 일정보다 얼마나 앞서거나 뒤처졌는지와 난이도가 어떻게 반응하는지 사이의 지수적 관계를 가리킵니다. 완전한 구현체는 aserti3-2d라고 불리며, 「2d」는 이틀이라는 반감기를 뜻합니다.
ASERT는 비트코인의 난이도 조정과 어떻게 다른가요?
비트코인은 2,016블록마다(약 2주) 직전 에포크가 걸린 시간을 바탕으로 난이도를 다시 계산하고, 그사이에는 난이도를 고정합니다. ASERT는 고정된 앵커를 기준으로 매 블록마다 다시 계산하므로 난이도가 연속적이고 부드럽게 움직입니다. 실질적인 결과로 비트코인에는 약 2주짜리 난이도 평탄 구간이 있지만, 비트코인 캐시에는 평탄 구간이 전혀 없고 따라서 악용할 창도 없습니다.
ASERT의 앵커 블록이란 무엇인가요?
앵커는 고정된 기준 블록, 구체적으로는 체인에서 ASERT가 활성화되기 직전의 블록으로, 그 높이와 타깃이 이후 모든 계산의 영구적인 「절대」 기준이 됩니다. 새 블록의 난이도는 그 앵커 이후 체인의 실제 시간선이 이상적인 일정에서 얼마나 벗어났는지에 따라 앵커의 난이도를 스케일해 구합니다. 기준이 결코 움직이지 않기 때문에 반올림 오차가 시간이 지나며 누적되지도 않습니다.
이틀이라는 반감기가 왜 중요한가요?
반감기는 난이도가 반응하는 속도를 정합니다. 이틀이라면, 체인이 일정보다 이틀 앞설 때마다 난이도가 두 배가 되고, 이틀 뒤처질 때마다 절반이 됩니다. 이것은 의도된 균형입니다. 실제 해시레이트 변화에 하루 남짓이면 반응할 만큼 빠르고, 운 좋은 블록이나 느린 블록 하나하나가 만드는 무작위 잡음은 무시할 만큼 느립니다. 이 반감기에서 10× 난이도 급등에서 회복하는 데는 약 6.6일이 걸립니다.
ASERT가 블록을 찾을 확률을 바꾸나요?
특정 난이도에서의 확률은 바뀌지 않습니다. 그것은 언제나 여러분의 해시레이트를 네트워크 전체로 나눈 값입니다. ASERT가 바꾸는 것은 그 확률의 공정성과 시간에 걸친 안정성입니다. 리타겟 창을 없앰으로써 순간적으로 몰려드는 채굴자가 쉬운 구간만 훑어 꾸준한 채굴자의 몫을 희석하는 일을 막고, 매 블록 조정함으로써 여러분이 보는 난이도를 2주 묵은 값이 아니라 현재 상황에 충실하게 유지합니다.
ASERT가 아주 작은 체인에 위험할 수 있는 이유는 무엇인가요?
건강한 체인을 안정시키는 바로 그 반응성이 아주 작은 체인은 덫에 빠뜨릴 수 있습니다. 해시레이트가 매우 적은 체인에 대형 채굴자가 잠시 몰려들면 난이도가 치솟습니다. 그 채굴자가 떠나면 남은 해시레이트는 부풀려진 난이도에서 계속 갈아야 하고, 블록 생성은 기어가듯 느려집니다. 표준인 이틀 반감기에서 10× 급등으로부터 회복하는 데는 약 6.6일, 즉 거의 얼어붙은 체인이 일주일 가까이 이어집니다. 새로 나오는 작은 체인들은 더 빨리 회복하도록 반감기를 줄여 출발하는 경우가 많습니다.
어떤 체인들이 ASERT를 사용하나요?
비트코인 캐시는 2020년 11월 Axion 업그레이드에서 aserti3-2d를 채택했고, 이후 안정성이라는 특성을 원하는 같은 계열의 다른 SHA-256 체인들도 채택했습니다. 더 작은 네트워크에 맞춰 반감기를 조정한 경우도 있습니다. eCash는 자체적인 계층형 접근을 씁니다. 비트코인 자체는 ASERT를 쓰지 않고 2,016블록마다의 원래 리타겟을 유지합니다.
ASERT 체인에서 난이도 하락 시점을 노릴 수 있나요?
없습니다. 그리고 그것이 바로 핵심입니다. 에포크 기반으로 리타겟하는 체인에서는 난이도 하락이 더 좋은 확률의 일시적인 창을 열어 주고, 거기에 뛰어들어 볼 수 있습니다. ASERT는 매 블록 조정하므로 모든 변화가 즉시, 모두에게 동시에 반영됩니다. 파고들 지연도, 노릴 창도 없습니다. 여러분의 꾸준한 확률이 지켜지는 이유는 다른 누구도 일정을 이용해 먹을 수 없기 때문입니다.