의견.png

"TPS (트랜잭션)"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(문제점과 대안)
(문제점과 대안)
52번째 줄: 52번째 줄:
 
=== 한계점 ===
 
=== 한계점 ===
 
:TPS는 초당 발생하는 거래를 처리할 수 있는 성능을 나타내는 지표이다. 1초에 처리할 수 있는 거래 건수만을 나타내기 때문에, 일관성 있는 지표로 보인다. 그러나 자세히 들여다보면 그렇지 않다.
 
:TPS는 초당 발생하는 거래를 처리할 수 있는 성능을 나타내는 지표이다. 1초에 처리할 수 있는 거래 건수만을 나타내기 때문에, 일관성 있는 지표로 보인다. 그러나 자세히 들여다보면 그렇지 않다.
T:PS는 하드웨어의 영향을 받는다. 더 높은 사양의 하드웨어에서 평가하면, TPS는 더 높을 수밖에 없다. 블록체인은 소프트웨어에 해당하는 기술이다. 그러므로 일관된 사양을 가진 하드웨어에서 성능을 평가할 필요가 있다. 다시 말해 똑같은 조건으로 공정하게 평가할 필요가 있다.
+
:TPS는 하드웨어의 영향을 받는다. 더 높은 사양의 하드웨어에서 평가하면, TPS는 더 높을 수밖에 없다. 블록체인은 소프트웨어에 해당하는 기술이다. 그러므로 일관된 사양을 가진 하드웨어에서 성능을 평가할 필요가 있다. 다시 말해 똑같은 조건으로 공정하게 평가할 필요가 있다.
 
:TPS는 블록의 크기에도 영향을 받는다. 블록체인에서 블록과 TPS는 서로 반비례한다.
 
:TPS는 블록의 크기에도 영향을 받는다. 블록체인에서 블록과 TPS는 서로 반비례한다.
 
:블록이 크다는 것은 보내야 할 트랜잭션 크기가 크다는 의미이다. 따라서 주고받는 시간은 블록 크기가 증가할수록 늘어날 수밖에 없다. 당연히 TPS는 낮아질 수밖에 없다.
 
:블록이 크다는 것은 보내야 할 트랜잭션 크기가 크다는 의미이다. 따라서 주고받는 시간은 블록 크기가 증가할수록 늘어날 수밖에 없다. 당연히 TPS는 낮아질 수밖에 없다.
정리하면, 블록체인 TPS 측정 방법은 두 가지 이유로 일관성이 없다. 실제로 블록체인 TPS를 조사해 보면, 성능이 제각각이다. 하이퍼레저를 예로 들어보자. 어떤 곳은 하이퍼레저를 100TPS로 평가하는 반면, 다른 곳은 수천 대의 TPS로 평가하기도 한다. 동일 블록체인 플랫폼인데도 성능이 다른 것이다.
+
:정리하면, 블록체인 TPS 측정 방법은 두 가지 이유로 일관성이 없다. 실제로 블록체인 TPS를 조사해 보면, 성능이 제각각이다. 하이퍼레저를 예로 들어보자. 어떤 곳은 하이퍼레저를 100TPS로 평가하는 반면, 다른 곳은 수천 대의 TPS로 평가하기도 한다. 동일 블록체인 플랫폼인데도 성능이 다른 것이다.
 
:어떤 블록체인 회사는 자사의 플랫폼의 우위성을 TPS를 근거로 제시하기도 한다. 그런데 다른 곳보다 TPS가 빠르다고 해서 신뢰가 가지는 않는다. 평가 방법이 서로 다르기 때문이다. 물론 평가 방법이 제시돼 있으면 어느 정도 믿음이 간다. 그런데 평가 방법까지 제시하면서 TPS를 제시하는 곳은 잘 없다.
 
:어떤 블록체인 회사는 자사의 플랫폼의 우위성을 TPS를 근거로 제시하기도 한다. 그런데 다른 곳보다 TPS가 빠르다고 해서 신뢰가 가지는 않는다. 평가 방법이 서로 다르기 때문이다. 물론 평가 방법이 제시돼 있으면 어느 정도 믿음이 간다. 그런데 평가 방법까지 제시하면서 TPS를 제시하는 곳은 잘 없다.
  

