[자료조사] 블록체인 성능평가 방법
TPS(Transaction per sec)
: 거래 처리 속도를 부를 떄 표현하는 단위 (초 당 처리하는 트래픽 개수)
*TPS가 블록체인 성능을 가늠하는 중요 기준이나 절대지표는 아님
1. 최대 TPS = 트랜젝션이 과도하게 몰렸을 때 초당 몇 개나 처리되어 저장되는지
2. 현재 TPS = 최근 블록에 담긴 트랜젝션 수 / 블록 생성 시간 (평균적인 값을 구하려면 최근 n개 블록 표본 잡아 구하기)
* 비트코인 / 이더리움 = 이미 트랜젝션이 과도하게 발생하고 있기에 현재 TPS가 최대 TPS에 가까움
이더리움의 초당 처리 속도= 20TPS
ex. 1800개 디앱에서 1초에 하나의 거래가 일어난다 하더라도 이 중 20개밖에 처리하지 못함
블록체인 속도를 결정하는 3요소
= TPS, 블록생성시간, 확정(컨펌) 시간
* 블록체인 속도
=내 행동이 블록체인에 저장되기까지의 시간
-> TPS가 높아도 블록 생성 시간이 길면 블록체인 처리 속도는 늦어짐
ex. 블록생성 시간=10분 , 트랜잭션 저장 시간=최소 5분
블록 생성 시간
: 트랜젝션이 처리되어 저자아되는데 걸리는 최소 대기시간
: 탈중앙화 자아점을 취하기 위해 지불하는 성능 비용
* 트랜젝션 자체가 많지 않은 상황에서는 TPS가 의미 없어 생성 시간이 더 중요함
확정 시간 = N(신뢰도) * 블록 생성 시간
: 내 트렌젝션이 메이저 포크에 들어 있다는 것을 확신하기까지의 대기 시간
-> 확정의 개념은 실존 X, 확률적으로 판단하는 것이므로 N도 매번 다름
=> 초당 얼마나 많은 트랜젝션을 처리하는 지 + 거래의 완결성 + 블록이 생성되는 주기
+ 블록 크기에 따른 처리량 변동 여부 + 탈중앙성을 보여주는 노드 수 + 합의 알고리즘의 효율성
+ 병렬 확장성이 포함되었는가
를 모두 고려해야 함
참고) 출처 한국블록체인학회(사)
블록체인핵심 기술 관점에서의 평가항목을 구분해 제시된 7개 핵심기술 핵심기술
‘분산합의’, ‘분산원장’, ‘고성능 트랜잭션’, ‘스마트 컨트랙트’, ‘네트워킹’, ‘보안성’, ‘암호’ 등으로 구성
+ 각 항목별로 각각 상/중/하로 구분할 수 있는 주요 내용을 제시
TPS 측정에 대한 4가지 방법
https://blog.naver.com/PostView.nhn?blogId=wisestone2007&logNo=222059486630