블록체인 업계와 금융권의 화두는 암호화폐를 법 테두리 안에서 수익성 있는 금융 비즈니스로 융합하는 것이다. 만약 블록체인으로 카카오뱅크와 유사한 인터넷 은행을 설립해서 운영하려면 무엇이 필요하고 어떤 장단점이 있는지 생각해 보자.
인터넷 은행은 점포가 없다. 콜센터, 전산시스템과 법적 요건만 갖추면 된다. 은행 전산시스템을 만들기 위해서는 무엇이 필요한가. 일단 컴퓨터다. 은행이면 좀 크고 성능이 좋은 컴퓨터가 필요하다고 생각할 것이다. 우리는 이것을 고성능·대용량 서버라고 이른다. 금융 지식이 해박한 전문 소프트웨어(SW) 프로그래머 또는 개발자가 필요하겠다. 이렇게 하면 되는가. 현존하는 은행 전산시스템에는 네트워크 장비, 서버, 스토리지 등 하드웨어(HW)와 각종 보안프로그램 등 SW가 망라돼 있다. 각 분야에 전문가 또는 전문 HW·SW 기업이 은행 전산시스템 개발에 참여해야 한다.
암호화폐 기반의 인터넷 은행은 점포나 지폐가 없어 현금자동입출금기(ATM) 등 컴퓨터 주변기기 및 액세서리 등도 필요 없다. 블록체인에서 생성되는 개인키 기반의 본인 인증을 사용하기 때문에 공인인증서나 전자서명도 필요 없다. 인터넷 은행을 구성하는 근간이 되는 블록체인 시스템은 방화벽이 필요 없고, 해킹도 불가능하다. 백신이나 물리적 보안장비와 논리적 보안 솔루션이 필요 없고, 내부 업무를 담당하는 소규모 그룹웨어 시스템과 솔루션만 필요하다. 백신과 네트워크 보안시스템은 최소화된다. 전체 구성이 단순화·간소화됐다. 물론 그 외 최소한 서버, 스토리지, 데이터베이스(DB) 등은 여전히 사용된다.
인적 자원 요소를 따져보자. 이더리움과 같은 2세대 블록체인 플랫폼으로 암호화폐 기반 인터넷 은행, 프로젝트명 '토니은행'을 개발한다고 가정한 절차를 간략히 하면 다음과 같다. 전체 시스템 분석, 설계하기→네트워크 설계, 보안성 검토하기→스토리보드 작성하기→스토리 보드에 따른 프로토타이핑 하기→데이터 구조, 트랜젝션 설계하기→계약 설계하기→정의된 계약에 따른 스마트 콘트랙트 구현하기→클라이언트 프로그래밍→서버, 응용프로그램개발환경(API) 프로그래밍→운영환경 구성하기→테스트 및 배포→전체 시스템 운영.
A부터 K까지 과정을 보면 전통적인 기업용 정보시스템 구현 방법론에서 크게 벗어나지 않는다. 기존 SW 개발자를 그대로 채용해 개발할 수 있다. 단지 블록체인 부분이 조금 생소하다. 우리가 블록체인 부분을 전산시스템에 쉽게 녹이기 위해서는 예제를 먼저 이해하는 것이 가장 쉬운 방법이다. 토니은행으로부터 신용대출을 받고 매달 이자를 납부하는 간단한 애플리케이션(앱)을 이더리움 기반으로 개발할 때 필요한 절차를 나열하면 다음과 같다.
프로세스 설계 및 앱·프런트엔드 디자인→앱·프런트엔드 프로그래밍→이더리움 계정 발급 백엔드 API 작성→블록체인 프로그래밍-대출, 이자 납부, 상환 스케줄에 따른 스마트 콘트랙트 작성하기→대출 실행하기 백엔드 API 작성→이더리움에 프로그램 배포하기→앱 배포 및 API 서버 실행하기.
이 절차 가운데 4번은 완전 새롭게 보이지만 사실 기존의 쿼리 작성으로 대표되는 DB 프로그래밍과 유사하다. 4번 항목을 위해 이더리움은 솔리디티라는 새로운 자바스크립트 기반 프로그래밍 언어를 제공한다. 오히려 3번 항목과 5번 항목에서 블록체인의 지식과 백그라운드, 시스템 구현 노하우가 더 많이 필요할지도 모른다. '토니은행'이 상용화되기 위해서는 이더리움뿐만 아니라 여러 블록체인 플랫폼과 암호화폐를 적용하기 때문이다. 여기에서는 단순 업무에 블록체인을 적용한 사례로 금융전산의 이해도를 높이는 것에 목적이 있기 때문에 조금 아쉬운 부분이 있다. 다양한 적용 방법과 좀 더 세부적인 부분에 대해 논의하고 싶다면 블록체인 세상은 아직 문이 활짝 열려 있으니 가까운 전문가를 찾아서 논의해 보는 것이 어떨까.
김안토니오 DAIB 대표(first@daiblab.com)
-
김현민 기자기사 더보기