블록체인의 기술적 특성 - 1

 

 

 

 

블록체인이란?

 

■ 블록체인

 

블록체인은 네트워크 내의 참여 개체가 공동으로 정보 및 가치의 이동을 기록·검증·보관·실행함으로써 중개자 없이도 데이터의 신뢰성 확보를 가능하게 하는 기술이다. 블록체인은 참여 개체 모두 거래 내역 볼 수 있는 투명성, 한 번 연결된 블록은 수정하거나 삭제하기 어려운 불변성 등의 기술적 특성을 보유하고 있다.

 


기술적으로 정의하자면, 블록체인은 네트워크에 분산된 개체들이 합의 프로토콜을 통해 합의된 블록을 암호학적 해시 함수를 이용하여 덧붙이기만 가능하도록 차례로 연결한 분산 원장이다. 일반적으로 블록체인은 암호학적 해시 함수와 전자 서명 등의 암호기술을 이용하여 구현된다.

 

 

■ 블록체인의 특징

 

탈중앙화
decentralization
블록체인 네트워크 참여 개체 간의 분산ㆍ협업으로 운영
투명성
transparency
다수의 참여 개체가 일관된 트랜잭션 상태를 공유
불변성
immutability
블록체인에 기록된 내용의 변조 및 철회 불가
(무결성 및 부인 방지)
안정성
reliability
단일 지점 오류가 발생하더라도 안정적인 네트워크 운영 가능

 

 

■ 블록체인의 분류(참여 방법에 따른 분류)

 

비허가형
퍼블릭 블록체인
어느 개체나 제한 없이 네트워크에 참여하여 원장의 내용을 읽고, 블록을 생성하여 원장에 기록할 수 있는 블록체인
ex) 비트코인, 이더리움
허가형
퍼블릭 블록체인
어느 개체나 제한 없이 네트워크에 참여하여 원장의 내용을 읽을 수 있지만, 블록을 생성하여 원장에 기록하기 위해서는 특정 그룹의 허가가 필요한 블록체인
ex) EOS, 리플, Sovrin
허가형
프라이빗 블록체인
블록을 생성하여 원장에 기록하는 것뿐만 아니라 네트워크에 참여하여 원장의 내용을 읽기 위해서도 특정 그룹의 허가가 필요한 블록체인
ex) Hyperledger Fabric, Hyperledger Indy

 

 

블록체인과 암호기술

 

블록체인은 불변성, 투명성 등을 제공하기 위해 해시 함수, 전자 서명 등 다양한 암호기술을 사용

 

 

■ 암호학적 해시 함수

 

암호학적 해시 함수는 암호 알고리즘의 일종으로 긴 길이의 데이터를 압축하여 일정 길이(256비트, 512비트 등)의 고윳값을 출력한다. 해시 함수의 출력은 해시값 (hash value), 해시(hash), 메시지 다이제스트(message digest), 메시지 지문 (message fingerprint) 등으로 불린다. 암호학적 해시 함수는 일반적으로 다음과 같은 성질을 가진다.

 

역상 저항성(pre-image resistance) : 주어진 해시값을 출력하는 입력 데이터를 찾기 어려운 성질

충돌 저항성(collision resistance) : 동일한 해시값을 출력하는 두 개 이상의 입력 데이터를 찾기 어려운 성질

 

암호학적 해시 함수는 입력 데이터에 한 비트 변화만 생기더라도 해시값이 완전히 달라지므로 데이터 무결성 검증에 주로 활용된다. 대표적인 암호학적 해시 함수로는 우리나라 국가 표준 LSH, 미국 NIST 및 ISO/IEC에서 표준으로 제정한 SHA-2, SHA-3 등이 있다.

 

 

■ 공개키 암호

 

공개키 암호는 공개키 암호 체계(public key cryptosystem)에서 공개키를 사용하는 기능과 개인키를 사용하는 기능을 제공하는 함수로 구성되어, 공개키와 개인키의 비대칭적인 특성에 기반하여 암호화, 전자 서명 생성ㆍ검증, 키 교환 등의 기능을 제공할 수 있는 암호기술이다.

 

대표적인 공개키 암호로는 기밀성 제공을 위한 암호화 방식(encryption scheme), 무결성, 인증 및 부인 방지를 제공하는 전자 서명 방식(digital signature scheme), 그리고 비밀키 공유를 위한 키 교환 방식 (key exchange protocol)이 있다.

 

암호화 방식

암호화 함수와 복호화 함수로 구성된 암호화 방식에서, 암호화 함수는 평문과 공개키를 입력받아 암호문을 생성하는 기능을 수행하고 복호화 함수는 암호문과 개인키를 입력받아 암호문에 대응하는 평문을 계산하는 기능을 수행한다. 암호화 방식이 보장하는 기밀성은 암호화 과정에서 사용된 공개키에 대응하는 개인키 소유자만 암호문을 복호화할 수 있는 특성에 기반한다.

 

 

전자 서명 방식

전자 서명은 블록체인 기술의 구현에서 핵심적인 역할을 담당한다. 전자 서명은 서명자를 확인하고 서명자가 전자 문서(전자적 형태로 작성되어 송수신되거나 저장되는 정보)에 서명하였음을 보증하기 위하여, 해당 전자 문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보이다.

 

 

서명 생성 함수와 서명 검증 함수로 구성된 전자 서명 방식에서, 서명 생성 함수는 메시지와 개인키를 입력받아 전자 서명을 생성하는 기능을 수행하고 서명 검증 함수는 메시지, 전자 서명, 공개키를 입력받아 (메시지에 대한) 전자 서명의 유효성 (validity)을 검증하는 기능을 수행한다. 전자 서명 방식이 보장하는 무결성과 부인 방지 특성은 개인키 소유자만 유효한 서명 생성이 가능하다는 특성에 기반을 둔다.

 

일반적으로 블록체인 SW 플랫폼은 전송 데이터의 출처 및 유효성 검증과 부인 방지기능을 제공하기 위해 전자 서명을 활용하며, 주로 타원곡선 기반의 전자 서명 방식을 사용한다.

 

 

■ 기타 암호 알고리즘

 

최근에는 무결성과 부인 방지 기능 외에도 개인정보ㆍ프라이버시 보호 등 추가적인 보안 기능을 제공하기 위해 영지식 증명 등 다양한 암호기술을 블록체인에 적용하기 위한 연구가 진행되고 있다.

 

 

댓글

Designed by JB FACTORY