블록체인이란?

ITmakesmeSoft·2023년 3월 5일
0

BLOCKCHAIN

목록 보기
1/4

블록체인(BlockChain)이란?

  • P2P(Peer to Peer) 네트워크를 통해 관리되는 분산 데이터베이스의 한 형태
  • 블록체인 노드(네트워크에 연결된 여러 컴퓨터)에 디지털 서명된 거래 정보를 보관하는 분산 원장 기술(Distributted Ledger Technology)

블록체인의 동작 원리

  1. 누군가 트랜잭션(transaction)을 만들어 요청
  2. 트랜잭션을 요청 받은 노드는 트랜잭션의 유효성 검증(validation)을 한다
  3. 유효한 트랜잭션이 블록체인의 P2P네트워크에 전파(broadcast)
  4. 블록 생성자는 블록 생성 규칙을 준수하며, 검증된 트랜잭션을 포함하는 새 블록(block)을 생성
  5. 생성된 새로운 블록이 P2P 네트워크에 전파
  6. 기존 블록에 새로운 블록이 연결되며 트랜잭션이 처리

블록체인 암호학

공개키 암호화(Public Key Cryptography, PKC)

  • 계산하기는 쉽지만 그 역(inverse)을 계산하기 어려운 특수한 함수를 바탕으로 생성된 고유한 키를 사용하여 정보를 보호하는 방법 💡 *“공개키 암호화 == 비대칭 암호화”*
  • 비트코인 및 이더리움에서는 이산 로그 문제(Discrete Logarithm Problem)를 이용하는 타원곡선 암호화(Elliptic Curve Cryptography)를 활용

개인키

  • 개인키 생성 프로세스는 오프라인 프로세스
    • 11~ 22562^{256} 사이의 무작위로 선택한 숫자
  • 대부분의 프로그래밍 언어에 있는 rand 함수 같은 암호학적으로 안전하지 않는 난수 생성기 사용 금지
  • 임의로 생성한 16진수 개인키

해시 함수(Hash Function)

  • 임의 크기의 데이터를 고정된 크기 데이터로 매핑하는 함수
  • 해시 함수의 입력을 메시지 또는 입력 데이터, 결과를 해시(hash)라고 함.
  • 결과값을 알고 있을 때 입력 데이터를 다시 작성하는 것이 불가능한 단방향(one-way) 함수 → 이더리움은 공개키를 주소로 변환하기 위해 해시함수(keccak-256) 사용

트랜잭션

  • 이더리움 네트워크에 전송되고 블록체인에 기록됨
  • 블록체인 상태 변경을 유발하거나 컨트랙트를 실행하는 유일한 방법
    • 이더리움은 독자적으로 상태가 변경되지 않음
    • 컨트랙트는 독자적으로 실행되지 않음
profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글