유용한 정보

블록체인 개념정리

CyberI 2018. 9. 4. 16:11

블록체인이란?

 1.1 블록체인 정의

블록체인은 쉽게 말해 정보를 변조하기 어려운 형태로 모든 사용자가 정보를 공유하는 시스템입니다. 참여하는 모든 사용자들끼리 모든 금전거래 및 디지털 인증정보 등을 일정시간마다 비교하며 처리하기 때문에 종래의 제 3자인 중개기관(ex. 은행)을 통한 클라이언트 서버 방식이 아닌 개인과 개인이 거래 데이터의 정당성을 보증하는 분산원장(Distributed Ledger)으로 차이가 있습니다

클라이언트 서버 방식이었던 기존의 방식은 데이터를 중앙에서 기록 및 처리하기 때문에 비효율적일 뿐만 아니라 사이버 공격에 단일표적으로 지정되기 쉬우며, 더불어 시스템 다운에 대비한 백업 및 업무연속성 대책에 대한 막대한 비용이 드는 단점이 있었습니다.

이에 비해 분산원장 블록체인은 거래가 발생할 때 사용자 컴퓨터에 P2P(Peer-to-Peer)로 직접 데이터를 기록하고 확인하며 정보를 다른 사용자들과 공유하며 거래 데이터의 정당성을 갱신하기 때문에 업무연속성에 제약이 없는 제로다운타임(Zero Downtime)이 가능하며, 백업에 용이하고, 사이버 공격의 표적에서 안정성을 보장 할 수 있게 되었습니다. 더불어 중개기관을 거치지 않고도 거래가 가능하기 때문에, 중개기관에게 지불하는 수수료 및 시간이 단축되는 이점도 갖고 있습니다. 위 장점으로 인해 블록체인은 금융권에 국한되지 않고 유통, 전자결제, 의료 등 다양한 분야에서 점차 활용도가 증가하고 있습니다.


1.2 블록체인 구조 및 특징

사용자들간 상호거래가 이뤄지는 일련의 과정을 트랜젝션(Transaction)이라고 합니다. 블록체인은 10분 동안 발  생한 거래내역과 직전 블록(Block)의 정보를 암호화시켜 하나의 새로운 블록을 만들어냅니다. 이렇게 만들어진 새로운 블록은 이전 블록의 해쉬 정보를 통해 연결하여 체인을 이루게 되는데, 이러한 하나의 기록 혹은 원장을 블록체인이라고 지칭합니다. 새로운 블록을 생성할 때마다 직전 블록의 거래 정당성을 검증하고 연결되기 때문에 블록의 연결이 길어 질수록 블록의 신뢰성이 더욱 커지고 가치 있는 정보가 됩니다.


이렇게 구성된 블록체인은 중앙정부, 중개기관, 관리자에 구애를 받지 않고, 분산되어 있는 모든 사용자들에게 공유되어 동기화해 나갑니다.


1.3 블록체인을 지원하는 기술

1.3.1 해쉬함수

      : “해쉬함수는 데이터를 정해진 길이 규격에 맞게 무작위 문자열로 치환하는 함수입니다. 입력하는 데이터의 아주 미세한 변화만으로도 결과값이 완전히 다르게 도출되기 때문에, 입력한 데이터를 추론할 수 없습니다. 이러한 원리를 눈사태 효과로 암호학에서는 지칭하고 있습니다. 원본 블록의 데이터의 미세한 변화만으로도 블록들을 연결하고 있는 해쉬 값이 완전히 달라지기 때문에 변조 사실을 빠르게 판별 할 수 있어 보안에 도움이 되고 있습니다.



1.3.2 마이닝(채굴)

      : “마이닝(채굴)”은 새로운 블록에 일정시간 동안 발생한 트랜젝션 데이터를 기록하고 해쉬데이터를 기록하는 과정을 말합니다. 이때 새로운 블록의 헤더 해쉬값을 식별자로 가지는 넌스(Nonce, number only used once / 직역 : 값을 마구 대입해보는 자리) 값을 찾는 계산과정을 자격증명(POW, Proof-of-Work)이라고 하는데, 이 계산과정에 쓰인 엄청나게 많은 시간과 비용은 블록체인이 신뢰의 원천이 될 수 있는 핵심요소가 될 수 있도록 만듭니다.

  이 과정에서 승리한 사용자만이 블록을 생성할 권리를 갖게 되며 더불어 보상(ex. 가상화폐)을 얻을 수 있습니다.

 

1.3.3 전자서명

           : “전자서명은 블록체인에서 주소나 계좌 등 자산의 소유권을 주장할 수 있는 본인 인증 기술을 말합니다. 블록체인에서 사용자가 계정을 만들 때 공개Key와 비밀Key를 생성하는데 공개Key는 검증용, 비밀Key는 서명용으로 사용됩니다. 사용자간에 거래가 발생하였을 때 즉, 트랜젝션이 발생되면 해당 트랜젝션에 자신의 비밀Key를 사용하여 서명하게 됩니다. 이후 블록생성과정에서 트랜젝션을 검증하는 단계에서 공개Key를 이용하여 올바르게 거래가 진행되었는지 검증하는 과정을 거칩니다. 전자서명은 암호화 알고리즘을 이용해 일시적으로 생성이 가능하기 때문에 계좌의 소유주가 맞는지를 간편하게 인증할 수 있는 방법입니다.


참고문헌

      1) 블록체인 애플리케이션 개발 실전 입문(위키북스)

      2) 블록체인의 미래(한스미디어)

      3) 블록체인의 충격(북스타)

 

참고자료

      1) 블록체인의 원리 카이스트 소프트웨어 대학원

 

참고사이트

      1) https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8

      2) https://terms.naver.com/entry.nhn?docId=2838482&cid=43667&categoryId=43667

3) http://www.mobiinside.com/kr/2017/03/20/blockchain_1-2/

4) http://ulismoon.tistory.com/11

 

이미지 출처

1) 집중관리 및 분산관리.png / 필자(김성진 자체 제작)

2) 블록체인 구조 / 필자(김성진 자체 제작)

3) 해쉬함수 예시 / 필자(김성진 자체 제작)

4) 블록체인 자격증명 / 파이낸셜 커넥터(http://finector.com) 참조

5) 전자서명 이용 / 필자(김성진 자체 제작)