블록체인이란?

citron03·2022년 3월 2일
0

블록체인

목록 보기
1/19
post-thumbnail

🍊 블록체인은 네트워크에 있는 모든 사람들과 동일한 데이터를 가지게 한다.

블록체인의 특징들

  • 누구나 데이터를 추가할 수 있다.
  • 데이터는 한 번 추가되면, 수정이나 삭제가 불가능하다.
  • 블록체인 네트워크에 있는 모든 사람들이 함께 데이터를 관리한다.
    (어떤 개인이나 특정 단체가 데이터를 관리하지 않는다)

블록이란?

  • 데이터가 저장되는 공간이다.

  • 자산, 개인 정보와 같은 데이터를 암호화하여 저장한다.

  • 블록의 구성은 어떤 종류의 데이터를 저장하느냐에 따라 결정된다.

🥬 예를 들면, 비트코인은 트랜잭션(거래 기록) 데이터와 디지털 서명을 블록에 저장한다.

체인이란?

  • 블록 하나에 모든 데이터를 담을 수는 없다.
    🥖 블록 하나에 모든 데이터를 담는다면, 블록의 크기가 너무 커질 수 있고 네트워크의 여러 사람이 동시에 블록에 데이터를 기록하려고 한다면 편의성도 떨어진다.

  • 따라서, 데이터들을 일정 기준에따라 나눈 뒤에 체인으로 블록을 잇는다.

  • 사용자가 하나의 블록에 일정한 갯수의 트랜잭션이 담긴 블록을 네트워크에 공유하면, 새로운 블록을 만들어 새로 생긴 트랜잭션들을 담는다.

  • 이 새로운 블록에 이전 블록의 주소의 데이터를 담아 이 블록의 직전의 블록이 어떤 것인지 지정한다.

  • 이러한 모양이 체인처럼 연결되어 있기에, 이 데이터 구조의 이름을 블록체인이라고 한다.

블록 생성

  • 블록체인 네트워크에 거래가 발생하여 새로운 트랜잭션이 생긴다면, 이 트랜잭션은 네트워크의 모든 노드들에게 공유된다.
  • 그리고 이 트랜잭션이 유효한 트랜잭션인지 검증하는 절차가 수행된다.
    🍆 실제 송금자가 만든 트랜잭션인가? 악의적으로 사용자가 타인을 사칭하는가? 트랜잭션이 만들어진 후 수정된적이 있는가? 등을 검증한다.
  • 유효성 검사가 끝난 뒤, 트랜잭션은 블록에 담기고 이 블록이 체인의 추가되어 블록체인의 일부가 되면 트랜잭션의 처리가 끝난다.
    🍖 채굴(Mining)은 트랜잭션을 모아 하나의 블록으로 만드는 과정을 의미한다. (송금 처리와 유사한 작업)
  • 채굴은 암호화폐 송금 서비스를 운영하는 핵심 역할을 하기에 채굴 노드에게는 보상으로 코인이 지급된다.
  • 보상을 얻기 위해서 경쟁적으로 채굴이 이루어지고, 경쟁에서 승리한 노드가 생성한 블록이 유효하다면, 체인에 추가된다.

분산원장

  • 원장(Ledger)은 거래 내역의 집합을 의미한다.

  • 블록체인은 원장을 저장하는 데이터베이스의 유형중 하나이다.

  • 원장을 가지는 사용자들이 원장에 대해서 모두 동등한 권한을 가지고 있는 경우가 P2P(Peer-to-Peer) 분산 원장 시스템 (Distributed Ledger)이다.

  • 분산 원장 시스템은 데이터를 여러 위치에 두거나 여러 사용자들이 데이터를 나누어 가진다.

  • 분산 원장 시스템에서 데이터를 저장하기 위해서는 데이터를 공유하는 사용자들이 합의를 해야 한다.
    🍔 분산된 데이터베이스들이 하나의 일관된 데이터를 가질 수 있게 하기 위함이다.

