히든코인
히든코인(Hidden Coin)은 건설/산업현장의 자재, 노임을 비롯한 각종 결제 비용을 현금, 수표, 어음 등으로부터 대체하기 위한 디지털 암호화폐이다.
목차
개요
기존의 온/오프라인에 의한 건설 수주 및 각종 건설 자재 지불결제 수단은 1.5~4.5%의 가맹점 수수료와 0.15~0.3%의 지불 대행 수수료로 구성되어 있다. 또한 당/타행, 발/송금의 경우 금액별로 차이가 있으나 건당 15~20%의 송금수수료가 발생한다. 이러한 수수료로 인하여 거래 시마다 일정한 비용이 부과되고 모든 이익이 금융사에 귀속된다. 히든코인은 이러한 거래수수료를 최소화하여 거래에서 발생한 이익을 사용자에게 돌려줄 수 있는 블록체인 기반 플랫폼이다. 또한, 자산의 독립적 분권화는 자산의 저장 및 교환에 혁명을 일으킬 수 있다. 자산이 분권화된 시장에는 국경이 없으므로 전 세계의 사용자가 서로 자유롭게 상호작용할 수 있다. 분산화는 개별 참가자의 공격 및 결탁 시도뿐만 아니라 무작위 오류에 대한 견고성을 향상한다. 분권화를 통해 사용자는 제삼자를 신뢰하지 않고도 자신의 자금을 통제할 수 있다. 결과적으로 자산의 저장 및 교환이 안전하고 간단하며 효과적이다. 히든코인 플랫폼은 탈중앙화 된 피투피 자산 거래를 통해 안전하고 빠르게 자산을 상호 교환할 수 있도록 한다. 히든코인팀의 사명은 블록체인 기술을 통해 전통적인 금융 세계와 암호 경제학을 한데 모아 거래에서 발생할 수 있는 수수료율을 혁신적으로 낮추고, 탈중앙화 된 피투피 자산 거래를 통해 안전하고 빠르게 사용자 간에 자산을 교환할 수 있는 생태계를 구축하는 데 있다. 히든코인 플랫폼은 자사의 암호화폐 지갑과 연계한 인터페이스로 구성되어, 사용자가 익숙한 앱 플랫폼을 통해, 쉽고 편리하게 여러 서비스를 사용할 수 있도록 하여, 건설 자재 지불에 국한되는 결제가 아닌, 많은 사람들이 일상생활에서 활용할 수 있고 거래에 참여할 수 있는 결제 플랫폼을 지향한다.[1]
등장 배경
시가총액 수십, 수백 조 원에 달하는 수많은 암화화폐가 투자, 투기의 목적으로 활발히 거래되고 있으나 실제 각종 지불, 결제로서의 사용은 미미한 것이 현실이다. 여타의 암호화폐와는 달리 히든코인은 지불, 결제 능력을 가장 중요시하여 개발 되었으며 실제 사용이 가능한 화폐 기능에 목표를 두고 있다. 건설/산업현장에서는 자재, 장비 대여, 노임 등의 결제가 월별/주별/일별 등으로 이루어지며 이러한 결제의 종류는 상상을 초월할 정도로 많고 복잡한 체계로 되어있다. 또한, 그 지급방법도 현금, 수표, 어음 등으로 다양하다. 히든코인은 이러한 수많은 결제를 좀 더 편리하게 할 수 있는 방법이 없을까 하는 생각에서 시작되었다. 어려운 산업 현장 속에서 발생하는 결제 지연, 어음 및 수표결제의 늦은 현금 회전율은 부도, 인건비 연체 등으로 이어져 참여회사와 산업 종사자의 삶을 더욱 어렵게 만들고 곤경에 빠지게 한다. 히드코인은 이러한 문제점을 히든코인의 개발과 사용을 통해 극복하고자 등장하였다.[2]
주요 인물
- 탄 비 휴이(Tan Bee Huay) : 건설/산업현장의 자재, 노임을 비롯한 각종 결제를 위한 암호화폐인 히든코인의 대표이다. 15년 이상의 플랫폼 개발 경력을 보유한 그는 대표 직책을 맡았으며 기술 연구 및 개발 팀 관리에 대한 풍부한 경험을 갖춘 경험 많은 플랫폼 개발 전문가이다. 기존 크라우드펀딩 시장의 문제점이나 ICO 사기로 인해 고민한 끝에 혁신적이고 안전한 블록체인 생태계에서 중앙 집중식 금융을 탈중앙화 함으로써 이러한 문제를 해결하기 위해 분산투자 크라우드 펀딩 플랫폼을 개발하기로 했다.
- 존슨 윌리엄스(Johnson William) : 건설/산업현장의 자재, 노임을 비롯한 각종 결제를 위한 암호화폐인 히든코인의 최고운영책임자이다. 토목 공학 분야에서 20년의 경력을 쌓은 경력이 풍부한 경영자이자 기업가이다. 그는 여러 회사의 창립자이며, 다양한 장르의 50개 이상의 프로젝트에 참여했다. HTS 시스템 개발과 온라인 결제 운영 및 크라우드 솔루션 통합에 참여했다.
- 폴 엘링햄(Paul Ellingham) : 건설/산업현장의 자재, 노임을 비롯한 각종 결제를 위한 암호화폐인 히든코인의 최고재무책임자이다. 금융 시장의 최고 전략가로서 뉴욕 증권가에서 쌓은 풍부한 경험과 인프라를 바탕으로 전 세계 금융 인사들과 커뮤니케이션이 가능하다. 전략적 재무 관리자로서 모든 계획, 구현, 관리 및 제어를 담당한다. 회사의 재정적 관련 활동, 탁월한 비즈니스 통찰력과 파트너십, 제휴 관계를 이끌어 낼 수 있는 능력을 가지고 있다.
- 케빈 린(Kevin Lin) : 건설/산업현장의 자재, 노임을 비롯한 각종 결제를 위한 암호화폐인 히든코인의 최고기술책임자이다. SI 업계에서 25년 이상 근무했다. 프로젝트를 추진하는데 있어서 새로운 아이디어와 관리 경험이 우수하다. 비투비 솔루션, SaaS 솔루션 및 각종 플랫폼 개발 등 다양한 프로젝트를 진행했으며 영국 런던에 위치한 크라우드펀딩 회사의 IT 분야에서 프로젝트 심사 위원을 맡고 있다.
- 알렉산드로 세이우(Alexandro Saiu) : 건설/산업현장의 자재, 노임을 비롯한 각종 결제를 위한 암호화폐인 히든코인의 최고마케팅책임자이다. 20년 이상의 글로벌 마케팅 회사 임원으로 근무한 경력을 보유하고 있으며 마케팅 기획, 홍보, 구현, 제휴를 담당한다.
특징
온/오프라인 결제
히든코인은 웹 기반 및 네이티브를 지원하는 소프트웨어 솔루션 세트이며 대부분의 주요 운영체제 및 상용 하드웨어와 호환된다. 본질적으로 지불의 히든코인 시스템은 다음과 같다.
- 히든코인 지불 코어 : 데이터베이스를 운영하는 처리 서버 및 데이터베이스를 판매 업체 또는 암호화폐 핵심 팀과 같은 다양한 외부 사용자와 연결하는 API의 조합으로 이루어진다.
- 결제 처리 게이트웨이 세트 : 게이트웨이는 본사의 결제 파트너의 비즈니스 로직을 코어에 적용하여 커뮤니케이션 유니폼을 생성한다.
- 히든코인의 올인원 다중 암호화폐 지갑 : 히든코인 지불 시스템내에서 사용 가능한 암호화폐를 송금 및 수령할 수 있다.
- 독립형 포스 시스템 : 히든코인 지불 시스템내에서 가맹점용으로 사용하며, 상품 등록 및 가격 등을 큐알코드로 보여주며, 결제할 수 있도록 처리한다.
게이트웨이는 노드에 연결되며 각 노드는 히든코인 시스템 내에서 결제 수단으로 사용할 수 있는 암호화폐를 나타낸다. 또한, 게이트웨이는 거래소에 직접 연결되어 히든코인 코어와 통화간의 원할한 변환이 가능하다. 또한, 게이트웨이는 히든코인 코어를 제휴 은행에 연결할 수 있기 때문에 암호화폐를 직접 현금으로 변환할 수 있다. 마지막으로 게이트웨이는 비트페이, 코인베이스, 코인게이트, 그래프트 및 기타 결제 시스템들과 히든코인 간의 상호 운용성 인터페이스 기능을 수행할 수 있다.[2]
포스 시스템 통합
- QR코드 생성 : 히든코인은 기존 포스 시스템(POS system) 솔루션, 결제 처리 및 게스트 관리 소프트웨어, 플러그인 작성 및 API 통합 수행을 통해 히든코인을 통한 결제를 처리할 수 있다. 판매 업체가 히든코인으로 결제하길 원할 때마다 먼저 고객에게 청구서를 제출해야 한다. 청구서 세부 내용은 추적되지 않으며 총액만 추적된다. 포스 시스템 소프트웨어 또는 독립형 히든 포스 시스템 판매업체 앱으로 청구서 생성을 시작하려면 판매 업체가 먼저 주문을 생성해야한다. 주문에는 주문 아이디(판매 업체 포스 시스템 소프트웨어가 생성하는 고유 아이디)가 존재하며 결제에 사용될 히든코인 및 지불 금액이 포함된다. 판매 업체가 주문을 생성하여 히든코인 판매 업체 API로 전송한 후 히든코인 API는 다음 내역을 확인한다.
- 1) 주문 아이디 중복
- 2) 결제 자격
- 3) 히든코인 사용 가맹점 유무
- 4) 고객이 결제에 사용하는 히든코인의 진위 여부
- 5) 결제 금액 - 본 결제를 적절하게 처리하기에는 너무 낮거나 높을 수 있다.
- 6) 기타 판매 업체의 특수 사항
- 유효성 검사가 성공적이라면 유효성 검사가 완료된 주문은 데이터베이스에 전송되어 시스템 내부에 트랜잭션 아이디를 받는다. 데이터베이스는 고객, 트랜잭션, 화폐 및 게이트웨이에 대한 정보를 저장한다. 처리 서버는 게이트웨이 및 다양한 API에서 이 데이터를 폴링하고 이를 데이터베이스 내부에서 처리하는 서버 애플리케이션이다. 게이트웨이가 히든코인 포스 시스템 통합에 참여하는 방법을 이해하는 데 중요한 사안은 각 트랜잭션마다 블록체인 주소를 생성한다는 것이다. 이 방법으로 시스템내에서 사용 가능한 모든 히든코인에 대해 블록체인에서 발생하는 트랜잭션을 기존의 회계 및 결제 처리 기술과 연결한다.
- 트랜잭션 상태 풀림 : 판매 업체는 고객에게 QR코드가 들어있는 청구서를 제시한다. 고객은 암호화폐로 결제를 시작한다. 그 후 히든코인 코어는 관련 게이트웨이를 통해 고객의 히든코인 블록체인을 주기적으로 폴링하여 결제 상태를 확인한다.[2]
솔루션
블록체인
제3자의 개입 없이 이루어지는 결제 시스템의 블록체인 기술 완전한 피투피 방식의 히든코어를 이용하면 금융기관을 통하지 않고 한쪽에서 다른쪽으로 온라인 송금이 가능하다. 전자 서명이 일반적인 해결책이지만, 이중지불(double- spending)을 방지하기 위해 신뢰받는 제3자의 개입을 필요로 한다면 우리가 원하는 바에서 벗어나게 된다. 이 문서는 피투피 네트워크를 이용하여 이중지불을 막는 해결책을 제시하고자 한다. 이 네트워크는 암호화 함수를 실행하는 해싱(hashing) 작업을 통해 해시 기반 작업증명(proof-of-work)체인에 타임스탬프(timestamp)를 통해 시간을 기록하는데, 이를 통해 작업증명을 다시 수행하지 않고서는 변경할 수 없는 안전한 기록을 생성한다. 가장 긴 체인은 네트워크에 의해 검증된 거래의 연속적인 기록일 뿐만 아니라 가장 큰 연산능력(CPU power)의 결과물이기도 하다. 다수의 연산능력이 네트워크를 공격하는데 동조하지 않는 한, 가장 긴 체인을 만들면 공격자는 무력화 된다. 또한, 네트워크는 최소한의 구조만을 필요로한다. 메시지는 최선의 노력을 다하는 것을 근간으로 삼아 네트워크에 전파되고, 노드는 네트워크에서 언제든 이탈했다가 재 접속할 수 있으며, 이탈한 기간동안에는 가장 긴 작업증명 체인을 받아들이면 된다. 온/오프라인상 거래는 대부분 금융기관을 신뢰받는 제3자의 역할로 사용하는 지불 방식에 의존하고 있다. 이 시스템은 일상의 대부분의 거래에 무리 없이 작동하지만, 신뢰를 기반으로 한 구조라는 원천적인 약점을 가지고 있다. 금융기관의 형태는 중재를 위한 분쟁을 피할 수 없이, 완벽하게 취소 불가능한 거래를 보장하기 어렵다. 게다가 중재에 사용되는 비용은 거래 비용의 상승, 가능한 최소 거래량의 제한, 작고 간단한 거래의 원천적인 봉쇄와 같은 문제를 야기하고, 취소 불가능한 서비스가 필요로 하는 지불 방식을 만들지 못해 결국 더 많은 비용을 소진하게 된다. 거래의 취소가 가능한 구조는 일반적으로 더 많은 신뢰를 필요로 한다. 판매자는 고객을 더 경계하게 되어 그다지 필요하지 않은 정보들도 귀찮게 요구할 것이다. 그럼에도 불구하고 일정 수준의 사기가 발생하는 것은 감내할 수 밖에 없다. 이러한 비용의 증가와 지불의 불확실성 증가는 사람이 직접 실물 화폐를 사용하여 거래하면 해결될 문제지만 이렇게 처리해버리면 신뢰기관 없이 통신 채널만을 통해 지불하는 방버비 없다는 것과 같다. 신용 기반이 아닌 암호화 기술에 기반한 전자 지불 시스템을 이용하면, 신뢰받는 제3자 없이 당사자간 직접 거래가 가능해진다. 전산을 통해 취소가 불가능한 거래는 판매자를 사기로부터 보호할 수 있고, 에스크로 방식을 통해 구매자도 보호할 수 있다. 이 문서에서는 피투피 타임스탬프 서버를 이용하여 거래의 시간 순서를 전산을 통해 증명하는 방식으로 이중지불을 해결할 수 있는 방안을 제시하고자 한다. 이 시스템은 공격자 그룹의 연산능력보다 정직한 노드가 더 많은 연산능력을 보유하고 있는 한 안전하다.[2]
거래
전자화폐를 디지털 서명이 연결된 것으로 정의 해본다. 소유자들은 이전 거래와 다음 소유자의 공개 키를 해시하여 전자서명하고 이를 코인의 뒤에 붙이는 형태로 전송한다. 수취인은 체인의 소유권을 확인하는 것으로 서명을 검증할 수 있다. 문제는 수취인의 입장에서 원 소유주가 이중지불을 하지 않았는지 검증하지 못한다는 것이다. 보편적인 해결책은 거래가 이중지불이 되었는지 확인하는 신뢰할 수 있는 중앙기관 혹은 조폐국을 두는 것이다. 거래가 발생하면 모든 코인은 조폐국으로 들어가 새 코인이 발행되도록 하고 조폐국을 거친 거래만을 유효한 것으로 인정하면 이중지불의 위험에서 벗어날 수 있다. 이 방식의 문제는 전체 시스템의 운명이 모든 거래에 개입하는 조폐국을 운영하는 주체에 달려있다는 점이다. 수취인의 입장에서 이전 소유자가 어떤 거래에도 (기존 코인의 잔액을 이요한) 서명을 사용하지 않았다는 것을 확인할 방법이 필요하다. 이를 위해서는 해당 서명을 사용한 가장 최초의 거래만 계산하면 뒤이어 이어지는 거래에 이중지불이 있는지는 굳이 확인할 필요가 없다. 누락된 거래가 있는지 확인하는 유일한 방법은 모든 거래를 확인하는 것이다. 조폐국을 기반으로 한 모델에서는 조폐국이 모든 거래를 확인하여 어떤 거래가 먼저 이루어진 것인지 결정을 해주면 된다. 이를 조폐국처럼 신뢰받는 주체가 없는 상태에서 해결하고자 한다면, 거래는 공개적으로 알려져야 하며, 참가자들이 그들이 받은 것을 순서대로 정리한 단일한 이력을 사용하는 시스템이 필요하다. 수취인은 거래가 발생하면 노드의 대다수가 이중수취가 아닌 최초의 수취라고 인정하는 증명을 필요로 한다.[2]
타임스탬프 서버
제시하려는 해결책은 타임스탬프 서버에서 시작 된다. 타임스탬프 서버는 시간 순으로 기록된 블록들의 해시를 취하고, 신문이나 유즈넷 포스트처럼 해시를 발행하는 역할을 한다. 타임스탬프는 해시의 형태로 취합 되기 위해 해당 시간에 그 데이터가 존재 했음을 증명해야 한다. 각각의 타임스탬프는 이전 타임스탬프를 해시의 형태로 포함하는 구조로 결국, 각 타임스탬프는 이전 타임스탬프를 강화하는 형태로 체인을 형성한다.[2]
작업증명
피투피를 기반으로 한 분산형 타임스탬프 서버를 실현하기 위해서는 유즈넷이나 신문 등의 방식이 아니라, 아담 백(Adam Back)의 해시캐시와 유사한 작업증명 시스템을 이용해야한다. 작업증명 방식은 SHA256 같은 알고리즘을 통해 해시되었을 때 0(zero)으로 시작되는 값들을 찾는 과정을 수반한다. 해시를 한번 수행하는 것으로 확인하는 이 작업의 소요 시간은 어떠한 평균치에 수렴하며, 요구하는 0의 숫자가 많을수록 소요 시간이 지수의 형태로 늘어나는 특성을 가진다. 타임스탬프 네트워크는 블록 해시를 수행한 결과 만족하는 0비트를 가질때까지 임의의 값인 논스(nonce)를 증가시키는 방식으로 작업증명을 구현한다. 중앙처리장치(CPU)가 노력한 결과가 작업증명 조건을 충족하게 되면, 이 블록은 수행한 작업증명과 같은 노력의 일을 반복하지 않는 한 변경할 수 없다. 하나의 블록을 변경 하려면 해당 블록에 연결된 모든 블록에 작업증명을 다시 진행해야 한다. 또한, 작업증명 방식은 다수결 의사결정에서 대의(代議)의 문제를 해결한다. 만약, IP 주소당 하나의 투표권을 부여하게 되면 누구나 IP 주소를 많이 확보하는 것 만으로 시스템을 전복시킬 수 있다. 이에 반해, 작업증명은 연산 능력에 비례하여 투표권을 주는 것이다. 가장 긴 체인은 가장 많은 연산능력(작업증명)을 포함하고 있으므로 이것이 곧 다수의 결정이 된다. 정직한 노드들이 연산능력의 대부분을 차지하고 있다면, 정직한 체인이 가장 빠르게 늘어나 여타 경쟁 체인을 압도할 것이다. 과거의 블록 한 개를 수정하려면 공격자는 해당 블록과 이후의 모든 블록에 작업증명을 과정을 수행하여 정직한 노드의 블록 길이를 추월해야 한다. 증가하는 하드웨어 속도와 노드를 실행하는 동기를 보상하기 위해 작업증명의 난이도는 시간당 생성되는 블록의 이동평균을 통해 정해진다. 만약 블록이 빠르게 생성되면, 난이도는 증가한다.[2]
네트워크
네트워크는 아래와 같은 과정으로 동작한다.
- 1) 새로운 거래들이 전체 노드들에게 전파된다.
- 2) 각 노드들은 새 거래들을 블록에 취합한다.
- 3) 각 노드들은 블록에 가장 어려운 난이도로 행해진 작업증명을 찾는다.
- 4) 노드가 새로운 작업증명을 발견하면 해당 블록을 전체 노드에 전파한다.
- 5) 노드들은 모든 거래가 유효하고, 이미 사용되지 않은 경우에만 블록을 받아들인다.
- 6) 노드들은 체인 위의 다음 블록에 이전 블록을 해시 형태로 추가하는 것으로 해당 블록을 받아들였다는 의사를 표시한다.
노드들은 항상 가장 긴 체인을 옳은 것으로 간주하고 인증된 체인을 이어간다. 만일 두 개의 노드가 각기 다른 버전의 다음 블록을 동시에 전파하는 경우, 다른 버전의 블록을 전달받는 노드들이 발생한다. 이 경우, 먼저 전달 받은 블록을 기준으로 작업을 수행하지만, 다른 갈래의 블록도 저장하여 해당 블록이 더 길어질 것에 대비한다. 다음 작업증명이 완료되어 둘 중 하나가 더 긴 체인이 되는 경우 더 이상 두 블록은 대등하지않고 긴 체인을 형성한 블록을 기준으로 작업한다. 새로운 거래는 꼭 모든 노드에 전파될 필요는 없다. 최대한 많은 노드에 도달 한다면 이 거래는 블록이 길어지기 전에 포함될 것이다. 블록의 전파가 누락되는 경우에도 크게 걱정할 필요가 없다. 만약 노드가 중간 블록을 전달받지 못하더라도, 이를 요청하여 받게 되면 정상적인 체인을 만들 수 있다.[2]
보상
블록의 첫 거래는 블록의 생성자에게 새로운 코인을 보내는 특별한 거래가 된다. 이는 네트워크를 유지하는 노드들에게 보상이 되고, 중앙 관리기구 없이 분산된 형태로 유통되는 구조를 만들 수 있다. 새로운 코인이 지속적으로 공급되는 것은 흡사 금광을 캐는 광부들이 자원을 소진하여 금의 순환구조를 만드는 것과 비슷하다. CPU 사용시간과 전력이 소비되는 자원에 해당한다. 거래 수수료도 보상 중 하나이다. 거래에서 출력되는 돈 보다 입력되는 금액이 작다면 그 차이는 거래 수수료의 형태로 블록을 생성하는 보상으로 추가 된다. 초기 예상 발행량의 전부가 발행된 이후에는 거래 수수료만 보상으로 주어지며, 인플레이션에서 벗어날 수 있다. 이러한 보상 체계는 노드들이 선의의 행동을 하도록 독려한다. 만약 이기적인 공격자가 선의의 노드보다 많은 연산능력을 끌어모을 수 있다면, 다른 이의 지불을 갈취 하거나, 새로운 코인을 생성하여 사적인 이익을 취하려 할 것이다. 하지만 이러한 방법보다 정해진 규칙에 순응하는 것이 더 많은 코인을 가져다 주기 때문에 공격자가 굳이 공격을 해야할 이유는 없다.[2]
저장공간의 재사용
코인을 기준으로 충분히 많은 블록 이어지게 되면 지난 거래 내역은 저장 공간의 확보를 위해 폐기해도 된다. 블록 해시를 깨지않고 이를 가능하게 하려면 거래가 머클 트리(Merkle Tree) 안에 해시 되고, 머클트리의 루트 부분만 블록 해시에 포함되면 된다. 오래된 블록은 나무의 가지를 친 것처럼 최소화할 수 있다. 내부의 해시는 저장될 필요가 없다. 거래가 하나도 포함되지 않은 블록의 헤더는 80 바이트(byte)이다. 만약 블록이 매 10분마다 생성된다고 가정하면, 연간 소요되는 데이터는 80 bytes x 6 x 24 x 365 = 42MB가 된다. 2008년에 보편적인 컴퓨터가 2GB 램(RAM)을 장착하고 있으며, 무어의 법칙에 따라 현재 기준으로 1.2GB가 1년에 증가하므로, 블록 헤더가 메모리에 저장되더라도 큰 문제가 되지 않는다.[2]
지불 검증의 최소화
풀노드(full network node)를 운용하지 않더라도 지불을 검증하는 것은 가능 하다. 사용자가 자신이 가장 긴 체인임을 확인할 수 있을 때까지 네트워크 노드들에게 요청하여 가장 긴 작업증명 체인의 블록 헤더의 사본(copy)을 가지고 있으면 해당 거래가 포함된 블록의 머클트리의 가지(branch)를 얻어올 수 있다. 사용자 스스로 거래의 유효성을 체크할 수는 없으나, 체인에 연결된 것을 확인하고, 네트워크 노드들이 이를 받아들이는지 확인한 뒤, 블록이 뒤에 연결되는지 확인하면 할 수록 네트워크가 이를 유효한 것으로 인식하는지 확신할 수 있다. 정직한 노드들이 네트워크를 제어하는 상태에서 이뤄지는 검증 작업은 신뢰할 수 있으나, 공격자의 힘이 강한 네트워크에서는 신뢰가 어렵다. 네트워크 노드들이 검증 절차를 가지고 있다하더라도, 공격자가 지속적으로 네트워크에서 힘을 유지하고 기록을 날조하여 잘못된 거래 내역을 퍼뜨리면 속을 수 밖에 없다. 이러한 문제를 막기 위한 하나의 방편은, 사용자의 소프트웨어가 블록 전체를 다운로드 받아 모순점이 있는지 확인할 수 있도록 하고, 유효하지 않은 블록을 발견했을 때 네트워크 노드들에 경고성 알림을 보내는 것이다. 이런 면에서, 잦은 거래를 필요로하는 사업분야에서는 빠른 검증과 독립적인 보안체계를 유지하기 위해 자신의 노드를 직접 운용하는 것을 원할 것이다.[2]
가치병합과 분할
코인을 중심으로 개별적 관리하는 것도 가능하지만, 이는 작은 단위의 거래를 하기에는 불편하다. 가치가 나누고 합쳐질 수 있도록 하기 위해 다수의 입력과 다수의 출력을 허용한다. 보통, 큰 규모의 단일 입력이거나 다수의 소액을 합친 입력일 것이며, 출력은 지불을 위한 것 하나와 남는 잔액을 송금자 에게 돌려주는 출력 두 개일 것이다. 하나의 거래가 여러 거래들로부터 비롯되고, 이 거래들은 더 많은 거래들로부터 비롯되는 팬아웃(fan-out) 형태는 여기서 문제가 되지 않는다. 거래 기록의 완전한 독립 사본을 추출할 필요가 없기 때문이다.[2]
프라이버시
기존의 은행 구조는 담당하는 그룹과 신뢰받는 제3자의 정보 접근 권한을 제한하는 방식으로 프라이버시를 보호한다. 모든 거래를 공개하는 방식에서 은행 형태의 모델을 차용할 수는 없지만 프라이버시를 유지하면서 모든 거래를 공유하는 것이 불가능한 것은 아니다. 공개 키들을 익명으로 사용하면 된다. 참여자 누구나 어떤 이가 다른 이에게 얼마를 보냈는지 확인할 수 있지만, 정작 거래가 누구에 귀속되는지에 대한 정보는 공개하지 않는 방식이다. 이는 증권 거래소에서 정보를 공개하는 것과 비슷하다. 시간과 거래량은 공개되지만 누구의 거래인지 알 수 없는 것처럼 말이다. 추가적인 방화벽으로서, 매 거래 마다 새로운 키를 사용하도록 하여 소유자 분별이 어렵도록한다. 다수의 입력이 존재하는 거래일 경우 입력들이 동일한 소유자에서 온 것이 밝혀질 수도 있다. 만약 소유자의 키가 공개되면, 다른 거래의 것도 동일한 소유자라는 것이 밝혀질 수 있다는 위험성이 있으므로 새로운 거래를 수행 시 매번 새로운 키를 사용하도록 권장한다.[2]
계산
공격자가 정직한 체인보다 빠르게 체인을 이어가려는 경우를 생각해 본다면, 이 공격이 성공한다해도 시스템에 없던 돈을 새로 만들어내거나 하는 식의 제멋대로인 상태로 망가뜨릴 수는 없다. 노드들은 유효하지 않은 거래는 받아들이지 않을 것이고, 정직한 노드는 아예 해당 내용을 블록에 포함하는 것조차 허용하지 않는다. 공격자는 오직 자신이 행한 거래의 돈을 되찾는 공격만 가능하다. 정직한 체인과 공격자 체인의 경쟁은 이항무작위행보(Binomial Random Walk)의 특성을 지닌다. 정직한 체인이 블록 한 개를 성공적으로 생성하는 사건에 +1을 부여하고, 공격자 체인이 블록 한 개를 성공적으로 생성하는 사건에 -1을 부여한다고 생각해보면, 공격자가 적자의 상태에서 시작하여 선의의 체인을 따라잡을 가능성은 도박사의 파산 문제(Gambler's Ruin problem)와 유사하다. 적자 상태의 도박사가 무제한의 신용을 바탕으로 무한대로 게임을 시도하여 손익분기점에 도달했다고 생각했을때. 그가 손익분기점에 도달할 확률, 혹은 공격자가 정직한 체인을 따라잡을 확률은 다음과 같이 계산할 수 있다.
p > q 라 가정한다면, 공격자가 블록을 따라잡을 확률은 블록 수의 증가분에 지수로 감소한다. 공격자가 가능한 빨리 시도하여 운 좋게 성공하지 못한다면, 가능성은 뒤로 갈수록 희박해진다. 수신자의 입장에서 송금자가 거래를 변조하지 못할 거라 판단되는 충분한 기간은 얼마인지 고려해 본다면, 공격자인 송금자가 수신자로 하여금 일정 기간동안 자신은 돈을 받았다고 믿도록 하다가 다시 돈을 자신에게 되돌리는 시도를 할 것이다. 수신자는 이에 대한 경고를 받겠지만 공격자는 이미 늦은 상태에서 알림을 받게 하길 원한다. 수신자는 새로운 키 쌍을 생성하여 송금자에게 공개키를 보낸다. 이는 공격자가 미리 멀리 달아나기 충분한 만큼 블록을 체인의 형태로 만들어 두는 것을 방지한다. 거래가 전송되면, 정직하지 않은 송금자는 비밀리에 다른 거래 내역을 포함하는 체인의 생성을 시작할 것이다. 수신자는 거래가 블록에 포함되고 z개의 블록만큼이 추가되길 기다린다. 그는 공격자가 어느 정도의 작업을 진행했는지는 모르지만, 정직한 블록들은 평균 블록 생성시간에 따라 생성될 것으로 유추할 수 있다. 공격자의 잠재적 진행률은 포아송 분포의 기대값인 다음과 같다.
𝜆 = 𝑧ㆍ𝑞/𝑝
공격자가 해당 시점에도 따라잡을 수 있는 확률을 계산하기 위해, 포아송 분포를 공격자가 따라잡을 매 진행률에 곱한다.
분포 상의 무한 소수를 더하지 않기 위해 식을 정리하면 아래와 같다.
지금까지 신뢰에 기반하지 않은 전자 거래 시스템을 제안하였다. 전자 서명으로 이뤄진 일반적인 형태는 소유권에 대한 강한 통제권을 제공하지만 이중지불을 막지 못하면 불완전할 수 밖에 없다. 이를 해결하기 위해 작업증명을 이용하여 공개적으로 거래를 기록하는 피투피 네트워크를 제안하였다. 이 방식은 정직한 노드들이 다수의 연산능력을 확보하고 있다면 공격자가 쉽게 조작하는 것이 불가능하다. 이 네트워크는 간결함을 기반으로 함에도 견고하다. 노드들은 약간의 협력만으로 합일이 가능하다. 특정한 위치까지 메시지가 전달되지 않더라도 최선을 다하는 것을 기반으로 전달되기만 하면 되기 때문에, 굳이 신원을 밝힐 필요도 없다. 노드들은 언제든지 네트워크에서 이탈했다가 재접속할 수 있으며, 그들이 이탈한 동안 이뤄진 작업증명의 체인을 받아들이기만 하면 된다. 유효한 블록의 뒤에는 블록을 연장하고, 유효하지 않은 블록은 거부하는 행위를 통해 작업증명 연산 능력은 참여자들의 의사표현의 수단이 된다. 이러한 합의 구조는 규칙이나 보상과 함께 제시된다.[2]
앱 지갑/포스 시스템
앱 지갑
히든코인 암호화폐 지갑은 메신저 플랫폼 기반으로 동작한다. 히든코인 지갑은 보안성이 뛰어난 P2P 기반 메신저로 사용자가 친숙한 메신저 인터페이스를 가지고 있다. 친구와 대화하듯이 편리하게 히든코인을 주고 받으며, 지불결제 수단으로 활용할 수 있다. 또한 히든코인의 기본 설계 사상인 개인 간의 대화는 개인 만이 확인할 수 있어야 한다는 것이 암호화폐의 기본 사상과 일치되는 바, 암호화폐 지갑 APP를 코인 지갑의 기본 어플리케이션으로 이용하는 것이 암호화폐 거래의 익명성을 보장하고 거래의 안정성을 담보할 수 있는 기본 어플리케이션으로 손색 없다. [2]
포스 시스템
히든코인의 포스 시스템은 PG/VAN을 거치지 않는 직거래 결제 구조로 낮은 수수료로 결제가 이루어진다. QR코드 스캔을 통해 결제가 이루어지며, 결제의 단 2단계만으로 결제가 완료 되는 간편 결제 시스템이다. 개인은 히든코인 앱 암호화폐 지갑을 통해 결제하고 가맹점은 포스 앱을 통해 결제한다. 결제와 동시에 정산이 이루어지는 다이렉트 페이이다.
- 가맹점 코드로 로그인 : 히든코인 가맹점 등록, 가맹점 코드를 발급한다.
- 내 스마트폰이 포스 단말기 : 별도의 포스 단말기 설치 필요 없이 히든코인 포스 앱 하나로 가능하다.
- 간편 결제 : 피투피 방식의 결제로 QR코드 스캔 한번으로 결제가 가능하다.
- 상품 등록 및 관리 : 판매 상품 등록은 물론 기존 등록 상품의 관리도 간편하게 이루어진다.
- 매출 관리 및 재고 관리 : 요일, 시간 대 별 매출 파악으로 효율적인 점포 운영이 가능하다.
- 고객 관리 : 효율적인 고객 관리를 통해 효과적인 마케팅을 실현한다.
피투피 메신저 플랫폼
히든코인은 사용자에게 친숙한 메신저 플랫폼이다. 전화번호로 간편 가입이 가능하고, 1:1 대화하기, 그룹대화하기가 가능하다. 또한 소액 해외 송금을 위한 트랜스퍼와 연계하여 저렴하고 신속한 해외 송금이 가능하다. 히든코인의 메신저 플랫폼은 서버에 메시지를 저장하지 않는 피투피 기반 메신저 플랫폼이다. 히든코인 메신저 플랫폼은 서버에 사용자의 대화내용을 저장하지 않고, 단순하게 중계만 하는 피투피 기반 플랫폼이다. 히든코인 메신저는 디바이스와 디바이스 간에 직접 통신을 하는 방식이며, 모든 사용자의 대화는 사용자의 개인키를 이용하여 암/복 호화 되므로 통신 구간 감청 및 서버에서 대화의 내용을 확인하는 것이 불가능하다. [2] 주요 특징은 아래와 같다.
- 보안성 : 히든코인은 보안에 완벽한 피투피 메신저이다. 서버는 단순 중계만 할 뿐 모든 사용자간의 대화는 디바이스간에 피투피 방식으로 이루어진다.
- 간편성 : 사용자의 휴대전화 번호만으로 간편하게 가입되며, 휴대전화번호 이외에 어떠한 정보도 사용자에게 요구하지 않는다. 또한 일반적인 메신저의 인터페이스를 가지고 있어, 사용자가 쉽게 사용할 수 있다.
- 확장성 : 히든코인은 메신저 플랫폼으로 다양하게 확장이 가능하다. 또한 히든코인지갑 뿐만 아니라, 해외 소액 송금, 쇼핑몰, 지불 시스템 연계 등이 가능하도록 개방형 아키텍쳐로 되어있다.[2]
로드맵
- 2018년 01월 ~ 2018년 06월 : 시장조사 및 연구 기간
- 2018년 06월 : 백서 발표 1차
- 2018년 07월 : 백서 발표 2차
- 2018년 09월 ~ 2018년 12월 : 암호화폐 거래소 상장예정
- 2019년 01월 : 코인 하드포크
각주
참고자료
- 히든코인 공식 홈페이지 - http://www.hiddencoin.kr/index.html
- 히든코인 백서 - http://www.hiddencoin.kr/
- 박명기 기자, 〈[히든코인, 건축-건설 산업 현장서 편하게 결제 OK]〉, 《한경닷컴》, 2019-02-20
같이 보기