비트코인캐시 네트워크에 예정되어 있던 업그레이드가 오늘 발생하였다. 업그레이드가 이루어진 후, 사용자들은 아직 그들의 거래가 확인을 거치지 않았다는 점에 놀랄 지도 모른다. 비트코인 ABC 내 버그가 발생하여 유효하지 않은 거래를 멤풀에 받아들였기 때문이다. 이들 유효하지 않은 거래는 악의적인 행위인 것으로 보인다.

 

유효하지 않은 거래를 담은 블록 역시 유효하지 않게 되므로, 결과적으로 ABC 노드들은 거래 없는 블록을 채굴하게 될 수도 있었다. 또 다른 결과는 어떠한 거래도 비트코인캐시 네트워크에 의해 한 시간 이상 처리될 수 없었다는 점이다. 비트코인캐시의 이전 업그레이드가 체인 분할로 이어졌던 것처럼, 두 번째 업그레이드는 그 과정이 부드럽지 않았던 것이다.

 

왜 비트코인캐시의 업그레이드 절차에 책임이 있는가

 

이와 같은 사건이 벌어진 경우, 어떤 과정을 어떻게 개선해야 하는지 반추하는 것은 차후 동일한 대혼란을 방지하기 위해 도움이 된다. 비트코인캐시의 업그레이드와 대시의 업그레이드를 비교해보자.

 

비트코인캐시 네트워크는 업그레이드가 수행될 날짜를 미리 발표했다. 이는 개발자들에게 있어 아직 준비가 되기도 전에 소프트웨어를 출시하라는 압력을 넣게 된다. 이와 같은 변화와 함께 비트코인캐시 사용자들은 업그레이드를 알리기 위해 중앙 경과 시간(Median Time Passed, MTP)을 사용한다. 이는 곧 네트워크 내 다른 노드들이 준비가 되지 않은 상태라고 하더라도 노드가 새 규칙을 적용하리라는 것을 의미한다. 이와 대조적으로, 대시 네트워크의 업그레이드는 대시 개선 제안 001(Dash Improvement Proposal 001)에 설명된 방식을 사용한다. 이는 비트코인 개선 제안 009(Bitcoin Improvement Proposal 009)를 기반으로 하고 있다. 대시 업그레이드에서는 채굴자들이 블록에서 업그레이드를 받아들일 준비가 되었다는 신호를 보내야 한다. 비트코인캐시의 MTP 방식은 노드들이 준비가 되지 않은 상태에서도 업그레이드를 강행하게 된다.

 

대시의 조심스러운 접근 방식

 

대시는 네트워크에 업그레이드에 관한 내용을 일찍 고지하지 않기 때문에, 신중을 기할 수 있을 뿐만 아니라 필요한 테스트를 모두 치를 수 있다. 최근 대시는 0.14 업그레이드를 위해 출시 후보 5(Release candidate 5)의 작업에 있다. 대조적으로, 대시의 0.13 버전은 정식으로 네트워크에 출시되기 이전에 11개의 출시 후보를 가졌다. 대시와 같은 글로벌 결제 네트워크는 지연된 업데이트를 처리할 수 있는 것이다. 보안과 안정성을 위해 치러야 할 적은 가격일 뿐이기 때문이다.

 

업데이트:  해당 버그는 비트코인 ABC 구현에서만 발견되었습니다. 비트코인 ABC는 2차 해싱 공격을 방지하기 위해 거래 수행에 대한 새로운 규칙을 추가했습니다.  대시는 이 새로운 규칙을 가지고 있지 않습니다. 그 대신 대시는 컨센서스 룰에 따라 거래에 크기 제한을 가지고 있습니다. 이 역시 2차 해싱 공격을 방지합니다.