퍼블릭 블록 체인 설계에서 높은 TPS (초당 트랜잭션)와 탈 중앙화는 종종 모순입니다. 완전히 분산 된 네트워크에서 각 노드는 완전히 동일합니다. 네트워크의 보안을 유지하려면 전체 네트워크에 대한 합의를 유지하기 위해 새 블록이 완전히 배포되고 검증 될 수 있도록 각 블록 사이에 충분한 시간 간격이 있어야합니다. 이것은 불가피하게 거래의 확인 시간에 영향을 미치고 TPS에 영향을 미칩니다. 평균 블록 간격을 줄이면 TPS를 개선하는 데 도움이되지만 전체 네트워크가 제 시간에 합의를 완료하지 못하여 포크가 발생하고 보안에 영향을 미칠 수 있습니다.
퍼블릭 블록 체인의 매개 변수 설계에서 종종 TPS와 네트워크 분산 아키텍처간에 절충안이 있습니다. 비트 코인은 전체 네트워크의 합의를 보장하기 위해 평균 블록 간격이 10 분인 통화 속성에 중점을 두지 만 더 높은 실시간 요구 사항이있는 애플리케이션을 지원할 수도 없습니다. Ethereum의 평균 블록 간격은 약 15 초로 사용자 경험을 크게 향상 시키지만 네트워크가 단기 포크를 계속 생성하고 채굴 자에게 "Uncle"블록에 대해 보상해야 함을 의미합니다. 블록 확인의 평균 수도 더 높습니다.
Qtum은 Bitcoin과 일치하는 UTXO 모델을 채택하고 스마트 계약을 위해 EVM (Ethereum Virtual Machine)을 지원합니다. Qtum의 현재 평균 블록 간격은 128 초이며 이론적 TPS는 비트 코인의 16 배입니다. 사용자 경험이 향상되었지만 전체 네트워크의 합의가 보장되고 숏 포크의 가능성이 낮습니다.
그러나 DeFi 및 기타 분산 응용 프로그램의 증가와 인기로 인해 Qtum은 더 빠른 블록 시간에 의존하는 과다한 응용 프로그램으로 사용자 경험을 더욱 향상시키기 위해 평균 블록 간격을 줄일 계획입니다. 이 업그레이드의 일부는 Staker 합의 알고리즘의 효율성을 크게 향상시키기위한 Qtum Staking 소프트웨어의 최적화입니다. 테스트 결과는 네트워크 합의 시간에 큰 영향을주지 않고 블록 간격을 32 초로 단축 할 수 있음을 보여줍니다.
현재 감소 된 블록 간격 작업은 집중적 인 테스트 단계에 있으며 더 많은 진전이있을 것입니다. 이 기사에서는이 업그레이드의 최신 진행 상황을 간략하게 소개하는 몇 가지 "스포일러"를 제공합니다.
Qtum "Speed-up Plan"은 다음 주요 업그레이드를 통해 제공됩니다.
첫 번째 업그레이드는 블록 간격을 줄이는 주요 목표이며 2, 3, 4는 성공적인 업그레이드의 핵심입니다.
난이도 조정 알고리즘 인 업그레이드 2는 속도가 증가한 후에도 블록 간격이 급격하게 변동하지 않도록합니다. 평균 블록 간격을 32 초로 유지하기 위해 각 새 블록에 대해 난이도 (목표)가 조정됩니다.
블록 보상 수정 인 업그레이드 3은 업그레이드 전후에 네트워크에서 생성 된 새로 생성 된 QTUM의 동일한 수를 보장합니다. 블록 보상 보조금은 인플레이션 율과 반감기를 유지하기 위해 더 빠른 블록을 위해 떨어집니다. 한 가지 이점은 소규모 스테이 커가 128 초 블록에 비해 1/4의 시간 동안 32 초 블록에 대해 블록 보상을 더 자주 볼 수 있다는 것입니다.
스테이 커 채굴 효율의 증가 인 업그레이드 4는 스테이 커가 더 빠른 블록을 따라 잡을 수있게하고 고아 블록을 줄이는 데 도움이됩니다.
업데이트를 확인하기 위해 분산 네트워크의 노드 배포를 시뮬레이션하기 위해 전 세계 100 개 이상의 노드 (미주, 유럽, 아시아 및 오세아니아 포함)가있는 개발 테스트 네트워크를 배포했습니다. 이 테스트 네트워크는 Qtum의 공개 테스트 넷에서도 쉽게 달성 할 수없는 무거운 부하로 스트레스 테스트를 할 수 있습니다. 업데이트 된 소프트웨어가이 테스트 네트워크에서 실행되고 있으며 다음으로이 네트워크에 대한 운영 결과를 제시합니다.
업그레이드 전에 테스트 네트워크는 아래 표시된 네트워크 대시 보드와 함께 현재 Qtum 메인 넷과 동일한 매개 변수로 하루 동안 실행되었습니다. 평균적으로 네트워크에서 1 분마다 10 개의 트랜잭션이 발생합니다. 결과에 따르면 평균 블록 간격은 약 129 초로 Qtum 메인 넷의 128 초와 거의 같습니다. 고아 블록 비율 (즉, 네트워크에서 "고아 블록"의 확률)은 약 3 %입니다.
네트워크의 트랜잭션 수 (10 tx / min)를 동일하게 유지하고 32 초 블록 업그레이드를 구현 한 후 3 시간 후 운영 결과는 다음과 같습니다. 평균 블록 간격은 예상되는 32 초로 줄어들었고 고아 블록 비율은 약 20 %로 증가했습니다. 고아 블록 비율이 증가했지만 상당한 고아 체인 분할이 없으며 가장 긴 고아 분할 체인 길이는 2 블록입니다. 이 고아 블록 속도는 Qtum의 현재 메인 넷에 가깝고 허용 가능한 범위 내에 있습니다.
네트워크로드가 높을수록 (단위 시간당 발생하는 트랜잭션이 많을수록) 블록이 커지고 (Qtum 블록 크기는 현재 2MB 임) 블록 처리 시간이 길어지고 고아 블록의 확률이 높아집니다. 32 초 블록 업그레이드를 도입 한 후, 우리는 트랜잭션 부하를 계속해서 새 블록의 50 %를 채우고 대부분의 블록이 최대 부하에 가깝습니다. 테스트 결과는 아래와 같습니다. 고아 비율은 약 27 %로 안정적이며 여전히 현재 메인 넷과 동일한 수준이며 허용 가능한 범위 내에 있습니다. 가장 긴 포크 길이는 4이며 확률은 0.61 %이며 실제 사용을위한 안전한 범위에 있습니다 (실제로 Qtum 네트워크의 권장 확인 수는 10입니다). 이 테스트 결과는 기대치와 일치합니다.
일반 거래와 비교하여 스마트 계약 거래를 처리하려면 노드에 의한 추가 처리 및 확인이 필요합니다. 블록 간격이 짧아지고 더 많은 스마트 계약 호출이 발생하면 Staker가 처리하는 데 너무 오래 걸리고 고아 블록으로 이어질 수 있습니다.
우리는 계속해서 네트워크 부하를 늘리고 스마트 계약 호출을 늘 렸습니다. 평균 블록 간격은 32 초로 단축되었지만 네트워크의 고아 블록 비율은 27 %로 유지되었으며 보안 기대치에 부합하는 명확한 포크가 없었습니다.
새로운 Staker에 대한 이러한 테스트 결과는 예상과 일치합니다. Staker 최적화의 필요성을 확인하기 위해 다른 업그레이드없이 32 초 블록 업그레이드 # 1 만 시도했습니다. 아래와 같이 고아 차단율이 200 %까지 치 솟고 네트워크 보안에 큰 영향을 미쳤습니다. 따라서 32 초 블록 속도 증가와 Staker 효율성 최적화는 필수 불가결하며,이 두 가지를 함께 사용하면 보안에 영향을주지 않고 블록 간격을 줄일 수 있습니다.
Qtum 개발 테스트 네트워크는 전 세계에 분산 된 100 개 이상의 노드로 구성되어 실제 분산 네트워크의 복잡한 네트워크 환경을 시뮬레이션합니다. 결과는 Staker 최적화 및 32 초 블록 간격 도입 후 부하가 걸린 상태에서 네트워크가 안정적이었고 네트워크의 고아 블록 비율이 27 %를 초과하지 않았 음을 보여줍니다.
32 초 블록에 대한 초기 테스트 결과는 예상과 일치했으며 팀은 안전한 업그레이드를 보장하기 위해 최종 테스트 및 코드 검토를 수행하고 있습니다. 후속 작업은 주로 다음에 중점을 둡니다.