"TPS (트랜잭션)"의 두 판 사이의 차이
(→개념) |
(→개념) |
||
6번째 줄: | 6번째 줄: | ||
(블록체인 용어 정리) TPS의 뜻과 의미]>, 《네이버 블로그》, 2019-04-09</ref> | (블록체인 용어 정리) TPS의 뜻과 의미]>, 《네이버 블로그》, 2019-04-09</ref> | ||
TPS는 블록체인 소프트웨어의 설계뿐 아니라 블록체인을 구동하고 블록을 생성/검증하는 하드웨어 성능, 네트워크 성능에 따라서 달라질 수 있습니다. 또한 트랜잭션의 종류에 따라서 달라질 수 가 있다. | TPS는 블록체인 소프트웨어의 설계뿐 아니라 블록체인을 구동하고 블록을 생성/검증하는 하드웨어 성능, 네트워크 성능에 따라서 달라질 수 있습니다. 또한 트랜잭션의 종류에 따라서 달라질 수 가 있다. | ||
− | 예를들어 스마트 컨트랙트 트랜잭션은 단순 송금대비 더 많은 연산을 요구하기 때문에, 시간이 더 오래 걸릴 수 밖에 없다. 또한 같은 기능을 수행하는 컨트랙트라고 하여도 실제 코드 구현 형태에 따라서 더 많은 연산을 요구하고, 더 오랜 시간이 걸릴 수도 있다.< | + | 예를들어 스마트 컨트랙트 트랜잭션은 단순 송금대비 더 많은 연산을 요구하기 때문에, 시간이 더 오래 걸릴 수 밖에 없다. 또한 같은 기능을 수행하는 컨트랙트라고 하여도 실제 코드 구현 형태에 따라서 더 많은 연산을 요구하고, 더 오랜 시간이 걸릴 수도 있다.<refname="스팀잇> dev1by0, <[https://steemit.com/coinkorea/@dev1by0/537f11 블록체인의 속도란 무엇인가요? - 초당 트랜잭션 수]>, 《스팀잇》 </ref> |
+ | === 종류 === | ||
+ | *최대 TPS | ||
+ | :트랜잭션이 과도하게 몰렸을 때 초당 몇개나 처리되어 저장되는지를 보여 준다. 따라서 속도를 평가하기에 아주 좋은 지표이다. | ||
+ | *현재 TPS | ||
+ | 현 시점에서의 TPS를 의미한다. | ||
+ | '''현재TPS = 최근 블록에 담긴 트랜잭션 수 / 블록생성시간''' | ||
+ | 좀 더 평균적인 값을 구하려면 최근 N개 블록표본을 잡아서 구해보면 된다. | ||
+ | 현재 TPS는 속도를 반영할수도 있고 안할 수도 있다. 비트코인이나 이더리움 같은 인기 블록체인은 이미 트랜잭션이 과도하게 발생하고 있어 현재 TPS가 최대 TPS에 가깝다. 반면에 설계상 비트코인이나 이더리움보다 빠른 신형 블록체인들의 현재 TPS를 구해보면 1 이하인 경우가 많다. | ||
+ | |||
+ | 즉, 최대 TPS가 1억이어도 실제로 요청되는 트랜잭션이 저조하면 현시간 TPS는 매우 낮을 수 있다. 이 경우 현재 TPS는 해당 블록체인의 활성화 정도를 평가하는 지표로서 활용될 수 있다.<ref name="스팀잇"></ref> | ||
== 의의 == | == 의의 == |
2019년 7월 30일 (화) 11:14 판
TPS(티피에스)란 Transaction per Second의 약자로서, 1초당 처리할 수 있는 트랜잭션의 개수를 의미한다. 100만 TPS는 1초당 100만 건의 트랜잭션을 처리할 수 있는 속도를 말한다.
트랜잭션 처리 속도를 올리기 위해 중앙화를 할 수 있으나, 그 경우 블록체인의 원래 목적인 탈중앙화라는 취지가 훼손된다. 미국 컨센시스의 조셉 루빈은 트랜잭션 처리 속도인 TPS 값에 탈중앙화 지수(DQ; Decentralization Quotient)를 곱하여, DTPS라는 개념을 만들었다. DTPS란 탈중앙화 TPS 지수인 셈이다.[1]
개념
TPS는 Transaction Per Second의 줄임말로, 초당 트랜잭션 수 라는 뜻이다. 블록체인 네트워크가 1초에 얼마나 많은 거래수를 처리할 수 있는지를 의미한한다. 일부 코인은 송금할 경우, 송금이 바로 처리되지 않고 수 분씩 소요되곤 하는데 이것은 모두 거래 수 대비 TPS가 모자라기 때문에 발생하는 상황이다. 따라서 페이먼트 서비스 같이 빠른 트랜잭션 처리를 필요로 하는 코인들은 TPS를 높이기 위해 계속해서 노력중이다.[2] TPS는 블록체인 소프트웨어의 설계뿐 아니라 블록체인을 구동하고 블록을 생성/검증하는 하드웨어 성능, 네트워크 성능에 따라서 달라질 수 있습니다. 또한 트랜잭션의 종류에 따라서 달라질 수 가 있다. 예를들어 스마트 컨트랙트 트랜잭션은 단순 송금대비 더 많은 연산을 요구하기 때문에, 시간이 더 오래 걸릴 수 밖에 없다. 또한 같은 기능을 수행하는 컨트랙트라고 하여도 실제 코드 구현 형태에 따라서 더 많은 연산을 요구하고, 더 오랜 시간이 걸릴 수도 있다.<refname="스팀잇> dev1by0, <블록체인의 속도란 무엇인가요? - 초당 트랜잭션 수>, 《스팀잇》 </ref>
종류
- 최대 TPS
- 트랜잭션이 과도하게 몰렸을 때 초당 몇개나 처리되어 저장되는지를 보여 준다. 따라서 속도를 평가하기에 아주 좋은 지표이다.
- 현재 TPS
현 시점에서의 TPS를 의미한다. 현재TPS = 최근 블록에 담긴 트랜잭션 수 / 블록생성시간 좀 더 평균적인 값을 구하려면 최근 N개 블록표본을 잡아서 구해보면 된다. 현재 TPS는 속도를 반영할수도 있고 안할 수도 있다. 비트코인이나 이더리움 같은 인기 블록체인은 이미 트랜잭션이 과도하게 발생하고 있어 현재 TPS가 최대 TPS에 가깝다. 반면에 설계상 비트코인이나 이더리움보다 빠른 신형 블록체인들의 현재 TPS를 구해보면 1 이하인 경우가 많다.
즉, 최대 TPS가 1억이어도 실제로 요청되는 트랜잭션이 저조하면 현시간 TPS는 매우 낮을 수 있다. 이 경우 현재 TPS는 해당 블록체인의 활성화 정도를 평가하는 지표로서 활용될 수 있다.[3]
의의
TPS는 거래 처리 속도를 부를 때 표현하는 단위로 초당 처리하는 트래픽의 개수를 일컫는다. 현재 전 세계에서 가장 많은 거래를 처리하는 카드사 중 하나인 비자카드는 2만4,000TPS를 처리한다고 알려졌다. 반면 암호화폐의 시초인 비트코인은 평균 초당 7TPS, 이더리움이 20TPS, 이오스가 3,000TPS 수준을 기록하고 있다. 기존 금융서비스와 비교해 현저히 떨어지는 속도인 만큼 각 프로젝트들은 이 같은 속도 문제를 개선하기 위한 다양한 방법을 진행하고 있다. 비트코인의 경우 한 번의 거래가 발생하는 데 10분이 걸리며 이를 되돌릴 수 없이 완전히 종결된 거래로 확정 짓는 데까지는 이론상 1시간이 필요하다. 이에 비트코인 측은 빈번한 거래는 블록체인 아래에서 처리하고 특정 시점에서 그 결과 값 만을 블록체인이 기록하는 방식 등으로 속도 문제를 해결하고자 하고 있다. 이더리움 역시 다양한 측면에서 처리 속도 개선을 위한 시도를 진행 중이다.
다만 TPS가 블록체인의 활성화를 결정하는 열쇠로 꼽히면서 최근에는 이례적인 TPS를 내세우는 프로젝트도 생겨나는 추세다. 일부 프로젝트의 경우 기술검증이 채 끝나지 않은 상태에서 검증되지 않은 TPS를 앞세워 프로젝트 마케팅에 활용하고 있어 우려의 시선도 적지 않다.
한 블록체인 플랫폼 업체는 초당 100만 건 거래가 가능한 ‘메인넷(Mainnet)’을 개발했다고 밝혔다. 세계최초로 네트워크에 블록체인을 적용한 국내 대기업 KT가 2019년 말 목표는 최대 10만 TPS를 달성하겠다고 발표한 내용과 비교해봐도 이미 10배 이상 빠른 블록체인이 된다. 실시간 처리를 위한 부하 관리 및 소득 분배를 적용했다고 업체 측은 설명했지만 구체적인 처리 기술 등은 아직 공개하지 않았다. 또 다른 블록체인 디앱(DApp) 플랫폼 개발 업체는 “특허를 낸 트랜잭션 솔루션을 기반으로 지연이 최소화된 빠른 속도로 모든 유형의 트랜잭션을 주고받을 수 있다”고 광고하며 “트랜잭션 속도가 2,000TPS정도의 빠르기를 자랑하며, 이상적인 환경에서는 최대 4,000TPS까지도 측정된다”고 설명하기도 했다. [4]
한계점
TPS는 초당 발생하는 거래를 처리할 수 있는 성능을 나타내는 지표이다. 1초에 처리할 수 있는 거래 건수만을 나타내기 때문에, 일관성 있는 지표로 보인다. 그러나 자세히 들여다보면 그렇지 않다. TPS는 하드웨어의 영향을 받는다. 더 높은 사양의 하드웨어에서 평가하면, TPS는 더 높을 수밖에 없다. 블록체인은 소프트웨어에 해당하는 기술이다. 그러므로 일관된 사양을 가진 하드웨어에서 성능을 평가할 필요가 있다. 다시 말해 똑같은 조건으로 공정하게 평가할 필요가 있다. TPS는 블록의 크기에도 영향을 받는다. 블록체인에서 블록과 TPS는 서로 반비례한다. 블록이 크다는 것은 보내야 할 트랜잭션 크기가 크다는 의미이다. 따라서 주고받는 시간은 블록 크기가 증가할수록 늘어날 수밖에 없다. 당연히 TPS는 낮아질 수밖에 없다. 정리하면, 블록체인 TPS 측정 방법은 두 가지 이유로 일관성이 없다. 실제로 블록체인 TPS를 조사해 보면, 성능이 제각각이다. 하이퍼레저를 예로 들어보자. 어떤 곳은 하이퍼레저를 100TPS로 평가하는 반면, 다른 곳은 수천 대의 TPS로 평가하기도 한다. 동일 블록체인 플랫폼인데도 성능이 다른 것이다. 어떤 블록체인 회사는 자사의 플랫폼의 우위성을 TPS를 근거로 제시하기도 한다. 그런데 다른 곳보다 TPS가 빠르다고 해서 신뢰가 가지는 않는다. 평가 방법이 서로 다르기 때문이다. 물론 평가 방법이 제시돼 있으면 어느 정도 믿음이 간다. 그런데 평가 방법까지 제시하면서 TPS를 제시하는 곳은 잘 없다.
TPS가 블록체인 기술 수준을 대표하는 평가 항목으로 보기 어렵다. TPS는 네트워크 처리 속도를 나태 내는 지표 중 하나이다. 블록체인은 데이터 공유를 기반으로 ‘투명성’을 비즈니스 가치로 제공한다. 합의 알고리즘을 통해서는 ‘데이터 무결성’을 보장한다. 그리고 이러한 것이 어울려져 ‘신뢰성’을 제공한다. 더 나아가서는 ‘탈중앙’의 비즈니스 가치를 제공한다. 신뢰를 중요시하는 블록체인 기술에서 ‘네트워크 처리 속도’로 대표로 내세우기에는 바람직하지 않다.[5]
각주
- ↑ 김병철 기자, 〈조셉 루빈이 ‘탈중앙화 TPS 지수’를 개발했다〉, 《코인데스크코리아》, 2019-04-04
- ↑ 블록체인, <[http://blog.naver.com/PostView.nhn?blogId=block2thechain&logNo=221509442962 (블록체인 용어 정리) TPS의 뜻과 의미]>, 《네이버 블로그》, 2019-04-09
- ↑ 인용 오류:
<ref>
태그가 잘못되었습니다;.EC.8A.A4.ED.8C.80.EC.9E.87
라는 이름을 가진 주석에 제공한 텍스트가 없습니다 - ↑ 신은동 기자, <속도가 빠르면 좋은 블록체인일까…'TPS'를 보는 두 시선>, 《디센터》, 2018-09-06
- ↑ 유성민 동국대 국제정보보호대학원 외래교수, <(유성민의 블록비즈) TPS, 더 넓은 관점으로 생각하라>, 《더비체인》, 2019-03-28
참고자료
- 김병철 기자, 〈조셉 루빈이 ‘탈중앙화 TPS 지수’를 개발했다〉, 《코인데스크코리아》, 2019-04-04
같이 보기