2019년 7월 30일 (화) 17:25 판

TPS(티피에스)란 Transaction per Second의 약자로서, 1초당 처리할 수 있는 트랜잭션의 개수를 의미한다. 100만 TPS는 1초당 100만 건의 트랜잭션을 처리할 수 있는 속도를 말한다.

트랜잭션 처리 속도를 올리기 위해 중앙화를 할 수 있으나, 그 경우 블록체인의 원래 목적인 탈중앙화라는 취지가 훼손된다. 미국 컨센시스조셉 루빈은 트랜잭션 처리 속도인 TPS 값에 탈중앙화 지수(DQ; Decentralization Quotient)를 곱하여, DTPS라는 개념을 만들었다. DTPS란 탈중앙화 TPS 지수인 셈이다.[1]

개념

TPS는 Transaction Per Second의 줄임말로, 초당 트랜잭션 수 라는 뜻이다. 블록체인 네트워크가 1초에 얼마나 많은 거래수를 처리할 수 있는지를 의미한한다. 일부 코인은 송금할 경우, 송금이 바로 처리되지 않고 수 분씩 소요되곤 하는데 이것은 모두 거래 수 대비 TPS가 모자라기 때문에 발생하는 상황이다. 따라서 페이먼트 서비스 같이 빠른 트랜잭션 처리를 필요로 하는 코인들은 TPS를 높이기 위해 계속해서 노력중이다.TPS는 블록체인 소프트웨어의 설계뿐 아니라 블록체인을 구동하고 블록을 생성/검증하는 하드웨어 성능, 네트워크 성능에 따라서 달라질 수 있습니다. 또한 트랜잭션의 종류에 따라서 달라질 수 가 있다. 예를들어 스마트 컨트랙트 트랜잭션은 단순 송금대비 더 많은 연산을 요구하기 때문에, 시간이 더 오래 걸릴 수 밖에 없다. 또한 같은 기능을 수행하는 컨트랙트라고 하여도 실제 코드 구현 형태에 따라서 더 많은 연산을 요구하고, 더 오랜 시간이 걸릴 수도 있다.[2][3]

종류

  • 최대 TPS
트랜잭션이 과도하게 몰렸을 때 초당 몇개나 처리되어 저장되는지를 보여 준다. 따라서 속도를 평가하기에 아주 좋은 지표이다.
  • 현재 TPS
현재TPS = 최근 블록에 담긴 트랜잭션 수 / 블록생성시간
좀 더 평균적인 값을 구하려면 최근 N개 블록표본을 잡아서 구해보면 된다.
현재 TPS는 속도를 반영할수도 있고 안할 수도 있다. 비트코인이나 이더리움 같은 인기 블록체인은 이미 트랜잭션이 과도하게 발생하고 있어 현재 TPS가 최대 TPS에 가깝다. 반면에 설계상 비트코인이나 이더리움보다 빠른 신형 블록체인들의 현재 TPS를 구해보면 1 이하인 경우가 많다.
즉, 최대 TPS가 1억이어도 실제로 요청되는 트랜잭션이 저조하면 현시간 TPS는 매우 낮을 수 있다. 이 경우 현재 TPS는 해당 블록체인의 활성화 정도를 평가하는 지표로서 활용될 수 있다.[3]

특징

블록체인 트릴레마

블록체인의 트릴레마(Trilemma)

