블록체인 도입시 고려 사항
비트코인, 이더리움 같은 암호화폐의 기반이 되는 블록체인은 새로운 기술이다. 따라서 일부는 블록체인을 과장되게 설명하여 마치 모든 것을 해결할 수 있는 만능 플랫폼으로 이해하기도 하고 , 일부는 부정적인 시각을 갖고 있는 혼돈된 상태이다. 이러한 혼돈속에서
가장 많이 할 수 있는 질문 중 하나가 바로 “ 블록체인을
꼭 써야 하는 가?” , “다른 기술로도 가능하지 않은가?” 라는
것이다.
특히, 최근에 언론 기사를 보면 많은 정부 기관 등에서 블록체인 기반의 시스템
구축 계획을 발표하고 있고 이 경우 대부분이 블록체인을 중앙의 DBMS를 공유 원장으로 대체하려는 목적이
강하기 때문에 적용하는 과정에서 기대했던 것과 실제 다를 수 있기 때문이다. 블록체인 플랫폼이 만능 플랫폼이 될 수는 없다. 그러나 특정 상황에서 큰 효과를 가져다 줄 수 있는 혁신적인 플랫폼이 될 수 있다. 따라서 기술 수준을 잘 이해하고 적용하는 것이 필요하다. 현재 블록체인
플랫폼의 문제점들로 언급되는 것은 다음과 같다.
가장 큰 문제는 처리 성능과 용량(scalability)을 높여야
한다는 것이다. 현재 이더리움의 경우 초당 트랜잭션 처리 속도가
15~20 TPS(Transaction Per Second) 이고 가장 낮은 가스 비용을 기준으로 트랜잭션이 처리되는 데 평균 13분이 소요되고 있다. 페이팔이 193 TPS , 비자 네트워크가 1667 TPS 라는 것을 감안해
볼 때 현재 처리 용량으로는 일반 전자상거래나 빠른 처리 속도를 요하는 시스템 개발에 적용하기
어려운 실정이다. 이 문제를 해결하기 위해서는 현재 작업 증명 방식의 동의 방식을 지분에 의한 증명
방식으로 전환하는 등의 개선이 필요하고 블록 생성 시간을 줄이고 트랜잭션을 처리 능력을 개선해야 한다. 현재
이 문제 해결을 위해 PoS 방식의 합의 방식인 캐스퍼 , 블록내
트랜잭션의 병렬 처리를 가능하게 하는 샤딩 , 거래 당사자간의 직거래를 가능하게 하는 라이덴 네트워크
등 여러 프로젝트를 진행중에 있으나 문제 해결에는 다소 시간이 걸릴 것이다.
그리고 현재 스마트 컨트랙은 복잡한 내용을 처리에는 여러 어려움이 있다. 가령, 일단 배포된 바이트코드는 업데이트를 할 수 없고 EVM 에서 지원하는 반복 호출 횟수(Call Depth) 의 크기가 1024에 불과하고 컨트랙에 입력되는 데이터의 신뢰성 확보 , 보안 문제 , 부족한 개발 환경 등 실제 개발에 있어 많은 어려움이 있다. 아마
과거 자바 언어의 초기 상태라 이해하면 될 것이다.
다음은 현재 수준의 블록체인 도입시 필요한 검토 사항들을 정리해 보았다.
[ 블록체인
도입시 검토사항들 ]
(1) 데이터가 시간순으로 정렬되고 감사(audit)가 필요하고 필요한가?
만약 필요하다면 , 블록체인 기술을 사용하는 것이 적합하다. 기존의 관계형 DBMS같은 시스템상에서 모든 데이터의 위.변조를 막고 투명한 관리 기능을 구현하고 운영하는 데에는 막대한
개발 및 운용 비용이 발생한다. 따라서 본질적으로 모든 데이터를 시간순으로 기록하고 이를 구성원들과
공유를 하여 위변조를 막는 블록체인을 사용하는 것이 유리하다.
(2) 중앙에서 데이터에 대한 관리가 필요한가?
중앙에서 사용자 인증과 권한 제어 등 강력한 관리가 필요하다면 블록체인 보다는 기존 시스템을 사용하는 것이 유리하다. 비록 , 하이퍼레저 페브릭같은 설치형 블록체인 플랫폼이 기존 블록체인에
사용자 인증과 권한 제어 기능을 제공한다지만 현재 수준에서는 기존 시스템을 사용하는 것이 더 경제적이고 안정적이다.
(3) 트랜잭션의 처리 속도가 중요한가?
초당 수 천 이상의 트랜잭션 처리를 필요로 할 경우 현재 수준의 블록체인 기술로는 지원하지 못한다. 따라서 이런 경우 블록체인보다는 기존 방식의 시스템을 사용하는 것이 현명하다.
가령, 전자 상거래의 상품 주문이나 결제 같은 서비스는 초당 많은 트랜잭션의 실시간 처리를
필요로 한다. 이런 경우에는 블록체인 보다 기존 시스템을 사용하는 것이 적합하다.
(4) 암호 화폐나 운영 토큰 등이 필요한가?
이더같은 암호 화폐와 가스같은 운영 토큰은 해당 플랫폼이나 서비스의 운영과 성장에 기여한 대가로 관련된 구성원들에게 지급되고 플랫폼의 이용 대가를 지불하는 데 사용되는 중요한 수단이다. 특히, 해당 플랫폼의 성장에 따라 그 가치 또한 증가하고 비트코인
같은 다른 암호 화폐나 실물 화폐와 교환이 가능하기 때문에 더욱 중요하다. 만약, 이러한 암호 화폐와 운영 토큰을 기반으로 한 인센티브와 운영 방안이 필요하다면 블록체인 특히 , 이더리움 플랫폼을 사용하는 것이 좋다.
(5) 안정적으로 기술지원을 받을 수 있는가?
현재 블록체인과 이더리움 기술은 상대적으로 개발자와 전문가가 부족한 상태다. 따라서
이를 활용한 서비스 개발을 위해서는 블록체인과 이더리움 등에 능통한 전문가를 확보해야 적용 과정에서 시행착오를 줄일 수 있다. 따라서 안정적으로 기술 지원을 받을 수 있는 전문 회사나 전문가를 사전에 확보해야 한다. 만약 확보가 안된다면 적용을 보류하는 것이 바람직하다.
(6) POC 등의 예비 도입 단계를 통해 기대했던 것을 확인했는가?
블록체인 특히, 이더리움 플랫폼 사용이 적합하고 전문가가 준비되었다면 본격적인
적용에 앞서 POC(Proof of Concept)나 프로토타이핑을 하여 기술 타당성을 검증해야 한다. 해당 작업을 통해 타당성을 검증한 후에 실제 본격 적용을 하는 것이 성공 가능성을 높일 수 있다.
블록체인 플랫폼이 만능은 아니다. 그러나 분명 기존의 시스템을 블록체인 기반으로 전환하거나 신규 개발할 때 얻을 수 있는 많은 것들이 있다. 물론, 현재 블록체인 플랫폼 기반의 많은 서비스들이 개발되고 있으나
아직 명확한 성공을 거둔 서비스가 없는 것 또한 사실이다. 따라서 블록체인 기술 적용시 보다 신중한
접근과 고민이 필요하다.