본문 바로가기
블록체인/블록체인

블록체인 전문가(2급) 요점정리노트!!!

by 일등박사 2022. 9. 3.

좋은 기회로 블록체인 전문가(2급)  자격증 시험을 보게 되었습니다!@!

한번뿐인 기회이니 열심히 공부해야겠지요!??

 

열심히 공부한 정리노트 공유합니다~!^^

모두 열공하세요!!!


 블록체인의 정의

-      4차산업혁명 핵심 기술로 서비스 신뢰 향상 및 정보보안에 극대화된 기술이다

-      블록이 체인으로 연결되어있다.

-      암호해시가 체인으로 연결할 때 사용된다

 

블록체인의 특성

-      P2P 방식: Peer to Peer 방식. '대등한 관계의 컴퓨터 그룹이 직접 통신을 수행하는, 중심이 없는 네트워크' 이에 시스템 장애없이 이용 가능하다(탈중앙성)

-      합의알고리즘 적용: PoW, PoS 등 다양한 방식의 합의알고리즘이 존재

-      분산원장기술 : 여러 개의 독립적인 노드들이 분산원장을 형성하여 데이터를 저장한다

-      분산원장기술이기에 거래 데이터 위·변조가 불가능하다.

-      거래내역이 투명하게 공개된다(투명성)

-      중앙관리자가 불필요하기 때문에 유지보수 등에 필요한 비용이 절감(경제성)

-      공개키암호와 전자서명을 통하여 계정정보를 보호한다

-      51%공격(51% attack): 블록체인의 전체 노드 중 과반수를 초과하는 해시 연산력을 확보한 뒤, 거래정보를 조작함으로써 이익을 얻으려는 해킹 공격

 

암호화폐의 역사

-      데이비드 차움에 의하여 암호화폐 개념이 창시됨. 최초의 암호화폐 (E-cash) 개발 – 1994

-      사토시 나카모토가 비트코인 백서를 공개 (2009). 비트오니의 채굴이 시작됨

-      비탈릭 부테린 : 이더리움의 창시자. 스마트 계약*기능 구현 -2013

 

? 스마트 계약이란?

>>특정 거래 조건을 만족시키면 참여자들 간에 자동으로 거래가 체결되는 분산 원장 기술

 

블록체인의 성능 업그레이드 방법

1.     사이드체인: 블록체인의 메인체인 옆에 나란히 붙어서 작동하는 하위체인, 사이드체인만의 독립된 노드를 구성하지 않고, 기존 메인체인의 노드에 사이드체인의 노드가 추가되는 방식으로 작동

2.     플라즈마 알고리즘: 모든 거래명세를 메인체인에서 처리하는 기존 블록체인과 달리, 메인체인(또는 루트체인)에 나뭇가지처럼 이어진 차일드체인에서 사전에 수집된 정보들을 처리한 후 결과만 루트체인에 전달함으로써 처리 속도를 향상한 알고리즘

3.     샤딩: 하나의 거대한 데이터베이스나 네트워크 시스템을 여러 개의 작은 조각으로 나누어 분산 저장하여 관리하는 것

 

블록체인의 트릴레마(세 가지 딜레마)

1.     확장성(scalability) : 사용자 수의 증대에 유연하게 대응할 수 있는 정도

2.     탈중앙화(decentralization) : 중앙집중화를 벗어나 분산된 소규모 단위로 자율적으로 운영되는 것

3.     보안(security) : 보안이란 블록체인 내의 데이터나 프로그램을 권한이 없는 이용자가 사용할 수 없도록 하는 것.

 

블록의 구성요소

1.     헤더

> 이전부분의해시

> 블록 생성시간

> 머클 루트

> Nounce

> 채굴문제를 풀기위한 힌트

2.     바디

>거래내역

합의알고리즘의 종류

-      -PoW(Proof of Work, 작업증명): 현 블록체인 네트워크 합의 체계의 1대장. 시험에서 1등한 사람이 네트워크의 의사결정자가 됨

-      -PoS(Proof of Staking, 지분증명): 기존의 1대장 PoW를 가장 강하게 견재하는 방식. 주주들의 투표에서 1등한 사람이 네트워크의 의사결정자가 됨

-      dPoS(delegated Proof of Stake, 위임지분증명): PoS의 단점인 탈중앙에 대한 의문성을 해결하위하여 등장한 합의 방식. 국민들이 선정한 국회의원들의 투표에 1등한 사람이 네트워크의 의사결정자가 됨. 국가의 설립에 기여한 귀족들에 의해 네트워크 의사결정자가 선발됨

-      PoH(Proof of History, 역사증명): 이더리움 타도를 내세우며 나타난 솔라나 네트워크가 제시한 합의 방식.

-      PBFT(Practical Byzantine Fault Tolerance, 프랙티컬 비잔틴 장애 허용): PoW, PoS와 같이 모든 대중이 참여자(노드)로 활동이 불가하며 인증 기관에서 발급한 인증서를 보유한 참여자(노드)들만이 블록체인 네트워크에 참여 가능. 대표적으로 가상자산으로 리플, 네오, 질리카 등이 존재. IBM이 오픈소스로 공개한 하이퍼레저 블록체인 네트워크 또한 PBFT 방식을 활용. 인증서 기반으로 운영되기에 채굴이 불필요하며 초기에 네트워크에 필요한 가상자산(코인)들이 모두 생성됨. 인증서를 받은 노드들이 다수결에 따라 협의 알고리즘이 진행됨. 국가의 설립에 기여한 귀족들에 의해 네트워크 의사결정자가 선발됨