블록체인에서 트릴레마란 확장성(Scalability), 탈중앙화(Decentralization), 보안성(Security)의 세 가지 문제를 이야기 한다. 현재 1세대 암호화폐 비트코인과 2세대 암호화폐 이더리움이 암호화폐 피투피(P2P) 거래에 가장 널리 쓰이고 있지만 사용자로 하여금 해당 블록체인 기술의 한계를 체감하게 하고 있다. 비트코인과 이더리움이 직면한 기술적 한계의 대표적인 예가 네트워크가 확장됨에 따라 초당 거래 처리 속도(TPS : Transaction Per Second)가 느려지는 확장성 문제를 꼽을 수 있다. 이를 해결하기 위한 대안으로 나온 3세대 블록체인 이오스 또한 충분한 해결책이 되지 못하고 있다. 현재 시중에 나와 있는 암호화폐들은 탈중앙화, 보안성, 확장성의 블록체인 트릴레마를 하나 또는 최대 두 개까지만 해결할 수 있고, 세 가지를 동시에 만족시키는 것은 현재로서는 물리적으로 불가능하다고 봐야 된다. 탈중앙화와 안정성에 초점을 맞춘 비트코인과 이더리움 같은 경우, 사용자 수가 아주 많은 지금에 와서는 트랜잭션 처리 속도가 매우 느려서 문제가 되고 있다. 아이러니한 점은 블록체인이 확장성 문제를 해결하는 데 있어서 가장 큰 두 가지 걸림돌이 바로 탈중앙화와 안정성이라는 것이다. 때문에 이러한 세 개념을 묶어 블록체인의 트릴레마라고 부르게 되었다. 호주중앙은행(Reserve Bank of Australia :RBA) 확장성 트릴레마를 언급하며 "암호화폐는 항상 일부 특징이 부족할 것" 이라며 "이러한 점 때문에 암호화폐가 덜 매력적인 자산" 이라고 밝혔다.[4][5]

  • 확장성 : 사용자 수의 증대에 유연하게 대응할 수 있는 정도이다. 블록체인에서는 사용자수의 증가에 따라 거래건수가 늘어나더라도 무리 없이 전송 처리용량을 증대시킬 수 있는 능력을 의미한다.
  • 탈중앙화 : 중앙집중화를 벗어나 분산된 소규모 단위로 자율적으로 운영되는 것을 말한다. 블록체인은 기존의 서버-클라이언트 관계가 아니라, 개별 노드들의 자발적이고 자율적인 연결에 의해 피투피(P2P) 방식으로 작동한다. 블록체인 기술이 도입되어 사회적으로 널리 확산됨에 따라 기존의 중앙집중식 조직, 기업, 단체, 기구 등은 탈중앙 분산 구조로 변경되고 있다.
  • 보안성 : 보안성이란 블록체인 내의 데이터프로그램을 권한이 없는 이용자가 사용할 수 없도록 하는 것을 의미한다.

의의

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까지도 측정된다”고 설명하기도 했다. [6]

암호화폐들의 TPS

비트코인

비트코인 경우 1MB 의 블록용량한도와 10분의 블록 생성을 근거로, 1 트랜잭션을 계산해보면 약 7TPS 가 채 안나오게 된다. 네트워킹 능력을 떠나서 애초에 로직상에서 처리 할 수 있는 한도를 정해놨기 때문에 추가 성능향상은 트랜잭션 크기를 줄이거나, 블록생성 속도를 빠르게 할 수 밖에 없다. 즉 컴퓨터 공학적인 어떤 트릭이나 기술로만은 해결하기 힘든 문제이다.[7]

이더리움

이더리움 경우는 블록생성 주기가 대략 12초이며, TPS 는 10~30정도 이다. 일단 이더리움은 비트코인과 다르게 블록사이즈의 limit 와 트랜잭션 사이즈가 정해져 있지 않으며, 비트코인보다는 채굴속도도 비약적으로 빠르지만 TPS 처리가 안 좋은 이유는 블록당 사용할 수 있는 가스가 정해져 있기 때문이다. 가스라는 것은 이더리움상에서의 코인을 좀 더 유연하게 처리하기 위한 대체재인데, 트랜잭션 비용을 처리 할 때 매개체로 사용된다. 그 가스량이 정해져 있다는 것은 블록사이즈의 크기가 정해져 있다는 것과 비슷한 제약을 가져온다.[7]

스팀/EOS

