[TIL] 23/05/01

HyeongA·2023년 5월 1일
0

Blockchain

목록 보기
6/8
post-thumbnail

Day : 31
Blockchain Day : 1

Part3. Blockchain & Solidity 시작!


블록체인 기초 복습

1. 구성 및 흐름

: Front - ETH - Solidity
: 프론트에서 input값 받고, Solidity function으로부터 output을 계산해온다.
: 스마트 컨트렉트솔리디티에서 만든다.
: 전체 로직을 실행시키는 것이 web3.js


2. 합의 알고리즘

: 누구나 접근할 수 있고 익명성을 가진다는 특성 때문에 클린한 상태를 유지하기 위한 방법이 필요함 -> 합의 알고리즘을 통해 이를 유지하고자 함
: 합의 알고리즘의 시작채굴, 마지막은 체인의 동기화
: 가장 체인이 옳은 체인
: 로컬에서 해쉬값 찾기 ; 채굴

동기화 과정
1. 마지막 블록 해더의 해쉬 비교
2. 길이 비교

용어

  • 노드-충돌 / 체인-fork
  • full public key : 압축형, 비압축형 키
  • P2PK : Pay-to-Public-Key(P2PK) is a type of ScriptPubKey which locks bitcoin to a public key.
  • P2SH : Pay To Script Hash

Node

  • P2P(Peer to Peer)
    : 중앙 서버를 거치지 않고 클라이언트 컴퓨터(노드)끼리 직접 통신하는 방식을 통칭
    : p2p 네트워크에 참가한 모든 개인은 동등한 지위를 가진다.
    : 한 곳에 집중되어 있는 클라이언트/서버형과는 상반된 개념
    : 비트코인을 비롯한 다수의 블록체인 네트워크는 P2P 방식이다. 따라서 네트워크 내에서 어떠한 중앙화된 서버나 위계질서가 존재하지 않는다.

  • node
    : 대형 네트워크에서는 장치나 데이터 지점(data point). 개인용 컴퓨터, 휴대전화, 프린터와 같은 정보처리 장치.
    : 보통은 네트워크에 연결되어 있는 1개의 기기를 의미.
    : 비트코엔에서는 네트워크 검증자 및 전파자의 개념

    ※ 비트코인 P2P 네트워크 내의 노드들은 동등한 지위를 가졌다고 할지라도 지원하는 기능에 따라 각각의 역할이 모두 다름 (노드 역할 변경 가능)
    ▪ 비트코인 네트워크의 노드는 지갑 서비스, 채굴, 블록체인 데이터베이스, 라우팅 등의 기능을 함.
    ▪ 모든 기능을 다 수행할 필요는 없고, 일부만 수행하는 노드들도 있음
    ▪ 이를 통해 거래와 블록을 검증하고 전파하며, 이웃 노드들과의 연결을 유지함

Full Node & SPV Node

  • Full node(Full Blockchain node)
    : 블록체인 내의 모든 정보를 저장하고 있는 노드
    : 스스로 거래 확인 및 검증을 할 수 있다.

  • SPV node(Simplified Payment Vertification node)
    : 블록체인의 부분집합으로만 유지되는 결제 검증을 단순화한 노드
    : 전체 데이터를 다운로드 하지 않고 해당 거래가 블록에 포함되어 있는지만 확인함 (머클루트를 가지고 풀노드에게 검증을 요청)
    : 지갑기능과 라우팅 기능을 가지고 있음(다른 풀노드 서버에 의존)
    : 단순 지불 검증(spv) 방법을 이용해서 거래를 검증함.
    : 라이트 노드 혹은 라이트 웨이트 노드라고도 불림

profile
Today I Learned

0개의 댓글