PBFT 더 알아보기!!!!

Ø  프랙티컬 비잔틴 장애 허용(PBFT, Practical Byzantine Fault Tolerance)

Ø  여러 노드로 구성된 네트워크에서 악의적 공격을 방어하기 위해 만들짐 비잔틴 장군문제에서 시작

Ø  Safety, Liveness, Fault Tolerance를 모두 만족하는 합의 알고리즘은 불가능하다

(Safety의 의미는노드 간 합의가 발생했다면, 어느 노드가 접근하든 그 값은 동일해야 한다)

(Liveness "합의 대상(Transaction 또는 블록체인에서 블록)에 문제가 없다면, 네트워크 내에서 반드시 합의가 이루어진다")

Ø  네트워크에 참여하고 있는 전체 노드 수를 n, 비잔틴의 수를 f라고 할 때, 수용 가능한 비잔틴의 수 : n > 3f+1

Ø  PBFT는 주로 프라이빗 블록체인 아키텍처에 활용된다

Ø  대표적 프라이빗 블록체인 Hyperledger Fabric(IBM), NexLedger(Samsung SDS), Mona Chain(LG CNS)

Ø  제일 유명한건 하이퍼렛져!!

>>  내부에 여러 프로젝트(Hyperledger Fabric, Hyperledger Sawtooth,  Hyperledger Indy) 존재

>>  허가된 노드만 원장을 볼수 있다

>>  1,000 TPS 이상의 고성능

>>  토큰이 없다

>>   Docker 기반

>>  Peer에 의해 Chaincode가 시작된다

>>   암호화 모듈은 크립토젠(cryptogen)이 있다

>>  Gossip protocol을 활용하여 Orderer가 트랜잭션을 커미터에 배포할 때나 Peer에 장애가 발생해 지연된 분산 원장을 복구하기 위한 동기화 처리

>>  주 사용 DB로는 LevelDB, MySQL, CouchDB가 있다

>>   Dapp을 만들떄는 자바스크립트 프레임워크인 NodeJS를 활용한다

>>   Chain CodeGo로 되어있으며 이 외에도 Java, Javascript도 가능하다

>>   Hyperledger Explorer를 활용하면 블록에 대한 정보와 네트워크 구성을 쉽게 볼 수 있다

 

암호화 개념 알기!!!

- 대칭암호화방식(AES,SEED) - 비공개키  :암호가 1. 암호로 잠그고 풀고 다함

 > 비교적 빠르다

- 비대칭암호화방식(RSA) 정리 - 공개키 : 공개키와 비공개키가 존재

  > 비교적 속도가 느리다

  > 공개키로 비공개키를 알아내는것은 거의 불가능하다

> 무결성, 부인방지, 인증 가능

> 디지털 서명에 활용

비트코인 더 알아보기!!

Ø  채굴에 대한 보상을 받는다 (6.25BTC)

Ø  최종 채굴이 완료되면 보상이 어떻게 될지 아직 알 수 없다

Ø  최종 발행개수는 21,000,000개이다

이더리움 더 알아보기!!

Ø  이더리움의 송금시 소모 가스량 : 21,000 가스 (조건에 따라 늘릴 수 있음)

Ø  스마트 계약!!! ERC20ERC721

n  ERC20 : 이더리움 내에 토큰 발행하기. 사용자간 교환이 가능 ICO에 활용(대체 가능)

n  ERC721 : 이더리움을 통한 NFT 발급. 대체 불가. 교환 가능

?NFT?

디지털 자산에 별도의 고유한 값을 부여하여 희소성을 가지며, 자산 소유권을 명확히 함으로써 예술품·부동산 등의 자산을 디지털 토큰화하는 수단

 

주요용어!!

-      토큰스왑: 새로운 블록체인 네트워크로 이전하기 위해 회원이 보유한 수량에 대한 특정 비율 또는 동일한 수량만큼 가상자산을 다른 블록체인 네트워크에서 사용할 수 있도록 전환하는 것

-      스테이킹: 암호화폐의 일정량을 지분으로 고정, 그 대가로 수익 보상을 받는 서비스

-      에어드랍: 기존 암호화폐 소유자들에게 무상으로 코인을 배분하여 지급하는 행위

-      스냅샷: 블록체인 데이터의 경우에 특정한 블록을 기준으로 데이터를 복사하여 저장하는 행위

-      DID: 기관이나 기업 등 개인정보처리자가 중앙서버에 사용자의 개인정보를 저장하던 신원인증 방식에서 벗어나, 개인정보를 사용자의 디바이스에 저장하고 인증에 필요한 개인정보만 골라서 제출하는 신원인증 기술

-      IPFS: "InterPlanetary File System"의 약자로서, 분산형 파일 시스템에 데이터를 저장하고 인터넷으로 공유하기 위한 프로토콜

-      CBDC: 중앙은행 디지털화폐(CBDC, Central Bank Digital Currencies)는 실물 명목화폐를 대체하거나 보완하기 위해 중앙은행이 직접 발행하는 디지털화폐

 

댓글