[블록체인] 블록체인이 무엇일까?

서나·2023년 10월 25일
0

블록체인

목록 보기
1/2
post-thumbnail

Week 1: Blockchain Fundamentals

Module 1: Introduction to blockchain technology

블록체인 기술이란?

블록체인 기술은 현대적인 데이터베이스 설계에 대한 독특한 접근법을 제공한다. 이 기술은 전통적인 데이터베이스와는 달리 "분산 원장 기술" 혹은 DLT(Distributed Ledger Technology)라는 구조를 따르며, 이는 데이터를 중앙 집중적으로 저장하는 대신 여러 위치에 분산해서 저장하는 방식을 의미. 하지만 중요한 점은 모든 DLT가 블록체인인 것은 아니다.

블록체인의 저장 규칙

블록체인의 동작 방식은 저장 규칙을 파악하는 것이 핵심.

  1. 블록체인에 새로운 데이터를 추가할 때, 해당 데이터는 새로운 "블록"의 일부로서 저장된다.
  2. 한 번 블록에 추가된 데이터는 이후에 수정이나 삭제가 불가능하게 설계되어 있다.
  3. 각각의 데이터 블록은 그 이전 블록을 참조하는 방식으로 연결된다. 이 참조는 바로 해싱 기술을 통해 이루어진다.

해싱이란?

해싱은 특정 데이터(텍스트, 이미지, 비디오 등)를 입력받아 일정한 길이의 문자열, 즉 '해시값'으로 출력하는 알고리즘. 이 고유한 해시값은 블록체인에서 블록의 식별자 역할을 한다.

또한, 새로운 블록이 생성될 때마다 이전 블록의 해시값을 참조하여 연결되기 때문에, 이전 블록의 내용이 변경되면 그 뒤의 모든 블록의 해시값이 변경되어야 하므로 데이터의 무결성을 보장한다.

그러나 해싱 과정에서는 '해시 충돌'이라는 문제점이 발생할 수 있다. 이는 서로 다른 두 개의 입력값이 동일한 해시값을 생성하는 경우를 말한다.

블록체인의 장점

블록체인의 가장 큰 장점 중 하나는 중앙의 관리자나 중개자 없이도 시스템이 독립적으로 작동할 수 있다는 것. 이는 블록체인이 P2P 네트워크 구조를 기반으로 하기 때문이다.

이 네트워크 내의 모든 참가자는 동등한 권한을 가지며, 그들은 모두 블록체인의 데이터 사본을 보유하고 있어, 시스템의 투명성과 신뢰성을 확보한다.


Module 2: Brief history of blockchain technology

블록체인의 역사 | 1991-1992

1991 | Stuart Haber, W. Scott Stornetta가 디지털 문서에 타임스탬프를 도입했다.

1992 | Merkle tree가 여러 문서를 하나의 블록으로 모으는 기술을 개발했다.

블록체인의 역사 | 2004

2004 | Hal Finney가 Reusable Proof of Work(RPoW)를 도입.

Reusable Proof of Work(RPoW)란?

이 기술은 디지털 화폐나 자산을 두 번 이상 사용하는 '이중 지불' 문제를 중심으로 개발되었다. RPoW 시스템은 트러스트 서버에 토큰의 소유권을 등록함으로써, 모든 사용자가 데이터의 올바름과 무결성을 실시간으로 검증할 수 있게 만들었다.

블록체인의 역사 | 2008-2009

2008 | Satoshi Nakamoto에 의해 P2P 시스템 소개. (최초의 Bitcoin)

2009 | 나카모트가 최초로 비트코인을 채굴하면서, 비트코인이 실질적으로 도입됨.

이후, Hal Finney의 첫번째 비트코인 거래로 Bitcoin network가 소개됨

(Bitcoin Network : 이중 지불 문제를 효과적으로 해결하기 위해 P2P 프로토콜과 Proof of Work 메커니즘을 사용한 네트워크)

블록체인의 역사 | 2013

2013 | Vitalik Buterin이 Bitcoin의 한계점을 지적하며, 분산형 애플리케이션의 발전을 위한 새로운 스크립팅 방식의 필요성을 제기. 이후, 스마트 컨트랙트라는 새로운 스크립팅 기능을 도입한 블록체인 플랫폼, 이더리움(Ethereum)을 선보임.

