블록체인은 왜?

Posted by 안귀정 on January 3, 2018

Q) 새로운 블록을 블록체인에 추가하는 방법?

우선 블록 체인이라 함은 현재까지의 블록이 모두 이어진 것으로, 현재까지 일어난 모든 거래 내역이 시간 순으로 기록된 장부입니다.

블록의 구조는 블록 헤더(Block Header)와 블록 바디(Block Body)로 구성되어있습니다. 블록 헤더의 구조는 현재 블록의 해쉬, 바로 전 블록의 해쉬, 블록이 생성된 시간 등으로 구성되어있습니다. 블록 바디는 각각의 거래 내역을 담고 있습니다.

이렇게 새로운 블록은 이전 블록의 해쉬값을 가지고 있어 블록들이 체인 형성을 하게 됩니다.

그렇다면 비트코인에서는 이전의 블록 해쉬값만 가지고 있다고 해서 블록 체인에 추가 될 수 있을까요? 이는 시스템에 따라 다를 수 있습니다. 블록체인으로 구성된 시스템 중 대표적인 비트코인 시스템에서는 새로운 블록이 블록체인이 추가되기 위해서는 작업 증명이라는 절차를 거칩니다. 작업 증명은 P2P 네트워크를 통해 이중지불을 막아주는 기술로써 거래의 정당성을 검증하는 과정입니다. 이는 다음 기회에 자세히 설명 하도록 하겠습니다.

Q) 거래소에서 코인을 현금으로 사고, 그 현금은 어디로 흐르는가?

우선 비트코인을 얻는 방법은 아래 3가지 입니다.

  1. 전문 장비를 이용해서 직접 채굴
  2. 타인으로부터 비트코인을 송금받는 방법이 있다.
  3. 거래소에서 현금(원화,달러 등)으로 구입

이 중 가장 많이 사용되는 방법은 거래소를 통하여 비트 코인을 구입하는 방법입니다. 거래소를 통해 코인을 구입하게되면 거래소는 거래소 DB에 그 사실을 저장해 놓습니다. 그리고 거래소는 지갑에 들어있는 코인 중 일부(구매한 만큼)를 사용할 수 있도록 해줍니다.

즉, 위 단계까지는 개인지갑(개인 계좌)에 실질적으로 코인이 들어오는 것이 아니라, 다른 외부 거래소(혹은 개인지갑)로 보내면 그때 해당 지갑으로 코인을 전송해 줍니다.

Q) 블록체인의 장점은 뭘까요?

장점 내용
블록은 시간별로 정렬 블록 체인은 거래기록이 블록이라는 단위로 정리되어 시간별로 이어져 있음. 하나의 블록은 이전 블록을 참조하고 있기 때문에 블록을 수정하면 그 뒤에 연결된 모든 블록을 다시 생성해야 하므로 조작이 힘듬.
보안성 향상 1. 분산원장 기술은 암호화된 데이터와 암호화된 키 값으로만 거래가 이루어지므로 보안성을 높일 수 있음
2. 새로운 블록은 기존의 블록과 연결되므로 전체 블록 안의 데이터 변조와 탈취가 불가능
3. 각 참여노드의 분산화로 해킹이 불가능
보안성 향상 1. 분산원장 기술은 암호화된 데이터와 암호화된 키 값으로만 거래가 이루어지므로 보안성을 높일 수 있음
2. 새로운 블록은 기존의 블록과 연결되므로 전체 블록 안의 데이터 변조와 탈취가 불가능
3. 각 참여노드의 분산화로 해킹이 불가능
거래 속도 향상 1. 거래의 인증·증명과정에서 제3자를 배제시키는 실시간 거래가 이루어지므로 거래 기록의 신뢰성 확보와 동시에 거래의 효율성 및 속도가 향상됨
2. 분산원장 기술로 오류와 실수를 최소화시킬 수 있으므로 오류의 정정과 수정을 위한시간이 줄어듬
비용 감소 1. 거래 정보와 인증을 위한 중앙 서버와 집중화된 시스템이 필요 없기 때문에 비용이 적게 듬
2. 거래 정보가 분산되어 있어 해킹 위험도 낮음
가시성 극대화 1. 네트워크 참여자들의 실시간 거래 모니터링이 가능하므로 가시성이 극대화됨
2. 거래상의 가시성은 투명성과 자기부인 방지의 기능을 지님

출처 : 블록체인 구조와이론, 과학기술 정책 연구원

Q) 스마트 계약이란?

보통 계약 성립 여부를 객관적으로 증명하기 위해서는 공증인이나 변호사와 같은 제삼자를 통해 증거를 남겨야 한다. 하지만 블록체인 기술은 본질적으로 제삼자의 증명 없이 거래의 정당성을 증명할 수 있는 특징이 있다. 예를 들어 비트코인은 화폐 거래를 은행과 같은 제삼자 증명 기관을 통하지 않고 구현하고 있다. 이것을 계약의 관리나 실행에 응용할 수 있다.

우선 계약 당사자는 계약 내용을 디지털화해 블록체인에 기록한다. 계약 조건을 만족한 경우 블록체인에 기록된 계약 내용을 참고해 해당 계약을 자동으로 실행한다. 이처럼 계약을 자율적으로 수행하는 계약을 ‘스마트 계약’이라고 한다.

출처 : 블록체인 구조와 이론 p48

Q) 블록체인이 사용되고 있는 분야는 무엇이 있나요?

