우리 주변에는 비트코인은 알지만 블록체인이라고 하면 모르는 사람들이 많습니다. 비트코인이 블록체인이라는 기술에 근간하여 만들어진 가상화폐이기 때문에 비트코인을 알려면 블록체인이 무엇인지, 장단점이 무엇인지 알아야합니다. 이 글은 블록체인을 개발하기 전 알아야 할 블록체인의 개념, 장단점 등에 대해 포스팅합니다.

블록체인이란 무엇인가? 개발 전 블록체인 개념, 장단점 알아보기

4차산업혁명이 대두되고 있는 지금 AI(인공지능), IoT(사물인터넷)와 함께 블록체인이란 신기술이 등장하였다. 탈중앙화를 통해 안전하게 거래 정보를 저장하고 투명하게 관리할 수 있어 은행을 대체할 수 있을 것이라는 전망도 있었을 정도로 핫 한 주제이다.
특히 블록체인 자체가 인기가 있다기 보단 비트코인, 이더리움과 같이 블록체인을 통해 개발된 가상화폐들이 유명해지면서 실제 원천 기술인 블록체인이 대두되기도 했다.

블록체인

블록체인 개발을 공부하기 전 블록체인의 개념이 무엇인지 알고 시작하는 것이 좋을 것 같아서 블록체인 기술이 과연 무엇인지 설명하고자 한다. 블록체인에 대해 궁금하신 분들은 참고하면 좋을 것 같다.


반응형

블록체인이란?

블록체인(Blockchain) : 데이터(거래정보)를 담은 블록을 체인 형태로 연결하고, 전 세계의 수많은 컴퓨터에 이 체인 형태의 데이터들을 동시에 복제하여 저장하는 분산형 데이터 저장 기술이다. 공공 거래 장부라고도 부른다.
기존 중앙은행에서 모든 거래를 관리하고 그 정보를 저장하는 중앙화(Centralized) 방식의 은행 구조와 달리 블록체인 기술은 모든 사용자가 복제된 모든 거래 정보를 저장하고 있고 중앙은행의 역할이 없는 탈중앙화(Decentralized) 방식으로 이루어진다.


 

블록체인의 장단점

블록체인 기술의 장단점은 아래와 같다.

장점

1. 저비용
  - 중앙집중형 서버를 두지 않고 분산되어 저장되기 때문에 별도의 중앙 시스템 관리 비용이 발생하지 않으며, 한 곳의 데이터가 손실이 발생하더라도 다른 여러 곳에 동일한 데이터가 있기 때문에 복구도 쉬워 유지보수 비용이 줄어든다. 또한 분산되어 있기 때문에 그만큼 해킹에 대한 리스크도 감소하여 보안 관리 비용이 줄어든다.
2. 보안성
  - 데이터를 저장할 때 해시(Hash) 알고리즘을 적용하기 때문에 데이터가 1바이트만 변경되더라도 전체 블록체인 데이터가 완전히 다른 값으로 변경되므로, 아무나 쉽게 데이터를 변조할 수 없다.
  - 탈중앙화되어 서버가 분산되어 있기 때문에 하나의 블록을 해킹한다 하더라도 해킹한 블록을 체인에 등록하기 위해 전체 노드의 50%에 달하는 컴퓨팅 파워가 필요하다. 그래서 일반적으론 컴퓨팅 파워를 마련하는 것이 힘들기 때문에 시스템 보안성도 지니고 있다.
3. 투명성
  - 블록체인을 이루는 데이터는 누구에게나 동일하게 저장되고 공유되고 있기 때문에 투명성을 지닌다고 볼 수 있다.
4. 빠른 거래 속도
  - 거래를 위해 필요한 인증 과정에서 제3자가 개입하지 않으므로 실시간으로 빠른 거래가 가능하다.

반응형
단점

1. 상당한 컴퓨팅 파워가 필요함
  - 하나의 거래가 발생하면 블록체인 네트워크에 존재하는 참여자들이 거래 정보의 유효성을 상호 검증하며, 50% 이상의 참여자들로부터 유효성이 검증되면 하나의 거래가 블록으로 등록되는 방식이므로 검증을 위해 상당한 컴퓨팅 파워가 필요하다.
2. 데이터 저장에 많은 자원이 필요함
  - 블록체인 네트워크 참여자들의 컴퓨터에 모든 블록체인 데이터를 동일하게 보관해야하므로 중앙집중형 서버에서 관리하는 것에 비해 데이터를 저장하는 방식이 비효율적이다.
3. 프라이버시 노출의 위험이 있음
  - 모든 사용자가 동일한 거래내역을 처리하고 검증하므로 개인정보 노출의 위험이 존재함.
4. 익명성
  - 익명성이라는 블록체인 환경의 특성때문에 거래 내역의 증명이 필요한 부분에서 익명성을 허용하는 것이 불가능함.


 

블록체인 거래 등록 과정

블록체인에서 새로운 거래가 발생하면 어떻게 새로운 블록으로 등록이 되는 것인지 알아보자.
1. 먼저 'A지갑으로부터 1코인을 빼서 B지갑으로 보내라'는 거래가 발생하면, 수수료를 내고 거래내용이 담긴 데이터를 블록체인 네트워크로 전송한다.
2. 네트워크에 공유된 데이터는 일부 참여자들로부터 유효성 검증이 시작됨.
3. 유효성 검증이 완료된 정상 거래 데이터는 블록으로 만들어져블록체인 네트워크에 등록되고, 검증에 참여한 참여자들은 보상으로 코인을 지급받음.


반응형

DApp(Decentralized Application)

DApp(Decentralized Application)블록체인 기반의 탈중앙화 시스템에서 동작하는 응용프로그램을 의미한다. 블록체인 개발을 한다고 하면 모두 DApp을 개발한다고 보면 된다.
DApp은 기존 앱과 동일하게 '유저 - 웹 브라우저 - 웹 서버 - 데이터베이스'의 관계로 이루어져 있으며, 여기에 스마트 컨트랙트(Smart Contract)라는 것이 추가된다. 그래서 DApp은 다른 말로 스마트 컨트랙트(Smart Contract)라는 것의 모음이라고도 한다.
 
스마트 컨트랙트란 블록체인 기반으로 금융거래, 부동산 계약, 공증 등의 다양한 계약에 대한 내용을 작성(Solidity, Rust, Python 등 프로그래밍 언어 활용)하고 특정 조건에 해당될 때 계약을 체결 및 이행하는 것을 말한다.


다음 포스팅부터는 본격적으로 블록체인에 대한 강의를 듣고 개발과 관련된 스터디 내용을 포스팅 할 예정이다.
 

 

+ Recent posts