이더리움의 강력한 라이벌인 EOS 는 백서에서 밝히길,싱글 쓰레드에서 1만 TPS를, 멀티쓰레드에서 100만 목표로 하고 있다. 현재는 4000 TPS 정도이다. EOS 를 만든 댄라이머는 비트쉐어와 스팀도 만든 사람인데, 이것들은 모두 DPOS (간접민주주의 방식)라는 합의메커니즘을 사용하며, 플랫폼 내부에 있는 그래핀이라는 코어의 트랜잭션 처리 기술이 Distruptor 패턴에서 영감을 받았다.[7]

문제점과 대안

한계점

TPS는 초당 발생하는 거래를 처리할 수 있는 성능을 나타내는 지표이다. 1초에 처리할 수 있는 거래 건수만을 나타내기 때문에, 일관성 있는 지표로 보인다. 그러나 자세히 들여다보면 그렇지 않다.
TPS는 하드웨어의 영향을 받는다. 더 높은 사양의 하드웨어에서 평가하면, TPS는 더 높을 수밖에 없다. 블록체인은 소프트웨어에 해당하는 기술이다. 그러므로 일관된 사양을 가진 하드웨어에서 성능을 평가할 필요가 있다. 다시 말해 똑같은 조건으로 공정하게 평가할 필요가 있다.
TPS는 블록의 크기에도 영향을 받는다. 블록체인에서 블록과 TPS는 서로 반비례한다.
블록이 크다는 것은 보내야 할 트랜잭션 크기가 크다는 의미이다. 따라서 주고받는 시간은 블록 크기가 증가할수록 늘어날 수밖에 없다. 당연히 TPS는 낮아질 수밖에 없다.
정리하면, 블록체인 TPS 측정 방법은 두 가지 이유로 일관성이 없다. 실제로 블록체인 TPS를 조사해 보면, 성능이 제각각이다. 하이퍼레저를 예로 들어보자. 어떤 곳은 하이퍼레저를 100TPS로 평가하는 반면, 다른 곳은 수천 대의 TPS로 평가하기도 한다. 동일 블록체인 플랫폼인데도 성능이 다른 것이다.
어떤 블록체인 회사는 자사의 플랫폼의 우위성을 TPS를 근거로 제시하기도 한다. 그런데 다른 곳보다 TPS가 빠르다고 해서 신뢰가 가지는 않는다. 평가 방법이 서로 다르기 때문이다. 물론 평가 방법이 제시돼 있으면 어느 정도 믿음이 간다. 그런데 평가 방법까지 제시하면서 TPS를 제시하는 곳은 잘 없다.
TPS가 블록체인 기술 수준을 대표하는 평가 항목으로 보기 어렵다. TPS는 네트워크 처리 속도를 나태 내는 지표 중 하나이다. 블록체인은 데이터 공유를 기반으로 ‘투명성’을 비즈니스 가치로 제공한다. 합의 알고리즘을 통해서는 ‘데이터 무결성’을 보장한다. 그리고 이러한 것이 어울려져 ‘신뢰성’을 제공한다. 더 나아가서는 ‘탈중앙’의 비즈니스 가치를 제공한다. 신뢰를 중요시하는 블록체인 기술에서 ‘네트워크 처리 속도’로 대표로 내세우기에는 바람직하지 않다.[8]

대안

  • 공인된 블록체인 기술 평가 지침 필요
