Update 2023. 3. 30.

2021년 9월 14일 - 사후 일본어 번역

strapi-blog-api-image

최종성의 배경

블록체인의 중요한 개념인 완결성은 트랜잭션이 변경, 취소 또는 취소될 수 없음을 보장하는 것입니다. 비트코인과 대부분의 체인은 확률적 완결성을 사용합니다. 심볼에서는 확률적 완결성과 결정적 완결성을 별도의 기능으로 사용합니다. 즉, 트랜잭션이 확정된 블록에 포함될 때 트랜잭션이 확정된 것으로 간주됩니다.
블록을 확정하려면 활성 투표 노드의 2/3가 해당 블록의 해시에 투표해야 합니다. 투표자는 해당 확정 과정에 자유롭게 참여할 수 있습니다. 멤버십 변경은 다음 에포크부터 적용됩니다. 또한 각 단계가 끝날 때마다 활성 투표권이 계산되며, 이 수치는 다음 에포크에서 분모로 사용됩니다.
이슈 ## 9월 12일 일요일, 네트워크에서 361번째 에포크의 마무리 프로세스에 문제가 있음을 발견했습니다. 이번 에포크는 마무리 프로세스에 과부하가 걸릴 것으로 예상했기 때문에 예상치 못한 일은 아니었습니다.
네트워크 시작 시 심볼 부트스트랩을 사용하여 투표 키를 등록한 투표(투표) 노드는 에포크 1부터 360까지의 키를 등록했습니다. 투표 키를 정기적으로 업데이트하는 것의 중요성이 잘 알려지지 않았기 때문에 많은 사용자가 에포크 361 이후에는 키를 등록하지 않았습니다. 그 결과, 에포크 360에서 투표했던 많은 노드들이 에포크 361에서는 투표하지 않았습니다.
그럼에도 불구하고 다음 에포크(362)로 진행하기에 충분한 합의가 이루어졌습니다. 안타깝게도 여기서 멈췄습니다. 몇몇 대형 노드들이 투표를 중단했고, 네트워크는 투표 노드의 과반수 이상의 합의에 도달하지 못했습니다.
이는 만료된 투표 노드의 XYM 보유와 관련이 있는 것으로 보이며, 이는 바람직하지 않습니다. 조사 결과, 고객이 업데이트된 투표 키를 등록한 계정의 XYM 보유량은 계산하지 않고 적절하게 처리했지만, 투표 키를 업데이트하지 않은 계정의 XYM 보유량은 계산한 것으로 확인되었습니다. 데이터에 저장된 데이터는 즉시 결함이 있음을 보여주었습니다. 설계대로 작동했다면 총 투표 잔액이 크게 감소했어야 하지만, 거의 변화가 없었습니다.

주요 수정 사항

현재 에포크에 투표 키가 등록되지 않은 계정을 제외하여 이 버그를 수정했습니다. 또한, 과반수 임계값이 70%에서 67%로 낮아졌습니다. 이러한 변경 사항으로 인해 과반수 투표 계정에 이 수정 사항이 배포되는 즉시 확정 프로세스가 재개될 것입니다.
블록 528,000에서 하드포크가 발생할 것입니다. 이는 중요도 블록에 저장된 통계의 계산을 수정하기 위해 필요합니다(모든 노드에서 확인해야 하므로).
최종 확정화는 심볼에서 단일 함수로 구현되므로, 이 최종 확정화가 진행되는 동안에도 체인은 계속 진행됩니다. 이 최종화가 완료되면 모든 블록이 빠르게 동기화될 것으로 예상됩니다.

2차 수정

투표 투표 노드가 투표 키 사용을 완료하면 기본적으로 노드가 충돌합니다. 이 문제를 완화하기 위해 단순히 오류로 기록되도록 변경했습니다. 이렇게 하면 노이즈가 줄어들지만, 이 상태로 노드를 장시간 실행하는 것은 권장하지 않습니다. 투표를 중지하고자 하는 노드는 enableVoting을 false로 설정한 후 다시 시작해야 합니다.
다중서명 계정은 항상 다른 계정(부모 계정)이 수수료를 지불해야 하는 불편함이 있었습니다. 이 제한이 완화되어 포크된 블록에서 다중 서명 계정이 부모 계정으로 수수료를 송금하여 간접적으로 수수료를 지불할 수 있게 됩니다. 해시 잠금이 필요한 부분 트랜잭션의 전송 동작은 변경되지 않는다는 점에 유의하시기 바랍니다.

향후 작업

현재 심볼 버전에서는 투표 투표 노드에 대한 보상이나 페널티가 없습니다. 이는 출시를 위한 확정화 구현을 크게 단순화하지만, 투표 투표 노드에 대해 저희가 의도한 올바른 인센티브를 제공하지는 않습니다. 가까운 시일 내에 투표자에게 보상을 제공할 수 있는 적절한 시스템을 추가할 계획입니다.
더 나은 도구에 투자해야 한다는 것을 알고 있습니다. 활성 투표 노드의 수와 투표율 하락을 모니터링할 수 있었다면 최종 결정 프로세스가 중단되기 전에 문제를 미리 알 수 있었을 것입니다. 앞으로 몇 달 동안 새로운 블록 탐색기, 개선된 REST API, 사용자와 연구자에게 이해하기 쉽고 유용한 데이터 분석 등 인프라에 우선순위를 둘 것입니다. 저희와 함께 일하고 싶으시다면 Discord에 참여해 주세요.

News
Community
Docs
Contact