[비트코인] 1. 백서(Whitepaper) 읽기 – 2) 서론

비트코인 백서읽기 첫번째 포스팅에서 요약 부문을 번역하고, 관련 내용을 확인해 보았습니다. 이번 포스팅에서는 본문 내용을 정리해보려 합니다. 요약과는 다르게 백서 내 중요 구문만 발췌하여, 번역하고 관련 내용을 확인하는 형식으로 진행하려 합니다.

  1. 서론Introduction

Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. … 중략 … it still suffers from the inherent weaknesses of the trust based model.

인터넷 상의 상거래는 전자지불electronic payments 과정에서 신뢰받는 제3자trusted third parties의 역할을 수행하는 금융 기관들을 거의 전적으로 의지해오고 있다. … 중략 … 여전히 신뢰기반모델the trust based modes의 태생적 약점들에 시달리고 있다.

비트코인이 만들어진 중요 원인 중 하나가 신뢰받는 제3자trusted third parties가 꼭 필요한 신뢰기반모델trusted-based model의 한계점입니다.

신뢰받는 제3자와 신뢰기반모델 이란 용어는 여러 분야에서 쓰이겠지만, 저에게 가장 익숙한 경우는 PKIpublic key infrastructure를 설명할 때 입니다.

공개 키 기반구조로 번역되는 PKI는 공개키 암호화 방식을 바탕으로 한 디지털 인증서를 활용하는 소프트웨어, 하드웨어, 사용자, 정책 및 제도 등을 총칭하여 일컫는다. 라고 위키피디아 한글판에서는 설명하고 있습니다.

쉽게 말해보면, 암/복호화에 다른 키를 사용하는 비대칭 암호화 알고리즘을 사용하여 공유할 수 있는 공개키를 만들고 그와 대응하는 개인키를 만들어 여러 목적으로 사용을 하는데 이를 가능하게 하는 각종 방법, 참여자, 정책 등을 총칭하여 PKI라고 칭합니다.

공개키/개인키를 사용할 수 있도록 하는 환경을 통틀어 PKI 로 칭하는 구나 정도로 이해할 수 있을 듯 합니다.

위의 PKI 다이어그램을 보시면, 이해할 수 없는 CA, RA, VA 등의 용어가 보이실 겁니다. 이들은 개인/조직이 가진 인증서를 공인받은 인증서라고 확인해주는 CACertification Authority와 등록을 진행하는 RARegistration Authority, 그리고 검증을 수행하는 VAValidation Authority 입니다.

개인/조직이 가지고 있는 인증서는 프로그램만 있으면 쉽게 생성이 가능하기 때문에, 다른 사람과 공유해서 쓰려고 할 때 항상 저 인증서를 신뢰해도 될지에 대한 문제가 생기게 됩니다. 이 신뢰 문제를 해결하기 위해, 모두가 믿을 수 있는 기관을 설립하여 인증서를 발급하고, 확인하고, 검증하는 작업을 수행하게 됩니다.

눈치채셨나요? 위의 CA, RA, VA 가 저희가 이야기 하고 있는 신뢰받는 제3자 들입니다. 모두가 믿을 수 있다고 가정하는 단체 혹은 조직이 이 역할을 수행하는데, 한국에서는 공인인증서에 적용되면서 RA를 은행과 같은 금융기관 등이 수행하고 있습니다.

결국 위의 모든 장치들은 모두가 신뢰할 수 있는 제3의 조직이나 기관이 있다라는 믿음으로 구축된 시스템이고, 그래서 이를 신뢰기반모델이라 부릅니다. 실제로 신뢰가 있다기 보단, 신뢰할 수 있는 누군가가 있다는 가정에 기반한 모델인 것이지요.

그리고 신뢰기반모델은 신뢰받는 제3자의 신뢰성 문제나 공격에 노출되었을 때의 파급 효과 등 몇가지의 정책적 문제를 가지고 있고, 신뢰받는 제3자를 이용하기 위해 발생하는 비용 측면의 이슈도 가지고 있습니다.

 

The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for non-reversible services.

중재 비용은 거래비용transaction costs을 상승시키는데, 이는 실용적인 최소 거래 사이즈를 제한하고 작고 일상적인 거래 가능성들을 잘라낸다. 그리고 비가역적non-reversible 서비스를 위해 비가역적non-reversible 지불을 만드는 능력을 잃을 때는 더 많은 비용이 든다.

위에서 설명한 신뢰기반모델에서는 중재 비용이 발생합니다. 그들도 시스템을 유지하고, 수익을 창출해야 하는 조직/기관이기 때문입니다. A가 B에게 송금할 때, 가운데 신뢰받는 제3자인 은행이 송금수수료를 받는 것이 대표적인 경우입니다. 그리고 신뢰받는 제3자가 늘어나면 늘어날 수록 그들 모두에게 지급해야 하는 수수료도 늘어나게 됩니다.

국내 송금이 아닌 해외 송금을 이용해 보신 분이라면 더 쉽게 이해하실 수 있을 것 같습니다.