분야 사례 설명
결제 및 거래에서 응용 Align Commerce사의 블록체인 기술을 활용한 국제 송금 서비스 블록체인 기술은 최초부터 가상화폐등 결제및 거래에서 응용할 수 있도록 개발되었습니다. 때문에 송금, 결제, 무역금융, 자금조달, 마켓플레이스,등 분야에서 응용이 가능합니다.
서명 및 증명에서의 응용 미국 Blockai사의 저작권 관리 플랫폼, Everledger의 다이아몬드 거래 관리, 추적, Visa사와 Docusign사의 실증 실험 블록체인 기술을 이용하면 거래기록에 대한 추적이 가능하고 변조 위조가 어렵기 때문에 서명 및 증명에서 응용이 가능합니다. 저작권 관리, 고액물품 거래 추적, 계약 관리 및 실행, 문서공증등의 분야에서 응용 가능합니다.
신규 서비스 응용 Nayuta사의 블록체인을 활용한 전원 소켓 관리, 독일 Slock사의 블록체인을 사용한 IoT 비즈니스, 호주 정당 Flux의 블록체인을 통한 관리 블록체인을 투표 시스템에 적용하면 변조가 어렵고 집계가 효율적으로 가능해집니다. IoT 에서는 수많은 장치를 시스템으로 연결해야하는데 그것을 효율적으로 하기 위한 방법이 업계에 고민거리이다. 그 해결책중 하나로 블록체인에 대한 연구가 진행중입니다. 블록체인을 사용하면 보안이슈가 해결 가능하고 각 장비가 원장을 관리하여 효율적으로 관리가 가능합니다.

Q) 블록체인이 핀테크의 핵심기술중 하나로 주목받고 있다고 하는데 핀테크는 뭔가요?

핀테크는 금융(Financial) 과 테크놀로지(Technology) 의 합성어로 금융과 IT 융합을 통한 산업변화를 의미합니다.

모바일, SNS, 빅데이터등 새로운 IT기술 등을 활용하여 기존 금융기법과 차별화된 금융서비스를 제공하는 기술기반 금융서비스 혁신을 말하며 최근 사례로는 모바일 뱅킹, 앱카드 등이 있습니다.

Q) 블록체인 기술이 해결한 [비잔티움 장군문제]란 무엇일까?

비잔티움 장군문제는 컴퓨터과학 분야의 사고실험중 하나로 불확실한 연결 기반의 통신상황에서 동작을 동기화할 때의 함정, 설계 과제를 명시하기 위한 것 입니다.

비잔티움 장군문제를 조금더 단순화한 것으로는 [두 장군 문제] 가 있습니다. 두 장군 문제에서 장군이 여러명이 되면 [비잔티움 장군문제]가 되므로 먼저 [두 장군 문제] 를 보겠습니다.

그림과 같은 전장이 있다고 생각해봅시다. A1, A2 는 아군의 병력입니다. B 는 적군이고요. 아군의 총인원은 6명이고 B의 병력은 5명입니다. 하지만 A1, A2 로 나뉘어져 각각 3명씩 있습니다. 만약 따로 싸운다면 각개격파 당할 것입니다.

즉 A1, A2 의 병력이 동시에 B 의 병력을 쳐야만 A 는 이길수 있습니다. 이 상황에서는 A1의 장군과 A2의 장군이 같은 시간에 공격하기로 정해야만 B에게 이길수 있는 상황입니다.

그렇다면 연락책을 몰래 보내서 약속을 잡으면 되지 않을까요? 불행히도 현재 전장은 고립된 산입니다. A1 의 연락책이 A2 에 도착하기 위해서는 B 를 지나쳐야합니다. 반대로 A2의 연락책이 A1 에 도착하기 위해서도 마찬가지입니다. 연락책은 B에 잡힐수도 있고 B가 가짜 연락책을 보낼수도 있습니다.

이런 상황에서 A1, A2가 정확한 시간에 함께 공격하기 위해서는 얼마나 많은 메세지를 보내야할까요?

위 문제는 아직도 해결되지 않은 난제입니다. A1과 A2 사이에 신뢰할수 없는 B 가 존재함으로서 무한한 메세지로도 서로 합의할수 없게됩니다. [비잔티움 장군 문제] 는 위와 같은 상황을 장군 2명이 아니라 일반화한 것과 같습니다.

상황은 다음과 같습니다.

  • 비잔틴 제국의 여러 장군들이 하나의 적군 도시를 공격하기 위해 출병함
  • 적은 매우 강해서 과반수 이상의 장군들이 같은 시각에 공격해야만 승리하고, 그렇지 않으면 패배
  • 모든 장군들간의 소통은 연락병 보내는 방법 밖에 없음
  • 장군들 중에는 배신자가 있을 수 있어서 서로 신뢰할 수 없음 ( 배신자는 가짜 공격 명령을 보낼 수도 있음 )
  • 서로 신뢰할 수 없는데 공격시각을 어떻게 합의할까?

마찬가지로 서로 신뢰할수 없는 상황에서 어떻게 합의가 가능한가에 대한 문제입니다.

블록체인은 새로운 메세지에는 반드시 이전메세지의 해쉬가 포함되는 형태이기 때문에 해결이 가능합니다.

Q) 비트코인의 반감기라는 용어가 있던데 반감기란 무엇인가요?

비트코인은 기본적으로 채굴이라는 작업으로 시스템의 신뢰도를 높이고, 때문에 채굴의 대한 보상으로 코인을 제공합니다.

반감기는 이 보상이 반으로 줄어드는 시점을 얘기합니다.

비트코인이 반감기를 가지는 이유는 비트코인의 설계 자체가 최대코인 개수가 2100만개로 정해져 있기 때문에 공급량을 조절하기 때문이라고 합니다.

이런 경우 보상이 절반으로 줄어들었기 때문에 비트코인을 캐는 쪽에서는 큰손해일것 같지만 실제로는 비트코인의 가치 자체가 상승하게 되기 때문에 큰 손해를 보는것은 아직까지는 없었습니다.