블록체인 평가의 두 가지 문제는 두 가지 필요사항 도출로 연결된다. 일관화된 평가방법과 평가지표의 다양화가 이러한 문제의 해결책인 셈이다. 다시 말해, TPS를 공정하게 평가하기 위해서는 일관된 평가 환경 지침이 필요하다. 이는 TPS뿐만 아니라 블록체인에 제시될 모든 평가 항목에 해당한다.그리고 블록체인 평가의 다양화가 필요하다. TPS만이 절대 블록체인 평가 항목으로 삼아서는 안 된다. TPS 외에도 평가해야 할 항목이 많기 때문이다.
이더리움 창시자 비탈릭 부테린(Vitalik Buterin)은 합의 알고리즘 평가 지표로 ‘분산화’, ‘확장성’ 그리고 ‘보안성’을 제시한 바 있다. 비탈릭은 더 나아가서 세 가지 요인을 모두 충족할 수 없는 ‘삼도 논법’을 언급하기도 한다. 그러므로 블록체인을 평가하기 위해서는 보안성, 신뢰성 등에 관한 지침이 필요하다. 참고로 여기서 보안은 블록체인의 보안 취약점을 의미하면, 신뢰성은 기능의 동작 여부를 의미한다.블록체인 평가에 필요사항을 알아봤다. 그런데 이러한 지침이 세워지는 것에서 끝나서는 안 된다. 공신력 있는 평가 인증서가 필요하다. 특정 기관이 지침을 만들더라도, 블록체인 기업이 안 지키면 그만이기 때문이다. 따라서 정부가 나설 필요가 있는데, 공신력 있는 평가 인증서를 만들어 기업이 이를 따라 하도록 만들 필요가 있다.[8]
  • 블록체인 평가 표준화
2017년 일본 경제산업성은 블록체인 기술의 평가 지표를 발표한 바 있다. 경제산업성은 ‘품질’, ‘보수 및 운용’ 그리고 ‘비용’이라는 대 항목을 뒀고, 그 밑에 32개의 평가 소항목을 뒀다.IBM은 평가항목은 아니지만, 블록체인을 위한 보안 점검 툴을 출시하기도 했다. 해당 툴이 평가 표준을 제시하는 것으로 볼 수는 없지만, 블록체인 회사는 점검 툴을 통해 정형화된 보안성 평가를 할 수 있다. 한국블록체인학회는 2018년 11월에 ‘블록체인 분석평가 기준 가이드라인 2.0 버전’을 소개했다. 일본 경제산업성과 다른 점은 기술뿐만 아니라 비즈니스, 수행 조직 또한 평가 항목에 반영한 점이다. 한국 블록체인 학회는 ‘토큰구조평가’, ‘비즈니스 모델 평가’, ‘조직 평가’ 그리고 ‘기술 평가’로 평가 영역을 분류했고, 영역별로 7개 항목에서 16개의 평가 항목을 두었다.
공신력 있는 블록체인 평가 지침이 나올 필요가 있다. 이러한 지침은 블록체인을 단순히 올바르게만 평가하게 하지 않는다. 기술 발전 방향에도 지침을 제공한다. 블록체인 기업이 지표에 맞추다 보면, 자연스럽게 시장에 적합한 기술로 발전할 수도 있기 때문이다.[8]


각주

  1. 김병철 기자, 〈조셉 루빈이 ‘탈중앙화 TPS 지수’를 개발했다〉, 《코인데스크코리아》, 2019-04-04
  2. 블록체인, 〈(블록체인 용어 정리) TPS의 뜻과 의미〉, 《네이버 블로그》, 2019-04-09
  3. 3.0 3.1 dev1by0, 〈블록체인의 속도란 무엇인가요? - 초당 트랜잭션 수〉, 《스팀잇》
  4. 은예솔 기자, 〈호주중앙은행“암호화폐, 광범위하게 사용되는 일 없을 것”〉, 《블록인프레스》, 2019-06-21
  5. Peter Sayer, 〈블록체인에 대한 기본 상식 5가지〉, 《CIO 코리아》, 2016-04-12
  6. 신은동 기자, 〈속도가 빠르면 좋은 블록체인일까…'TPS'를 보는 두 시선〉, 《디센터》, 2018-09-06
  7. 7.0 7.1 7.2 [하마]이승현, 〈(블록체인) TPS 그리고 Disruptor 패턴〉, 《티스토리》,2018-05-12
  8. 8.0 8.1 8.2 유성민 동국대 국제정보보호대학원 외래교수, 〈(유성민의 블록비즈) TPS, 더 넓은 관점으로 생각하라〉, 《더비체인》, 2019-03-28

참고자료

같이 보기


  의견.png 이 TPS (트랜잭션) 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.