[Daily Contents] 블록체인 기본 개념과 작동 원리 소개


Learning Goals

  1. BlockChain이 뭔지 알 수 있다.
  2. 암호 알고리즘에 대해 알 수 있다.
  3. Blockchain 활용 어플리케이션을 알 수 있다.

BlockChain?!

BLOCK + CHAIN

  • 데이터의 논리적 저장 단위 : Block
  • 거래 내역을 담으면 비트코인, 실행 로직을 담으면 이더리움
  • 위변조가 되면 안 되는 것들에 사용.

Chain

  • 블록이 n번째 생성될 때 그 블록은 n-1번째 생성된 블록을 보증. 그렇게 엮여있다 해서 Chain이라 함.

  • Hash 함수를 통해서 보증.

Cryptography

  • 복호화 가능, 복호화 불가능(단방향 암호화)으로 크게 두 분류.
  • 해시 함수는 대표적인 복호화 불가능 암호
    • SHA256(블록체인에 사용), keccak256, RIPEMD-160
    • 256은 비트.

Hash Function

  • 복호화가 불가능한 암호 » 검증에 사용
  • 해킹을 위해서는 브루트포싱 방식을 사용하여 가능한 모든 값을 대입해 봐야 하는데, 가장 빠르게 해도 300년 이상이 걸린다고 함.

Symmetric Encrytion

대칭키 암호화

  • 암호화하는 키와 복호화하는 키의 알고리즘이 같은 암호
  • AES, ARIA, SEED
  • 단점 : 키가 해킹되면 전부 해킹

Asymmetric Encrytion

공개키 암호화

  • 공개키로 암호화를 하며 개인키로 복호화
  • 개인키로 공개키를 만들 수 있으나 공개키로 개인키를 만들 수 없음.
  • 소인수분해를 이용한 RSA
  • 타원 곡선 함수를 이용한 ECC

DS(Digital Signature)

  • 해시함수의 무결성 이용
  • 누가 보냈는지 검사할 수 있고, 해시값을 송신자의 개인키로 암호화(서명)
  • 수신자는 수신 후 송신자의 공개키로 복호화(검증)
  • 삼성 블록체인 키스토어 : 갤럭시S10 이상부터 존재하는 개인정보 보호
  • 단점 : 많은 비용, 긴 프로세스로 인한 느린 속도

BlockChain Network

  • 블록체인은 P2P 네트워크망에서 작동
  • 인터넷 위의 네트워크 망 : WWW, 어둠의 웹, P2P(대표적으로 소리바다, 토렌트)
  • P2P망에 접속하면 서버 클라이언트 구조가 아닌 노드라는 피어들이 있으며, 피어들끼리 정보를 공유
  • 중앙에 서버를 두지 않고 노드들끼리 공유하기에 탈중앙화, 라고 불림.

How to Work

  • CPU : 코어 수 4~16개, 직렬 연산에 적합.
  • GPU : 코어 수 수백개, 병렬 연산에 적합.

Data in Block

블록 안의 값들을 변경해서 해시를 찾는다. 타임 스탬프 등을 변경해서 해시를 찾는데, 블록에 미리 제한된 난이도보다 적게 나오면 채굴에 성공했다고 하며 이의 증명으로 블록을 제한할 수 있음.

하나의 정보를 해킹하기 위해서는 해당 정보와 연관된 모든 루트의 해시 함수들을 전부 해킹해야 하기에 학문적으로 불가능에 가깝다, 라고 함.

Applications

결제

  • 속도가 느리며 화폐 가치의 급락으로 인하여 실용성에 의문
  • 구글 플레이스토어에 앱을 올리려고 할 때 구글 플레이스토어를 통하지 않는 결제 시스템은 등록이 되지 않기 때문에 불가.

데이터 Storage

  • 암호화폐(송금 내역), 스마트 계약, 물류관리, 지역화폐, 문서관리, 의료정보관리, 저작권 관리, 한정판 디지털상품(NFT), 소설미디어관리, 게임아이템관리, 전자투표, 신원확인 등
  • 위조가 되면 안 되는 사실을 기록

World Computing

  • P2P에 참여한 노드들은 모든 노드가 같은 연산을 하고 있다는 전제 하에 스마트 컨트랙을 배포해서 참여하는 모든 노드에 같은 조건의 명령어가 실행되고 같은 결과가 나온다는 원리

NFT(Non-Fungible Token)

  • 고유성(Unique), 유일성(Only One), 희소성(A scarcity value)

Fully Decentralized vs Semi-Decentralized

  • 각각의 장단점이 있기에 잘 알아보기.

Summary

  1. 블록체인은 보안성, 투명성, 무결성, 탈중앙화의 특징을 가지고 있고, 이 특징으로 여러가지 어플리케이션을 활용할 수 있다.
  2. 블록체인의 네트워크는 기본적으로 P2P 네트워크에서 작동한다.
  3. 암호화에는 복호화 가능 암호화, 단방향 암호화로 나눠지고, 단방향 암호화는 해시함수로, SCA256, keccack256 등이 있다.
  4. 암호화에 서명과 확인을 이용해 메세지의 무결성과 송신자를 보증하는 알고리즘을 전자서명이라고 한다.
  5. 이 ECC 암호화 알고리즘은 공개키 암호화로 타원 곡선 함수를 이용하여 암호화한다.

Q&A

Q. 향후 양자컴퓨터의 발전으로 블록체인이 무력화된다는 이야기가 있는데 전망이 괜찮은지.
A. 무력화까지는 자극적인 표현이며, 암호화의 필요성은 건재.
Q. 분산신원증명은 어떤 데이터를 저장하는지.
A. 프로세스를 기존에서 변경한 것. 데이터를 저장한다기보다 내가 사용하는 디바이스만 인증이 가능하게끔 바뀐 형태.

댓글남기기