이더리움의 확장성(Scalability)에 관해 궁금합니다.
이더리움을 전송할 경우, 평상시에는 빠른 속도로 전송되지만,
트랜잭션이 밀려있으면 전송속도가 현저히 떨어지는 이유가 확장성(Scalability) 때문이라고 합니다.
또한, 실생활에 적용하기 가장 어렵고 힘든 부분도 확장성이라고 하던데요.
위와 같은 이더리움의 확장성 문제를 개선할 수 있는 방법이 무엇이 있을까요?
이더리움의 경우를 예로 들어 답변드리겠습니다. 이더리움은 '샤스퍼(Sharsper)'라는 기술로 문제점을 해결하려고 하고 있습니다. 샤스퍼는 샤딩과 캐스퍼의 합성어입니다. 그렇다면 어떻게 트랜젝션 처리 속도를 높일 수 있을지 캐스퍼와 샤딩에 대해 알아보고 그것이 결합했을 때의 효과도 말씀드리도록 하겠습니다.
캐스퍼의 역할 : 현재 비탈릭 부테린이 제안한 캐스퍼는 POW와 POS를 혼합한 방식입니다. 아직 완전한 POS로 전환되기 전의 모습인 셈이죠. 즉, 지금처럼 POW 알고리즘에 따라 블록이 하나씩 생성되지만 블록이 50번 생성될 때마다 POS의 검증 기준점을 마련하게 되는 것이죠. 그리고 그 기준점마다 이더리움 네트워크의 검증자들이 거래의 무결성을 검증하고 승인하게 됩니다. 이렇게 되면 블록 하나당 매 번 검증하고 승인하고 기록하는 작업들이 이루어지던 것이 50번 마다 한 번씩 이루어지게 되므로 거래 처리 속도가 빨라지게 되는 것입니다.
샤딩의 역할 : 샤딩이란 트랜젝션을 처리할 때 각각의 노드들을 샤드로 묶은 다음 트랜젝션을 병렬적으로 나누어 처리함으로써 거래 처리 속도를 높이는 방식이라고 할 수 있습니다.
샤딩과 캐스퍼의 결합 : 앞서 말씀드렸듯이 캐스퍼가 도입되면 새로운 블록이 생성될 때마다 매 번 그것을 검증하고 승인하고 기록할 필요가 없어집니다. 거기에 더해서 그러한 검증 작업조차 나누어 병렬적으로 처리하게 되면 어떨까요?캐스퍼가 샤딩과 결합하여 샤스퍼가 구현되면 거래 처리 속도가 지금보다 획기적으로 높아지게 되는 것입니다.
답변이 도움이 되길 바랍니다.