출처: 은행연합회 외환수수료 비교 문서(http://www.kfb.or.kr)

해외 송금 시엔 위의 문서처럼 해외 중개은행 중개수수료 등의 항목이 발생하게 됩니다. 해외 송금 시에는 한국의 은행과 해외의 은행 사이에 신뢰가 구축되지 않았기 때문에 그 사이를 중재할 수 있는 제3자 기관들이 포함되게 되는데, 이들에게 지불하는 비용이 포함되는 것이지요.

이제 우리는 제3자가 많이 포함된 거래일 수록 중개수수료가 올라간다는 개념을 이해하게 되었습니다. 중개수수료가 올라가면 한 건의 거래당 발생하는 거래 비용이 상승한다라는 백서의 문장이 이해되는 듯 합니다.

중재 비용으로 인해 거래 비용이 상승하고, 이 때문에 소액으로 거래를 수행하는 시도는 줄어드게 될 것입니다. 해외송금수수료 예시처럼 5백불 이하에서 2,500원+α의 수수료가 발생하는데 10,000원이나 15,000원을 송금하려는 사람은 없을 테니까요. 해외송금 뿐만 아니라 국내 전자상거래에서도 소액 송금은 잘 이루어지지 않는 것을 예시로 들어볼 수 있습니다.

전자상거래의 비용을 증가시키는 것은 중개 수수료 뿐만 아니라, 거래 안정성이 침해되었을 때 발생하는 막대한 비용도 있습니다. 백서에서는 이를 비가역적non-reversible 지불과 비가역적non-reversibile 서비스라고 표현하고 있습니다.

비가역적이란 어려운 단어로 번역되었지만, 개념은 간단한 것 같습니다. 하나의 데이터를 만든 후 그것이 변경 가능하면 가역적reversibile이라 표현하고, 변경이 불가능하면 비가역적non-reveribile이라 표현하는 것으로 이해했습니다. 이는 정보보안의 3대 요소 중 무결성integrity과 연결되는 개념입니다.

컴퓨터 상의 데이터는 항상 변경 가능한 것입니다. 간단히 수정하거나, 삭제할 수 있습니다. 그렇기 때문에 해당 데이터의 신뢰성은 항상 의심받아 왔습니다. 특히 결제나 인증 등 중요 정보가 시스템 사이를 이동할 때는 공격자의 의해서 변조되지 않았나라는 보안상 이슈가 항상 발생합니다. 이를 방지하거나, 위험을 최소화 하기 위해 무결성 검증이라는 방식으로 많은 시도가 이루어지고 있습니다.

전자상거래 상의 결제의 경우에도, 결제 데이터가 한 번 저장되면 변조/삭제 등이 발생하지 않도록 하기 위해 많은 비용을 소모하게 됩니다. 그리고 그 외에도 혹시라도 결제 데이터가 변조/삭제 되었을 경우에는 이를 해결하기 위한 추가 비용이 발생하게 됩니다.

백서에서 말한 비가역적 지불 능력을 잃게 될 때란 지불 데이터가 변조되지 않도록 설계된 시스템 내 오류가 발생하거나 공격이 발생하여, 지불 데이터가 변조 혹은 삭제되었을 때를 지칭하는 것으로 이해할 수 있습니다.

 

… 중략 … What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party.

… 중략 … 필요한 것은 신뢰 대신에 암호학적 증명cryptographic proof 기반의 전자 지불 시스템electronic payment system이며, 이는 어떤 두 거래 당사자든 신뢰받는 제3자 없이 직접 서로에게 이체transact 할 수 있게 한다.

위에서 설명한 신뢰기반모델의 비용 발생 문제나, 신뢰성 문제 그리고 기존 전자상거래 시스템에서 발생할 수 있는 데이터 무결성의 문제 등을 해결하기 위해 필요한 것은 암호학적 증명cryptographic proof기반의 전자 지불 시스템electronic payment system이라 백서에선 표현하고 있습니다.

그리고 해당 방식이 신뢰기반모델에서 필요했던 제3자 없이 거래 당사자들이 직접 이체transact를 수행하여 거래를 성사 시킬 수 있음을 의미합니다.

데이터의 무결성 이슈나 거래 당사자간의 신뢰 이슈 등을 해결하기 위해 제시된 암호학적 증명은 제3자의 신뢰를 기반으로 데이터의 신뢰성을 검증하는 방식이 아닌 다양한 암호화 알고리즘을 이용하여, 데이터 자체의 신뢰성을 검증하는 방식이 적용될 것으로 추측해 볼 수 있습니다.

 

… 중략 … In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions.

… 중략 … 이 백서에서, 우리는 이중지불 문제의 해결책으로 거래 발생 순서 대로의 컴퓨터적 증명computational proof을 생성하는 P2P 분산 타임스탬프 서버peer-to-peer distributed timestamp server 이용을 제안한다.

The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes.

이 시스템은 정직한 노드들이 서로 협력하는 공격자 노드들의 그룹보다 더 많은 CPU 파워를 협력적으로 제어하는 한 안전하다.

비트코인은 암호학적 증명을 수행하기 위해 컴퓨터적 증명 생성을 제안하고 있습니다. 백서 후반 부에 PoW에 대해 나올 예정이지만, 암호학을 기반으로 데이터 안정성을 증명하기 위해서 컴퓨팅 자원을 소모시키는 컴퓨터적 증명을 비트코인은 사용하고 있습니다. 이 부분이 우리가 흔히 아는 블록데이터를 체인으로 만드는 방식입니다.

그리고 P2P 분산 타임스탬프 서버의 이용이 전체 거래기록을 분산시켜 저장하는 분산 원장의 방식으로 이해할 수 있습니다.

 

비트코인 백서의 서론 또한 앞서 풀어본 요약과 마찬가지로 함축된 내용이 많이 포함되어 있었습니다. 다음 챕터인 2) Transaction 부터는 서론과 요약에서 말한 큰 제안들을 실현할 기술적 관점의 내용들을 다루게 됩니다.

기술적 관점의 기초 지식들을 이해하자는 생각에 백서 한 부분 한부분에 글이 길어지고 있습니다.

세부 기술사항에 들어가면 좀 나아지리라 기대하며, 다음 글에서 뵙겠습니다.

Leave a Reply

avatar
  Subscribe  
Notify of