[section3_블록체인 기술 이론] 블록체인 심화

hams·2022년 5월 7일
2
post-thumbnail

🔗 블록체인 소개

💁🏻‍♀️ 공개 범위에 따른 블록체인

📍 블록체인은 활용되는 목적 또는 공개 범위에 따라 다양한 방법으로 네트워크를 구축할 수 있고, 그 종류에 따라 퍼블릭, 프라이빗, 컨소시엄 블록체인으로 나눈다.

하이브리드 블록체인(hybrid blockchain)이란
퍼블릭 블록체인 + 프라이빗 블록체인 혼합형 블록체인을 말합니다. 기존의 퍼블릭 블록체인과 프라이빗 블록체인이 가지고 있는 단점은 보완하고 장점을 최대한으로 끌어올릴 수 있도록 한 블록체인 형태입니다.

💁🏻‍♀️ 분산원장기술

분산원장(Distributed Ledger)은 거래 정보를 기록한 원장을 특정 기관의 중앙화된 서버가 아닌 분산화된 네트워크에서 참여자들이 공동으로 기록 및 관리하는 기술로 공유원장 또는 분산원장기술(DLT; Distributed Ledger Technology)이라고 한다.

중앙집중원장(Centralized Ledger)의 비용문제, 시간문제, 보안문제를 해결.

분산원장기술의 장점은 중앙 집중형 방식에 비해 높은 효율성, 시스템 안정성, 보안성, 투명성

💁🏻‍♀️ 트랜잭션

블록체인(Blockchain)은 블록(Block) + 체인(Chain). 다시 말해, 블록들이 체인으로 연결되어 있는 구조입니다.
이 블록(Block)은 헤더(Header) + 바디(Body)로 이루어져 있고, 헤더(Header)는 메타데이터, 바디
(Body)는 트랜잭션들의 리스트로 구성되어 있습니다.
블록체인에서의 트랜잭션은 상호작용 및 작업 수행의 논리적 단위입니다. 블록체인 상의 모든 활동은 트랜잭션을 통해 이루어지고, 추상적인 관점에서 트랜잭션은 블록체인의 상태(State) 변화를 야기하는 일련의 작업을 내포하고 있습니다. 트랜젝션은 이체 데이터와 같다.

비트코인 트랜잭션 구조 vs 이더리움 트랜잭션 구조

비트코인과 이더리움의 트랜잭션 데이터 구조는 각각 다음과 같고, 논스(Nonce)의 유무가 가장 큰
차이입니다.

📝 비트코인 트랜잭션 구조

📝 이더리움 트랜잭션 구조

📝 이더리움 트랜잭션 논스(Nonce)의 특징 2가지

  • 거래(Transaction)를 전송시 논스는 1씩 증가한다.
  • 논스는 계정에서 유일하며, 동일한 논스가 존재 하지않는다.
    🔎 비트코인과 이더리움 논스(Nonce)의 유무 차이는 이중지불(Double Spending)의 방지를 위해서 입니다.
    🔎 모든 트랜잭션은 일회성이라, 하나의 트랜잭션은 하나의 상태만 변화시킬 수 있다.

노드(Node)

P2P로 연결되어 블록 체인 네트워크에 연결된 모든 블록 정보를 가지는 각각의 서버를 노드(Node)라고 합니다.

노드의 종류

  • 풀 노드 : 모든 기능을 다 가지고 있는 노드
  • 라이트 노드 : 모든 블록정보의 원본을 가지고 있지 않고 일종의 요약본 즉 헤더정보만 가지고 있는 노드

채굴(Mining)

채굴(Mining)이란, 암호화폐의 거래내역을 기록한 블록을 생성하고 그 대가로 암호화폐를 얻는 행위

채굴(Mining)이 필요한 이유

블록체인 네트워크를 유지시키기 위해서 필요합니다.
거래 내역을 기록하고 기록된 거래내역을 블록에 담아 사용자들에게 전파하는 역할을 수행하고, 추가적으로 전파된 블록이 진짜인지 거짓인지에 대한 검증을 수행


🔗 블록체인의 구성요소

💁🏻‍♀️ 합의 알고리즘

  • 합의 알고리즘(Consensus Algorithm)이란, 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘

💁🏻‍♀️ 작업 증명(PoW. Proof of Work)

작업 증명 합의 메커니즘은 네트워크에서 수용할 값을 제안하기 전에 충분한 컴퓨팅 자원을 소모했다는 증명

💁🏻‍♀️ 지분 증명(PoS. Proof of Stake)

지분 증명 알고리즘은 노드 또는 사용자가 시스템에 충분한 지분을 갖고 있다는 증명

💁🏻‍♀️ 위임 지분 증명(DPoS. Delegated Proof of Stake)

시스템의 지분을 가진 각 노드는 투표를 통해 트랜잭션의 유효성 검사를 다른 노드에 위임하여 증명