블록체인은 분산 원장의 한 종류지만, 일반적인 분산 원장과 몇몇 차이점이 있다.

  • 블록체인은 일반적인 분산 원장과 다르게 블록 형식으로 데이터를 저장한다.
  • 블록체인에서는 모든 블록이 직전의 블록을 가리켜 순서대로 블록이 배열되어 있다. 하지만, 모든 분산 원장이 순서대로 데이터를 저장하지는 않는다.
  • 일반적인 분산 원장은 경쟁적으로 데이터를 저장하지 않는다. 하지만, 블록체인에서는 채굴 보상이 주어지고, 이에 따라 경쟁이 일어난다.
  • 따라서, 블록체인에서는 블록을 생성할 노드를 정하기 위해서 PoW나 PoS와 같은 자원을 소모하는 매커니즘을 사용한다.
  • 블록을 생성하기 위해서 자원을 소모한 노드에게 보상으로 코인을 제공한다.
  • 자원을 소모하는 만큼, 보상이 주어지지 않으면 블록을 생성할 동기부여가 없기 때문이다. 따라서 보상은 필수적이다.

대표적인 암호화폐로 비트코인과 이더리움이 있다.

비트코인 (Bitcoin)

  • 중개자(은행) 없이 직업 화폐를 사고, 팔고, 환전하는 탈중앙화된 디지털 화폐 시스템이다.

  • 기존에는 은행이 자산과 신원에 대한 모든 정보를 가지고 은행이 신원, 소유권의 증명을 하였으나, 은행이 항상 올바른 선택을 하지 않으며 자신의 이익을 위해서 경제를 악화시킬 수 있다는 사실에 비트코인이 주목을 받았다.

  • 중개자에 대한 신뢰가 아닌 암호화 증명에 기반한 전자결제 시스템의 필요성에 의해서 사토시 나카모토가 개발했다.

  • 중개자에 대한 신뢰를 담보도 자산을 맡기지 않고, 블록체인과 암호화 기술을 사용한 분산원장으로 네트워크에 있는 사용자들끼리 직접 거래(P2P)를 할 수 있게 한다.

  • 퍼블릭 블록체인으로 누구나 네트워크에 참가한다면, 기록에 접근하거나 트랜잭션을 생성하여 블록을 만들어 블록체인을 업데이트할 수 있다.

  • 모든 블록들은 난수로 저장되며, 블록 내의 트랜잭션이 조금이라도 변경되면 난수가 변경된다.

  • 네트워크에 참가하는 모든 사용자들이 암호화 기술을 통해서 난수를 검증하기에 임의로 트랜잭션을 변경하는 것은 불가능에 가깝고, 이를 통해서 트랜잭션의 진위를 보장한다.

  • 비트코인의 총 공급량은 제한되어 있어 희소성이 점점 증가함에 따라서 디지털 금으로 취급되기도 한다.

🍋 UTXO : 미사용 트랜잭션을 의미하고, 거래의 유효성 검사 모델이다.

이더리움 (Ethereum)

  • 거래 기록만 남길 수 있던 비트코인의 한계를 극복하고자 비탈릭 부테린이 만들었다.

  • 이더리움은 블록체인 위에서 다양한 데이터를 저장하고 심지어 프로그램을 실행할 수 있는 탈중앙화 컴퓨팅 네트워크이다.

  • 블록체인 위에서 실행되는 어플리케이션을 구축할 수 있는 특징이 있다.

  • 이더리움은 일종의 스마트 컨트랙트 플랫폼이다.

🍿 스마트 컨트랙트는 중개자를 거치지 않고 당사자끼리 직접 계약을 체결할 수 있게 해주는 전자계약 시스템을 의미한다.

  • 블록에 코드를 담아 블록체인에 올리면, 이더리움 가상머신(EVM, Ethereum Virtual Machine)을 통해서 블록의 코드를 실행시킬 수 있다.

  • 블록 체인 위에서 실행되는 어플리케이션은 DApp(Decentralized Application)이라고 부른다.

  • 누구든지 이더리움 블록체인 위에 DApp을 올릴 수 있고, 대표적으로는 엑시 인피니티, 유니스왑, 오픈씨 등이 있다.

참고 자료 출처 : 코드 스테이츠

profile
🙌🙌🙌🙌

0개의 댓글