Ethereum 특징

이더리움은 스마트 컨트랙트라는 프로그램을 블록체인상에서 실행하는 능력을 갖춤. 이 스마트 컨트랙트를 통해, 특정 조건이 충족될 때 자동으로 거래가 실행된다.

이더리움 플랫폼에서는 개발자들이 DApps(탈중앙화 애플리케이션)라 불리는 퍼블릭 애플리케이션을 생성할 수 있다. 이러한 DApps는 현재도 수많은 이더리움 블록체인에서 활발하게 운영되고 있다.

비트코인과는 달리, 이더리움은 개발자들이 블록체인 위에서 원하는 애플리케이션을 자유롭게 개발하고 배포할 수 있는 환경을 제공한다.

특히, 이더리움은 DeFi(분산형 금융) 애플리케이션의 기반이 되며, 이 분야에서 큰 잠재력을 보여주고 있다.


Module 3: How does blockchain work

Game theory and cryptography을 사용하여 서로를 신뢰하게 함.

Symmetric Encrtption

암호화와 복호화에 동일한 키 (대칭적인 키)를 활용하는 방식. 블록체인 이전 자주 사용되던 방식이다.

Public Key Cryptography (PKC)

두 개의 키, 공개키(Public)와 개인키(Private)를 활용하는 방식.

ID와 비밀번호처럼, ID-public은 모두 공개되어 있지만 이에 접근하기 위한 비밀번호-private는 본인만 아는 시스템.

공개키는 데이터를 암호화할 때 사용되며, 개인키는 암호화된 정보를 복호화할 때 활용되고, 개인키로 생성된 공개키를 복호화는 가능하지만, 공개키로 개인키를 알아내는 것은 불가능.

만약 개인키가 노출된다면, 해당 공개키로 암호화된 모든 정보는 위험에 노출될 수 있다.


Module 4: Blockchain consensus mechanisms: PoW and PoS

Byzantine Fault Tolerant

Byzantine Generals Problem는 서로 신뢰할 수 없는 여러 컴퓨터 간에 어떻게 데이터의 일관된 상태를 공유할 수 있을까에 관한 고민에서 시작됨.

이 문제를 해결하기 위한 핵심 개념 중 하나가 Byzantine Fault Tolerant. 이는 시스템 내에서 일부의 오작동이 발생하더라도, 전체 시스템이 정상적으로 작동할 수 있도록 하는 구조. 간단히 말해, 전체 노드 중에서 3분의 1만이 문제를 일으키지 않는다면, 시스템은 정상적으로 동작한다는 원칙을 따른다.

이런 배경 아래에서 블록체인의 합의 알고리즘인 Proof of Work (PoW)와 Proof of Stake (PoS)가 등장했다.

Proof of Work (PoW)

PoW는 이중 지불 문제를 방지하기 위해 개발됨. 이는 노드들 간의 P2P 트랜잭션을 무신뢰 방식으로 검증하는 방법을 사용한다. 이 알고리즘은 노드들이 특정 Hash 값을 찾는 일을 기반으로 하며, 이를 통해 블록 생성 권한이 주어진다. 이 과정에서의 참여자를 '채굴자'라고 부르며, 이 채굴 과정은 많은 전력을 소모하게 됨.

Proof of Stake (PoS)

PoS는 2011년에 PoW의 한계점을 극복하기 위한 대안으로 등장한 합의 알고리즘. (어느정도 성장한 코인들은 PoW에서 PoS로 방향을 틀곤 함) PoS에서는 전통적인 채굴자 대신 검증자가 무작위로 선정되며(선정 기준은 다양함), 블록 검증을 위해서는 암호 화폐를 'Staking'함. 검증자가 부정 행위를 저지르면 스테이킹한 암호 화폐는 몰수되며, 올바른 블록을 검증할 경우 보상을 받게 된다.


Module 5: Blockchain network structure: nodes and forks

Node (노드)