💁🏻‍♀️ 프랙티컬 비잔틴 장애 허용(PBFT. Practical Byzantine Fault Tolerance)

  • 프랙티컬 비잔틴 장애 허용(PBFT, Practical Byzantine Fault Tolerance)은 네오, 질리카, 하이퍼레저, R3, ITC, 텐더민트 등에서 사용하는 합의 알고리즘.
  • 여러 노드로 구성된 네트워크에서 악의적 공격을 방어하기 위해 만들어졌습니다.

💁🏻‍♀️ 지갑과 어카운트

  • 지갑(Wallet)
    비트코인, 이더리움 등의 암호화폐를 보관할 수 있는 계정
  • 지갑의 종류
    데스크탑(PC)지갑
    모바일 지갑
    하드웨어 지갑
    웹 지갑
  • 지갑의 구조
    주소(공개 키. Public Key)와 암호(개인 키. Private Key)로 구성
  • UTXO(Unspent Transaction Outputs)
    UTXO(Unspent Transaction Outputs)는 미사용 트랜잭션 출력값(미지출 거래 출력)을 뜻합니다.
    코인이 지갑(Wallet)에 저장되는 것이 아니라, UTXO(Unspent Transaction Outputs)에 저장.
  • UTXO의 장단점
    장점 : 이중 지불 방지, 잔고의 증명
    단점 : UTXO가 너무 과하게 생성이 될 경우 불필요한 수수료를 내야 하는 단점
  • 어카운트(Account)
    이더리움 주소(Address)와 개인키(Private Key)의 조합을 어카운트(Account)이라고 합니다.
  • 이더리움의 2가지 유형 계정
    외부 소유 계정(EOA)
    컨트랙트 계정(CA)
  • 어카운트의 장단점
    장점 : 단순성, 효율성
    단점 : 이중 지불
  • 비트코인과 이더리움 비교
    화폐의 역할에 충실해야 한다면 비트코인의 UTXO가 한번 사용되고 사라져 익명성과 보안성이 강하기 때문에 더 훌륭하지만, dApp과 같이 다양한 기능을 구현하고 싶다면 스마트 컨트랙트를 활용할 수 있는 이더리움의 어카운트가 좋습니다.

🔗 비트코인과 이더리움

💁🏻‍♀️ 비트코인 코어(Bitcoin Core)

  • 비트코인 코어(Bitcoin Core)는 비트코인의 레퍼런스 클라이언트입니다. 처음에 이 소프트웨어는 사토시
    나카모토에 의해 비트코인이라는 이름으로 배급되었으며, 비트코인-Qt(Bitcoin-Qt)라는 이름을 거쳐,
    최종적으로 비트코인 코어(Bitcoin Core)라는 이름으로 변경되었습니다.
    비트코인 코어(Bitcoin Core)는 사토시 클라이언트(Satoshi Client)로도 알려져 있습니다.
    개발자들은 비트코인 코어의 변경사항을 통해 기반이 되는 비트코인 프로토콜을 변경하게 되고, 비트코인
    코어는 풀노드를 돌리는 것을 전제로 한 소프트웨어이므로 GB가 넘는 블록체인 데이터를 다운로드
    받아야 제대로 사용 가능합니다.

💁🏻‍♀️ 이더리움 클라이언트(Ethereum Client)

Geth
Geth는 이더리움 재단(Ethereum Foundation)이 제공하는 공식 클라이언트 소프트웨어로써, Go언어로 개발.
Parity
패리티(Parity)는 이더리움 프로토콜의 또 다른 구현체이며, 러스트(Rust) 프로그래밍 언어로 개발.

💁🏻‍♀️ 거버넌스를 통한 플랫폼의 발전

  • 블록체인의 거버넌스(Governance)
    블록체인 네트워크를 유지하기 위해서는 구성원들간의 이해관계 조정하는 커뮤니티입니다.
  • 거버넌스의 효과 및 문제점
    - 효과
    국정 운영에서 중요시되지 않고 소외되었던 시민사회의 민주적 책임을 강화시키고, 불확실성이
    증대되는 현대 사회에서 정부,기업도 경험해보지 못한 복잡한 문제 발생 상황에서 유용하고
    현실적인 대안이 됩니다.
    - 문제점
    성숙된 민주의식을 기본으로 둔 시민사회가 전제되어야 합니다.
    참여자들의 지위가 불명확하기 때문에 문제가 발생했을 때 그 책임을 누가 지는가에 대한 문제가
    발생할 수 있습니다. 이로인한 사례는 비트코인, 이더리움의 하드포크를 예로 볼 수 있습니다. 이
    사례는 다른 콘텐츠에서 소개됩니다.

💁🏻‍♀️ BIP / EIP / ERC / KIP

  • BIP(Bitcoin Improvement Proposal)는 비트코인의 개선 제안을 의미
  • EIP(Ethereum Improvement Proposal)는 이더리움의 개선 제안을 의미
  • ERC(Ethereum Request for Comment) 는 이더리움의 표준이 될 만한 내용입니다.
  • KIP(Klaytn Improvement Proposals)는 클레이튼의 개선 제안을 의미

0개의 댓글