BLOCKCHAIN이란?

syeony·2022년 9월 19일
1

blockchain

목록 보기
1/1
post-thumbnail

여름방학 끝자락에 우연히 같은학과 1학년 동생의 추천으로 AI배울랑 홈페이지에서 블록체인 160시간 수업을 신청하여 듣게 되었다. 수업은 이론수업 반, 실습 반으로 진행되었다.

블록체인이란 무엇일까?

예시를 들자면 '은행'은 사용자와 돈 사이에 중개자 역할을 해준다. 사용자의 잔고내역관리를 해주는 대신에 수수료를 떼간다. 하지만 블록체인을 이용하면 이러한 중개자 역할 없이 사용자끼리 서로의 정보를 공유하여 신뢰관계를 유지하는 플랫폼을 만들 수 있다.

간단한 용어 먼저 소개하자면

  • 거버넌스
    투표등으로 하나로 결정되는 과정

  • 컨소시엄
    기업들의 모임

  • 트랜젝션
    기록되기전의 사건

  • gas=암호화폐

  • 마이닝=채굴
    블럭을 만듦

  • 합의알고리즘
    POW(작업양에따라)
    POS(블럭지분양에따라)

  • BFT비잔틴장애극복
    여러명이 모이면 문제가 생긴다→오라클라이징

  • P2P
    누구나 서버or클라이언트가 될수있다

  • 서버(네이버) <=> 클라이언트(내휴대폰)

  • 피어(private)=노드(public)

  • 스마트컨트랙트=체인코드
    블록체인이 만들어내는 데이터 생산

  • 비대칭키
    암호/복호화할때 다름

  • 머클트리
    트리구조로 속도 업

  • SDK,API(블럭들을 모아놓은 것)
    플랫폼(운영체제)을 동작하도록 만들어준다

  • 멀티체인
    나무, 가지처럼 뻗어가는것

  • 하드포크
    시간을 되돌려서 고쳐온다
    소프트포크
    덮어쓴다

  • JSON(데이터를 표현할때 문서양식)
    JSON-RPC(다른시스템기능 수행하여 속도 업)→WEB3로 기능들 패키징

  • JVM, EVM, CCENV
    실행환경 다 다른것들→VM(가상머신)으로 통일화

  • ONCHAIN
    하나의 데이터로 저장

  • OFFCHAIN
    아예 다른곳에 저장하고 해쉬만…무결성

  • SIDECHAIN
    메인체인에 도달하기 위해 지나가는 블럭들(자산 기록,저장…)


위 그림은 모든 트랜잭션이 처리되기 위한 과정이다.

1. endorse: 보증

2. order: 블록 생성

3. validate: 업데이트

블록체인 기반 프로젝트 과정은 보통 현재 it업계에 사용되는 사례중 블록체인이 적용되지 않은 걸 찾는게 베스트이다. 이 수업 마지막에 프로젝트를 했는데 나는 블록체인 기반 남는 수강권 거래 플랫폼을 만들었다. 자세한 내용은 깃허브 참조

실습은 크게 5가지 순서로 나누어 진행되었다.

1. 환경설정

ubuntu 20.04
vscode

2. fabric network 구성

1) 준비물 생성
2) 네트워크 구성
3) 채널 구성

3. 체인코드 작성 > 컴파일

package
install
approve
commit

4. 체인코드 설치 & 배포

5. cu invoke(수정/생성) & query(조회)

160시간의 수업을 모두 마치고 수료증을 받았다.

profile
한 곳에 머물지 않고 성장하는 개발자 오승연입니다

0개의 댓글