블록체인 네트워크에 참여하는 각각의 컴퓨터나 기기를 '노드(Node)'라고 한다. 네트워크에 연결된 어떤 기기든지 그 자체로 노드가 될 수 있다. (컴퓨터, 휴대폰 등)

일반적으로 노드는 모든 트랜잭션의 전체 기록을 보유하고 있는 '풀 노드(Full Node)'를 말한다. 풀 노드는 네트워크에서 중요한 역할을 하며, 블록을 받아들일 때 해당 블록의 여러 정보, 예를 들면 타임스탬프, 해시, 난이도 및 키 일치 여부 등을 검증한다. 하지만 전체 트랜잭션 정보를 모든 기기에 저장하는 것은 비효율적이다.

Light Node (라이트 노드)

풀 노드와 달리 블록체인의 전체 기록을 저장하지 않는다. 대신, 블록 헤더와 같은 주요 정보를 요약하여 저장함. 이로 인해 라이트 노드는 저장 공간이 적게 필요하며, 일반 컴퓨터나 스마트폰에서도 운영 가능.

라이트 노드는 필요한 경우 풀 노드와 정보를 비교하여 트랜잭션의 유효성을 검증할 수 있음.

Mining Node (채굴 노드)

네트워크의 보안을 위해 '채굴 노드(Mining Node)'가 존재하며, PoW (Proof of Work) 작업을 수행하는 노드의 하위 그룹이다.

이전 그래픽카드 가격 급등 사건처럼, 특히 비트코인과 같은 PoW 기반의 암호화폐에서는 채굴 경쟁이 심해 좋은 GPU를 갖춘 전문화된 기계를 필요로 함.

Fork (포크)

탈중앙화된 블록체인 네트워크에서 규칙이나 프로토콜을 변경하기 위해 '포크(Fork)'를 사용함.

Hard Fork (하드 포크)

'하드 포크'는 기존의 블록체인과 호환되지 않는 새로운 규칙을 도입할 때 발생. 이로 인해 블록체인 네트워크는 두 개의 분리된 체인으로 나뉘게 되며, 하나는 기존 규칙을 유지하고 다른 하나는 새로운 규칙을 따르게 된다

Soft Fork (소프트 포크)

'소프트 포크'는 기존의 블록체인과 호환 가능한 규칙 변경을 의미. 이 변경은 기존 노드와의 연결을 유지하면서 일어나며, 특정 조건 하에서만 적용될 수 있는 "opt-in" 변경으로 간주된다.


Module 6: Blockchain use cases and limitations

블록 체인 기술의 장점

블록 체인 기술은 금융 거래의 속도와 비용 측면에서 많은 이점을 가져다 줄 수 있다.

중개인의 부재는 트랜잭션 확인 과정을 간소화하며, 일단 데이터가 블록체인에 추가되면 수정이 불가능하게 되어 기록의 무결성을 확보한다.

노드들의 분산 구조는 블록체인을 해킹하기 어렵게 만든다. 중요한 것은, 이 기술은 참여자 간의 신뢰를 필요로 하지 않는다.

블록 체인 기술의 예

블록 체인은 그 적용 범위가 넓다. 금융 분야에서의 활용을 넘어 디지털 ID 인증, 공급망 관리, 의료 기록 저장 및 암호화폐 기반의 자선 단체 운영에까지 그 사용 사례가 확장되고 있다.

블록 체인 기술의 단점

데이터 수정의 어려움은 이중 검증의 어려움을 초래하며, 개인 키의 손실은 자금 손실을 의미할 수 있다. (본인이 모든 거래에 책임을 져야 함)

블록 체인 크기가 증가할수록 스토리지 문제를 일으킬 수 있으며, 51% 공격과 같은 보안 취약점이 존재한다.

또한 블록 체인의 연산 작업은 환경에 부담을 줄 수 있으며, 기술 자체에 대한 이해도와 사용의 복잡성은 일반 사용자들에게 진입 장벽으로 작용한다.


Reference

Binance Academy Beginner Track
Course 1: Blockchain Fundamentals
Module #1 ~ #6
https://academy.binance.com/en/courses/track/beginner-track/blockchain-fundamentals

profile
꾸준히 한 걸음씩

0개의 댓글