로그인

검색

ICX 초과 발행 분석 (리비전 16)

똥글왕김똥글

* 번역은 오역과 의역 있을 수 있으며, 문제가 되는 부분은 댓글을 통해서 알려주세요.

 

 

* 바쁜분들을 위해 하단 댓글 요약 있음

 

 

12월 23일 14:23 (KST) ICON 팀은 블록 높이 43,866,323 (IISS 3.1 활성화 후 첫 번째 블록)에서 ICX가 초과로 발행 된 것을 발견했습니다.

ICON 2.0의 ICX 발급 모듈에서 버그가 발생하여 초과 발행되었습니다. 그 결과 한 달동안 이루어져야하는 양의 ICX가 하루 만에 약 300만 개의 ICX가 발행돼었습니다. P-Rep들의 도움으로 우리는 12월 25일 리비전 16 네트워크 제안서 통과하여 문제를 빠르게 해결할 수 있었습니다.

 

 

 

핵심: 이 문제는 ICX 재무 금고(Treasury, 그 누구도 관여할 수 없는 영역)에만 영향을 미치며 보유자, 투표자 또는 P-Rep들에게는 영향을 미치지 않습니다.

ICX 보상 청구는 I-Score 변환에 의존하기 때문에 추가된 ICX는 재무부에 청구할 수 없으며, 순환공급에도 영향을 미치지 않습니다.

 

 

 

 

문제점

ICON 팀은 이 기본 트랜잭션에서 초과 발행 문제를 발견했으며, 이 트랜잭션에서 ~69.57 ICX (0x3c585f50e0100aec9) 의 발행이 관찰되었습니다. ICON에서 하나의 기간(a term)은 43,120개의 블럭으로 구성됨에 따라서. 블록당 69.57 ICX의 발행량은 약 2,999,858 ICX (69.57 ICX * 43,120 블록)이 그 기간 동안 발행됩니다. (정상적인 발행률은 블록당 ~2.31 ICX 또는, 기간당 ~99,814 입니다.)

 

 

 

해결

같은 날 Goloop v1.1.3 를 통해 초과발행 버그가 패치가 완료되었으며. 이후 12월 24일 업데이트된 코드를 활성화하기 위해 리비전 16 네트워크 제안서를 제출하였고, 12월 25일 리비전 16 제안이 승인되어, 이 문제는 블록 높이 43,952,563 에서 해결되었습니다.

 

v1.1.3 업데이트가 적용되어 ICON의 ICX 발행 모듈은 시간이 지남에 따라 ICX 총 공급을 다시 정상으로 조절합니다. 이를 위해 모듈은 초과 발행된 ICX와 블록당 보상 계산기의 보상 금액 사이의 차이만큼을 줄입니다. 그런 다음 모듈은 블록당 발행된 ICX를 조정하여, 이를 통해 ICX 공급을 최대 58일 동안 점진적으로 예상 수준으로 되돌려 놓을 것입니다.

 

 

 

예방
유사한 오류를 방지하기 위해 ICON 팀은 테스트넷에서 중요한 문제를 탐지할 수 있는 추가적인 모니터링 도구들을 준비하고, 메인넷 구축 전 테스트넷의 관찰 기간 늘리고, 테스트 자동화 프로세스 강화와 같은 엄격한 QA 검토 프로세스를 구축할 예정입니다.

 

 

 

출처: https://medium.com/helloiconworld/icx-over-issuance-postmortem-e634cfbda85b

 

 

 

댓글 1개
  • 똥글왕김똥글
    작성자 똥글왕김똥글
    2021.12.29

    [요약]
    - IISS 3.1 업데이트 이후, 첫 블록에서 ICX가 초과되어 발행되는 문제를 확인

    - 블록당 2개 정도가 발행되어야 하는데, 69.57개가 발행 됨

    - ICON의 블록 텀은 43,120개의 블럭을 기준으로 하기에, 69.57 x 43120 = 2,999,858 ICX가 발행 됨

    - 한 달동안 발행될 양이, 하루만에 발행 됨

    - 당일 블록체인 엔진을 업데이트해서 해결 및 P-Rep들과의 협업을 통해 업데이트인 리비전 16을 통과함으로 58일에 걸쳐 자연스럽게 원래 상태로 되돌아가게 됨

    - [핵심] 추가 발행된 ICX는 ICON 트래저리(보관함)에 보관되는 단계에 그대로 있으며, 이 ICON 트래저리(보관함)는 일반 유저 또는, 스테이킹 유저는 물론 P-Rep 들도 접근할 수 없는 곳으로, 일반적인 문제는 없음.. 유통량에도 영향을 미치지 않음.